The Green Shoes Manual 1.1.357

Common Methods

Green Shoesでは少しのメソッドがすべての小さな要素によって共有されてます。 移動、表示、非表示。要素の削除。基本的でとても一般的なことです。 この一覧はそれらの一般的なコマンドを含んでいます。

すべてのメソッドの中でもっとも一般的なメソッドの一つはstyleです。 (これはスロットのstyleメソッドとしてもカバーされます。)

 Shoes.app do
   stack do
     # Background, text and a button: 
     # both are elements!
     @back  = background green
     @text  = banner "A Message for You, Rudy"
     @press = button "Stop your messin about!"
     # And so, both can be styled.
     @text.style size: 12, 
       markup: fg(@text.text, red), margin: 10
     @press.style width: 400
     @back.style height: 10
   end
 end

個別のコマンドについては、左にあるElementsセクションの他のリンクを見てください。 ビデオファイルの中断または再生がしたいなら、ビデオの中断や再生は特異なので、 Videoセクションを確認してください。中断するボタンという感じではありません。

要素を移動して置き換えます。しかし周囲のレイアウトは変更しません。 特にアニメーションしている間でも要素の位置を保持したいなら、これは微妙なアニメーションに 重要です。おそらく素早く震えるボタンや視界にスロットを滑り込ませるような。

要素を置き換えるとき、それが配置されている左上の角から相対的に移動します。 そのため、要素が(20, 40)の座標にあり、2ピクセル左と6ピクセル上に置き換えるなら、 結果的に(22, 46)の座標となります。

 # Not yet available
 Shoes.app do
   flow :margin => 12 do
     # Set up three buttons
     button "One"
     @two = button "Two"
     button "Three"
     # Bounce the second button
     animate do |i|
       @two.displace(0, (Math.sin(i) * 6).to_i)
     end
   end
 end

他の2つのボタンは動かずにじっとしていますが、2番目のボタンが飛び跳ねることに 注目してください。この状況で普通のmoveを使うなら、2番目のボタンはレイアウトから 取り除かれて、2番目のボタンが全くそこにないかのように振る舞うでしょう。 (moveの例を見てください。)

特に注意してください:表示される要素の座標を得るためにlefttopメソッドを 利用するなら、通常の座標を得るだけです。それは置き換えが行われていないかのようです。 置き換えは即座のアニメーションだけを目的とします。

注意: Green Shoesはdisplaceメソッドをサポートしていません。

height() » a number

エレメントの垂直のピクセルによるスクリーンサイズです。画像の場合には、これは画像全体の サイズではありません。これは要素の現在表示されている高さです。

150x150ピクセルの画像を持っていて50ピクセルに幅を設定するなら、このメソッドは50を 返します。

例や他の解説のためにwidthメソッドも見てください。

hide() » self

要素が見えないように、非表示にします。showtoggleも 見てください。

left() » a number

要素の左端の位置をピクセルで得ます。

スロットの範囲内でピクセルによって指定した位置に要素を移動します。 その要素はスロットの内部にあります。しかし、もはやスロットの他の要素と一緒に 積み上げられたりフローされたりしません。その要素は絶対的な位置指定ではなく、 自由に浮かんでいます。

 Shoes.app do
   # Set up three buttons
   b = button "One"
   @two = button "Two"
   button "Three"
   # Bounce the second button
   animate do |i|
     @two.move(33, 33 + (Math.sin(i) * 6).to_i)
   end
 end

3番目のボタンがその位置にスライドすることを許しており、2番目のボタンは特定の場所に 動かされてします。要素を別の場所に変更しないで移動したいなら、 displaceメソッドを見てください。

parent() » a Shoes::Stack or Shoes::Flow

その要素のコンテナのオブジェクトを得ます。反対のことを行うためにはスロットの contentsも見てください:コンテナの要素を得ます。

remove() » self

スロットから要素を削除します。(他の言葉で言い換えると:ガベージに投げます。) その要素はもう表示されません。

show() » self

要素が非表示なら、表示します。hidetoggleも見てください。

style() » styles

ハッシュの形で、要素に適用するフルセットのスタイルを得ます。widthheighttopのようなメソッドは特定のピクセルでのサイズを返しますが、style[:width]または style[:top]を利用すると、初めの設定を得ることができます。 ("100%"の幅または"10px"のトップのような)

 Shoes.app do
   # A button which take up the whole page
   @b = button "All of it", 
     width: width, height: height
   # When clicked, show the styles
   @b.click { alert(@b.style.inspect) }
 end
style(styles) » styles

要素のスタイルを変更します。これは要素の:width:height、テキストのフォントの :size、形状の:stroke:fillを含みます。または他の多くのスタイルの設定もです。

toggle() » self

要素が表示されているなら非表示にします。または要素が非表示なら表示します。

top() » a number

要素の上端のピクセルの位置を得ます。

width() » a number

要素の全体の大きさの幅をピクセルで得ます。 このメソッドはいつも正確なピクセルサイズを返します。 画像の場合は、画像の全幅ではなく、表示されているサイズだけです。 詳しくはheightメソッドも見てください。

また、120ピクセルの幅のスタック内に1.0の幅の要素を作成したなら、120が返されます。 style[:width]を呼んだなら、120を得ます。

 Shoes.app do
   stack width: 120 do
     @b = button "Click me", width: 1.0 do
       alert "button.width = #{@b.width}\n" +
         "button.style[:width] = " +
         "#{@b.style[:width]}"
     end
   end
 end

幅を設定するためには、styleメソッドをもう一度調べる必要があります。 そして、150ピクセルの幅にボタンを設定するには:@b.style(width: 150)

Next: Background