[Squeak-ja: 3048] Re: PluggableTextMorphをつまむ方法

Koji Yokokawa koubo2006 @ yengawa.jpn.org
2006年 7月 13日 (木) 22:27:35 JST


横川です。
ちょこっと補足。

鷲見さんのアイデアの実装例はこんな感じです。
カードの周りに余白を作って、そこをつまめるようにしました。
クラスは新しく定義してませんが、クラスを作ったときもレイアウトの方法は同
じものが使えます。

> あるいは、カードを a PluggableTextMorph だけではなく、a Rectangle-
> Morph のようなクリックしてピックアップできるタイプのモーフのサブ
> モーフとして a PlugableTextMorph を組み合わせた、複合モーフのクラスとして
> 新しく定義する…という方法もあるかもしれません。

----
| model field card |
model := ProcessBrowser new.
model openAsMorph.

field := PluggableTextMorph
   on: model
   text: #selectedMethod
   accept: nil
   readSelection: nil
   menu: nil.
field center: Point fromUser.
card := BorderedMorph new.
card layoutPolicy: ProportionalLayout new.
card addMorph: field 
	fullFrame: (LayoutFrame
		fractions: (0 @ 0 corner: 1.0 @ 1.0)
		offsets: (10 @ 10 corner: -10 @ -10)).
card extent: 100 @ 100.
card color: Color white.
card openInWorld.

----


On Wed, 12 Jul 2006 22:19:55 +0900
"kubo-o" <kubo-o @ mbox.kyoto-inet.or.jp> wrote:

> 鷲見さん、早速ありがとうございました。
> on:のはたらきについてはよく判りました。
> もう一つの方のことですが、a Rectangle-Morph のようなクリックしてピックアップ
> できるタイプのモーフでないと、PluggableTextMorphは直接にはmouseでつかめない
> のでしょうか。
> はじめにworld上でopenInHnadをやるときだけはつかめていますが。
> on:などの引数付きのPluggableTextMorphに、なにか他の引数を追加すれば、
> eventhandlingが使えるのでしょうか。
> 久保 道
> 
> -----Original Message-----
> From: squeak-ja-bounces @ smalltalk.jp
> [mailto:squeak-ja-bounces @ smalltalk.jp]On Behalf Of Masato Sumi
> Sent: Wednesday, July 12, 2006 5:20 PM
> To: Squeak discussion in Japanese
> Subject: [Squeak-ja: 3044] Re: PluggableTextMorphをつまむ方法
> 
> 
> 久保さん、ごきげんよう。鷲見です。
> 
> on: のところに挿入する引数は、このカード(a PluggableTextMorph)に
> 入力された内容を別のオブジェクト(モデルと呼ぶ)で管理しているときに
> それを当てはめます。たとえば、
> 
> | model field |
> model := ProcessBrowser new.
> model openAsMorph.
> 
> field := PluggableTextMorph
>    on: model
>    text: #selectedMethod
>    accept: nil
>    readSelection: nil
>    menu: nil.
> field center: Point fromUser.
> field openInWorld.
> 
> というスクリプトを評価して、クリックして指定した場所に a Pluggable-
> TextMorph を設置してから、同時に開くプロセスブラウザの右手のリスト
> から適当な項目を選んだときに起こることを観察してみてください。
> 
> この仕組みはカードを動かす目的とは直接関係ないので、たとえば、
> alt/cmd + ドラッグでの移動を使う…というのではダメでしょうか。
> 
> あるいは、カードを a PluggableTextMorph だけではなく、a Rectangle-
> Morph のようなクリックしてピックアップできるタイプのモーフのサブ
> モーフとして a PlugableTextMorph を組み合わせた、複合モーフのクラスとして
> 新しく定義する…という方法もあるかもしれません。
> 
> 06/07/12 に kubo-o<kubo-o @ mbox.kyoto-inet.or.jp> さんは書きました:
> > handlesMouseDown:やmouseDown:を
> > 作用させるにはどうすればよいのでしょうか。
> > 上のon:selfの「selfを自分のクラスのinstanceで
> > 置き換えるのかとも思うのですが、
> > よく判っていません。
> > そもそもon:はどういう機能を持つのでしょうか。
> > どうか宜しくお願い致します。
> > 久保 道
> 
> --
> Masato Sumi

-- !
Koji Yokokawa <koubo2006 @ yengawa.jpn.org>
    http://yengawa.com/
    ^self new!




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