パネル




panel [クラス]


  :super   xwindow 

:slots (pos items fontid
rows columns ;total number of rows and columns
next-x next-y
item-width item-height)


panelは、パネルアイテムや他のpanelを含んだどんなxwindowも置くこと ができるxwindowである。 panelオブジェクトは、panelの中で生成されたパネルアイテムへの デフォルトフォントを供給する。 アプリケーションwindowは、panelのサブクラスとして定義 去れなければならない。



\begin{emtabbing}
{\bf :create}
\it\&rest args \= \&key \= ((:item-height iheig...
...) ((:background color) *bisque1*) \\
\> \&allow-other-keys)
\rm
\end{emtabbing}

panelを生成し、初期化する。 スーパークラスの:createが呼び出されるため、 xwindowに対する全ての生成用パラメータ(:width, :height, :border-widthなど)が許される。 :item-height:item-widthは、最小の高さと幅をそれぞれのパネルアイテムに 与える。


:items [メソッド]

関連するアイテムを全てリストで返す。


:locate-item item &optional x y [メソッド]
itemは、xwindowオブジェクト(ふつうはパネルアイテム)である。 もしxyが与えられたならば、アイテムはそこに置かれる。 そうでなければ、itemは、もっとも最近に置かれたアイテムに 隣接するように置かれる。 アイテムは、 図 [*]のように 上から下に向かって、また左から右に向かって置かれていく。 :locate-itemは、またitemssubwindowsリストに itemを追加し、:mapを送ることにより見えるようにする。


Figure: panelのアイテムレイアウト
\begin{figure}\begin{center}
\epsfile{file=fig/panellayout.ps,height=7cm}
\end{center}
\end{figure}


\begin{emtabbing}
{\bf :create-item}
\it klass label receiver method \= \&rest ...
...ド]\\
\> \&key ((:font fontid)\\
\> \&allow-other-keys)
\rm
\end{emtabbing}

klassで指定されるパネルアイテムのクラス (すなわち、button-item, menu-button-item, slider-item, joystick-itemなど), のインスタンスを作り、:locate-itemを用いてpanelにアイテムを置く。 argsは、klass:createメソッドに送られる。 labelは、パネルアイテムの中に書かれる識別文字列である。 receivermethodは、一致するイベントを呼び出すイベントハンドラを 指定する。


:delete-items [メソッド]

パネルアイテムを全て削除する。



\begin{emtabbing}
{\bf :create-menubar}
\it\= \&rest args \\lq [メソッド]\\
\> \&key (:font fontid)\\
\> \&allow-other-keys
\rm
\end{emtabbing}
menubar-panelを作成し、panelの最上部に置く。


以下に示すメソッドは、イベントがイベントハンドラのないpanelに送られたとき、 "subclass's responsibility"警告メッセージを避けるために提供されている。 ユーザーのアプリケーションでは、これらのメソッドを上書きしなければならない。



:quit &rest a [メソッド]

window-main-loop:quitメッセージを送り、 イベント処理を停止する。


:KeyPress event [メソッド]
NILを返す。


:KeyRelease event [メソッド]
NILを返す。


:ButtonPress event [メソッド]
NILを返す。


:ButtonRelease event [メソッド]
NILを返す。


:MotionNotify event [メソッド]
NILを返す。


:EnterNotify event [メソッド]
NILを返す。


:LeaveNotify event [メソッド]
NILを返す。




Subsections
2016-04-05