前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework UNIVERSE 5.0
SFYControl
コントロールを表すレスポンダです。
#include <SFYControl.h.hpp>
class SFYControl : public SFYWidget;
SFMTYPEDEFRESPONDER(SFYControl)

継承図

SFYControl クラスの継承図

協調図

SFYControl クラスの協調図

解説

コントロールは、コンテナ内に配置されるように設計されたレスポンダです。

すべてのコントロールは SFYControl クラスを継承し、最大値・最小値・現在値を保持しています。これらの値の表す意味はコントロールの種類により異なります。(※1)

具象コントロールはアプレット開発ですぐに使うことができる部品であり、抽象コントロールはカスタマイズされたユーザー定義コントロールを作成するための起点となります。

(※1) すべてのコントロールで 常に「最小値 ≦ 現在値 ≦ 最大値」を保障しているわけではありません。例えば SFYTabControl では常に最小値は 0 で、タブページが存在しない場合、現在値と最大値は共に -1 となります。

表 186. 具象コントロールの種類

クラス名 解説
SFZSingleTextLabelControl 単一行の編集不可能なテキストを表示するラベルコントロールです。
SFZSingleEditLabelControl 単一行の編集可能なテキストを表示するラベルコントロールです。
SFZMultipleTextLabelControl 複数行の編集不可能なテキストを表示するラベルコントロールです。
SFZMultipleEditLabelControl 複数行の編集可能なテキストを表示するラベルコントロールです。
SFZImageLabelControl イメージを表示するラベルコントロールです。
SFZSingleTextBoxControl 単一行の編集不可能なテキストを表示するボックスコントロールです。
SFZSingleEditBoxControl 単一行の編集可能なテキストを表示するボックスコントロールです。
SFZMultipleTextBoxControl 複数行の編集不可能なテキストを表示するボックスコントロールです。
SFZMultipleEditBoxControl 複数行の編集可能なテキストを表示するボックスコントロールです。
SFZImageBoxControl イメージを表示するボックスコントロールです。
SFZTextButtonControl テキストを表示するボタンコントロールです。
SFZImageButtonControl イメージを表示するボタンコントロールです。
SFZComboBoxControl コンボボックスコントロールです。
SFZListBoxControl リストボックスコントロールです。
SFZCheckboxControl チェックボックスコントロールです。
SFZRadiobuttonControl ラジオボタンコントロールです。
SFZTabControl タブコントロールです。
SFZTabPage タブコントロールのタブページです。
SFZScrollBarControl コンテナクラス用のスクロールバーコントロールです。
SFZBandScrollBarControl 帯コントロール用のスクロールバーコントロールです。
SFZSoftKeyControl ソフトキーコントロールです。
SFZWebBrowserControl 簡易ウェブブラウザコントロールです。

表 187. 抽象コントロールの種類

クラス名 解説
SFYControl コントロールを表す抽象クラスです。
SFYBandControl 帯コントロールを表す抽象クラスです。
SFYLabelControl ラベルコントロールを表す抽象クラスです。
SFYBoxControl ボックスコントロールを表す抽象クラスです。
SFYButtonControl ボタンコントロールを表す抽象クラスです。
SFYCheckboxControl チェックボックスコントロールを表す抽象クラスです。
SFYRadiobuttonControl ラジオボタンコントロールを表す抽象クラスです。
SFYTabControl タブコントロールを表す抽象クラスです。
SFYScrollBarControl スクロールバーコントロールを表す抽象クラスです。
[Note] 重要

すべてのコントロールにおいて、SFYResponder::SetParent 関数、SFYResponder::SetState 関数、SFYResponder::SetRealBound 関数の呼び出しは必須です。その他の関数は必要に応じて呼び出すことも省略することもできます。

参照

コントロール(基礎編)

メンバ

コンストラクタ/デストラクタ
SFYControl( Void )
SFYControl クラスのコンストラクタです。
~SFYControl( Void )
SFYControl クラスのデストラクタです。
パブリック関数
SInt32 GetCurrentValue( Void )
コントロールの現在値を取得します。
SInt32 GetMaximumValue( Void )
コントロールの最大値を取得します。
SInt32 GetMinimumValue( Void )
コントロールの最小値を取得します。
Void SetCurrentValue( SInt32 param )
コントロールの現在値を設定します。
Void SetMaximumValue( SInt32 param )
コントロールの最大値を設定します。
Void SetMinimumValue( SInt32 param )
コントロールの最小値を設定します。
Void ClearHandler( Void ) (SFYResponder から継承)
ハンドラの登録をすべて解除します。
Void ClearTracer( Void ) (SFYResponder から継承)
トレーサの登録をすべて解除します。
SFCError Distribute( SFXEventConstRef event , BoolPtr result = null ) (SFYResponder から継承)
配信エンジンを起動してイベントを配信します。
SFXRGBColorConstRef GetBackgroundColor( Void ) (SFYWidget から継承)
背景の色を取得します。
SFYResponderSmp GetChildBack( Void ) (SFYResponder から継承)
GetChildBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
GetChildBack( UInt32 id ) (SFYResponder から継承)
GetChildBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
最背面に位置する子レスポンダを取得します。
SFYResponderSmp GetChildBackward( SInt32 index ) (SFYResponder から継承)
GetChildBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
GetChildBackward( SInt32 index , UInt32 id ) (SFYResponder から継承)
GetChildBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
背面から数えて指定された順番に位置する子レスポンダを取得します。
SInt32 GetChildCount( Void ) (SFYResponder から継承)
GetChildCount( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
GetChildCount( UInt32 id ) (SFYResponder から継承)
GetChildCount( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
子レスポンダの数を取得します。
SFYResponderSmp GetChildForward( SInt32 index ) (SFYResponder から継承)
GetChildForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
GetChildForward( SInt32 index , UInt32 id ) (SFYResponder から継承)
GetChildForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
前面から数えて指定された順番に位置する子レスポンダを取得します。
SFYResponderSmp GetChildFront( Void ) (SFYResponder から継承)
GetChildFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
GetChildFront( UInt32 id ) (SFYResponder から継承)
GetChildFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
最前面に位置する子レスポンダを取得します。
SFYDistributerPtr GetDistributer( Void ) (SFYResponder から継承)
配信エンジンを取得します。
SFXRectangle GetGlobalBound( Void ) (SFYResponder から継承)
グローバル領域を取得します。
UInt32 GetID( Void ) (SFYResponder から継承)
ID を取得します。
SFXRectangle GetLocalBound( Void ) (SFYResponder から継承)
ローカル領域を取得します。
SInt32 GetNthBackward( Void ) (SFYResponder から継承)
GetNthBackward( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
GetNthBackward( UInt32 id ) (SFYResponder から継承)
GetNthBackward( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
自レスポンダが背面から数えて何番目に位置するかを取得します。
SInt32 GetNthForward( Void ) (SFYResponder から継承)
GetNthForward( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
GetNthForward( UInt32 id ) (SFYResponder から継承)
GetNthForward( 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 GetStateVisible( Bool inherit = false ) (SFYResponder から継承)
可視状態を取得します。
SFXRectangle GetSuitableBound( Void ) (SFYResponder から継承)
GetSuitableBound( SFXRectangleConstRef param ) (SFYResponder から継承)
最適な大きさを取得します。
SFXMargin GetSuitableMargin( Void ) (SFYResponder から継承)
最適な余白を取得します。
SFCType GetType( Void ) (SFYResponder から継承)
タイプを取得します。
SFXRectangleConstRef GetVirtualBound( Void ) (SFYResponder から継承)
仮想領域を取得します。
Void Initialize( Void ) (SFYResponder から継承)
レスポンダを初期化します。
Void Invalidate( Void ) (SFYResponder から継承)
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 から継承)
IsBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
IsBack( UInt32 id ) (SFYResponder から継承)
IsBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
自レスポンダが最背面に位置するかどうかを判定します。
Bool IsFront( Void ) (SFYResponder から継承)
IsFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
IsFront( UInt32 id ) (SFYResponder から継承)
IsFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
自レスポンダが最前面に位置するかどうかを判定します。
Bool IsNthBackward( SInt32 index ) (SFYResponder から継承)
IsNthBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
IsNthBackward( SInt32 index , UInt32 id ) (SFYResponder から継承)
IsNthBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
自レスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthForward( SInt32 index ) (SFYResponder から継承)
IsNthForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
IsNthForward( SInt32 index , UInt32 id ) (SFYResponder から継承)
IsNthForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
自レスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
Bool IsRoot( Void ) (SFYResponder から継承)
自レスポンダがルートレスポンダかどうかを判定します。
SFCError RegisterHandler( SFXEventRangeConstRef range , SFYHandler::RuleRecConstRef rule ) (SFYResponder から継承)
RegisterHandler( SFXEventRangeConstPtr range , SFYHandler::HandlerSPPConstPtr spp , VoidPtrConstPtr reference , SInt32 length ) (SFYResponder から継承)
RegisterHandler( SFXEventRangeConstPtr range , SFYHandler::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承)
RegisterHandler( SFXEventRangeConstRef range , SFYHandler::HandlerSPP spp , VoidPtr reference ) (SFYResponder から継承)
ハンドラを登録します。
SFCError RegisterTracer( SFXEventRangeConstRef range , SFYTracer::RuleRecConstRef rule ) (SFYResponder から継承)
RegisterTracer( SFXEventRangeConstPtr range , SFYTracer::OrderEnumConstPtr order , SFYTracer::StateEnumConstPtr state , BoolConstPtr overload , SInt32 length ) (SFYResponder から継承)
RegisterTracer( SFXEventRangeConstPtr range , SFYTracer::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承)
RegisterTracer( SFXEventRangeConstRef range , SFYTracer::OrderEnum order , SFYTracer::StateEnum state , Bool overload ) (SFYResponder から継承)
トレーサを登録します。
SFCError Render( Bool force = false ) (SFYResponder から継承)
描画エンジンを起動して再描画します。
Void SetBackgroundColor( SFXRGBColorConstRef param ) (SFYWidget から継承)
背景の色を設定します。
Void SetDistributer( SFYDistributerPtr 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 から継承)
仮想領域を設定します。
Void Terminate( Void ) (SFYResponder から継承)
レスポンダの終了処理をします。
Void ToBack( Void ) (SFYResponder から継承)
ToBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
ToBack( UInt32 id ) (SFYResponder から継承)
ToBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
自レスポンダを姉妹レスポンダのなかで最背面に移動します。
Void ToFront( Void ) (SFYResponder から継承)
ToFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
ToFront( UInt32 id ) (SFYResponder から継承)
ToFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
自レスポンダを姉妹レスポンダのなかで最前面に移動します。
Void ToNthBackward( SInt32 index ) (SFYResponder から継承)
ToNthBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
ToNthBackward( SInt32 index , UInt32 id ) (SFYResponder から継承)
ToNthBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
自レスポンダを背面から数えて指定された順番に移動します。
Void ToNthForward( SInt32 index ) (SFYResponder から継承)
ToNthForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
ToNthForward( SInt32 index , UInt32 id ) (SFYResponder から継承)
ToNthForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
自レスポンダを前面から数えて指定された順番に移動します。
Void UnregisterHandler( SFXEventRangeConstRef range , SFYHandler::RuleRecConstRef rule ) (SFYResponder から継承)
UnregisterHandler( SFXEventRangeConstPtr range , SFYHandler::HandlerSPPConstPtr spp , VoidPtrConstPtr reference , SInt32 length ) (SFYResponder から継承)
UnregisterHandler( SFXEventRangeConstPtr range , SFYHandler::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承)
UnregisterHandler( SFXEventRangeConstRef range , SFYHandler::HandlerSPP spp , VoidPtr reference ) (SFYResponder から継承)
ハンドラの登録を解除します。
Void UnregisterTracer( SFXEventRangeConstRef range ) (SFYResponder から継承)
UnregisterTracer( SFXEventRangeConstPtr range , SInt32 length ) (SFYResponder から継承)
トレーサの登録を解除します。
T const & static_catch( Void ) (static_exception から継承)
現在保持している例外を取得します。
プロテクト関数
Void HandleBoundReal( Void )
実領域の変更処理を行います。
static
SFYResponderSmp
Factory( SFYResponderPtr responder , SFCErrorPtr exception = null ) (SFYResponder から継承)
NewInstance 関数の実装を補助します。
SFYResponderSmp GetThis( Void ) (SFYResponder から継承)
スマートポインタで保持された this を取得します。
Void HandleBoundGlobal( SFXRectangleConstRef rectangle ) (SFYWidget から継承)
グローバル領域の変更処理を行います。
Void HandleBoundOptimize( SFXRectanglePtr rectangle ) (SFYWidget から継承)
指定した矩形に収まる範囲内で最適なサイズを計算します。
Void HandleBoundRequest( SFXRectanglePtr rectangle ) (SFYWidget から継承)
最適な矩形を計算します。
Void HandleBoundVirtual( Void ) (SFYWidget から継承)
仮想領域の変更処理を行います。
Void HandleRenderRequest( SFXGraphicsPtr graphics ) (SFYWidget から継承)
レスポンダを描画します。
Void SetType( SFCType param ) (SFYResponder から継承)
タイプを設定します。
Void static_throw( static_exception< T > const & param ) (static_exception から継承)
static_throw( T const & param ) (static_exception から継承)
例外を設定します。
Bool static_try( Void ) (static_exception から継承)
例外が保持されているかどうかを確かめます。
CodeEnum
SFYControl クラスを表す定数です。

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

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

SFYControl::GetCurrentValue
コントロールの現在値を取得します。
[ public, const ]
SInt32 GetCurrentValue(Void);

参照

SFYControl::SetCurrentValue


SFYControl::GetMaximumValue
コントロールの最大値を取得します。
[ public, const ]
SInt32 GetMaximumValue(Void);

SFYControl::GetMinimumValue
コントロールの最小値を取得します。
[ public, const ]
SInt32 GetMinimumValue(Void);

SFYControl::HandleBoundReal
実領域の変更処理を行います。
[ protected, virtual ]
Void HandleBoundReal(Void);

解説

(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL) イベントを受信したときに呼び出される関数です。

実領域の変更時に追加の処理を行いたい場合は、この関数をオーバーライドします。

デフォルトの実装は、仮想領域を実領域に一致させます。

[Note] (SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL) イベントの送信

(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL) イベントは SFYResponder::SetRealBound 関数を呼び出したときなどに発生します。

[Note] 実領域の変更処理

この仮想関数をオーバーライドする以外に、 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]を定義・実装し レスポンダに登録して行うことも可能です。

実領域の変更処理は、最初に仮想関数を実行し、次に領域イベント専用ハンドラを登録した順に実行して行われます。

参照

SFYResponder::SetRealBound | 領域イベント(SFEVT_RESPONDER_BOUND) | 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]


SFYControl::SetCurrentValue
コントロールの現在値を設定します。
[ public ]
Void SetCurrentValue(
    SInt32 param   // 設定する値
);

解説

すでに設定されている最大値や最小値の範囲外の値でもそのまま設定されます。

参照

SFYControl::GetCurrentValue


SFYControl::SetMaximumValue
コントロールの最大値を設定します。
[ public ]
Void SetMaximumValue(
    SInt32 param   // 設定する値
);

解説

すでに設定されている最小値や現在値が最大値よりも大きい場合でもそのまま設定されます。


SFYControl::SetMinimumValue
コントロールの最小値を設定します。
[ public ]
Void SetMinimumValue(
    SInt32 param   // 設定する値
);

解説

すでに設定されている最大値や現在値が最小値よりも小さい場合でもそのまま設定されます。


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

参照

SFYResponder::GetType | SFYResponder::SetType