minimize

SWTの中で最も難解なコンポーネントの一つだと思われる、Table について解析します。
解析対象は Eclipse 3.4M5 です。

Table > Composite > Scrollable > Control > Widget

メソッド

Widget から継承された全メソッドについて記します。

リスナー関連

addControlListener

コントロールの位置が移動したり、サイズが変化したときに呼ばれるリスナーを定義します。

addDisposeListener

コントロールが破棄されるときに呼ばれるリスナーを定義します。

addDragDetectListener

3.3以降

マウスジェスチャーイベントを受け取ったときに呼ばれるリスナーを定義します。
マウスジェスチャーとは、マウスのボタンを押しながらマウスを左右に動かすことによって
特定の動作をさせる仕組みのことです。

addFocusListener

コントロールがフォーカスを受け取ったり失ったりするときに呼ばれるリスナーを定義します。

addHelpListener

コントロールにヘルプイベントが送られたときに呼ばれるリスナーを定義します。
デフォルトではF1キーを押すとヘルプイベントが発生します。

addKeyListener

コントロール上でキーが押されたり離されたりしたときに呼ばれるリスナーを定義します。

addListener

任意のリスナーを定義します。

addMenuDetectListener

3.3以降

メニュー表示時に呼ばれる(詳細は不明)リスナーを定義します。
デフォルトでは右クリックを押すと呼ばれます。

addMouseListener

マウスのクリック時に呼ばれるリスナーを定義します。

addMouseMoveListener

マウスの移動時に呼ばれるリスナーを定義します。

addMouseTrackListener

コントール上にマウスが入ってきたとき、通過中、出ていくときに
呼ばれるリスナーを定義します。

addMouseWheelListener

3.3以降

マウスホイールを動かしたときに呼ばれるリスナーを定義します。

addPaintListener

コントロール描画時に呼ばれるリスナーを定義します。

addSelectionListener

コントロール内の選択範囲が変化したときに呼ばれるリスナーを定義します。

addTraverseListener

特定のキー(Traversal Key)を押下したときに呼ばれるリスナーを定義します。
Traversal Key とは、方向キーやPage Up/Downキーなど
コントロール内のターゲットを移動させるようなキーのことです。
こういったキーを押すと、TraverseEvent が発生した後で keyPressed イベントが発生します。

removeControlListner

ControlListener を除去します。

removeDisposeListener

DisposeListener を除去します。

removeDragDetectListener

DragDetectListener を除去します。

removeFocusListener

FocusListener を除去します。

removeHelpListener

HelpListener を除去します。

removeKeyListener

KeyListener を除去します。

removeListener

Listener を除去します。

removeMenuDetectListener

MenuDetectListener を除去します。

removeMouseListener

MouseListener を除去します。

removeMouseMoveListener

MouseMoveListener を除去します。

removeMouseTrackListener

MouseTrackListener を除去します。

removeMouseWheelListener

MouseWheelListener を除去します。

removePaintListener

PaintListener を除去します。

removeSelectionListener

SelectionListener を除去します。

removeTraverseListener

TraverseListener を除去します。

getListeners

指定したタイプで定義されたリスナーを返します。

isListening

指定されたタイプのリスナーが定義されているかどうかを返します。

テーブル関連

clear

テーブル行を削除します。

clearAll

全テーブル行を削除します。

deselect

指定したテーブル行の選択状態を解除します。

deselectAll

全テーブル行の選択状態を解除します。

getColumn

指定した列の TableColumn インスタンスを返します。
TableColumn は、テーブルヘッダを表すクラスです。

getColumnCount

このテーブルが持つ TableColumn の個数、すなわち列数を返します。

getColumnOrder

TableColumn が現在どのような順序で並んでいるのかを返します。
テーブル作成当初これは [0, 1, 2, ...] と昇順になっていますが
ユーザオペレーションによって列の入れ替えなどをすると
この順序が変わることになります。

getColumns

全ての TableColumn を返します。

getGridLineWidth

グリッドライン(セルの境界線)の幅を返します。
3.3現在、常に1を返します。

getHeaderHeight

テーブルヘッダの高さをピクセル単位で返します。
ヘッダを表示しない場合(デフォルト)は0を返します。

getHeaderVisible

テーブルヘッダを表示するかどうかを返します。デフォルトではヘッダは表示しません。

getItem

指定した行の TableItem を返します。

getItemCount

テーブル行数を返します。

getItemHeight

1行の高さをピクセル単位で返します。

getItems

全ての行の TableItem を返します。

getLinesVisible

グリッド線を表示するかどうかを返します。

getSelection

選択されている TableItem を返します。

getSelectionCount

選択されているアイテム数を返します。

getSelectionIndex

選択されている先頭アイテムの行番号(0~)を返します。

getSelectionIndices

選択されている全アイテムの行番号(0~)を返します。

getSortColumn

現在のソート列のテーブルヘッダを返します。
これは、テーブルヘッダ内に表示されるアイコン(▼▲)の場所(列位置)を
決定するためだけに使われます。ソート機能は、ユーザが実装する必要があります。

getSortDirection

現在のソート順を返します。
これは、テーブルヘッダ内に表示されるアイコン(▼▲)の種類を
決定するためだけに使われます。ソート機能は、ユーザが実装する必要があります。

getTopIndex

画面内で一番上に表示されているテーブルアイテムの行番号(0~)を返します。
スクロールバーを移動させたりするとこの値は変化します。

indexOf(TableColumn)

指定されたテーブルカラムがテーブル内で何番目(0~)に定義されているかを返します。
これは getColumnOrder で取得できるようなカラム順とは関係なく
作成された時点でのインデックスを返します。

indexOf(TableItem)

指定されたアイテムがテーブル内で何行目(0~)に定義されているかを返します。

isSelected

指定行のアイテムが選択されているかどうかを返します。

remove

指定した行(アイテム)を削除します。

removeAll

全行を削除します。

select

指定した行を選択します。
既に選択されている行の選択状態は変化しません。

selectAll

全ての行を選択します。

setColumnOrder

カラム表示順を設定します。

setHeaderVisible

テーブルヘッダ行の表示/非表示を設定します。
デフォルトでは非表示になっています。

setItemCount

テーブルアイテムの数(つまり行数)を返します。

setLinesVisible

グリッド線の表示/非表示を設定します。
デフォルトでは非表示になっています。

setSelection

指定した行を選択します。
select と異なるのは、最初に全行の選択を解除することです。

setSortColumn

ソート対象カラムの列番号(0~)を設定します。

setSortDirection

ソートの昇順/降順を設定します。

setTopIndex

指定した行が一番上に表示されるように
垂直スクロールバーの位置を制御します。

showColumn

指定した列が画面上に表示されるように
水平スクロールバーの位置を制御します。

showItem

指定した行が画面上に表示されるように
垂直スクロールバーの位置を制御します。
setTopIndex と異なり、アイテムが常に一番上に表示される
わけではありません。

showSelection

選択されている行が画面上に表示されるように
垂直スクロールバーの位置を制御します。

コントロール関連

computeSize

コントロールのサイズを返します。

computeTrim

指定したクライアントエリアの確保に必要なコントロールのサイズを返します。

dispose

コントロールを破棄します。

forceFocus

コントロールにキーボードフォーカスを固定させます。
これにより、全てのキーイベントはこのコントロールに向けて発生します。

getAccessible

コントロールに結び付いた Accessible を取得します。
Accessible とは、コントロールの情報を読み上げたりする
アシスト機能のことです(多分)。

getBackground

背景色を取得します。

getBackgroundImage

背景イメージを取得します。

getBackgroundMode

背景色描画モードを取得します。
INHERIT_NONE(継承なし) / INHERIT_DEFAULT(通常の継承モード) / INHERIT_FORCE(強制継承)

getBorderWidth

コントールの境界線の幅を返します。

getBounds

コントロールが占有する領域を長方形の範囲で返します。
※ 親コントロールからの相対位置

getChildren

このコントールが持つ子コントロールを全て返します。

getClientArea

コントロールの描画対象となる領域を長方形の範囲で返します。
getBounds と似ていますが、コントロール内に外枠やメニューなどがあった場合は
この値はそれよりも小さくなります。

getCursor

コントロールに結び付くカーソルを返します。

getData

コントロールに設定された任意の値を返します。
単一の値もしくはマップ形式(キー=>値)の値を使うことができます。

getDisplay

コントロールに対応する Display インスタンスを返します。
Display は、文字通り一つのディスプレーを表すクラスです。
シングルディスプレー環境ならば常に固定ですが、
マルチディスプレー環境ならばそのコントロールがどのディスプレーに
表示されているかによってインスタンスは変化します(多分)。

getEnabled

自身のコントロールが有効かどうかを返します。
親Composite のことは考慮しません。
考慮したい場合には、isEnabled を利用します。

getFont

コントロールに結び付けられたフォントを返します。

getForeground

コントロールの前景色を返します。

getHorizontalBar

水平スクロールバーを返します。

getLocation

コントールの位置(親からの相対)を返します。

getMenu

コントロールに結び付けられた Menu を返します。

getParent

自身の親コントールを返します。

getRegion

3.4以降

コントロールの Region を返します。

getShell

コントロールの親シェルを返します。

getSize

コントロールのサイズを返します。

getStyle

コントールのスタイルを返します。

getTabList

タブ順序で並び変えた自身の子コントロール一覧を返します。
タブ順序とは、コントロール内でTABキーを押したときに
フォーカスが移る順序のことです。
テーブルのように子コントロールを持たない場合は、サイズ0の値を返します。

getToolTipText

コントロールのツールチップ文字列を返します。
これは、コントロールにカーソルを合わせると
一時的にポップアップ表示される文字列のことです。

getVerticalBar

垂直スクロールバーを返します。

getVisible

自身の可視性(見えているかいないか)を返します。
この値が true でも、親コンポーネントが非可視になっている時には
このコントロールは表示されません。
実際に見えているかどうかを判定したい場合には、isVisible を利用します。

isDisposed

このコントロールが既に破棄されているかどうかを返します。

isEnabled

コントロールが有効かどうかを返します。
自身または親のコントロールが無効の場合、これは false を返します。
自身の有効性だけを判定したい場合、getEnabled を利用します。

isFocusControl

フォーカスが自身に当たっているかどうかを判定します。

isReparentable

コントロールの reparenting をOSがサポートしているかどうかを返します。
サポートされている場合、setParent によって親Composite を変更することが
可能になります。

isVisible

コントロールの可視性(見えるか見えないか)を返します。

layout

自身が持つ子コントロールのレイアウトを決定します。

moveAbove

自身をあるコントロールの上に配置します。
これはComposite内の「描画順」を制御するのに使います。

moveBelow

自身をあるコントロールの下に配置します。
これはComposite内の「描画順」を制御するのに使います。

notifyListeners

イベントを通知します。

pack

コントロールを適切なサイズにセットします。
pack(false) を呼び出すと、自身の内容が変化していないとして
キャッシュをクリアせずにサイズを再計算します。
…とありますが、詳細は不明です。

print

3.4以降

引数で与えられたGC(描画する場所などを持ったグラフィックインスタンス)
に自身を描画します。

redraw

自身を再描画します。

setBackground

背景色を指定します。

setBackgroundImage

背景イメージを指定します。

setBackgroundMode

背景モードを指定します。

setBounds

コントロールの位置およびサイズを指定します。

setCapture

setCapture(true) でキャプチャを開始し、setCapture(false) でキャプチャを解除します。
キャプチャとは、全てのマウスイベントを受信する状態のことです。
通常、マウスイベントはカーソルの位置にあるコントロール上に送られますが
キャプチャを開始するとその制御を特定のコントロールに固定させることができます。

setCursor

コントロールにカーソルを設定します。

setData

コントロールに任意の値を設定します。

setDragDetect

マウスジェスチャー機能の有効・無効をセットします。
ここで有効にしておけば自動的にマウスジェスチャーが有効になるらしいのですが
(Windowsだけ?)うまくいかないので dragDetect メソッドを
明示的に呼び出す必要があるみたいです。

setEnabled

コントロールの有効・無効をセットします。

setFocus

自身のコントロールにフォーカスを当てます。

setFont

フォントを設定します。

setForeground

前景色を設定します。

setLocation

コントロールの位置を設定します。

setMenu

コントロールに結び付けるメニューを設定します。

setParent

自身の親 Composite を設定(変更)します。
isReparentable が false を返す場合、親を変更することは出来ません。

setRedraw

自身のコントロールの再描画フラグを制御します。

setRegion

3.4以降

リージョンを設定します。
コントロールに任意の形を割り当てる3.4の新機能です。
これを使うと、円形のウィンドウなどを表示させることができます。

setSize

コントロールのサイズを設定します。

setTabList

タブ順序を設定します。

setToolTipText

ツールチップ文字列を設定します。

setVisible

コントロールの可視性を設定します。

toControl

指定した座標を、コントロールの左上からの相対座標に変換します。
例えばコントロールがディスプレー上で (50, 25) の位置にあり、
control.toControl(200, 100) を呼び出すと戻り値は (150, 75) になります。

toDisplay

コントロール内の座標を、ディスプレー左上からの相対座標に変換します。
例えばコントロールがディスプレー上で (50, 25) の位置にあり、
control.toDisplay(200, 100) を呼び出すと戻り値は (250, 125) になります。

control.toDisplay(0, 0) は (50, 25) を返します。
これは、コントロールがディスプレー上でどの位置にあるのかを表しています。

traverse

トラバース処理を実行します。
ESCAPE / RETURN / TAB_NEXT / TAB_PREVIOUS / ARROW_NEXT / ARROW_PREVIOUS
のいずれかの引数を指定すると、そのキーを押したときと同じ
処理を実行することができます。

update

コントロールの内容を更新したときに呼び出すと、
更新に必要な分の描画が行われます。
何も更新していなければ何もしません。

レイアウト関連

getLayout

Composite のレイアウトを返します。
これは、自身ではなく「自身を親に持つ」子コントロールを
どのようなレイアウトにするかを指定するものです。

getLayoutData

コントロールのレイアウトを返します。
これは、自身を親Composite の中でどのようにレイアウトするかを指定するものです。

getLayoutDeferred

内部のレイアウトカウントが1以上ならばtrueを返します。
これは通常ユーザが意識する必要はありません。

isLayoutDeferred

内部のレイアウトカウントが1以上ならばtrueを返します。
これは通常ユーザが意識する必要はありません。
自身のレイアウトカウントが0でも、親のレイアウトカウントが1以上ならば
このメソッドはtrueを返します。

setLayout

自身の(Composite)レイアウトを設定します。

setLayoutData

(親Compositeに対する)自身のレイアウトを設定します。

setLayoutDeferred

内部のレイアウトカウンタを設定します。

その他

changed

不明

dragDetect

マウスジェスチャーを開始します。
通常このメソッドはマウスボタン押下時のリスナー内でコールされます。
そのマウスを移動させると、DragDetectEvent が発生します。

getDragDetect

マウスジェスチャー機能が有効かどうかを返します。

getMonitor

不明

[コメント(0)]