From: satoshi@... Date: 2010-09-20T23:28:11+09:00 Subject: Re: Learning Shoes - Have some questions! Hi Ruby Student, > I tried subscribing to shoes@librelist.org but it was impossible! `.org`? I'm not sure it's okay or not. But according to this Librelist web page: http://librelist.com/ You should send your email to shoes@librelist.com. Try again and if you couldn't subscribe. You may be better to send your mail to meta@librelist.com like this: http://librelist.com/browser//meta/2010/7/28/cannot-subscribe-flask-librelist-com/ > I am attaching my image so you can analyze it and comment on it. > The image was rejected by the ruby forum. Could you upload the image to some free web site? > 1 - > how can I tell Shoes to place them on the center of the pane, > without having to specify margin? How about the following? Shoes.app do five_buttons_width = (46 + 2) * 5 seven_buttons_height = (40 + 2) * 7 flow :width => five_buttons_width, :left => (width - five_buttons_width) / 2, :top => (height - seven_buttons_height) / 2 do %w(7 8 9 + sin 4 5 6 - cos 1 2 3 * sinh tan cot 0 ln / cosh Exp log tanh = Mod n! sqrt x*2 x*y % e Pi Clr Ce ).each do |btn| button(btn, :width => 46, :height => 46){} end end end > 2 - > using a stack to keep items within a flow one on top of the other Oh, good idea. But if you need two groups of radio buttons, you should add something like this: Shoes.app do flow :margin => 6 do radio :a; para strong("512b BK") radio :a; para strong("1K BK") radio :a; para strong("MB") radio :a; para strong("GB") radio :a; para strong("TB") stack radio :b; para strong("Deg") radio :b; para strong("Rad") radio :b; para strong("Grad") radio :b; para strong("DEC") radio :b; para strong("HEX") radio :b; para strong("BIN") end end Or simply use two flows in one stack like this: Shoes.app do stack do flow :margin => 6 do radio; para strong("512b BK") radio; para strong("1K BK") radio; para strong("MB") radio; para strong("GB") radio; para strong("TB") end flow :margin => 6 do radio; para strong("Deg") radio; para strong("Rad") radio; para strong("Grad") radio; para strong("DEC") radio; para strong("HEX") radio; para strong("BIN") end end end > 3 - > I tried to use the Pi symbol and the square root symbol and > other symbols as caption/lable for the corresponding buttons Need to add some encoding like this: Shoes.app do root = [8730].pack 'U' pi = [928].pack 'U' button root.force_encoding "UTF-8" button pi.force_encoding "UTF-8" end You can find unicode number on this website: http://ideas.paunix.org/utfrefcon.htm > 4 - > What is the difference between para and caption? Almost the same, except font size. Look at Shoes manual: http://shoes.heroku.com/manual/TextBlock.html > 5 - > How can I reduce the space between flows? Umm,.. I'm not sure what you want to do. Does the following help you? Shoes.app do flow{para 'aaa'} flow{para 'aaa'} flow(height: 20){para 'aaa'} flow(height: 20){para 'aaa'} end Cheers, ashbb