2012-10-04 5 views
5

私は1つのMorphにGUI全体を持っているアプリケーションを持っています。 PharoとSqueakはホストオペレーティングシステムに1つのウィンドウを持っています。PharoやSqueakを使ってワンウインドウアプリケーションを配備するには?

これで、Pharo/Squeakウィンドウのサイズが変更され、Moraroのレイアウトが更新され、Pharo/Squeakウィンドウのサイズが変更され、ユーザがそのMorphを超えて何かにアクセスする(偶発的な)可能性がないように(ただし、セキュリティに関してではなく、使いやすさについてです!)

これをどのように達成できますか?

答えて

6

は、そのstep方法であなたのモーフの範囲を調整します。

step 
    (self position = (0 @ 0) and: [self extent = owner extent]) ifFalse: [ 
     self position: 0 @ 0. 
     self extent: owner extent]. 

あなたはユーザー画像を保存するときにのみ有効「展開」フラグ、の上、これは条件付きにすることをお勧めします。これは、例えば、Scratch(http://info.scratch.mit.edu/Scratch_1.4_Download)がどのようにそれを行うのかです。

+1

レイアウトを使用する方がいいですか? morph hResizing:#spaceFill; vResizing:#spaceを入力します。 ? #checkForNewScreenSizeに直接フックインすることもできます。その送信者/実装者を参照してください。 –

+0

レイアウトは、世界のすべての子供に作用しようとします。おそらく良い考えではないでしょう。とにかくすべての表示サイクルでcheckForNewScreenSizeが発生するので、ステップメソッドに似ていますが、ハードコードする必要はありません。 –