前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFYContainer
コンテナを表す抽象クラスです。
#include <SFYContainer.h.hpp>
class SFYContainer : public SFYWidget;
SFMTYPEDEFCLASS(SFYContainer)

継承図

SFYContainer クラスの継承図

協調図

SFYContainer クラスの協調図

解説

■ 仕様と使い方

コンテナは、コントロール内や他のコンテナ(コンテナ・ウィンドウ・ダイアログ)内に配置されるように設計されたレスポンダです。

SFYContainer クラスは、 フォーカス移動、仮想領域のスクロールとスクロールキーの管理を提供するコンテナの抽象クラスです。

SFYContainer クラスは各種コンテナを実装するための起点(基底クラス)となります (複雑な機能を持ったコンテナは、SFYContainer クラスを継承して実装します)。

たとえば、 SFZContainerSFZWindowSFZDialogSFYContainer クラスを継承して実装しています。

コントロールやコンテナが配置されている場合、 SFYContainer::SetScrollDownKey / SFYContainer::SetScrollUpKey / SFYContainer::SetPageDownKey / SFYContainer::SetPageUpKey / SFYContainer::SetSnapDownKey / SFYContainer::SetSnapUpKey 関数で設定するスクロールキーでフォーカスの移動機能を利用できます。

仮想領域実領域よりも大きい場合は、 フォーカス移動機能と連動した、仮想領域の上下方向へのスクロール機能も利用できます。

■ イベントとハンドラ

SFYContainer を継承するレスポンダでは、 SFYContainer::SFYContainer / SFYWidget::SFYWidget コンストラクタで登録されたハンドラの処理により、 下記のイベントを受信すると、対応する下記の仮想関数(ハンドラ)が最初に呼び出されます。 その後、開発者がレスポンダに登録したハンドラが呼び出されることになります。

[Note] 注意

ハンドラの詳細については、 SFYContainer::SFYContainer / SFYWidget::SFYWidget コンストラクタの解説を参照してください。

[Tip] Tip

ハンドラを登録する手間を省略できるので、 通常、これらのイベント処理は仮想関数をオーバーライドして記述します。

表 237. イベント、仮想関数(ハンドラ)とデフォルト動作

イベント 仮想関数(ハンドラ) デフォルトの動作 オーバーライド
SFYContainer::SetScrollUpKey 関数で設定された ScrollUp キーの SFEVT_KEY イベント SFYContainer::HandleScrollUpKey 仮想領域を上方向にスクロールする※1 任意
SFYContainer::SetScrollDownKey 関数で設定された ScrollDown キーの SFEVT_KEY イベント SFYContainer::HandleScrollDownKey 仮想領域を下方向にスクロールする※2 任意
SFYContainer::SetPageUpKey 関数で設定された PageUp キーの SFEVT_KEY イベント SFYContainer::HandlePageUpKey 仮想領域を上方向に 1 ページ分スクロールする※3 任意
SFYContainer::SetPageDownKey 関数で設定された PageDown キーの SFEVT_KEY イベント SFYContainer::HandlePageDownKey 仮想領域を下方向に 1 ページ分スクロールする※4 任意
SFYContainer::SetSnapUpKey 関数で設定された SnapUp キーの SFEVT_KEY イベント SFYContainer::HandleSnapUpKey 仮想領域を上端までスクロールする※5 任意
SFYContainer::SetSnapDownKey 関数で設定された SnapDown キーの SFEVT_KEY イベント SFYContainer::HandleSnapDownKey 仮想領域を下端までスクロールする※6 任意
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REQUEST) イベント SFYWidget::HandleBoundRequest 推奨
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_OPTIMIZE) イベント SFYWidget::HandleBoundOptimize 推奨
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL) イベント SFYWidget::HandleBoundReal 任意
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL) イベント SFYWidget::HandleBoundVirtual 任意
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_GLOBAL) イベント SFYWidget::HandleBoundGlobal 非推奨[廃止予定]
(SFEVT_RESPONDER_RENDER, SFP16_RENDER_REQUEST) イベント SFYWidget::HandleRenderRequest 任意

※デフォルトの動作にある "−" は何も実装していないことを表す。

[Note] 注釈

※1. SFYContainer::ScrollUp 関数を実行します。

※2. SFYContainer::ScrollDown 関数を実行します。

※3. SFYContainer::PageUp 関数を実行します。

※4. SFYContainer::PageDown 関数を実行します。

※5. SFYContainer::SnapUp 関数を実行します。

※6. SFYContainer::SnapDown 関数を実行します。

ユーザー定義コンテナを作成するときに最低限必要なコードを示します。

例 874. 宣言

SFMTYPEDEFRESPONDER(USRContainer)
class USRContainer : public SFYContainer {
    SFMSEALRESPONDER(USRContainer)
    SFMRESPONDERINSTANTIATETHREE(USRContainer, SFYContainer, SFYWidget, SFYResponder)
public:

    // レスポンダのタイプを定義する
    // 小文字と記号のみからなるタイプは予約されているので使えない
    enum CodeEnum {
        CODE_TYPE = four_char_code('U', 'N', 'T', 'N')
    };
    SFMTYPEDEFTYPE(CodeEnum)

public:
    static USRContainerSmp NewInstance(SFCErrorPtr exception = null);
protected:
    explicit USRContainer(Void) static_throws;
    virtual ~USRContainer(Void);

    // 親クラスで定義されている仮想関数のうち、実装が推奨される仮想関数
    virtual Void HandleBoundRequest(SFXRectanglePtr rectangle) const;
    virtual Void HandleBoundOptimize(SFXRectanglePtr rectangle) const;
    virtual Void HandleBoundReal(Void);
    virtual Void HandleBoundVirtual(Void);
    virtual Void HandleRenderRequest(SFXGraphicsPtr graphics) const;
};

例 875. 実装

// コンストラクタ
USRContainer::USRContainer(Void) static_throws
{
    if (static_try()) {

        // レスポンダのタイプを設定する
        SetType(CODE_TYPE);

        // 初期化処理を記述する
    }
}

// デストラクタ
USRContainer::~USRContainer(Void)
{
    // 終了処理を記述する
}

// スマートポインタで管理されるインスタンスを生成する関数
USRContainerSmp USRContainer::NewInstance(SFCErrorPtr exception)
{
    return static_pointer_cast<USRContainer>(Factory(::new USRContainer, exception));
}

Void USRContainer::HandleBoundRequest(SFXRectanglePtr rectangle) const
{
    // コンテナに最適な大きさを計算して rectangle パラメータに設定する
    // この関数内では、rectangle の原点は変更せず、rectangle のサイズだけを設定する(推奨)

    return;
}

Void USRContainer::HandleBoundOptimize(SFXRectanglePtr rectangle) const
{
    // コンテナに最適な大きさを rectangle パラメータ内の大きさに
    // 収まるように計算し、rectangle パラメータに設定する
    // この関数内では、rectangle の原点は変更せず、rectangle のサイズだけを設定する(推奨)

    return;
}

Void USRContainer::HandleBoundReal(Void)
{
    // 実領域が変更された場合に再計算が必要なものがあれば、ここに記述する
    return;
}

Void USRContainer::HandleBoundVirtual(Void)
{
    // 仮想領域が変更された場合に再計算が必要なものがあれば、ここに記述する
    return;
}

Void USRContainer::HandleRenderRequest(SFXGraphicsPtr graphics) const
{
    // コンテナを描画する
    return;
}

参照

SFYContainer::SFYContainer | SFYWidget::SFYWidget | SFZContainer | SFZWindow | SFZDialog | SFZMessageDialog | SFZQuestionDialog | SFZTabPage | 仮想領域 | 実領域 | ローカル領域 | SFYContainer::SetScrollDownKey | SFYContainer::SetScrollUpKey | SFYContainer::SetPageDownKey | SFYContainer::SetPageUpKey | SFYContainer::SetSnapDownKey | SFYContainer::SetSnapUpKey | キーイベント[SFEVT_KEY] | 領域イベント[SFEVT_RESPONDER_BOUND] | 描画イベント[SFEVT_RESPONDER_RENDER] | コンテナを表す抽象クラス[SFYContainer]

メンバ

コンストラクタ/デストラクタ
SFYContainer( Void )
SFYContainer クラスのコンストラクタです。
~SFYContainer( Void )
SFYContainer クラスのデストラクタです。
パブリック関数
AVKType GetPageDownKey( Void )
仮想領域を下方向に 1 ページ分スクロールする PageDown キーを取得します。
AVKType GetPageUpKey( Void )
仮想領域を上方向に 1 ページ分スクロールする PageUp キーを取得します。
AVKType GetScrollDownKey( Void )
仮想領域を下方向にスクロールステップ分スクロールする ScrollDown キーを取得します。
Bool GetScrollRepeat( Void )
連続スクロールフラグの値を取得します。
SInt16 GetScrollStep( Void )
スクロールステップを取得します。[単位 : ピクセル]
AVKType GetScrollUpKey( Void )
仮想領域を上方向にスクロールステップ分スクロールする ScrollUp キーを取得します。
AVKType GetSnapDownKey( Void )
仮想領域を下端までスクロールする SnapDown キーを取得します。
AVKType GetSnapUpKey( Void )
仮想領域を上端までスクロールする SnapUp キーを取得します。
Bool PageDown( Void )
仮想領域を下方向に 1 ページ分スクロールします。
Bool PageUp( Void )
仮想領域を上方向に 1 ページ分スクロールします。
Bool ScrollDown( Void )
仮想領域を下方向にスクロールします。
Bool ScrollUp( Void )
仮想領域を上方向にスクロールします。
Void SetPageDownKey( AVKType param )
仮想領域を下方向に 1 ページ分スクロールする PageDown キーを設定します。
Void SetPageUpKey( AVKType param )
仮想領域を上方向に 1 ページ分スクロールする PageUp キーを設定します。
Void SetScrollDownKey( AVKType param )
仮想領域を下方向にスクロールステップ分スクロールする ScrollDown キーを設定します。
Void SetScrollRepeat( Bool param )
連続スクロールフラグを設定します。
Void SetScrollStep( SInt16 param )
スクロールステップを設定します。[単位 : ピクセル]
Void SetScrollUpKey( AVKType param )
仮想領域を上方向にスクロールステップ分スクロールする ScrollUp キーを設定します。
Void SetSnapDownKey( AVKType param )
仮想領域を下端までスクロールする SnapDown キーを設定します。
Void SetSnapUpKey( AVKType param )
仮想領域を上端までスクロールする SnapUp キーを設定します。
Bool SnapDown( Void )
仮想領域を下端までスクロールします。
Bool SnapUp( Void )
仮想領域を上端までスクロールします。
Void ClearHandler( Void ) (SFYResponder から継承)
このレスポンダのハンドラの登録をすべて解除します。
Void ClearTracer( Void ) (SFYResponder から継承)
このレスポンダのトレーサの配信規則の登録をすべて解除します。
SFCError Distribute( SFXEventConstRef event , BoolPtr result = null ) (SFYResponder から継承)
指定された配信型イベントを SFYDistributer インスタンスと、このレスポンダ以下のレスポンダツリーに配信します。
SFXRGBColorConstRef GetBackgroundColor( Void ) (SFYWidget から継承)
背景の色を取得します。
SFYResponderSmp GetChildBack( Void ) (SFYResponder から継承)
最背面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
最背面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBack( UInt32 id ) (SFYResponder から継承)
最背面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
最背面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBackward( SInt32 index ) (SFYResponder から継承)
背面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
背面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBackward( SInt32 index , UInt32 id ) (SFYResponder から継承)
背面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
背面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SInt32 GetChildCount( Void ) (SFYResponder から継承)
このレスポンダの子レスポンダの数を取得します。
SInt32 GetChildCount( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダの子レスポンダの数を取得します。
SInt32 GetChildCount( UInt32 id ) (SFYResponder から継承)
このレスポンダの子レスポンダの数を取得します。
SInt32 GetChildCount( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダの子レスポンダの数を取得します。
SFYResponderSmp GetChildForward( SInt32 index ) (SFYResponder から継承)
前面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
前面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildForward( SInt32 index , UInt32 id ) (SFYResponder から継承)
前面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
前面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildFront( Void ) (SFYResponder から継承)
最前面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
最前面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildFront( UInt32 id ) (SFYResponder から継承)
最前面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
最前面に位置するこのレスポンダの子レスポンダを取得します。
SFYDistributerPtr GetDistributer( Void ) (SFYResponder から継承)
このレスポンダに設定されている配信エンジンを取得します。
SFYResponderSmp GetFrame( Void ) (SFYResponder から継承)
このレスポンダに装着されたフレームを取得します。
SFXRectangle GetGlobalBound( Void ) (SFYResponder から継承)
このレスポンダのグローバル領域を取得します。
UInt32 GetID( Void ) (SFYResponder から継承)
このレスポンダの ID を取得します。
SFXRectangle GetLocalBound( Void ) (SFYResponder から継承)
このレスポンダのローカル領域を取得します。
SInt32 GetNthBackward( Void ) (SFYResponder から継承)
このレスポンダが背面から数えて何番目に位置するかを取得します。
SInt32 GetNthBackward( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが背面から数えて何番目に位置するかを取得します。
SInt32 GetNthBackward( UInt32 id ) (SFYResponder から継承)
このレスポンダが背面から数えて何番目に位置するかを取得します。
SInt32 GetNthBackward( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが背面から数えて何番目に位置するかを取得します。
SInt32 GetNthForward( Void ) (SFYResponder から継承)
このレスポンダが前面から数えて何番目に位置するかを取得します。
SInt32 GetNthForward( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが前面から数えて何番目に位置するかを取得します。
SInt32 GetNthForward( UInt32 id ) (SFYResponder から継承)
このレスポンダが前面から数えて何番目に位置するかを取得します。
SInt32 GetNthForward( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが前面から数えて何番目に位置するかを取得します。
SFYResponderSmp GetParent( Void ) (SFYResponder から継承)
このレスポンダの親レスポンダを取得します。
Bool GetPropertyTransparent( Void ) (SFYResponder から継承)
このレスポンダの透過属性を取得します。
SFXRectangleConstRef GetRealBound( Void ) (SFYResponder から継承)
このレスポンダの実領域を取得します。
VoidPtr GetReference( Void ) (SFYResponder から継承)
このレスポンダのリファレンス値を取得します。
SFYRendererPtr GetRenderer( Void ) (SFYResponder から継承)
このレスポンダに設定されている描画エンジンを取得します。
SFYResponderSmp GetRoot( Void ) (SFYResponder から継承)
このレスポンダが所属するレスポンダツリーのルートレスポンダを取得します。
Bool GetStateActive( Bool inherit = false ) (SFYResponder から継承)
このレスポンダの活性状態を取得します。
Bool GetStateEnable( Bool inherit = false ) (SFYResponder から継承)
このレスポンダの操作可能状態を取得します。
Bool GetStateFocus( Bool inherit = false ) (SFYResponder から継承)
このレスポンダのフォーカス状態を取得します。
Bool GetStateValid( Bool inherit = false ) (SFYResponder から継承)
このレスポンダの有効状態を取得します。
Bool GetStateVisible( Bool inherit = false ) (SFYResponder から継承)
このレスポンダの可視状態を取得します。
SFXRectangle GetSuitableBound( Void ) (SFYResponder から継承)
このレスポンダの最適な領域(サイズ)を取得します。
SFXRectangle GetSuitableBound( SFXRectangleConstRef rectangle ) (SFYResponder から継承)
このレスポンダの最適な領域(サイズ)を取得します。
SFXRectangle GetSuitableBound( SFXRectangleConstRef param , HorizontalEnum horizontal , VerticalEnum vertical ) (SFYResponder から継承)
このレスポンダの最適な領域(サイズ)を取得します。
SFXMargin GetSuitableMargin( Void ) (SFYResponder から継承)
このレスポンダのフレーム余白領域を取得します。
SFCType GetType( Void ) (SFYResponder から継承)
このレスポンダのタイプを取得します。
SFXRectangleConstRef GetVirtualBound( Void ) (SFYResponder から継承)
このレスポンダの仮想領域を取得します。
Bool HasFrame( Void ) (SFYResponder から継承)
このレスポンダがコンテントレスポンダであるかどうかを判定します。
Void Initialize( Void ) (SFYResponder から継承)
このレスポンダを初期化します。
Void Invalidate( Void ) (SFYResponder から継承)
指定された領域を再描画領域に登録します。
Void Invalidate( SFXRectangleConstRef param ) (SFYResponder から継承)
指定された領域を再描画領域に登録します。
Void InvokeBackward( SFXEventConstRef event , Bool overload , BoolPtr result = null ) (SFYResponder から継承)
指定されたコールバック型イベントをこのレスポンダに送信します (ハンドラは登録順に起動されます)。
Void InvokeForward( SFXEventConstRef event , Bool overload , BoolPtr result = null ) (SFYResponder から継承)
指定されたコールバック型イベントをこのレスポンダに送信します (ハンドラは登録の逆順に起動されます)。
Bool IsBack( Void ) (SFYResponder から継承)
このレスポンダが最背面に位置するかどうかを判定します。
Bool IsBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが最背面に位置するかどうかを判定します。
Bool IsBack( UInt32 id ) (SFYResponder から継承)
このレスポンダが最背面に位置するかどうかを判定します。
Bool IsBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが最背面に位置するかどうかを判定します。
Bool IsFrame( Void ) (SFYResponder から継承)
このレスポンダがアタッチメントフレームであるかどうかを判定します。
Bool IsFront( Void ) (SFYResponder から継承)
このレスポンダが最前面に位置するかどうかを判定します。
Bool IsFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが最前面に位置するかどうかを判定します。
Bool IsFront( UInt32 id ) (SFYResponder から継承)
このレスポンダが最前面に位置するかどうかを判定します。
Bool IsFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが最前面に位置するかどうかを判定します。
Bool IsNthBackward( SInt32 index ) (SFYResponder から継承)
このレスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthBackward( SInt32 index , UInt32 id ) (SFYResponder から継承)
このレスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthForward( SInt32 index ) (SFYResponder から継承)
このレスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthForward( SInt32 index , UInt32 id ) (SFYResponder から継承)
このレスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
Bool IsRoot( Void ) (SFYResponder から継承)
このレスポンダがルートレスポンダであるかどうかを判定します。
SFCError Recover( Void ) (SFYResponder から継承)
デバイス画面保存用ビットマップを使用してこのレスポンダとレスポンダ空間との交差領域を復元します。
SFCError RegisterHandler( SFXEventRangeConstRef range , SFYHandler::RuleRecConstRef rule ) (SFYResponder から継承)
指定されたハンドラをこのレスポンダに登録します。
SFCError RegisterHandler( SFXEventRangeConstRef range , SFYHandler::HandlerSPP spp , VoidPtr reference ) (SFYResponder から継承)
指定されたハンドラをこのレスポンダに登録します。
SFCError RegisterHandler( SFXEventRangeConstPtr range , SFYHandler::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承)
指定されたハンドラをこのレスポンダに登録します。
SFCError RegisterHandler( SFXEventRangeConstPtr range , SFYHandler::HandlerSPPConstPtr spp , VoidPtrConstPtr reference , SInt32 length ) (SFYResponder から継承)
指定されたハンドラをこのレスポンダに登録します。
SFCError RegisterTracer( SFXEventRangeConstRef range , SFYTracer::RuleRecConstRef rule ) (SFYResponder から継承)
指定された配信規則をこのレスポンダのトレーサに登録します。
SFCError RegisterTracer( SFXEventRangeConstRef range , SFYTracer::OrderEnum order , SFYTracer::StateEnum state , Bool overload ) (SFYResponder から継承)
指定された配信規則をこのレスポンダのトレーサに登録します。
SFCError RegisterTracer( SFXEventRangeConstPtr range , SFYTracer::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承)
指定された配信規則をこのレスポンダのトレーサに登録します。
SFCError RegisterTracer( SFXEventRangeConstPtr range , SFYTracer::OrderEnumConstPtr order , SFYTracer::StateEnumConstPtr state , BoolConstPtr overload , SInt32 length ) (SFYResponder から継承)
指定された配信規則をこのレスポンダのトレーサに登録します。
SFCError Render( Bool force = false ) (SFYResponder から継承)
このレスポンダ以下のレスポンダツリーをレスポンダ空間に再描画します。
Void SetBackgroundColor( SFXRGBColorConstRef param ) (SFYWidget から継承)
背景の色を設定します。
Void SetDistributer( SFYDistributerPtr param ) (SFYResponder から継承)
指定された配信エンジンをこのレスポンダに設定します。
SFCError SetFrame( SFYResponderSmpConstRef param ) (SFYResponder から継承)
このレスポンダにフレームを装着します。
Void SetID( UInt32 param ) (SFYResponder から継承)
指定された ID をこのレスポンダに設定します。
SFCError SetParent( SFYResponderSmpConstRef param ) (SFYResponder から継承)
指定されたレスポンダをこのレスポンダの親レスポンダに設定します。
Void SetProperty( Bool transparent ) (SFYResponder から継承)
指定された属性をこのレスポンダに設定します。
Void SetPropertyTransparent( Bool param ) (SFYResponder から継承)
指定された透過属性をこのレスポンダに設定します。
Void SetRealBound( SFXRectangleConstRef param ) (SFYResponder から継承)
指定された領域をこのレスポンダの実領域に設定します。
Void SetReference( VoidPtr param ) (SFYResponder から継承)
指定された値をこのレスポンダのリファレンスに設定します。
Void SetRenderer( SFYRendererPtr param ) (SFYResponder から継承)
指定された描画エンジンをこのレスポンダに設定します。
Void SetState( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
指定された値をこのレスポンダの可視、活性、操作可能、フォーカスの各状態フラグに設定します。
Void SetStateActive( Bool param ) (SFYResponder から継承)
指定された値をこのレスポンダの活性状態フラグに設定します。
Void SetStateEnable( Bool param ) (SFYResponder から継承)
指定された値をこのレスポンダの操作可能状態フラグに設定します。
Void SetStateFocus( Bool param ) (SFYResponder から継承)
指定された値をこのレスポンダのフォーカス状態フラグに設定します。
Void SetStateVisible( Bool param ) (SFYResponder から継承)
指定された値をこのレスポンダの可視状態フラグに設定します。
Void SetVirtualBound( SFXRectangleConstRef param ) (SFYResponder から継承)
指定された領域をこのレスポンダの仮想領域に設定します。
SFCError Snapshot( SFBBitmapSmpConstRef bitmap ) (SFYResponder から継承)
デバイス画面保存用ビットマップからこのレスポンダとレスポンダ空間との交差領域のスナップショットを取得します。
Void Terminate( Void ) (SFYResponder から継承)
このレスポンダの終了処理を行います。
Void ToBack( Void ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最背面に移動します。
Void ToBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最背面に移動します。
Void ToBack( UInt32 id ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最背面に移動します。
Void ToBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最背面に移動します。
Void ToFront( Void ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最前面に移動します。
Void ToFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最前面に移動します。
Void ToFront( UInt32 id ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最前面に移動します。
Void ToFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最前面に移動します。
Void ToNthBackward( SInt32 index ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで背面から数えて指定された位置に移動します。
Void ToNthBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで背面から数えて指定された位置に移動します。
Void ToNthBackward( SInt32 index , UInt32 id ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで背面から数えて指定された位置に移動します。
Void ToNthBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで背面から数えて指定された位置に移動します。
Void ToNthForward( SInt32 index ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで前面から数えて指定された位置に移動します。
Void ToNthForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで前面から数えて指定された位置に移動します。
Void ToNthForward( SInt32 index , UInt32 id ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで前面から数えて指定された位置に移動します。
Void ToNthForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで前面から数えて指定された位置に移動します。
Void UnregisterHandler( SFXEventRangeConstRef range , SFYHandler::RuleRecConstRef rule ) (SFYResponder から継承)
このレスポンダから指定されたハンドラの登録を解除します。
Void UnregisterHandler( SFXEventRangeConstRef range , SFYHandler::HandlerSPP spp , VoidPtr reference ) (SFYResponder から継承)
このレスポンダから指定されたハンドラの登録を解除します。
Void UnregisterHandler( SFXEventRangeConstPtr range , SFYHandler::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承)
このレスポンダから指定されたハンドラの登録を解除します。
Void UnregisterHandler( SFXEventRangeConstPtr range , SFYHandler::HandlerSPPConstPtr spp , VoidPtrConstPtr reference , SInt32 length ) (SFYResponder から継承)
このレスポンダから指定されたハンドラの登録を解除します。
Void UnregisterTracer( SFXEventRangeConstRef range ) (SFYResponder から継承)
このレスポンダのトレーサから指定された配信規則の登録を解除します。
Void UnregisterTracer( SFXEventRangeConstPtr range , SInt32 length ) (SFYResponder から継承)
このレスポンダのトレーサから指定された配信規則の登録を解除します。
プロテクト関数
Bool HandlePageDownKey( Void )
PageDown キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
Bool HandlePageUpKey( Void )
PageUp キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
Bool HandleScrollDownKey( Void )
ScrollDown キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
Bool HandleScrollUpKey( Void )
ScrollUp キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
Bool HandleSnapDownKey( Void )
SnapDown キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
Bool HandleSnapUpKey( Void )
SnapUp キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
static
SFYResponderSmp
Factory( SFYResponderPtr responder , SFCErrorPtr exception = null ) (SFYResponder から継承)
NewInstance 関数の実装を補助します。
SFYResponderSmp GetThis( Void ) (SFYResponder から継承)
このレスポンダのスマートポインタを取得します。
Void HandleBoundGlobal( SFXRectangleConstRef rectangle ) (SFYWidget から継承)
[非推奨(廃止予定 API)] グローバル領域が変化したときに呼び出される関数です。
Void HandleBoundOptimize( SFXRectanglePtr rectangle ) (SFYWidget から継承)
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_OPTIMIZE) イベントを受信したときに呼び出される関数です(指定した矩形に収まる範囲内で最適な領域を計算します)。
Void HandleBoundReal( Void ) (SFYWidget から継承)
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL) イベントを受信したときに呼び出される関数です (実領域が変化したときの処理を行います)。
Void HandleBoundRequest( SFXRectanglePtr rectangle ) (SFYWidget から継承)
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REQUEST) イベントを受信したときに呼び出される関数です(最適な領域を計算します)。
Void HandleBoundVirtual( Void ) (SFYWidget から継承)
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL) イベントを受信したときに呼び出される関数です (仮想領域が変化したときの処理を行います)。
Void HandleRenderRequest( SFXGraphicsPtr graphics ) (SFYWidget から継承)
描画イベントを受信したときに呼び出される関数です(レスポンダを描画します)。
Void SetType( SFCType param ) (SFYResponder から継承)
指定された値をこのレスポンダのタイプに設定します。
CodeEnum
SFYContainer クラスを表す定数です。
DefaultEnum
デフォルトのスクロールステップ(単位 : ピクセル)を表す定数です。
HorizontalEnum (SFYResponder から継承)
水平方向のアライメントを表す定数です。
VerticalEnum (SFYResponder から継承)
垂直方向のアライメントを表す定数です。

SFYContainer::SFYContainer
SFYContainer クラスのコンストラクタです。
[ protected, explicit ]
SFYContainer(Void);

解説

このコンストラクタは、以下の初期化処理を行います。

  1. タイプを ".ntn" に設定します。
  2. スクロールステップを SFYContainer::DEFAULT_STEP に設定します。
  3. 連続スクロールフラグを "false" に設定します。
  4. ScrollUp キーを AVK_UP に設定します。
  5. ScrollDown キーを AVK_DOWN に設定します。
  6. PageUp キーを AVK_TXPGUP に設定します。
  7. PageDown キーを AVK_TXPGDOWN に設定します。
  8. SnapUp キーを AVK_TXHOME に設定します。
  9. SnapDown キーを AVK_TXEND に設定します。
  10. 下表にあるハンドラをレスポンダに登録します。

表 238. イベントハンドラ

イベント ハンドラの内容
SFYContainer::SetScrollUpKey で設定された ScrollUp キーの SFEVT_KEY イベント SFYContainer::HandleScrollUpKey 関数を呼び出します。
SFYContainer::SetScrollDownKey で設定された ScrollDown キーの SFEVT_KEY イベント SFYContainer::HandleScrollDownKey 関数を呼び出します。
SFYContainer::SetPageUpKey で設定された PageUp キーの SFEVT_KEY イベント SFYContainer::HandlePageUpKey 関数を呼び出します。
SFYContainer::SetPageDownKey で設定された PageDown キーの SFEVT_KEY イベント SFYContainer::HandlePageDownKey 関数を呼び出します。
SFYContainer::SetSnapUpKey で設定された SnapUp キーの SFEVT_KEY イベント SFYContainer::HandleSnapUpKey 関数を呼び出します。
SFYContainer::SetSnapDownKey で設定された SnapDown キーの SFEVT_KEY イベント SFYContainer::HandleSnapDownKey 関数を呼び出します。
[Note] 注意
SFYContainer クラスを継承するレスポンダでは、 上記イベントが発生すると、それに対応するハンドラが呼び出されます。

内部実装

このコンストラクタの内部実装は以下の通りです。

/*protected */SFYContainer::SFYContainer(Void) static_throws
{
    static SFXEventRange::AtomRecConst          trange[] = {
        #if TARGET_VERSION_GE(3, 0, 0)
        {       SFEVT_KEY_PRESS,      SFEVT_KEY_RELEASE,          SFP16_BEGIN,            SFP16_END},
        #else
        {       SFEVT_KEY_PRESS,         SFEVT_KEY_HELD,          SFP16_BEGIN,            SFP16_END},
        #endif
        {             SFEVT_KEY,              SFEVT_KEY,          SFP16_BEGIN,            SFP16_END},
        { SFEVT_RESPONDER_FOCUS,  SFEVT_RESPONDER_FOCUS,  SFP16_FOCUS_FORWARD,  SFP16_FOCUS_FORWARD},
        { SFEVT_RESPONDER_FOCUS,  SFEVT_RESPONDER_FOCUS, SFP16_FOCUS_BACKWARD, SFP16_FOCUS_BACKWARD}
    };
    SFYHandler::RuleRec                         trule[lengthof(trange)];

    if (static_try()) {
        SetType(CODE_TYPE);
        trule[0].spp = XANDLER_FUNCTION(OnShield);
        trule[0].reference = this;
        trule[1].spp = XANDLER_FUNCTION(OnKey);
        trule[1].reference = this;
        trule[2].spp = XANDLER_FUNCTION(OnFocusForward);
        trule[2].reference = this;
        trule[3].spp = XANDLER_FUNCTION(OnFocusBackward);
        trule[3].reference = this;
        static_throw(RegisterHandler(atomic_cast(trange), trule, lengthof(trange)));
        if (static_try()) {
            _step = DEFAULT_STEP;
            _repeat = false;
            _key.sup = AVK_UP;
            _key.sdown = AVK_DOWN;
            _key.pup = AVK_TXPGUP;
            _key.pdown = AVK_TXPGDOWN;
            _key.nup = AVK_TXHOME;
            _key.ndown = AVK_TXEND;
        }
    }
}// SFYContainer::SFYContainer //

/*private */XANDLER_IMPLEMENT_BOOLEVENT(SFYContainer, OnShield, invoker, event)
{
    unused(invoker);
    return (event.GetP16() == _key.sup || event.GetP16() == _key.sdown || event.GetP16() == _key.pup || event.GetP16() == _key.pdown || event.GetP16() == _key.nup || event.GetP16() == _key.ndown);
}// XANDLER_IMPLEMENT_BOOLEVENT(SFYContainer, OnShield) //

/*private */XANDLER_IMPLEMENT_BOOLEVENT(SFYContainer, OnKey, invoker, event)
{
    Bool                                        result(false);

    unused(invoker);
    if (event.GetP16() == _key.sup) {
        result = HandleScrollUpKey();
    }
    else if (event.GetP16() == _key.sdown) {
        result = HandleScrollDownKey();
    }
    else if (event.GetP16() == _key.pup) {
        result = HandlePageUpKey();
    }
    else if (event.GetP16() == _key.pdown) {
        result = HandlePageDownKey();
    }
    else if (event.GetP16() == _key.nup) {
        result = HandleSnapUpKey();
    }
    else if (event.GetP16() == _key.ndown) {
        result = HandleSnapDownKey();
    }
    return result;
}// XANDLER_IMPLEMENT_BOOLEVENT(SFYContainer, OnKey) //

/*private */XANDLER_IMPLEMENT_VOIDFOCUS(SFYContainer, OnFocusForward, invoker, reason, focus)
{
    unused(invoker);
    unused(reason);
    if (focus) {
        SnapUp();
    }
    return;
}// XANDLER_IMPLEMENT_VOIDFOCUS(SFYContainer, OnFocusForward) //

/*private */XANDLER_IMPLEMENT_VOIDFOCUS(SFYContainer, OnFocusBackward, invoker, reason, focus)
{
    unused(invoker);
    unused(reason);
    if (focus) {
        SnapDown();
    }
    return;
}// XANDLER_IMPLEMENT_VOIDFOCUS(SFYContainer, OnFocusBackward) //

参照

SFYResponder::SetType | SFYContainer::CodeEnum | SFYContainer::SetScrollStep | SFYContainer::DefaultEnum | SFYContainer::SetScrollRepeat | SFYContainer::SetScrollUpKey | SFYContainer::HandleScrollUpKey | SFYContainer::SetScrollDownKey | SFYContainer::HandleScrollDownKey | SFYContainer::SetPageUpKey | SFYContainer::HandlePageUpKey | SFYContainer::SetPageDownKey | SFYContainer::HandlePageDownKey | SFYContainer::SetSnapUpKey | SFYContainer::HandleSnapUpKey | SFYContainer::SetSnapDownKey | SFYContainer::HandleSnapDownKey | SFXEvent | タイプ | イベント | キーイベント[SFEVT_KEY]


SFYContainer::~SFYContainer
SFYContainer クラスのデストラクタです。
[ protected, virtual ]
virtual ~SFYContainer(Void);

解説

このデストラクタは、何も行いません。

内部実装

このデストラクタの内部実装は以下の通りです。

/*protected virtual */SFYContainer::~SFYContainer(Void)
{
}// SFYContainer::~SFYContainer //

SFYContainer::GetPageDownKey
仮想領域を下方向に 1 ページ分スクロールする PageDown キーを取得します。
[ public, const ]
AVKType GetPageDownKey(Void);

戻り値

仮想領域を下方向に 1 ページ分スクロールする PageDown キー。

解説

この関数は、仮想領域を下方向に 1 ページ分スクロールする PageDown キーを取得します。

参照

SFYContainer::SetPageDownKey | AVKType


SFYContainer::GetPageUpKey
仮想領域を上方向に 1 ページ分スクロールする PageUp キーを取得します。
[ public, const ]
AVKType GetPageUpKey(Void);

戻り値

仮想領域を上方向に 1 ページ分スクロールする PageUp キー。

解説

この関数は、仮想領域を上方向に 1 ページ分スクロールする PageUp キーを取得します。

参照

SFYContainer::SetPageUpKey | AVKType


SFYContainer::GetScrollDownKey
仮想領域を下方向にスクロールステップ分スクロールする ScrollDown キーを取得します。
[ public, const ]
AVKType GetScrollDownKey(Void);

戻り値

仮想領域を下方向にスクロールステップ分スクロールする ScrollDown キー。

解説

この関数は、仮想領域を下方向にスクロールステップ分スクロールする ScrollDown キーを取得します。

参照

SFYContainer::SetScrollDownKey | SFYContainer::SetScrollStep | AVKType


SFYContainer::GetScrollRepeat
連続スクロールフラグの値を取得します。
[ public, const ]
Bool GetScrollRepeat(Void);

戻り値

  • 連続スクロールするように設定されているとき: true
  • そうでないとき: false

解説

この関数は、連続スクロールフラグの値を取得します。

[Note] 注意

連続スクロールフラグが true に設定されていると、 最上部または最下部にフォーカスがあるときに、さらに移動させようとすると それぞれ最下部または最上部にジャンプします。

参照

SFYContainer::SetScrollRepeat


SFYContainer::GetScrollStep
スクロールステップを取得します。[単位 : ピクセル]
[ public, const ]
SInt16 GetScrollStep(Void);

戻り値

スクロールステップ。

解説

この関数は、 SFYContainer::SetScrollStep 関数によって設定されたスクロールステップを取得します。[単位 : ピクセル]

参照

SFYContainer::SetScrollStep


SFYContainer::GetScrollUpKey
仮想領域を上方向にスクロールステップ分スクロールする ScrollUp キーを取得します。
[ public, const ]
AVKType GetScrollUpKey(Void);

戻り値

仮想領域を上方向にスクロールステップ分スクロールする ScrollUp キー。

解説

この関数は、仮想領域を上方向にスクロールステップ分スクロールする ScrollUp キーを取得します。

参照

SFYContainer::SetScrollUpKey | SFYContainer::SetScrollStep | AVKType


SFYContainer::GetSnapDownKey
仮想領域を下端までスクロールする SnapDown キーを取得します。
[ public, const ]
AVKType GetSnapDownKey(Void);

戻り値

仮想領域を下端までスクロールする SnapDown キー。

解説

この関数は、仮想領域を下端までスクロールする SnapDown キーを取得します。

参照

SFYContainer::SetSnapDownKey | AVKType


SFYContainer::GetSnapUpKey
仮想領域を上端までスクロールする SnapUp キーを取得します。
[ public, const ]
AVKType GetSnapUpKey(Void);

戻り値

仮想領域を上端までスクロールする SnapUp キー。

解説

この関数は、仮想領域を上端までスクロールする SnapUp キーを取得します。

参照

SFYContainer::SetSnapUpKey | AVKType


SFYContainer::HandlePageDownKey
PageDown キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
[ protected, virtual ]
Bool HandlePageDownKey(Void);

解説

この関数は、SFYContainer::SetPageDownKey 関数で設定した PageDown キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。

開発者は、独自の処理のためにこの関数をオーバーライドできます。

デフォルトの実装では、 SFYContainer::PageDown 関数を呼び出して、 仮想領域を1ページ分下にスクロールします。

内部実装

この関数の内部実装は以下の通りです。

/*protected virtual */Bool SFYContainer::HandlePageDownKey(Void)
{
    return PageDown();
}// SFYContainer::HandlePageDownKey //

参照

SFYContainer::SetPageDownKey | SFYContainer::PageDown | キーイベント[SFEVT_KEY]


SFYContainer::HandlePageUpKey
PageUp キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
[ protected, virtual ]
Bool HandlePageUpKey(Void);

解説

この関数は、SFYContainer::SetPageUpKey 関数で設定した PageUp キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。

開発者は、独自の処理のためにこの関数をオーバーライドできます。

デフォルトの実装では、 SFYContainer::PageUp 関数を呼び出して、 仮想領域を1ページ分上にスクロールします。

内部実装

この関数の内部実装は以下の通りです。

/*protected virtual */Bool SFYContainer::HandlePageUpKey(Void)
{
    return PageUp();
}// SFYContainer::HandlePageUpKey //

参照

SFYContainer::SetPageDownKey | SFYContainer::PageUp | キーイベント[SFEVT_KEY]


SFYContainer::HandleScrollDownKey
ScrollDown キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
[ protected, virtual ]
Bool HandleScrollDownKey(Void);

解説

この関数は、SFYContainer::SetScrollDownKey 関数で設定した ScrollDown キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。

開発者は、独自の処理のためにこの関数をオーバーライドできます。

デフォルトの実装では、SFYContainer::ScrollDown 関数を呼び出して、仮想領域を下方向にスクロールします。

内部実装

この関数の内部実装は以下の通りです。

/*protected virtual */Bool SFYContainer::HandleScrollDownKey(Void)
{
    return ScrollDown();
}// SFYContainer::HandleScrollDownKey //

参照

SFYContainer::SetScrollDownKey | SFYContainer::ScrollDown | キーイベント[SFEVT_KEY]


SFYContainer::HandleScrollUpKey
ScrollUp キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
[ protected, virtual ]
Bool HandleScrollUpKey(Void);

解説

この関数は、SFYContainer::SetScrollUpKey 関数で設定した ScrollUp キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。

開発者は、独自の処理のためにこの関数をオーバーライドできます。

デフォルトの実装では、SFYContainer::ScrollUp 関数を呼び出して、仮想領域を上方向にスクロールします。

内部実装

この関数の内部実装は以下の通りです。

/*protected virtual */Bool SFYContainer::HandleScrollUpKey(Void)
{
    return ScrollUp();
}// SFYContainer::HandleScrollUpKey //

参照

SFYContainer::SetScrollUpKey | SFYContainer::ScrollUp | キーイベント[SFEVT_KEY]


SFYContainer::HandleSnapDownKey
SnapDown キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
[ protected, virtual ]
Bool HandleSnapDownKey(Void);

解説

この関数は、SFYContainer::SetSnapDownKey 関数で設定した SnapDown キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。

開発者は、独自の処理のためにこの関数をオーバーライドできます。

デフォルトの実装では、SFYContainer::SnapDown 関数を呼び出して、仮想領域の下端までスクロールします。

内部実装

この関数の内部実装は以下の通りです。

/*protected virtual */Bool SFYContainer::HandleSnapDownKey(Void)
{
    return SnapDown();
}// SFYContainer::HandleSnapDownKey //

参照

SFYContainer::SetSnapDownKey | SFYContainer::SnapDown | キーイベント[SFEVT_KEY]


SFYContainer::HandleSnapUpKey
SnapUp キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
[ protected, virtual ]
Bool HandleSnapUpKey(Void);

解説

この関数は、SFYContainer::SetSnapUpKey 関数で設定した SnapUp キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。

開発者は、独自の処理のためにこの関数をオーバーライドできます。

デフォルトの実装では、SFYContainer::SnapUp 関数を呼び出して、仮想領域の上端までスクロールします。

内部実装

この関数の内部実装は以下の通りです。

/*protected virtual */Bool SFYContainer::HandleSnapUpKey(Void)
{
    return SnapUp();
}// SFYContainer::HandleSnapUpKey //

参照

SFYContainer::SetSnapUpKey | SFYContainer::SnapUp | キーイベント[SFEVT_KEY]


SFYContainer::PageDown
仮想領域を下方向に 1 ページ分スクロールします。
[ public ]
Bool PageDown(Void);

戻り値

false。

解説

この関数は、仮想領域を下方向に 1 ページ分スクロールします。。

この関数は、SFYContainer::HandlePageDownKey 関数から呼び出されます。

開発者は、独自の処理のためにこの関数をオーバーライドできます。

デフォルトの実装は、false の戻り値を返す以外に何もしません。

参照

SFYContainer::HandlePageDownKey | SFYContainer::PageUp


SFYContainer::PageUp
仮想領域を上方向に 1 ページ分スクロールします。
[ public ]
Bool PageUp(Void);

戻り値

false。

解説

この関数は、仮想領域を上方向に 1 ページ分スクロールします。

この関数は、SFYContainer::HandlePageUpKey 関数から呼び出されます。

開発者は、独自の処理のためにこの関数をオーバーライドできます。

デフォルトの実装は、false の戻り値を返す以外に何もしません。

参照

SFYContainer::HandlePageUpKey | SFYContainer::PageDown


SFYContainer::ScrollDown
仮想領域を下方向にスクロールします。
[ public ]
Bool ScrollDown(Void);

戻り値

  • 成功したとき: true
  • 失敗したとき: false

解説

この関数は、仮想領域を下方向にスクロールします。

この関数は、SFYContainer::HandleScrollDownKey 関数から呼び出されます。

開発者は、独自の処理のためにこの関数をオーバーライドできます。

デフォルトの実装は、以下の仕様で仮想領域を下方向にスクロールします。

  1. フォーカスされているレスポンダがあり次のレスポンダにフォーカスを移動できる場合は、フォーカスを移動します。
  2. フォーカスを移動した結果、フォーカスが画面外にはみ出る場合は、画面を下方向にスクロールします。
  3. フォーカスを最後のレスポンダまで移動しこれ以上移動できない場合は、画面を下方向にスクロールします。
  4. フォーカスされているレスポンダが無い場合は、フォーカス可能な最初のレスポンダがフォーカスされ画面をスクロールします。
  5. フォーカス可能なレスポンダが1つも無い場合は、画面を下方向にスクロールします。

参照

SFYContainer::HandleScrollDownKey | SFYContainer::ScrollUp


SFYContainer::ScrollUp
仮想領域を上方向にスクロールします。
[ public ]
Bool ScrollUp(Void);

戻り値

  • 成功したとき: true
  • 失敗したとき: false

解説

この関数は、仮想領域を上方向にスクロールします。

この関数は、SFYContainer::HandleScrollUpKey 関数から呼び出されます。

開発者は、独自の処理のためにこの関数をオーバーライドできます。

デフォルトの実装は、以下の仕様で仮想領域を上方向にスクロールします。

  1. フォーカスされているレスポンダがあり前のレスポンダにフォーカスを移動できる場合は、フォーカスを移動します。
  2. フォーカスを移動した結果、フォーカスが画面外にはみ出る場合は、画面を上方向にスクロールします。
  3. フォーカスを最初のレスポンダまで移動しこれ以上移動できない場合は、画面を上方向にスクロールします。
  4. フォーカスされているレスポンダが無い場合は、フォーカス可能な最後のレスポンダがフォーカスされ画面をスクロールします。
  5. フォーカス可能なレスポンダが1つも無い場合は、画面を上方向にスクロールします。

参照

SFYContainer::HandleScrollUpKey | SFYContainer::ScrollDown


SFYContainer::SetPageDownKey
仮想領域を下方向に 1 ページ分スクロールする PageDown キーを設定します。
[ public ]
Void SetPageDownKey(
    AVKType param   // 設定するキー
);

解説

この関数は、 仮想領域を下方向に 1 ページ分スクロールする PageDown キーを設定します。

この関数で設定されたキーの SFEVT_KEY イベントが発生すると、 SFYContainer::HandlePageDownKey 関数が実行されます。

デフォルト値: AVK_TXPGDOWN

参照

SFYContainer::HandlePageDownKey | SFYContainer::GetPageDownKey | AVKType


SFYContainer::SetPageUpKey
仮想領域を上方向に 1 ページ分スクロールする PageUp キーを設定します。
[ public ]
Void SetPageUpKey(
    AVKType param   // 設定するキー
);

解説

この関数は、 仮想領域を上方向に 1 ページ分スクロールする PageUp キーを設定します。

この関数で設定されたキーの SFEVT_KEY イベントが発生すると、 SFYContainer::HandlePageUpKey 関数が実行されます。

デフォルト値: AVK_TXPGUP

参照

SFYContainer::HandlePageUpKey | SFYContainer::GetPageUpKey | AVKType


SFYContainer::SetScrollDownKey
仮想領域を下方向にスクロールステップ分スクロールする ScrollDown キーを設定します。
[ public ]
Void SetScrollDownKey(
    AVKType param   // 設定するキー
);

解説

この関数は、 仮想領域を下方向にスクロールステップ分スクロールする ScrollDown キーを設定します。

この関数で設定されたキーの SFEVT_KEY イベントが発生すると、 SFYContainer::HandleScrollDownKey 関数が実行されます。

デフォルト値: AVK_DOWN

参照

SFYContainer::HandleScrollDownKey | SFYContainer::GetScrollDownKey | SFYContainer::SetScrollStep | AVKType


SFYContainer::SetScrollRepeat
連続スクロールフラグを設定します。
[ public ]
Void SetScrollRepeat(
    Bool param   // 設定する値
);

解説

この関数は、連続スクロールフラグを設定します。

連続スクロールフラグが true に設定されていると、 最上部または最下部にフォーカスがあるときに、さらに移動させようとすると それぞれ最下部または最上部にジャンプします。

参照

SFYContainer::GetScrollRepeat


SFYContainer::SetScrollStep
スクロールステップを設定します。[単位 : ピクセル]
[ public ]
Void SetScrollStep(
    SInt16 param   // 設定するスクロールステップ
);

解説

この関数は、 SFYContainer::ScrollUp / SFYContainer::ScrollUp 関数でスクロールするステップを設定します。[単位 : ピクセル]

デフォルト値: DEFAULT_STEP ピクセル(20 ピクセル)

参照

SFYContainer::GetScrollStep | SFYContainer::DefaultEnum


SFYContainer::SetScrollUpKey
仮想領域を上方向にスクロールステップ分スクロールする ScrollUp キーを設定します。
[ public ]
Void SetScrollUpKey(
    AVKType param   // 設定するキー
);

解説

この関数は、 仮想領域を上方向にスクロールステップ分スクロールする ScrollUp キーを設定します。

この関数で設定されたキーの SFEVT_KEY イベントが発生すると、 SFYContainer::HandleScrollUpKey 関数が実行されます。

デフォルト値: AVK_UP

参照

SFYContainer::HandleScrollUpKey | SFYContainer::GetScrollUpKey | SFYContainer::SetScrollStep | AVKType


SFYContainer::SetSnapDownKey
仮想領域を下端までスクロールする SnapDown キーを設定します。
[ public ]
Void SetSnapDownKey(
    AVKType param   // 設定するキー
);

解説

この関数は、 仮想領域を下端までスクロールする SnapDown キーを設定します。

この関数で設定されたキーの SFEVT_KEY イベントが発生すると、 SFYContainer::HandleSnapDownKey 関数が実行されます。

デフォルト値: AVK_TXEND

参照

SFYContainer::HandleSnapDownKey | SFYContainer::GetSnapDownKey | AVKType


SFYContainer::SetSnapUpKey
仮想領域を上端までスクロールする SnapUp キーを設定します。
[ public ]
Void SetSnapUpKey(
    AVKType param   // 設定するキー
);

解説

この関数は、 仮想領域を上端までスクロールする SnapUp キーを設定します。

この関数で設定されたキーの SFEVT_KEY イベントが発生すると、 SFYContainer::HandleSnapUpKey 関数が実行されます。

デフォルト値: AVK_TXHOME

参照

SFYContainer::HandleSnapUpKey | SFYContainer::GetSnapUpKey | AVKType


SFYContainer::SnapDown
仮想領域を下端までスクロールします。
[ public ]
Bool SnapDown(Void);

戻り値

false。

解説

この関数は、仮想領域を下端までスクロールします。

この関数は、SFYContainer::HandleSnapDownKey 関数から呼び出されます。

開発者は、独自の処理のためにこの関数をオーバーライドできます。

デフォルトの実装は、false の戻り値を返す以外に何もしません。

参照

SFYContainer::HandleSnapDownKey | SFYContainer::SnapUp


SFYContainer::SnapUp
仮想領域を上端までスクロールします。
[ public ]
Bool SnapUp(Void);

戻り値

false。

解説

この関数は、仮想領域を上端までスクロールします。

この関数は、SFYContainer::HandleSnapUpKey 関数から呼び出されます。

開発者は、独自の処理のためにこの関数をオーバーライドできます。

デフォルトの実装は、false の戻り値を返す以外に何もしません。

参照

SFYContainer::HandleSnapUpKey | SFYContainer::SnapDown


SFYContainer::CodeEnum
SFYContainer クラスを表す定数です。
enum CodeEnum {
    CODE_TYPE = four_char_code('.', 'n', 't', 'n')
};
SFMTYPEDEFTYPE(CodeEnum)

参照

SFYResponder::GetType | SFYResponder::SetType


SFYContainer::DefaultEnum
デフォルトのスクロールステップ(単位 : ピクセル)を表す定数です。
enum DefaultEnum {
    DEFAULT_STEP  = 20  //  デフォルトのスクロールステップ(単位 : ピクセル)
};
SFMTYPEDEFTYPE(DefaultEnum)

参照

SFYContainer::SetScrollStep