funfunfun31
レイアウトはどうよ?
モーフはレイアウト機能ってのが使えまする。モーフの中にサブモーフを配置するときに
レイアウトのルールを設定すると自動的にサブモーフを整列してくれるってわけさ。
では早速それを実験してみましょうかいなっと。
(赤ハロメニューのレイアウトでも設定できるよん)
■作業はワークスペースちゃんで
これまではブラウザ上でクラスを作りまくってきたんだけど、
今回はクラスは作らずにWorkSpaceを使っていくつかレイアウトの仕方を
試してみようとおもうです。
ってことで「Tools」フラップから「WorkSpace」をだしまする。
■オーナーでござる。
土台となる黄色の四角形のモーフ(オーナー)を出してみます。
「WorkSpace」には以下のソースコードを入力するです。
--------------------------------------------
rm _ RectangleMorph new.
rm extent: 200@100.
rm color: Color yellow.
rm borderWidth: 1.
rm openInWorld
--------------------------------------------
コードを全て選択してドゥ〜イット!!します。
Alt + d ( Cmd + d )
まあ、こんなかんじでインスタンスが出てきます。
このオーナーの中に小さな白い四角形のサブモーフを20個入れます。
順番とがわかりやすいように各サブモーフにはナンバーをふります。
(「StringMorph」を各白い四角形のサブモーフにしてます)
コードを追加しまする。
--------------------------------------------
rm _ RectangleMorph new.
rm extent: 200@100.
rm color: Color yellow.
rm borderWidth: 1.
i _ 20.
20 timesRepeat: [ r _ RectangleMorph new.
r color: Color white.
r extent: 20@15.
r borderWidth: 1.
r borderColor: Color red.
s _ StringMorph new.
s contents: i asString.
i _ i - 1.
r addMorph: s.
rm addMorph: r ].
rm openInWorld
--------------------------------------------
コードを全て選択してドゥ〜イット!しまする。
Alt + d ( Cmd + d )
「1」のサブモーフが1つしかないように見えまするが他のサブモーフは
同じ位置に重なって配置されているので見えないだけだよん。
■レイアウトしましょう。
さて実際にここでレイアウト機能を使ってみることにするです。
コードを追加します。レイアウトを使うよって事ですな。
--------------------------------------------
rm _ RectangleMorph new.
rm extent: 200@100.
rm color: Color yellow.
rm borderWidth: 1.
rm layoutPolicy: TableLayout new.
i _ 20.
20 timesRepeat: [ r _ RectangleMorph new.
r color: Color white.
r extent: 20@15.
r borderWidth: 1.
r borderColor: Color red.
s _ StringMorph new.
s contents: i asString.
i _ i - 1.
r addMorph: s.
rm addMorph: r ].
rm openInWorld
--------------------------------------------
Alt + d ( Cmd + d )
ほ〜い!重なってたサブモーフがでてきましたね。
これがデフォルトのレイアウトってことかにゃ?
■向きの設定
まずは配置する方向の設定をしてみるです。
「並べる方向」は左から右へ、「折り返す方向」は上から下へ
ってかんじで設定しまする。
--------------------------------------------
rm _ RectangleMorph new.
rm extent: 200@100.
rm color: Color yellow.
rm borderWidth: 1.
rm layoutPolicy: TableLayout new.
rm listDirection: #leftToRight.
rm wrapDirection: #topToBottom.
i _ 20.
20 timesRepeat: [ r _ RectangleMorph new.
r color: Color white.
r extent: 20@15.
r borderWidth: 1.
r borderColor: Color red.
s _ StringMorph new.
s contents: i asString.
i _ i - 1.
r addMorph: s.
rm addMorph: r ].
rm openInWorld
--------------------------------------------
Alt + d ( Cmd + d )
まあ、これがいっちばん良く使うタイプだすな。
●いろいろ変えたものをみてみましょうか。
「並べる方向」 ⇒ 右から左へ、「折り返す方向」 ⇒ 上から下へ。
--------------------------------------------
rm listDirection: #rightToLeft.
rm wrapDirection: #topToBottom.
--------------------------------------------
「並べる方向」 ⇒ 左から右へ、「折り返す方向」 ⇒ 下から上へ。
--------------------------------------------
rm listDirection: #leftToRight.
rm wrapDirection: #bottomToTop.
--------------------------------------------
「並べる方向」 ⇒ 右から左へ、「折り返す方向」 ⇒ 下から上へ。
--------------------------------------------
rm listDirection: #rightToLeft.
rm wrapDirection: #bottomToTop.
--------------------------------------------
「並べる方向」 ⇒ 上から下へ、「折り返す方向」 ⇒ 左から右へ。
--------------------------------------------
rm listDirection: #topToBottom.
rm wrapDirection: #leftToRight.
--------------------------------------------
「並べる方向」 ⇒ 下から上へ、「折り返す方向」 ⇒ 左から右へ。
--------------------------------------------
rm listDirection: #bottomToTop.
rm wrapDirection: #leftToRight.
--------------------------------------------
「並べる方向」 ⇒ 上から下へ、「折り返す方向」 ⇒ 右から左へ。
--------------------------------------------
rm listDirection: #topToBottom.
rm wrapDirection: #rightToLeft.
--------------------------------------------
「並べる方向」 ⇒ 下から上へ、「「折り返す方向」 ⇒ 右から左へ。
--------------------------------------------
rm listDirection: #bottomToTop.
rm wrapDirection: #rightToLeft.
--------------------------------------------
▲PREV ------ ● TOP ● ------ NEXT▼
■ MEMO ■
Sunday, 14 March 2004, 5:06:19 pm
「並べる方向」と「折り返す方向」がけっこうこんがらがっちゃうんだよね。--thoru
Links to this Page
- FunFunFunMorphic last edited on 25 March 2004 at 5:25:44 am by tk0005-202x210x196x109.ap-TK.usen.ad.jp
- funfunfun30 last edited on 24 July 2013 at 4:02:56 am by localhost
- funfunfun32 last edited on 30 November 2009 at 9:49:10 am by localhost.localdomain