OptionListInterface (クラス)
public abstract shared OptionListInterface {inherits InitRestArgParser, Optionable}
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.UTIL.OPTION.
直接継承しているサブクラス: SkinnableControlUI, DataBindingTarget, GuiRangeSelectionContext, CPAOptionable, RecordGridOptions

Curl グラフィック システムのオプション メカニズムに対するステートレス インターフェイス。

説明

詳細については、GraphicOptionList を参照してください。メソッドはすべてここで実装されますが、ステートは GraphicOptionList にあります。

プロパティ
option-parent:オブジェクトのオプションの親を返します。
アクセサ public OptionListInterface.option-parent:#OptionListInterface
option-register-proc:子オブジェクトが興味を持つ非ローカルオプションに関して、このオブジェクトに通知するために呼び出されるプロシージャ。
アクセサ protected OptionListInterface.option-register-proc:#{proc-type {OptionKey}:void}
options:このオブジェクトのオプション リストが存在する場合はそれを参照します。
アクセサ protected abstract OptionListInterface.options:#OptionItem
セッター protected abstract OptionListInterface.options:#OptionItem
options-present-here:このオブジェクトに存在する全てのオプションのイテレータを返します。オプションは、ローカルで設定されていても、スタイル シートで設定されていても、LookAndFeel で設定されていても、適切であれば全て含まれます。
アクセサ public OptionListInterface.options-present-here:{Iterator-of OptionItem}
registered-option-keys:このオブジェクトおよびその子孫により登録されたオプション キーのリストを返します。
アクセサ public OptionListInterface.registered-option-keys:{Array-of OptionKey}
style-options:スタイル の機能を通してこのオブジェクトに指定されたオプションです。
アクセサ protected OptionListInterface.style-options:#OptionItem
セッター protected OptionListInterface.style-options:#OptionItem

メソッド
add-option:オプション リストにオプションを追加するか、あるいは既存のオプションの値を変更します。変更は、value がオプションの現在値と異なる場合にのみ行われます。
public {OptionListInterface.add-option key:OptionKey, value:any}:void
add-style-option:style-options リストにオプションを追加するか、あるいは既存のオプションの値を変更します。変更は、value がオプションの現在値と異なる場合にのみ行われます。
public {OptionListInterface.add-style-option
key:OptionKey,
value:any
}:void
change-option-parent-notify:このオブジェクトのオプション親が変更されると呼び出されます。
public {OptionListInterface.change-option-parent-notify
parent:#OptionListInterface,
removed?:bool
}:void
clone-options:このオブジェクトのオプションをターゲットのオブジェクトにコピーします。
public {OptionListInterface.clone-options
target:OptionListInterface,
copy:#{proc-type {OptionItem}:OptionItem} = null
}:void
get-option:オプション値を検索します。
public final {OptionListInterface.get-option key:OptionKey}:any
get-option-by-name:オプション値を検索します。
public {OptionListInterface.get-option-by-name
name:String,
default:any = null
}:any
keyword-init-arg: InitRestArgParser.process-rest-args でキーワード引数が検出されると呼び出されます。
protected {OptionListInterface.keyword-init-arg
key:String,
value:any
}:void
local-add-notify:このオブジェクトでバインディング オプションが追加または変更されたときに呼び出されます。
protected {OptionListInterface.local-add-notify item:OptionItem}:void
local-remove-notify:このオブジェクトでバインディング オプションが削除されると呼び出されます。
protected {OptionListInterface.local-remove-notify}:void
name-to-option-key:オプション名を OptionKey に変換します。
public {OptionListInterface.name-to-option-key
name:String,
error-if-missing?:bool = true
}:#OptionKey
new-option-item:新しい option-list アイテムを割り当てて、初期化します。
protected {OptionListInterface.new-option-item
key:OptionKey,
value:any
}:OptionItem
notify-option-children:このオブジェクトのオプションの子にオプションが変更されたことを通知します。
public {OptionListInterface.notify-option-children
item:OptionItem,
removed?:bool
}:void
option-change-notify:このオブジェクトで値が変更されたオプションについて、オプションの変更ハンドラを呼び出します。
protected {OptionListInterface.option-change-notify
item:OptionItem,
removed?:bool
}:void
option-changed:このオブジェクトにオプションの値が変更したことを通知します。
public {OptionListInterface.option-changed key:String, value:any}:void
option-lookup:オプション検索を実行し、該当する OptionItem があればこれを生成します。
public {OptionListInterface.option-lookup
key:OptionKey,
local?:bool
}:#OptionItem
option-lookup-here:オプション検索ステップを実行します。
public {OptionListInterface.option-lookup-here
key:OptionKey,
local?:bool
}:(item:#OptionItem, local-key?:bool)
option-propagate-notify:バインディング オプションに、このオブジェクトがオプションの親から継承した変更が存在する場合に呼び出されます。
public {OptionListInterface.option-propagate-notify
item:OptionItem,
removed?:bool
}:void
option-set?:オプションの値が設定されているかどうかを確認します。
public final {OptionListInterface.option-set? key:OptionKey}:bool
propagate-option-change:このオブジェクト、および該当する場合はそのオプションの子孫にオプションが変更されたことを通知します。
protected {OptionListInterface.propagate-option-change
item:OptionItem,
removed?:bool
}:void
register-options:このオブジェクトがバインドのモニタリングを必要とする非ローカル オプション キーを登録します。
public {OptionListInterface.register-options
p:{proc-type {OptionKey}:void}
}:void
remove-option:バインディング オプションを削除します。
public {OptionListInterface.remove-option key:OptionKey}:void
remove-style-option:add-style-option で追加されたオプションのバインディングを削除します。
public {OptionListInterface.remove-style-option key:OptionKey}:void
remove-styles:Visual.style-manager オプションが null に指定された場合に、StyleManager によって設定されたオプションを削除します。
protected {OptionListInterface.remove-styles}:void
set-option-by-name:オプション リストにオプションを追加するか、または既存オプションの値を変更します。
public {OptionListInterface.set-option-by-name
name:String,
value:any
}:void
set-style-option-by-name:これは、バインディングが OptionListInterface.style-options のリストに追加されることを除いて OptionListInterface.set-option-by-name と同じです。
public {OptionListInterface.set-style-option-by-name
name:String,
value:any
}:void
unset-option-by-name:オプション リストからオプションを削除します。
public {OptionListInterface.unset-option-by-name name:String}:void
unset-style-option-by-name:これは、設定が OptionListInterface.style-options から削除されることを除いて OptionListInterface.unset-option-by-name と同じです。
public {OptionListInterface.unset-style-option-by-name
name:String
}:void
メソッド 継承 InitRestArgParser: non-keyword-init-arg, process-rest-args
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize




プロパティ詳細
option-parent (アクセサ)
アクセサ public OptionListInterface.option-parent:#OptionListInterface

オブジェクトのオプションの親を返します。

戻り値

このオブジェクトのオプションの親である OptionListInterface。ただし、このオブジェクトがオプションの親を持たない場合は、null になります。

オーバーライド

既定の実装 OptionListInterface.option-parent は常に null を返します。サブクラスでは、通常は super.option-parent は呼び出さずに、適切な値を返すコードでこのメソッドをオーバーライドします。


option-register-proc (アクセサ)
アクセサ protected OptionListInterface.option-register-proc:#{proc-type {OptionKey}:void}

子オブジェクトが興味を持つ非ローカルオプションに関して、このオブジェクトに通知するために呼び出されるプロシージャ。

プログラミング注意事項

返されたプロシージャは、各オプション子(またはその子孫)が興味を持つ、各非ローカルオプションに対して1回呼び出されます。オプション キーが、このプロシージャを介して登録されていない場合は、オプション値が変更する場合に、このオブジェクトは子孫に対し、(子孫がこのオプションに関心を示していないため)変更ハンドラを呼び出す必要はありません。

特に、返された値が null でない場合は、このオブジェクトが新しいオプション子を入手すると OptionListInterface.change-option-parent-notify がそれを呼び出します。

注意事項

既定では、返されたプロシージャは、そのオプション親に登録を転送します。

オーバーライド

まれですが、典型的には、オプションの伝搬メカニズムをオーバーライドするオブジェクトのみにより、オーバーライドされます。


options (アクセサ)
アクセサ protected abstract OptionListInterface.options:#OptionItem
セッター protected abstract OptionListInterface.options:#OptionItem

このオブジェクトのオプション リストが存在する場合はそれを参照します。

説明

オプション リストは OptionItem へリンクしたリストとして表現されます。
(スタイル シートを通しているか直接設定されているかにかかわらず) Visual に設定されたオプションの全てを リストしたい場合は Visual.options-present-here ゲッターを使用してください。


options-present-here (アクセサ)
アクセサ public OptionListInterface.options-present-here:{Iterator-of OptionItem}

このオブジェクトに存在する全てのオプションのイテレータを返します。オプションは、ローカルで設定されていても、スタイル シートで設定されていても、LookAndFeel で設定されていても、適切であれば全て含まれます。

オーバーライド

option-lookup-here メソッドをオーバーライドする場合は、このメソッドもオーバーライドしなければなりません。通常、option-lookup-here はバインディングオプションに追加されたオプションを(テーブルセルの行列のバインドのように)検索し、このメソッドのオーバーライドは、バインディングオプションを Iterator で返します。
導入: バージョン 6.0


registered-option-keys (アクセサ)
アクセサ public OptionListInterface.registered-option-keys:{Array-of OptionKey}

このオブジェクトおよびその子孫により登録されたオプション キーのリストを返します。

戻り値

これらの OptionKeyArray-of

オーバーライド

既定の実装 OptionListInterface.registered-option-keys は、このオブジェクトで OptionListInterface.register-options を呼び出し、その結果得られるオプション キーのセットを収集し、リストとして返します。これはシンプルで正確な方法ですが、あまり効率的ではない場合があります。したがって、サブクラスでもその register-options の実装が非常に複雑な場合は、この既定の実装を使用しないように推奨されます。代わりに、このようなサブクラスでは register-options 呼び出しの結果をリストとしてキャッシュし、このリストを返すだけのメソッドで OptionListInterface.registered-option-keys をオーバーライドする必要があります。


style-options (アクセサ)
アクセサ protected OptionListInterface.style-options:#OptionItem
セッター protected OptionListInterface.style-options:#OptionItem

スタイル の機能を通してこのオブジェクトに指定されたオプションです。

説明

オプション リストは OptionItem へリンクしたリストとして表現されます。
(スタイル シートを通しているか直接設定されているかにかかわらず) Visual に設定されたオプションの全てを リストしたい場合は Visual.options-present-here ゲッターを使用してください。
導入: バージョン 6.0





メソッド詳細
add-option (メソッド)
public {OptionListInterface.add-option key:OptionKey, value:any}:void

オプション リストにオプションを追加するか、あるいは既存のオプションの値を変更します。変更は、value がオプションの現在値と異なる場合にのみ行われます。

key: 追加または設定されるオプションの OptionKey
value: オプションに関連付けられる値。

プログラミング注意事項

このメソッドは、Curl コンパイラが次のような式に対して生成するコードから呼び出されます。

set object.option-name = value

通常は、ユーザー コードにより直接呼び出されることはありません。

オーバーライド

オプションが追加または設定されるたびに追加操作を実行する必要があるサブクラスでは、これをオーバーライドすることができます。


add-style-option (メソッド)
public {OptionListInterface.add-style-option
key:OptionKey,
value:any
}:void

style-options リストにオプションを追加するか、あるいは既存のオプションの値を変更します。変更は、value がオプションの現在値と異なる場合にのみ行われます。

key: 追加または設定されるオプションの OptionKey
value: オプションに関連付けられる値。

オーバーライド

スタイル オプションが追加または設定されるたびに追加操作を実行する必要があるサブクラスでは、これをオーバーライドすることができます。
導入: バージョン 6.0


change-option-parent-notify (メソッド)
public {OptionListInterface.change-option-parent-notify
parent:#OptionListInterface,
removed?:bool
}:void

このオブジェクトのオプション親が変更されると呼び出されます。

parent: 新しい親、または元の親。
removed?: このオブジェクトのオプション親として parent が削除されている場合は true、このオプションの親として parent が追加されている場合は false です。

プログラミング注意事項

親に行われた変更を OptionListInterface に通知するため、OptionListInterface 外部のコードにより呼び出されます。オブジェクトのオプション親が A から B に変更されると、このメソッドは 2 回呼び出されます。1 回目はオブジェクトのオプション親として A が削除されたことを通知し、2 回目はオブジェクトの新しいオプション親として B が追加されたことを通知します。

注意事項

このメソッドは、このオブジェクトとその子孫にオプションの変更を通知し、オブジェクトの元のオプション親オブジェクトから継承した登録オプションがすべて消滅したこと、または新しいオプション親オブジェクトから継承したすべての登録オプションが現れたことを知らせます。登録オプションのセットは、 OptionListInterface.registered-option-keys の呼び出しにより決定されます。

オーバーライド

通常はオーバーライドされません。


clone-options (メソッド)
public {OptionListInterface.clone-options
target:OptionListInterface,
copy:#{proc-type {OptionItem}:OptionItem} = null
}:void

このオブジェクトのオプションをターゲットのオブジェクトにコピーします。

target: オプションをコピーするオブジェクト。
copy: 指定された場合、これはこのオブジェクトのオプション リストから OptionItem を受け取るプロシージャになり、新しく割り当てられた OptionItem を、target のオプション リストとして配置するために返します。

注意事項

copy プロシージャが指定された場合は、その引数に対して OptionItem.clone-option を呼び出して、新しい OptionItem を作成します。OptionItem.clone-optionkey および value キーワード引数を使用すると、元の OptionItem のプロパティとは異なる OptionItem のプロパティを指定することができます。

プログラミング注意事項

このメソッドは、Visual.clone-appearance により呼び出され (copy プロシージャを指定せずに)、クローンを作成するオブジェクトのオプション リストをコピーします。

オーバーライド

通常はオーバーライドされません。


get-option (メソッド)
public final {OptionListInterface.get-option key:OptionKey}:any

オプション値を検索します。

key: 検索される値に対する OptionKey

戻り値

オプションの値、あるいはオプションに値が割り当てられていない場合は、OptionKey に関連付けられている既定値。

プログラミング注意事項

このメソッドは、プログラム内で object.option-name 構文が検出されると、適切な引数で呼び出されます。通常、これはユーザー コードから直接呼び出すことはありません。

オーバーライド

通常はオーバーライドされません。オプション検索のアルゴリズムを変更する必要がある OptionListInterface サブクラスでは、通常 OptionListInterface.option-lookup-here のオーバーライドがより一般的です。


get-option-by-name (メソッド)
public {OptionListInterface.get-option-by-name
name:String,
default:any = null
}:any

オプション値を検索します。

name: 読み取るオプションの名前。
default: オプションが設定されていない場合に返す値。

戻り値

オプションが設定されている場合のオプションの値。オプションが設定されていない場合、default が指定されるとこの値が返されます。オプションが設定されていない場合、default が指定されていなければオプション name の宣言で指定された既定値が返されます。

プログラミング注意事項

このメソッドは、読み取られるオプションの名前が事前に分からない場合に使用します。オプション名が明らかな場合は、object.option-name 構文を使用してオプションの値を読み取ってください。

オーバーライド

通常はオーバーライドされません。オプション検索のアルゴリズムを変更する必要がある OptionListInterface サブクラスでは、通常 OptionListInterface.option-lookup-here のオーバーライドがより一般的です。


keyword-init-arg (メソッド)
protected {OptionListInterface.keyword-init-arg
key:String,
value:any
}:void

InitRestArgParser.process-rest-args でキーワード引数が検出されると呼び出されます。

key: キーワード引数でキーとして表示される String
value: キーワード引数で表示される値。

オーバーライド

既定の実装 InitRestArgParser.keyword-init-arg は、呼び出されるとエラーをレポートします。このメソッドは、 InitRestArgParser.process-rest-args に渡される引数リストのキーワード引数を受け入れるサブクラスによってオーバーライドされます。


local-add-notify (メソッド)
protected {OptionListInterface.local-add-notify item:OptionItem}:void

このオブジェクトでバインディング オプションが追加または変更されたときに呼び出されます。

item: 新しいバインディング オプション。

注意事項

OptionListInterface.propagate-option-change を呼び出して、このオプションの変更を関連オブジェクトに通知します。

プログラミング注意事項

OptionListInterface.add-option によってのみ呼び出されます。

オーバーライド

通常はオーバーライドされません。


local-remove-notify (メソッド)
protected {OptionListInterface.local-remove-notify}:void

このオブジェクトでバインディング オプションが削除されると呼び出されます。

item: 削除されたバインディング オプション。

注意事項

このメソッドは、バインディング オプションの変更に関する通知の内容を決定します。これらの通知により、オブションのバインド解除をオブジェクトに知らせることができます。また、祖先も同じオプション キーをバインドする場合に、オプションの値が変更されたことをオブジェクトに知らせることができます。いずれの場合も、OptionListInterface.propagate-option-change が呼び出されて通知が実際に行なわれます。

プログラミング注意事項

OptionListInterface.remove-option によってのみ呼び出されます。

オーバーライド

通常はオーバーライドされません。


name-to-option-key (メソッド)
public {OptionListInterface.name-to-option-key
name:String,
error-if-missing?:bool = true
}:#OptionKey

オプション名を OptionKey に変換します。

name: オプション名。
error-if-missing?: この引数が true で、name がこのオブジェクトに対して有効なオプション名でない場合、error が呼び出されます。error-if-missing? が false で、name がこのオブジェクトに対して有効なオプション名でない場合、null が返されます。error-if-missing? の既定値は true です。

戻り値

name に対応する OptionKey


new-option-item (メソッド)
protected {OptionListInterface.new-option-item
key:OptionKey,
value:any
}:OptionItem

新しい option-list アイテムを割り当てて、初期化します。

key: アイテムにインストールされる OptionKey
value: アイテムにインストールされるオプションの値。

戻り値

新しく割り当てられたオプション アイテム。

プログラミング注意事項

新しいオプション アイテムが割り当てられるたびに option-list メカニズムから呼び出されます。通常は、これ以外の場所から呼び出されることはありません。

オーバーライド

既定のメソッド OptionListInterface.new-option-itemOptionItem 型のオブジェクトを割り当てますが、OptionListInterface のサブクラスで、OptionItem のサブクラスであるアイテムを使用してオプション リストを作成する場合があります。たとえば、これらのアイテムに、OptionListInterface サブクラスで使用される追加フィールドがあるとします。このような場合、適切な OptionItem のサブクラスを割り当てるコードを記述し、OptionListInterface のサブクラスでこのメソッドをオーバーライドします。


notify-option-children (メソッド)
public {OptionListInterface.notify-option-children
item:OptionItem,
removed?:bool
}:void

このオブジェクトのオプションの子にオプションが変更されたことを通知します。

item: 追加または削除されたバインディング オプション。
removed?: item が削除された場合は true、それ以外の場合は false。

オーバーライド

既定の実装 OptionListInterface.notify-option-children では、何も行われません。サブクラスではこのメソッドをオーバーライドして、このオブジェクトの各オプションの子 c に対して {c.option-propagate-notify item removed? } を呼び出すようにする必要があります。


option-change-notify (メソッド)
protected {OptionListInterface.option-change-notify
item:OptionItem,
removed?:bool
}:void

このオブジェクトで値が変更されたオプションについて、オプションの変更ハンドラを呼び出します。

item: 追加または削除されたバインディング オプション。
removed?: item が削除された場合は true、それ以外の場合は false。

説明

item で表されるオプション バインドについて、このオブジェクトのすべての変更ハンドラを見つけて呼び出します。さらに、このオブジェクトの OptionListInterface.option-changed メソッドを呼び出します。

オーバーライド

通常はオーバーライドされません。


option-changed (メソッド)
public {OptionListInterface.option-changed key:String, value:any}:void

このオブジェクトにオプションの値が変更したことを通知します。

key: 値が変更されたオプションの名前を指定する String
value: 新しい値。オプションが削除されている場合、新しい値は "no value" となりますが、value には特別な値 unbound-option を指定します。このメソッド内のコードは、unbound-option? プロシージャを呼び出して、この値が存在するかどうかを確認する必要があります。option-value プロシージャの使用も、この値の処理に有益です。

プログラミング注意事項

オプションが (a) ローカル オプションの場合、あるいは (b) 非ローカル オプションで、このオプションに対してオブジェクトが option-change ハンドラ プロシージャを宣言している場合、オプションの値がバインド、変更、またはバインド解除されるたびにオプション パッケージはこのメソッドを一度呼び出します。

オーバーライド

既定の実装 OptionListInterface.option-changed では何も行われません。サブクラスでは、key がサブクラスの実装に関連するオプション名であるかどうかをテストした後、このメソッドをオーバーライドして、{super.option-changed key, value} を呼び出す必要があります。


option-lookup (メソッド)
public {OptionListInterface.option-lookup
key:OptionKey,
local?:bool
}:#OptionItem

オプション検索を実行し、該当する OptionItem があればこれを生成します。

key: 検索されるオプションの OptionKey
local?: bool で、このオブジェクトがオプション検索の開始場所である場合は true、オプション検索がこのオブジェクトの子孫から開始した場合は false です。

戻り値

このオブジェクトかその祖先の 1 つで該当する key のバインドを含む OptionItem。該当するバインドが見つからない場合は null が返されます。

プログラミング注意事項

OptionListInterface.get-option によって呼び出され、その他の場所からは呼び出されないのが一般的です。

オーバーライド

通常はオーバーライドされません。


option-lookup-here (メソッド)
public {OptionListInterface.option-lookup-here
key:OptionKey,
local?:bool
}:(item:#OptionItem, local-key?:bool)

オプション検索ステップを実行します。

key: 検索されるオプションの OptionKey
local?: bool で、このオブジェクトがオプション検索の開始場所である場合は true、オプション検索がこのオブジェクトの子孫から開始した場合は false です。

戻り値

返される OptionItem には、該当する key のバインドが含まれます (このオブジェクトで存在する場合)。返される bool は、key がローカル オプション キーの場合は true です。この場合、このオブジェクト以降のオプション検索は行なわれません。

プログラミング注意事項

主に内部使用を目的としています。

オーバーライド

クラスが OptionKey とバインディング オプションのマッピングに非標準のアルゴリズムを実装する場合は、オーバーライドされます。


option-propagate-notify (メソッド)
public {OptionListInterface.option-propagate-notify
item:OptionItem,
removed?:bool
}:void

バインディング オプションに、このオブジェクトがオプションの親から継承した変更が存在する場合に呼び出されます。

item: 追加または削除されたバインディング オプション。
removed?: item が削除された場合は true、それ以外の場合は false。

プログラミング注意事項

これは、オブジェクトのオプション親から継承したオプションが変更されたことをオブジェクトに通知する場合に、OptionListInterface のサブクラスが呼び出すメソッドです。このメソッドは、オブジェクトおよび関連オブジェクトへの通知が適切であるかどうかを判定してから (つまり、オプションが非ローカル オプションであり、このバインディング オプションをシャドウするようなバインディング オプションがオブジェクトに存在しないことを確認し)、OptionListInterface.propagate-option-change を呼び出して、このオブジェクトおよび該当する場合はその子へのオプション変更通知メソッドを呼び出します。

オーバーライド

通常はオーバーライドされません。


option-set? (メソッド)
public final {OptionListInterface.option-set? key:OptionKey}:bool

オプションの値が設定されているかどうかを確認します。

key: 検索される値に対する OptionKey

戻り値

オプションが設定されている場合は true、それ以外の場合は false。

プログラミング注意事項

このメソッドは、Curl コンパイラが次のような式に対して生成するコードから呼び出されます。

{set? object.option-name}

通常は、ユーザー コードにより直接呼び出されることはありません。

オーバーライド

通常はオーバーライドされません。オプション検索のアルゴリズムを変更する必要がある OptionListInterface サブクラスでは、通常 OptionListInterface.option-lookup-here のオーバーライドがより一般的です。


propagate-option-change (メソッド)
protected {OptionListInterface.propagate-option-change
item:OptionItem,
removed?:bool
}:void

このオブジェクト、および該当する場合はそのオプションの子孫にオプションが変更されたことを通知します。

item: 追加または削除されたバインディング オプション。
removed?: item が削除された場合は true、それ以外の場合は false。

注意事項

このオブジェクトのオプション変更通知メソッドが呼び出され、さらにオプションが非ローカル オプションの場合は、 OptionListInterface.notify-option-children を呼び出して、この通知をこのオブジェクトのオプションの子に伝えます。

プログラミング注意事項

option-list パッケージでの内部使用を目的としています。

オーバーライド

通常はオーバーライドされません。


register-options (メソッド)
public {OptionListInterface.register-options
p:{proc-type {OptionKey}:void}
}:void

このオブジェクトがバインドのモニタリングを必要とする非ローカル オプション キーを登録します。

p: 引数として OptionKey を使用して呼び出せるプロシージャ。

プログラミング注意事項

このメソッドは、オブジェクトがモニタしているオプション キーを確認する必要がある場合に任意のコード内で呼び出されます。このメソッドは、プロシージャ p をまったく呼び出さないかまたは何回か呼び出し、呼び出すたびに引数として OptionKey を渡す必要があります。このオブジェクトによりモニタリングされるオプション キーのセットは、p のすべての呼び出しで指定されたオプション キー セットの連結であると見なされます。p を複数回呼び出せるという能力を利用して、オプション親はモニタの対象となるオプション キーのリストを指定して p を一度呼び出し、次に、同じ引数 p を与えてオプションの子それぞれの register-options メソッドを呼び出し、このメソッドの目的を果たすことができます。この方法はシンプルですが、ほとんどの場合は、オプション親がその子における register-options 呼び出しの結果をキャッシュして、親の register-options メソッドが呼び出されたときにそのリストを提供する方がより効率的です。ローカル バインディング オプションへの変更通知は、それらのキーが登録されていない場合でも行われます。

オーバーライド

OptionListInterface.register-options の既定の実装は、このオブジェクトの変更ハンドラを持つ各非ローカル オプションで p を呼び出します。サブクラスは、{super.register-options p} を呼び出し、登録される必要がある追加のオプション キー上全てで、p を呼び出すように、このメソッドをオーバーライドする必要する必要があります。一般的に、これらの追加のオプション キーは、子供または子孫のオブジェクトが監視する必要がある非ローカル オプションに対応します。それは、このオブジェクトの子オブジェクト上で、register-options を呼び出すことによって決定されます。
注意 一般的に、このメソッドをオーバーライドする必要があるオブジェクトだけが、オプションの子を持つオブジェクトです。


remove-option (メソッド)
public {OptionListInterface.remove-option key:OptionKey}:void

バインディング オプションを削除します。

key: 削除されるオプションの OptionKey

プログラミング注意事項

このメソッドは、Curl コンパイラが次のような式に対して生成するコードから呼び出されます。

{unset object.option-name}

通常は、ユーザー コードにより直接呼び出されることはありません。

オーバーライド

オプションが削除されるたびに追加操作の実行を必要とするサブクラスで、オーバーライドすることができます。


remove-style-option (メソッド)
public {OptionListInterface.remove-style-option key:OptionKey}:void

add-style-option で追加されたオプションのバインディングを削除します。

key: 削除されるオプションの OptionKey

オーバーライド

self.style-options からオプションが削除されるたびに追加操作の実行を必要とするサブクラスで、オーバーライドすることができます。
導入: バージョン 6.0


remove-styles (メソッド)
protected {OptionListInterface.remove-styles}:void

Visual.style-manager オプションが null に指定された場合に、StyleManager によって設定されたオプションを削除します。

導入: バージョン 6.0


set-option-by-name (メソッド)
public {OptionListInterface.set-option-by-name
name:String,
value:any
}:void

オプション リストにオプションを追加するか、または既存オプションの値を変更します。

name: 設定するオプションの名前。
value: オプションに関連付けられる値。

プログラミング注意事項

このメソッドは、設定されるオプションの名前が事前に分からない場合に使用します。オプション名が明らかな場合は、次の構文、

set object.option-name = value

を使用して、オプションを設定するようにしてください。

オーバーライド

通常は、オーバーライドされません。このメソッドをオーバーライドするより、OptionListInterface.add-option をオーバーライドする方が一般的です。


set-style-option-by-name (メソッド)
public {OptionListInterface.set-style-option-by-name
name:String,
value:any
}:void

これは、バインディングが OptionListInterface.style-options のリストに追加されることを除いて OptionListInterface.set-option-by-name と同じです。

導入: バージョン 6.0


unset-option-by-name (メソッド)
public {OptionListInterface.unset-option-by-name name:String}:void

オプション リストからオプションを削除します。

name: 削除するオプションの名前。

プログラミング注意事項

このメソッドは、削除されるオプションの名前が事前に分からない場合に使用します。オプション名が明らかな場合は、次の構文、

{unset object.option-name}

を使用して、オプションを削除するようにしてください。

オーバーライド

通常は、オーバーライドされません。このメソッドをオーバーライドするより、OptionListInterface.remove-option をオーバーライドする方が一般的です。


unset-style-option-by-name (メソッド)
public {OptionListInterface.unset-style-option-by-name
name:String
}:void

これは、設定が OptionListInterface.style-options から削除されることを除いて OptionListInterface.unset-option-by-name と同じです。

導入: バージョン 6.0