|
|
PowerPlantではユーザによるコントロールの操作をメッセージのやりとりで
実装している。コントロールというのは、ボタンやポップアップメニュー、
チェックボックスなど、クリックやドラッグで操作を受けるアイテムのたぐいである。
ボタンのクリックを例に挙げると、普通ボタンが押された後のふるまいというのは
そのボタンのクラスではなく、ボタンが乗っているウィンドウやダイアログの
クラスの上で実装される。
(一方、ボタンだけで完結するような処理、例えば一度押したら引っ込む効果などは、
ボタン自身のクラスに実装するのが適当である。)
このとき、ボタンからダイアログに「ボタンが押された」というメッセージを飛ばす
仕組みを持たせることで、コントロールクラスからそのコントロールの乗っているクラスに
ユーザの操作を伝えている。
PowerPlantでは、メッセージを飛ばすクラスをブロードキャスタ、メッセージを受けるクラスを
リスナと呼んでいる。具体的には、ブロードキャスタはLBroadCasterクラスを継承したクラス、
リスナはLListenerクラスを継承したクラスとなっている。
ボタンの例でいうと、ボタンはLBroadcasterクラスを継承しており、ボタンの乗ったダイアログは
LListenerクラスを継承している。
|
|