[Squeak-ja: 3736] 非 Morph を ObjectsTool へ追加する方法について

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[Squeak-ja: 3736] 非 Morph を ObjectsTool へ追加する方法について

Eiichiro Ito
山梨学院大学の伊藤です。

Squeakerのみなさんこんばんは。

作成中のプログラムをObjectsTool(オブジェクトのカタログ)に
登録しようと思っています。

Morphの場合には、descriptionForPartsBinというクラスメソッド
を定義しておくとObjectsToolにカテゴリやモーフが登録されます。
ところが、SystemWindowを使ってウィンドウ表示するModelのサブ
クラスの場合、Morphのサブクラスではないため登録されません。
でも実際にはObjectsToolのツールにはSystemWindowを使うBrowser
やWorkspaceが登録されています。

BrowserやWorkspaceのようにObjectsToolに登録する方法をご存じ
の方がいらっしゃったら教えていただけませんでしょうか?

よろしくお願いいたします。





Reply | Threaded
Open this post in threaded view
|

[Squeak-ja: 3737] Re: 非 Morph を ObjectsTool へ追加する方法について

Kazuhiro ABE-3
阿部@新百合です。

On Sat, 27 Oct 2007 21:26:36 +0900 (JST)
"Eiichiro Ito" <[hidden email]> wrote:
>BrowserやWorkspaceのようにObjectsToolに登録する方法をご存じ
>の方がいらっしゃったら教えていただけませんでしょうか?

ToolsカテゴリでよろしければクラスメソッドにregisterInFlapsRegistryを定義
し、それを実行すれば登録されるようです(あと登録を解除する為のunloadも)。
具体的な定義については、implementorsで他のクラスの実装例をご覧ください。
もしTools以外にする場合は、Morph>>supplementaryPartsDescriptionsあたりを
いじることになると思います。

 //abee
--
阿部 和広  EMAIL [hidden email]
Reply | Threaded
Open this post in threaded view
|

[Squeak-ja: 3738] Re: 非 Morph を ObjectsTool へ追加する方法について

Eiichiro Ito
伊藤です。

阿部さん、こんばんは。
早速アドバイスいただきありがとうございます。

なるほど、Morph>>supplementaryPartsDescriptionsは見落としてい
ました。
Toolsではなく別のカテゴリを作りたかったのでMorphクラスをいじ
らないとだめのようですね。

#よく考えたらDrag and Dropも実装しようとすると、SystemWindow
#ではダメなので、もういっそのことMorphでやり直した方がいいか
#もと思い始めてきました。

お忙しいところありがとうございました。

--- "Kazuhiro ABE" <[hidden email]> ---

>阿部@新百合です。
>
>On Sat, 27 Oct 2007 21:26:36 +0900 (JST)
>"Eiichiro Ito" <[hidden email]> wrote:
>>BrowserやWorkspaceのようにObjectsToolに登録する方法をご存じ
>>の方がいらっしゃったら教えていただけませんでしょうか?
>
>ToolsカテゴリでよろしければクラスメソッドにregisterInFlapsRegistryを定義
>し、それを実行すれば登録されるようです(あと登録を解除する為のunloadも)。
>具体的な定義については、implementorsで他のクラスの実装例をご覧ください。
>もしTools以外にする場合は、Morph>>supplementaryPartsDescriptionsあたりを
>いじることになると思います。
>
> //abee
>--
>阿部 和広  EMAIL [hidden email]