(クラス)
public abstract ListModelControl
コンストラクタ public | {ListModelControl.default data-model:ListModel = {DefaultListModel},list-item-creation-proc:{proc-type {val:any}:ListItem} = ListModelControl.default-list-item-creation-proc } |
アクセサ public ListModelControl.data-model:
ListModel セッター public ListModelControl.data-model:
ListModel
アクセサ public inline ListModelControl.for-loop-count:
int
フィールド protected ListModelControl.items:{
Array-of ListItem}
フィールド public ListModelControl.list-item-creation-proc:{
proc-type {val:
any}:
ListItem} =ListModelControl.default-list-item-creation-proc
フィールド public ListModelControl.list-item-selected-background:#
FillPattern
フィールド public ListModelControl.list-item-selected-foreground:#
FillPattern
アクセサ public ListModelControl.list-items:{
Iterator-of ListItem}
size: | このコントロール内のアイテム数を返します。 |
アクセサ public ListModelControl.size:
int
public | {ListModelControl.default-list-item-creation-proc}:ListItem |
public | {ListModelControl.append item:any}:void |
public | {ListModelControl.clear-items}:void |
find: | 指定された値をこのコントロール内の ListItem の値から検索します。 |
public | {ListModelControl.find}:int |
insert: | このコントロールの指定された位置に値または ListItem を挿入します。 |
public | {ListModelControl.insert item:any, index:int}:void |
public | {ListModelControl.notify-interval-added}:void |
public | {ListModelControl.notify-interval-changed}:void |
public | {ListModelControl.notify-interval-removed}:void |
public abstract | {ListModelControl.notify-item-selected}:void |
public | {ListModelControl.rebuild-from-data-model}:void |
remove: | このコントロールから 1 つ以上の要素を削除します。 |
public | {ListModelControl.remove index:int,length:int = 1,error-if-missing?:bool = true }:void |
set: | 指定されたインデックスのアイテムを値または ListItem で置き換えます。 |
public | {ListModelControl.set index:int, item:any}:void |
(コンストラクタ)
public | {ListModelControl.default data-model:ListModel = {DefaultListModel},list-item-creation-proc:{proc-type {val:any}:ListItem} = ListModelControl.default-list-item-creation-proc } |
(アクセサ)
アクセサ public ListModelControl.data-model:
ListModel セッター public ListModelControl.data-model:
ListModel このコントロールを支持する ListModel。
説明
このプロパティが設定されると、コントロール内のすべてのアイテムが新しいデータ モデルで置き換えられます。
(アクセサ)
アクセサ public inline ListModelControl.for-loop-count:
int
(フィールド)
protected ListModelControl.items:{
Array-of ListItem}
(フィールド)
public ListModelControl.list-item-creation-proc:{
proc-type {val:
any}:
ListItem} =ListModelControl.default-list-item-creation-proc
値から ListItem を作成する必要がある場合に呼び出されるプロシージャ。
プログラミング注意事項
例
それぞれの色で出力される色のリストを含む ListBox の作成プロシージャを以下に示します。
例 |
|
{DropdownList
"red", "blue", "green",
list-item-creation-proc =
{proc {val:any}:ListItem
|| make the value into something that can be displayed graphically
let d:Graphic = val asa Graphic
|| Set the color to the value passed in as a texture.
|| this will fail if you try to insert something that isn't a
|| recognized color or texture name.
set d.color = val asa FillPattern
|| return it.
{return {ListValueItem d}}
},
value="red"
}
| |
(フィールド)
public ListModelControl.list-item-selected-background:#
FillPattern アイテムが選択されたときに、このコントロールの ListItem に設定される背景。
(フィールド)
public ListModelControl.list-item-selected-foreground:#
FillPattern アイテムが選択されたときに、このコントロールの ListItem に設定される前景。
(アクセサ)
アクセサ public ListModelControl.list-items:{
Iterator-of ListItem}
コントロール内のすべてのアイテムの反復子を返します。
(アクセサ)
アクセサ public ListModelControl.size:
int このコントロール内のアイテム数を返します。
説明
この関数は、data-model.size を呼び出すだけです。
(クラスプロシージャ)
public | {ListModelControl.default-list-item-creation-proc}:ListItem |
値から ListItem を作成するのに使用される既定のプロシージャです。
説明
このプロシージャは、"-" を ListSeparator に変え、それ以外を表示可能な形に設定された値の ListItem に変えます。
以下のようになります。:
{proc {val:any}:ListItem
{if val == "-" then
{return {ListSeparator}}
else
{return {ListValueItem (val asa Visual)}}
}
}
導入:
バージョン 6.0
(メソッド)
public | {ListModelControl.append item:any}:void |
このコントロールの最後に値または ListItem を追加します。
説明
このメソッドが処理するのは次の 2 つの場合です。
(メソッド)
public | {ListModelControl.clear-items}:void |
このコントロール内のすべてのアイテムを削除します。
説明
(メソッド)
public | {ListModelControl.find}:int |
指定された値をこのコントロール内の ListItem の値から検索します。
説明
(メソッド)
(メソッド)
public | {ListModelControl.insert item:any, index:int}:void |
このコントロールの指定された位置に値または ListItem を挿入します。
説明
(メソッド)
public | {ListModelControl.notify-interval-added}:void |
新しい値が追加されたときにデータ モデルによって呼び出されるメソッド。
説明
データ モデルは、ListItem にする必要がある新しい値がある場合にこのメソッドを呼び出します。このメソッドは ListItem を生成し、それを
ListModelControl.items 配列に挿入します。通常は、ユーザー記述のコードでこのメソッドを呼び出さないでください。
lower: 追加されたアイテムの下限 (そのアイテムを含む)。
upper: 追加されたアイテムの上限 (そのアイテムを含む)。
オーバーライド
一般に、ListItem が削除されたときに追加の保守を行なう場合に、このメソッドをオーバーライドする必要があります。ほとんどの場合、最初に super.notify-interval-added を呼び出し、独自の操作を実行する前に ListItem を生成して配列に挿入します。
(メソッド)
public | {ListModelControl.notify-interval-changed}:void |
値が変更されたときにデータ モデルによって呼び出されるメソッド。
説明
データ モデルは、一部の値が変更されたときにこのメソッドを呼び出します。このメソッドは、新しい値から新しい ListItem を生成し、
ListModelControl.items 配列を適切に変更します。通常は、ユーザー記述のコードでこのメソッドを呼び出さないでください。
lower: 変更されたアイテムの下限 (そのアイテムを含む)。
upper: 変更されたアイテムの上限 (そのアイテムを含む)。
item: 特定の ListItem を使用し、list-item-creation-proc で自動的に生成されたものを使用しないことを意味します。このパラメータが指定された場合は、その範囲に 1 つのアイテムだけを含める必要があります。このパラメータで関数を呼び出す必要はありません。
ListModelControl.set によって使用されます。
オーバーライド
一般に、ListItem が置き換えられたされたときに追加の保守を行なう場合に、このメソッドをオーバーライドする必要があります。ほとんどの場合、古い ListItem の状態を破棄し、super.notify-interval-changed を呼び出して追加された新しい ListItem の状態を設定します。
(メソッド)
public | {ListModelControl.notify-interval-removed}:void |
値が削除されたときにデータ モデルによって呼び出されるメソッド。
説明
データ モデルは、一部の値が削除されたときにこのメソッドを呼び出します。このメソッドは値を
ListModelControl.items 配列から削除します。値がすでに ListModel から削除されていることに注意してください。通常は、ユーザー記述のコードでこのメソッドを呼び出さないでください。
lower: 削除されたアイテムの下限 (そのアイテムを含む)。
upper: 削除されたアイテムの上限 (そのアイテムを含む)。
オーバーライド
一般に、ListItem が挿入されたときに追加の保守を行なう場合に、このメソッドをオーバーライドする必要があります。ほとんどの場合、最初に独自の破棄操作を行なうため ListItem へのアクセスが必要で、この操作の最後で super.notify-interval-removed を呼び出します。
(メソッド)
public abstract | {ListModelControl.notify-item-selected}:void |
選択状態が変化したことを通知するために ListItem によって呼び出されます。
説明
ListItem.selected? を設定して実際に選択状態が変化するとこのメソッドが呼び出され、コントロールは内部の選択状態を更新してこれに一致させます。通常は、ユーザー記述のコードでこのメソッドを呼び出さないでください。
(メソッド)
public | {ListModelControl.rebuild-from-data-model}:void |
データ モデルの値で ListItem を再作成します。
説明
このクラスの実装では、現存するすべてのアイテムを削除して、データ モデル内の新しいアイテムをすべて追加するだけです。
オーバーライド
サブクラスでこのメソッドをオーバーライドして、super.rebuild-from-data-model を呼び出す前の更新をオフにして、後で同時に更新を行なうようにすると効率がよくなります。
(メソッド)
public | {ListModelControl.remove index:int,length:int = 1,error-if-missing?:bool = true }:void |
このコントロールから 1 つ以上の要素を削除します。
説明
(メソッド)
public | {ListModelControl.set index:int, item:any}:void |
指定されたインデックスのアイテムを値または ListItem で置き換えます。
説明