TableCell (クラス)
public sealed TableCell {inherits TablePropertyList}
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.BASE.

Graphic を含む Table セルを表します。

プログラミング注意事項

TableCell のインスタンスは、Table.add を使用してオブジェクトが Table に追加された場合に作成されます。Table 内の特定の Graphic に関連する TableCell は、Table.get-element-cell を呼び出して取得します。オプションを TableCell に設定してセルそのものに反映させることも (TableCell.cell-border-width などのオプションの場合)、あるいはテーブル セル内の Graphic に設定することもできます。

プロパティ
background:テーブル セルの背景の色またはパターンです。
ローカル オプション public TableCell.background:Background =Background.transparent
cell-border-color:Table オブジェクトのテーブル セルのボーダーの色またはパターン。
非ローカル オプション public TableCell.cell-border-color:FillPattern
cell-border-style:この表のテーブル セル ボーダーの外観を指定します。
非ローカル オプション public TableCell.cell-border-style:BorderStyle
cell-border-width:Table のテーブル セル ボーダーの幅を指定します。
非ローカル オプション public TableCell.cell-border-width:any
cell-margin:テーブル セルの境界とその子スロット (テーブル セルがその子グラフィックを配置する場所) の間の距離を指定します。
非ローカル オプション public TableCell.cell-margin:any
halign:Table 要素の水平方向の整列方法を指定します。
ローカル オプション public TableCell.halign:any
hstretch?:GraphicTable セルに収まるように水平に伸長されるかどうかを制御します。
ローカル オプション public TableCell.hstretch?:bool
option-parent:オブジェクトのオプションの親を返します。
アクセサ public TableCell.option-parent:#GraphicOptions
option-register-proc:子オブジェクトが興味を持つ非ローカルオプションに関して、このオブジェクトに通知するために呼び出されるプロシージャ。
アクセサ protected TableCell.option-register-proc:#{proc-type {OptionKey}:void}
table:この TableCell を含む Table
アクセサ public TableCell.table:Table
valign:Table 要素の垂直方向の整列方法を指定します。
ローカル オプション public TableCell.valign:any
vstretch?:GraphicTable セルに収まるように垂直に伸長されるかどうかを制御します。
ローカル オプション public TableCell.vstretch?:bool
プロパティ 継承 TablePropertyList: border-width, height, opaque-cell?, seqnum-generator, width
プロパティ 継承 GraphicOptionList: options
プロパティ 継承 DataBindingTarget: data-binding-context, data-bindings
プロパティ 継承 OptionListInterface: options-present-here, registered-option-keys, style-options

メソッド
notify-option-children:このオブジェクトのオプションの子にオプションが変更されたことを通知します。
public {TableCell.notify-option-children
item:OptionItem,
removed?:bool
}:void
option-changed:このオブジェクトにオプションの値が変更したことを通知します。
public {TableCell.option-changed key:String, value:any}:void
option-lookup-here:オプション検索ステップを実行します。
public {TableCell.option-lookup-here
key:OptionKey,
local?:bool
}:(item:#OptionItem, local-key?:bool)
propagate-option-change:このオブジェクト、および該当する場合はそのオプションの子孫にオプションが変更されたことを通知します。
protected {TableCell.propagate-option-change
item:OptionItem,
removed?:bool
}:void
メソッド 継承 TablePropertyList: new-option-item
メソッド 継承 GraphicOptions: any-to-Distance, get-display-context
メソッド 継承 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
メソッド 継承 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, option-change-notify, option-lookup, option-propagate-notify, option-set?, 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
メソッド 継承 InitRestArgParser: process-rest-args
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize




プロパティ詳細
background (ローカル オプション)
public TableCell.background:Background =Background.transparent

テーブル セルの背景の色またはパターンです。

説明

設定されると、このセルの背景は指定の Background を使用して描画されます。セルの境界は内容の境界よりも大きいため、これはセルの内容の背景設定とは異なる場合があります。

詳細については、Graphic.background を参照してください。


cell-border-color (非ローカル オプション)
public TableCell.cell-border-color:FillPattern

Table オブジェクトのテーブル セルのボーダーの色またはパターン。

説明

セル ボーダーの色は、セル ボーダーが存在する場合、つまりテーブル セルの cell-border-width オプションが設定されている場合にのみ適用されます。


任意の FillPattern オブジェクトや、自動的に FillPattern に変換される、サポートされている Stringcell-border-color を設定します。


テーブル セルの cell-border-width は定義されていて cell-border-color は定義されていない場合、ボーダーはテーブル セルの背景色を使用してペイントされます。テーブル セルの cell-border-style オプションによってはボーダーが見えなくなることもあります。
次は、テーブル セルのボーダーを青で表示しています。






cell-border-style (非ローカル オプション)
public TableCell.cell-border-style:BorderStyle

この表のテーブル セル ボーダーの外観を指定します。

説明

有効値は次のとおりです。


例: 次は、さまざまなテーブル セルのボーダー スタイルを青で表示しています (tiled を除く)。
{let t:Table =
    {Table 
        columns = 3, 
        width = 7cm,
        height = 3cm,
        background = FillPattern.silver,
        cell-border-color = FillPattern.blue,
        cell-border-width = 3pt,
        cell-border-style = BorderStyle.flat,
        border-width = 1pt,
        border-color = FillPattern.black,
        "Apple", "Banana", "Grapes",
        "Papaya", "Strawberry", "Guava"
    }
}

{let dd:DropdownList = 
    {DropdownList
        "none", "flat", "raised", "sunken",
        "ridge", "groove", "dash", "dot", 
        "double",
        value = "flat",
        {on ValueChanged do
            set t.cell-border-style = dd.value
        }
    }
}

{spaced-hbox
    dd,
    t
}
この例は、tiled ボーダー スタイルの使用法を示しています。ボーダー幅が変化するにつれて、ボーダーのタイル部分がどのように変化するか注意してください。この場合は、タイル部分には 24px より小さいボーダー幅のイメージの傾斜部分が含まれます。また、ピクセルの単一の行と列が伸長され、イメージ部分がなくなるまで、ボーダーが大きくなるにつれて、両側と上部に沿ったタイル表示に使用できるイメージ部分が小さくなっていくことに注意してください。これは、ボーダー幅がイメージ サイズの半分以上の場合に発生します。このイメージは 256x256 のため、ボーダー幅を 128px 以上に設定するとこの効果を確認することができます。
border-color に使用されるイメージは次のように表示されます。

例: tiled ボーダー スタイルの使用
{let constant t:Table =
    {Table 
        columns = 3, 
        background = FillPattern.silver,
        cell-border-color =
            {FillPattern.from-url
                {url "curl://install/docs/default/images/tiled-border.gif"}
            },
        cell-border-width = 30px,
        cell-border-style = BorderStyle.tiled,
        border-width = 1pt,
        border-color = FillPattern.black,
        "Apple", "Banana", "Grapes",
        "Papaya", "Strawberry", "Guava"
    }
}

{value
    {t.add
        {cell-prototype
            colspan = 3,
            {HBox
                spacing = 5mm,
                "cell-border-width:",
                {TextField
                    value = "30px",
                    {on ValueFinished at tf:TextField do
                        set t.cell-border-width = {evaluate tf.value}
                    }
                }
            }
        }
    }
    
    t
}

注意事項

参照: cell-border-width, cell-border-color.


cell-border-width (非ローカル オプション)
public TableCell.cell-border-width:any

Table のテーブル セル ボーダーの幅を指定します。

説明

DistancePixelDistanceEmDistance の値を指定します。既定値は 0pt です。

各テーブル セルにはボーダーがあります。たとえば、表内の各セルが幅 1 ピクセルのボーダーを持つ場合、2 つの隣接するセルの内容の間には、2 ピクセル分のボーダーが存在することになります。注意:Curl 言語の将来のバージョンでは、隣接するテーブル セルのボーダーがマージされて、cell-border-width を指定すると、その分のスペースだけが 2 つの隣接するテーブル セルの内容の間に現れるようになる可能性があります。

次の Table 内の 3 つのテーブル セルには、異なるテーブル セル ボーダーの幅 (青で表示) が指定されています。


注意事項

cell-border-width に代入する値には、10pt (10points)、.5cm (.5centimeters)、0.3in (0.3inches)、または 1px (1pixel) などの明示的な距離単位を指定することをお勧めします。単位が指定されていない整数や浮動小数点数は、距離をポイント (1pt = 1/72 インチ) で表していると見なされます。

Graphic.width オプションや Graphic.height オプション同様に、指定したボーダー幅がピクセル サイズの正確な倍数にならない場合、最も近い倍数に丸められます。ただし、ゼロより大きくても 1 ピクセルより小さいピクセル サイズは、常に 1 ピクセルに切り上げられます。


cell-margin (非ローカル オプション)
public TableCell.cell-margin:any

テーブル セルの境界とその子スロット (テーブル セルがその子グラフィックを配置する場所) の間の距離を指定します。

説明

DistancePixelDistanceEmDistance の値を指定します。既定値は 1mm です。

注意事項

cell-margin に代入する値には、10pt (10points)、.5cm (.5centimeters)、0.3in (0.3inches)、または 1px (1pixel) などの明示的な距離単位を指定することをお勧めします。単位が指定されていない整数や浮動小数点数は、距離をポイント (1pt = 1/72 インチ) で表していると見なされます。

Graphic.width プロパティや Graphic.height プロパティと同様に、指定したマージンがピクセル サイズの正確な倍数にならない場合、ピクセル サイズに最も近い倍数に丸められます。ただし、ゼロより大きくても 1 ピクセルより小さいピクセル サイズは、常に 1 ピクセルに切り上げられます。

次にいくつかの異なるセル マージン サイズが青で表示されています。テーブル ボーダーは黒です。テーブル セル ボーダーは白です。




halign (ローカル オプション)
public TableCell.halign:any

Table 要素の水平方向の整列方法を指定します。

説明

このオプションの説明は、Table.halign を参照してください。


hstretch? (ローカル オプション)
public TableCell.hstretch?:bool

GraphicTable セルに収まるように水平に伸長されるかどうかを制御します。

説明

このオプションについての情報については、Table.hstretch? を参照してください。


option-parent (アクセサ)
アクセサ public TableCell.option-parent:#GraphicOptions

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

戻り値

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

オーバーライド

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


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

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

プログラミング注意事項

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

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

注意事項

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

オーバーライド

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


table (アクセサ)
アクセサ public TableCell.table:Table

この TableCell を含む Table

説明

この TableCellTable 内に存在しない場合、この値にアクセスしようとするとエラーが発生します。


valign (ローカル オプション)
public TableCell.valign:any

Table 要素の垂直方向の整列方法を指定します。

説明

このオプションの詳細については、Table.valign を参照してください。


vstretch? (ローカル オプション)
public TableCell.vstretch?:bool

GraphicTable セルに収まるように垂直に伸長されるかどうかを制御します。

説明

このオプションの詳細については、Table.vstretch? を参照してください。





メソッド詳細
notify-option-children (メソッド)
public {TableCell.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-changed (メソッド)
public {TableCell.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-here (メソッド)
public {TableCell.option-lookup-here
key:OptionKey,
local?:bool
}:(item:#OptionItem, local-key?:bool)

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

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

戻り値

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

プログラミング注意事項

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

オーバーライド

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


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

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

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

注意事項

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

プログラミング注意事項

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

オーバーライド

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