起動時画面に見えるものの簡単な説明
では、起動時に見える画面で GUI の簡単な説明をしましょう。
画面を構成するパーツとしては次のものがあります。
- ウインドウ
- フラップ (flap)
- モーフ (morph)
- ポップアップメニュー (デスクトップクリック時に表示)
Mac と異なり、メニューバーはありません。デスクトップのメタファーも Finder のそれではなく、モーフのことがなければただの壁紙に近いかもしれません。
フラップはいわゆるタブ付きのトレイで、Finder のポップアップウインドウに近い働きをします。中にモノ(主にモーフ)を置いておくのに使います。ポップアップウインドウは画面の下にしか置けませんが、フラップは上下左右どこへでも設置できます。タブをクリックすると中身を見ることができます。タブをドラッグして引き出し具合を著制することも可能です。タブを再びクリックすると閉じます。
モーフ(morph)というのは、ドロー系ツールの基本図形のようなものです。Squeak の環境自体が Mac でいうところのドロー系アプリの機能を持っている…と考えるとよいと思います。モーフには3種類あって、楕円や矩形などの基本図形、他のモーフの並べ方などを決めるために使う抽象的なもの、両者を組み合わせて作られたアプリケーションのような様相を呈するもの、です。実は Squeak の画面はすべてこのモーフで構成されています。目に見えるものはすべてモーフなのでウインドウもメニューも、その中のテキストすら突き詰めると基本モーフの組み合わせでできています。画面を構成するパーツに4項目上げましたが、厳密にいうと…
だけということになります(笑)。先に述べたドロー系ツールの例をなぞれば、ドロー系ツールで描いたウインドウやメニューがそのまま機能している感覚です。ドロー系ツールのオブジェクトは、オブジェクトといっても“なんちゃって”なので、組み合わせてもただの絵にしかなりません。が、モーフは絵である以前に機能を持つことのできる真の“オブジェクト”なので GUI の構成成分にもなりうるわけです。
これで、デモのときにお見せした、メニューやウインドウを回転したり、回転しても機能を持ち続ける理由がちょっとだけ納得していただけると思います。
最後にポップアップメニューですが、Squeak ではすべてポップアップメニューとキーボードショートカットで操作します(特に後者に重きが置かれています)。すでに触れたとおり画面やウインドウにはメニューバーがないので、メニュー操作感覚としては Win でいうところの右クリックメニュー、Mac ならコンテキストメニューだけに頼る世界を想像していただければよいと思います。通常、メニューを出すのには option-クリックを用いますが、デスクトップだけは例外で、普通のクリックでメニュー(デスクトップメニュー)が現れます。--sumim - 2002-11-21, 13:36:29
即ち,
と言う事ですね.そのモーフ(「変形させる」の意の英語ですか?)を用いてウィンドウやメニューやフラップに始まり全ての物はモーフにより「構成される」と考えていいのでしょうか?
確かに,「全てがモーフだ」と考えるとメニューやウィンドウが回転したり,回転しても機能を保つのも「不思議ではなく」なります.
と考えれば「そう言う物か」とは思います.と,言っても「オブジェクトなら回転してい〜の?」と言う思想に近いところには,まだ謎もありますが(苦笑)--人狼- 2002-11-21, 14:42:18
まず「すべてがモーフ」というところはいいと思います。かなり特殊なもの、たとえばモーフを LOGO のタートル風に用いるときの軌跡を描く場所などはレイヤーでモーフとして扱うことはできないのですが、これ以外は、例えば、マウスポインタすら(!?)モーフです。--sumim - 2002-11-21, 15:07:36
ただ、混同していただいてはいけないのは、よく言われる「Squeak/Smalltalk-80 の環境はすべてがオブジェクトで構成されている」ということと、「Squeak の画面はすべてモーフで構成されている」というのは同じではないということです。前者は後者を内包しますが、後者は前者で言わんとすることのほんの一部の例にすぎません。--sumim - 2002-11-21, 15:11:52
「オブジェクトなら回転していいの?」という疑問が生じる背景は、それとちょっとだけ関わりがあるかもしれませんね。モーフはたしかにオブジェクトです(そう。Squeak では本当に徹底してほぼ例外なくすべてがオブジェクトなのです!)が、オブジェクトがすべてモーフだとは限らないからです。良い例として、先ほどの目に見えるものなのにモーフではない例外として、タートルの軌跡を描くためのレイヤーを引き合いに出しましたが、これはたしかにモーフとしては扱えませんが、れっきとしたオブジェクトで、オブジェクトしては普通に扱えます(まだオブジェクトの扱い方に触れていないので、ふ〜んそんなもんか程度で聞き流してください)。ちなみに、モーフの定義は「視覚化に適した仕組みを備えたオブジェクト」、つまり自らを画像情報として示し、それが期待される拡大/縮小、回転、複製、変形、再編集といった機能を付加された特殊なオブジェクトであるということに留意していただければいくらかもやもやが晴れるのではないでしょうか。--sumim - 2002-11-21, 15:15:03
なるほど.モーフ⊂オブジェクトなのですね.Squeakの画面を構成するものはすべてモーフだけど,Squeak/Smalltalk-80の環境はすべてオブジェクトで構成されていると言うのは大事ですね.回転するのはオブジェクトだからではなくて,モーフだから…ですね.危ない危ない.--人狼 - 2002-11-21, 15:27:24 (赤字はsumim)
いやいや。なかなか鋭いところを突いてきますね(笑)。--sumim - 2002-11-21, 15:30:06
赤字で補って頂いたおかげですっきりしました.鋭いかどうかは(^^;--北島 - 2002-11-21, 15:58:??
このページを編集 (5642 bytes)
|
以下の 1 ページから参照されています。 |
This page has been visited 3755 times.