[Squeak-ja: 4537] How to BlockerMorph

Tomohiro Oda tomohiro @ sra.co.jp
2011年 4月 28日 (木) 08:20:19 JST


おだです。

昨晩のSmalltalk勉強会でHandMorphの位置の変更について聞きましたが、
この件について、ひき続きご相談させていただきたいと思います。

私がしたいことは、bounds内にマウスカーソルが入ってくることを阻止
する、BlockerMorph(仮称)を作ることです。

例えば、通常のUIでボタンを使えなくするためにはdisableします。
しかし、それでは使う人にとっては、「ボタンを押したのに動かない」
ということになります。disableはマウスを使ったGUIに慣れた人の常識
であって、現実世界のボタンで押しても動かなければ、「壊れてる?」
と思われてしまうでしょう。

現実世界のボタンを使えなくするには、物理的にプラスチックカバーで
囲って、「そこにボタンがあるのはわかるが押すことができない。押すには
カバーを開けたり破ったりする必要がある。」ことが直感的にわかるように
なっています。

そんな、プラスチックカバーに相当するMorphとして、BlockerMorphを
作りたいのです。そのためには、aHandMorph position: aPointでは
不足しているようです。直感的には、HandMorphを通して、OS側にマウス
位置を知らせる手段が必要だと思います。

以上、ご助言いただければ幸いです。
---
おだ


Squeak-ja メーリングリストの案内