ControlUI (クラス)
public abstract ControlUI {inherits GraphicOptions, GuiEventTarget}
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.CONTROL-BASE.
直接継承しているサブクラス: SliderUI, SpinControlUI, RecordGridUI, ScrollbarUI, ProgressBarUI, ComboBoxUI, DropdownListUI, CalendarControlUI, DateFieldUI, TreeControlUI, MenuPaneUI, BaseTextControlUI, BaseButtonUI, MenuBarUI, ListBoxUI, GroupBoxUI, MenuButtonUI, BaseTabControlUI, TextDisplayUI

MultiUIControlFrame に関連付けられた UI オブジェクトのスーパークラス。

説明

このオブジェクトと、関連付けられた ControlUI.control との動作についての詳細は、MultiUIControlFrame を参照してください。

コンストラクタ
default:新しい ControlUI オブジェクトを作成します。
コンストラクタ public {ControlUI.default}

プロパティ
color:コントロールでは、このオプションは、テキストの色および小さいシンボル (ComboBox 内のボタンの小さい三角形など) に影響を与えます。
非ローカル オプション public ControlUI.color:FillPattern
control:この ControlUI が UI として使用される Control
アクセサ public ControlUI.control:Control
セッター public ControlUI.control:Control
control-appearance-changeable?:look-and-feel または標準のオプション親のどちらがコントロールの外観の基準になるかを決定します。
非ローカル オプション public ControlUI.control-appearance-changeable?:bool
control-color:このオプションで、コントロールのボタン部分の主な色を設定します。
非ローカル オプション public ControlUI.control-color:FillPattern
control-content-background:このオプションは、コントロール内容が背景を持つ場合にその色を制御します。
非ローカル オプション public ControlUI.control-content-background:Background
copy-options:直接 Control からその ControlUI にコピーされるオプションの名前を示す Set-of String
アクセサ protected ControlUI.copy-options:{Set-of String}
focus-skin:フォーカスが当たった時に付加的な外観の装飾を規定するために、スキンが適用されたコントロールで使用される仕様です。
ローカル オプション public ControlUI.focus-skin:#SkinSpec
font-family:このオプションは、コントロール内のテキストで使用されるフォントに影響を及ぼします。
非ローカル オプション public ControlUI.font-family:String
font-size:このオプションは、コントロール内のテキストで使用されるフォントに影響を及ぼします。
非ローカル オプション public ControlUI.font-size:any
font-style:このオプションは、コントロール内のテキストで使用されるフォントに影響を及ぼします。
非ローカル オプション public ControlUI.font-style:FontStyle
font-weight:このオプションは、コントロール内のテキストで使用されるフォントに影響を及ぼします。
非ローカル オプション public ControlUI.font-weight:FontWeight
skin:外観を規定するために、スキンが適用されたコントロールで使用される仕様です。
ローカル オプション public ControlUI.skin:#SkinSpec
text-breakable?:このオプションは、コントロール内のテキストを複数行に改行できるかどうかを設定します。
非ローカル オプション public ControlUI.text-breakable?:bool
text-line-through?:このオプションは、コントロール内のテキストが描かれる方法に影響を及ぼします。
非ローカル オプション public ControlUI.text-line-through?:bool
text-preserve-whitespace?:このオプションは、コントロール内のテキストが空白文字と改行文字をそのまま保持するか、折りたたむかを設定します。
非ローカル オプション public ControlUI.text-preserve-whitespace?:bool
text-underline?:このオプションは、コントロール内のテキストが描かれる方法に影響を及ぼします。
非ローカル オプション public ControlUI.text-underline?:bool
プロパティ 継承 DataBindingTarget: data-binding-context, data-bindings
プロパティ 継承 EventTarget: event-handlers
プロパティ 継承 OptionListInterface: option-parent, option-register-proc, options, options-present-here, registered-option-keys, style-options

メソッド
fire-event-at-control:UI の ControlGuiEvent を発生させるための便利なメソッドです。
protected {ControlUI.fire-event-at-control e:GuiEvent}:void
on-focus-in:FocusIn イベントのスタティック イベント ハンドラ
public {ControlUI.on-focus-in e:FocusIn}:void
on-focus-out:FocusOut イベントのスタティック イベント ハンドラ
public {ControlUI.on-focus-out e:FocusOut}:void
on-key-press:KeyPress イベントのスタティック イベント ハンドラ
public {ControlUI.on-key-press e:KeyPress}:void
on-pointer-press:PointerPress イベントのスタティック イベント ハンドラ
public {ControlUI.on-pointer-press e:PointerPress}:void
react-to-state-change:コントロールの状態が変更された場合に、コントロールの外観を変更します。
public {ControlUI.react-to-state-change}:void
react-to-visual-change:コントロールのラベルまたはスタイルが変更されたときに、コントロールを再レンダリングします。
public {ControlUI.react-to-visual-change}:void
メソッド 継承 GraphicOptions: any-to-Distance, get-display-context
メソッド 継承 GuiEventTarget: handle-delegate-event, handle-event, on-action, on-cancel-mode, on-command-changed, on-commit, on-composition-change-event, on-composition-result-event, on-context-menu-event, on-current-record-change-request, on-current-record-changed, on-destroy-notify, on-destroy-requested, on-drag-enter, on-drag-leave, on-drag-over, on-drag-pointer, on-drag-started, on-drop, on-end-composition-event, on-focus-event, on-gesture, on-gesture-begin, on-gesture-end, on-gesture-magnify, on-gesture-pan, on-gesture-rotate, on-gesture-swipe, on-gesture-tap, on-gesture-touch, on-grab-release, on-gui-event, on-input-method-event, on-inspection, on-key-event, on-pointer-button, on-pointer-crossing, on-pointer-enter, on-pointer-envelope-event, on-pointer-event, on-pointer-leave, on-pointer-motion, on-pointer-release, on-pointer-scroll, on-raw-key-event, on-raw-key-press, on-raw-key-release, on-reset, on-selectable-added, on-selectable-removed, on-selection-changed, on-selection-context-activated, on-selection-context-deactivated, on-selection-event, on-start-composition-event, on-start-event, on-stop-event, on-view-activate, on-view-deactivate, on-window-close, remove-event-handlers-for-event-class
メソッド 継承 DataBindingTarget: add-data-binding, get-data-binding, non-keyword-init-arg, refresh-data-binding, remove-data-binding, unset-property, update-data-binding, validate-data-binding
メソッド 継承 EventTarget: accepts-event-class?, add-event-handler, event-handler-present?, remove-event-handler, verify-event
メソッド 継承 OptionListInterface: add-option, add-style-option, change-option-parent-notify, clone-options, get-option, get-option-by-name, keyword-init-arg, local-add-notify, local-remove-notify, name-to-option-key, new-option-item, notify-option-children, option-change-notify, option-changed, option-lookup, option-lookup-here, option-propagate-notify, option-set?, propagate-option-change, register-options, remove-option, remove-style-option, remove-styles, set-option-by-name, set-style-option-by-name, unset-option-by-name, unset-style-option-by-name
メソッド 継承 BasicEventTarget: enqueue-event
メソッド 継承 InitRestArgParser: process-rest-args
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {ControlUI.default}

新しい ControlUI オブジェクトを作成します。




プロパティ詳細
color (非ローカル オプション)
public ControlUI.color:FillPattern

コントロールでは、このオプションは、テキストの色および小さいシンボル (ComboBox 内のボタンの小さい三角形など) に影響を与えます。


例: 色の指定
{HBox valign="bottom", spacing=4pt,
    control-appearance-changeable?=true, color="red",
    {CommandButton label="Sample Button"},
    {CheckButton label="Sample"},
    {Scrollbar width=.8in, direction=Orientation.horizontal},
    {ComboBox width=1.2in, prompt="Choose One", "First", "Second"},
    {TextField width=1.0in, value="Sample text"}
}


control (アクセサ)
アクセサ public ControlUI.control:Control
セッター public ControlUI.control:Control

この ControlUI が UI として使用される Control

説明

重要:このオブジェクトが最初に作成された時点では、通常このプロパティは有効ではありません。特に、この ControlUI.control プロパティは、このオブジェクトが、関連付けられたコントロールの MultiUIControlFrame.ui-object プロパティに設定された後でなければ有効になりません。
そのため、このタイプのインスタンスを直接作成するアプリケーションは、通常、関連付けられたコントロールにこれらのプロパティが "接続" されるまで操作すべきではありません。

プログラミング注意事項

このプロパティは、アプリケーションによって設定されるべきではありません。初回は、MultiUIControlFrame により、ControlUI を関連付けられたコントロールにリンクさせるよう設定されます。
コントロールと ControlUI の特定のインスタンスを関連付けるアプリケーションは、代わりに MultiUIControlFrame.ui-object プロパティを設定する必要があります。

オーバーライド

サブクラスはこのセッターをオーバーライドして、初期化する必要があります。初期化は、関連付けられたコントロールが最初に使用可能になったとき、必要になります。


control-appearance-changeable? (非ローカル オプション)
public ControlUI.control-appearance-changeable?:bool

look-and-feel または標準のオプション親のどちらがコントロールの外観の基準になるかを決定します。

説明

詳細は、control-appearance-changeable? を参照してください。


control-color (非ローカル オプション)
public ControlUI.control-color:FillPattern

このオプションで、コントロールのボタン部分の主な色を設定します。

説明

これは効果がありません。ただし、ノンローカルオプション ControlFrame.control-appearance-changeable? が true で、標準のルック アンド フィールが使用されている場合は別です。バージョン7.0の既定であるスキンが適用可能なルック アンド フィールでは、コントロールの色は、スキンによって決定されます。
7.0 以上のアプレットでは、標準のルック アンド フィールは明示的に指定する必要があります。install-standard-look-and-feel を呼び出すことによって、アプレット全体に StandardLookAndFeel を適用することが出来ます。また、以下のサンプルに示されるように、 install-style-sheet-on-Graphic プロシージャを使うことも出来ます。標準のルック アンド フィールは、6.0 以前のアプレットでは既定です。ただし、Macintosh プラットフォームは除きます。


{def samples = 
    {HBox valign="bottom", spacing = 4pt,
        control-appearance-changeable? = true, 
        control-color = "cornflowerblue",
        {CommandButton label = "Sample Button"},
        {CheckButton label = "Sample"},
        {Scrollbar width = .8in, direction = "horizontal"},
        {ComboBox width = 1.2in, prompt = "Choose One", 
            "First", "Second", "Third"
        },
        {TextField width = 1.0in, value = "Sample text"}
    }
}
{install-style-sheet-on-Graphic samples, null,
    look-and-feel = the-standard-look-and-feel
}


control-content-background (非ローカル オプション)
public ControlUI.control-content-background:Background

このオプションは、コントロール内容が背景を持つ場合にその色を制御します。


例: control-content-background の指定
{HBox valign="bottom", spacing=4pt,
    control-appearance-changeable?=true,
    control-content-background="yellow",
    {CommandButton label="Sample Button"},
    {CheckButton label="Sample"},
    {Scrollbar width=.8in, direction=Orientation.horizontal},
    {ComboBox width=1.2in, prompt="Choose One", "First", "Second"},
    {TextField width=1.0in, value="Sample text"}
}


copy-options (アクセサ)
アクセサ protected ControlUI.copy-options:{Set-of String}

直接 Control からその ControlUI にコピーされるオプションの名前を示す Set-of String

説明

MultiUIControlFrame.option-changed は、この設定で ControlUI に指定されたローカル オプションの自動転送を実行します。起動プロシージャで、サブクラスはこの設定にローカル オプション名を追加するように推奨されます。

この設定に非ローカル オプションを追加しないでください。UI は非ローカル オプションに自動的にアクセスし、UI が原因のエラーに非ローカル オプションを転送する必要があります。


focus-skin (ローカル オプション)
public ControlUI.focus-skin:#SkinSpec

フォーカスが当たった時に付加的な外観の装飾を規定するために、スキンが適用されたコントロールで使用される仕様です。

導入: バージョン 6.0


font-family (非ローカル オプション)
public ControlUI.font-family:String

このオプションは、コントロール内のテキストで使用されるフォントに影響を及ぼします。

説明

テキスト関連オプションの詳細は、text を参照してください。


例: フォント ファミリーの指定
{HBox valign="bottom", spacing=4pt,
    control-appearance-changeable?=true, font-family="serif",
    {CommandButton label="Sample Button"},
    {CheckButton label="Sample"},
    {ComboBox width=1.2in, prompt="Choose One", "First", "Second"},
    {TextField width=1.0in, value="Sample text"}
}


font-size (非ローカル オプション)
public ControlUI.font-size:any

このオプションは、コントロール内のテキストで使用されるフォントに影響を及ぼします。

説明

テキスト関連オプションの詳細は、text を参照してください。


例: フォント サイズの指定
{HBox valign="bottom", spacing=4pt,
    control-appearance-changeable?=true, font-size=.5em,
    {CommandButton label="Sample Button"},
    {CheckButton label="Sample"},
    {ComboBox width=1.2in, prompt="Choose One", "First", "Second"},
    {TextField width=1.0in, value="Sample text"}
}


font-style (非ローカル オプション)
public ControlUI.font-style:FontStyle

このオプションは、コントロール内のテキストで使用されるフォントに影響を及ぼします。

説明

テキスト関連オプションの詳細は、text を参照してください。


例: フォント スタイルの指定
{HBox valign="bottom", spacing=4pt,
    control-appearance-changeable?=true, font-style="italic",
    {CommandButton label="Sample Button"},
    {CheckButton label="Sample"},
    {ComboBox width=1.2in, prompt="Choose One", "First", "Second"},
    {TextField width=1.0in, value="Sample text"}
}


font-weight (非ローカル オプション)
public ControlUI.font-weight:FontWeight

このオプションは、コントロール内のテキストで使用されるフォントに影響を及ぼします。

説明

テキスト関連オプションの詳細は、text を参照してください。


例: フォントの太さの指定
{HBox valign="bottom", spacing=4pt,
    control-appearance-changeable?=true, font-weight="bold",
    {CommandButton label="Sample Button"},
    {CheckButton label="Sample"},
    {ComboBox width=1.2in, prompt="Choose One", "First", "Second"},
    {TextField width=1.0in, value="Sample text"}
}


skin (ローカル オプション)
public ControlUI.skin:#SkinSpec

外観を規定するために、スキンが適用されたコントロールで使用される仕様です。

導入: バージョン 6.0


text-breakable? (非ローカル オプション)
public ControlUI.text-breakable?:bool

このオプションは、コントロール内のテキストを複数行に改行できるかどうかを設定します。

注意事項

テキストを含むオプションには、このオプションをサポートしないものがあります。

説明

テキスト関連オプションの詳細は、text を参照してください。


例: テキストを分割可能とするかどうかの指定
{HBox valign="bottom", spacing=4pt,
    font-size=10pt,
    {CommandButton width=50pt, text-breakable? = false,
        label="Sample Button"
    },
    {CheckButton width=50pt, text-breakable? = false,
        label="Sample CheckButton"
    },
    {ComboBox width=50pt, text-breakable? = false,
        prompt="Choose One", "First", "Second"
    },
    {TextField width=50pt, text-breakable? = false,
        value="Sample text"
    }
}

{HBox valign="bottom", spacing=4pt,
    font-size=10pt,
    {CommandButton width=50pt, text-breakable? = true,
        label="Sample Button"
    },
    {CheckButton width=50pt, text-breakable? = true,
        label="Sample CheckButton"
    },
    {ComboBox width=50pt, text-breakable? = true,
        prompt="Choose One", "First", "Second"
    },
    {TextField width=50pt, text-breakable? = true,
        value="Sample text"
    }
}


text-line-through? (非ローカル オプション)
public ControlUI.text-line-through?:bool

このオプションは、コントロール内のテキストが描かれる方法に影響を及ぼします。

注意事項

テキストを含むオプションには、このオプションをサポートしないものがあります。

説明

テキスト関連オプションの詳細は、text を参照してください。


例: 取り消し線の指定
{HBox valign="bottom", spacing=4pt,
    control-appearance-changeable?=true, text-line-through? = true,
    {CommandButton label="Sample Button"},
    {CheckButton label="Sample"},
    {ComboBox width=1.2in, prompt="Choose One", "First", "Second"},
    {TextField width=1.0in, value="Sample text"}
}


text-preserve-whitespace? (非ローカル オプション)
public ControlUI.text-preserve-whitespace?:bool

このオプションは、コントロール内のテキストが空白文字と改行文字をそのまま保持するか、折りたたむかを設定します。

注意事項

テキストを含むオプションには、このオプションをサポートしないものがあります。

説明

テキスト関連オプションの詳細は、text を参照してください。


例: 空白を保持するかどうかの指定
{HBox valign="bottom", spacing=4pt,
    control-appearance-changeable?=true,
    text-preserve-whitespace? = true,
    font-size=10pt,
    {CommandButton width=50pt, label="Sample Button"},
    {CheckButton width=50pt, label="Sample CheckButton"},
    {ComboBox width=50pt, prompt="Choose One", "First", "Second"},
    {TextField width=50pt, value="Sample text"}
}

{HBox valign="bottom", spacing=4pt,
    control-appearance-changeable?=true,
    text-preserve-whitespace? = false,
    font-size=10pt,
    {CommandButton width=50pt, label="Sample Button"},
    {CheckButton width=50pt, label="Sample CheckButton"},
    {ComboBox width=50pt, prompt="Choose One", "First", "Second"},
    {TextField width=50pt, value="Sample text"}
}


text-underline? (非ローカル オプション)
public ControlUI.text-underline?:bool

このオプションは、コントロール内のテキストが描かれる方法に影響を及ぼします。

注意事項

テキストを含むオプションには、このオプションをサポートしないものがあります。

説明

テキスト関連オプションの詳細は、text を参照してください。


例: 下線の指定
{HBox valign="bottom", spacing=4pt,
    control-appearance-changeable?=true, text-underline? = true,
    {CommandButton label="Sample Button"},
    {CheckButton label="Sample"},
    {ComboBox width=1.2in, prompt="Choose One", "First", "Second"},
    {TextField width=1.0in, value="Sample text"}
}





メソッド詳細
fire-event-at-control (メソッド)
protected {ControlUI.fire-event-at-control e:GuiEvent}:void

UI の ControlGuiEvent を発生させるための便利なメソッドです。

説明

ControlUI の 2 つの責任のいずれかにより Control でイベントが発生しているため、簡単にカプセル化できます。
e: 引き起こされる GuiEvent


on-focus-in (メソッド)
public {ControlUI.on-focus-in e:FocusIn}:void

FocusIn イベントのスタティック イベント ハンドラ

説明

この実装は、親コントロールで発生させるフォーカス イベントをトリガします。
ポインタ イベントと異なり、キーボード イベントはグラフィカル コンテナ階層を自動的に増加させないため、ユーザー記述のハンドラが実行されるように、格納された Control のハンドラを明示的に呼び出す必要があります。


on-focus-out (メソッド)
public {ControlUI.on-focus-out e:FocusOut}:void

FocusOut イベントのスタティック イベント ハンドラ

説明

この実装は、親コントロールで発生させるフォーカス イベントをトリガします。
ポインタ イベントと異なり、キーボード イベントはグラフィカル コンテナ階層を自動的に増加させないため、ユーザー記述のハンドラが実行されるように、格納された Control のハンドラを明示的に呼び出す必要があります。


on-key-press (メソッド)
public {ControlUI.on-key-press e:KeyPress}:void

KeyPress イベントのスタティック イベント ハンドラ

説明

この実装により、消費されていない KeyPressControl に送られるため、処理できるようになります。Control の既定の動作では、未消費の KeyPress をその ActiveTraversalContainerに(通常はタブとニーモニックを処理する Dialog)に送られます。この後、Control に追加された任意の動的イベント ハンドラにイベントが渡されます。
e: このオブジェクトで発生した KeyPress イベント。

オーバーライド

通常は、それぞれの処理を実行する前にオーバーライドによって super.on-key-press が呼び出され、consumed? フラグがチェックされるため、Control に追加された動的なイベント ハンドラは、イベントの処理と消費によって Control の動作を修正する機会があります。


on-pointer-press (メソッド)
public {ControlUI.on-pointer-press e:PointerPress}:void

PointerPress イベントのスタティック イベント ハンドラ

説明

スタティック イベント ハンドラの一般的な情報については、GuiEventTarget.on-pointer-event を参照してください。


react-to-state-change (メソッド)
public {ControlUI.react-to-state-change}:void

コントロールの状態が変更された場合に、コントロールの外観を変更します。

オーバーライド

サブクラスは、ロールオーバー、押される、無効化、チェック、またはこれらの組み合わせなどオブジェクトの状態が変更されたときに必要な動作を実行するように、これをオーバーライドする必要があります。オブジェクトはこのクラスのすべてのオブジェクトと、enabled? などの既存のプロパティにアクセスして、何を実行すべきかを想定します。


react-to-visual-change (メソッド)
public {ControlUI.react-to-visual-change}:void

コントロールのラベルまたはスタイルが変更されたときに、コントロールを再レンダリングします。