Tweak では、何かと複雑化していて、ただウインドウを出すだけでも openInWorld 一発というわけには行かない。特にメニューからウインドウを出す動作はややこしいので調べてみた。
CProjectBuilder>>newWorldMenu メニューの定義
例えばワークスペースを開く場合、メニュイーの動作をシミュレートする式はこうなる。
CProjectBuilder allInstances last openTool: (MessageSend receiver: CWorkspace selector: #open)
#openTool: の中で CDragMaker が作成される。
CDragMaker>>onMouseDown の中でツールが生成される