From: Ruby Student Date: 2010-09-26T05:18:29+09:00 Subject: Re: Learning Shoes - Have some questions! --001485e5c09c9af29c04911b3296 Content-Type: text/plain; charset=ISO-8859-1 I truly appreciate the help from everyone. *Couple more questions:* On Mon, Sep 20, 2010 at 10:28 AM, wrote: > 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 *Where these numbers, (46 + 2) * 5 and (40 + 2) * 7 come from? I guess the 46 is the width of my buttons, but what about the hight, which I also defined as 46?* > > 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 > *What is the effect of the :a and :b flags? I noticed the actual radio button very closed to the previous label.* > 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 *Sorry, but I still could not get the pi symbol!* > > 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 > > > Thank you -- Ruby Student --001485e5c09c9af29c04911b3296--