Hi Devyn,
Thank you for the confirmation.
That's the same as on my Windows XP. Strange...
> But still, start does not work for the dynamic creation
> of objects.
Yes, also the same. :(
And I attempted the following snippet using "50%".
It works except dynamic creation. I need to resize or
reappear window for displaying the message.
Shoes.app do
s = flow :top => "50%", :left => "50%"
start do
para "Stack is at (#{s.top}, #{s.left})"
end
end
Umm...
ashbb
On Sun, May 24, 2009 at 7:26 AM, Devyn Cairns <[email protected]>wrote:
> But if you change 0.5 to 10, it works, strangely enough.
>
> But still, start does not work for the dynamic creation of objects.
>
> On Sat, May 23, 2009 at 3:24 PM, Devyn Cairns <[email protected]>
> wrote:
> > First of all, you have to change the "50%" to 0.50. Otherwise it doesn't
> work.
> > After that, it still reports 0,0. On Linux GTK.
> >
> > On Fri, May 22, 2009 at 11:06 PM, Satoshi Asakawa <[email protected]>
> wrote:
> >> Hi Devyn,
> >>
> >> Thanks for the reply. :)
> >>
> >> Does the following snippet work well on your pc/mac?
> >>
> >> Shoes.app do
> >> o = oval :top => "50%", :left => "50%"
> >> start do
> >> para "oval is at (#{o.top}, #{o.left})"
> >> end
> >> end
> >>
> >> -- ashbb
> >>
> >> On Sat, May 23, 2009 at 2:10 PM, Devyn Cairns <[email protected]>
> >> wrote:
> >>>
> >>> Oh, well read the manual: Shoes thinks of percentages in decimals from
> >>> 0.0 to 1.0 (0% to 100%). 50% = 0.5 in Shoes.
> >>>
> >>> On Fri, May 22, 2009 at 10:10 AM, Satoshi Asakawa <[email protected]>
> >>> wrote:
> >>> > Hi _why,
> >>> >
> >>> > Thank you for the explanation.
> >>> > I understood to need `start` block!
> >>> >
> >>> > But still a bit confusing for the following behavior. :(
> >>> >
> >>> > Shoes.app do
> >>> > o = oval :top => "50%", :left => "50%"
> >>> > start do
> >>> > para "oval is at (#{o.top}, #{o.left})"
> >>> > end
> >>> > end
> >>> >
> >>> > Run the above snippet, it didn't work and I got the error
> >>> > on Shoes console window:
> >>> >
> >>> > Error in C:/Program Files/Common Files/Shoes/0.r1134/lib/shoes.rb
> line
> >>> > 394 :
> >>> > can't convert String into Integer
> >>> >
> >>> > Then replaced "50%" to 0.5.
> >>> > It works but displayed `oval is at(0, 0)`.
> >>> >
> >>> > Then again replaced "50%" to 100.
> >>> > It works and displayed `oval is at(100, 100)`.
> >>> >
> >>> > Umm... I'm using Windows XP and Shoes 2 (0.r1134).
> >>> >
> >>> > Regards,
> >>> > ashbb
> >>> >
> >>> >
> >>> > On Sat, May 23, 2009 at 12:50 AM, _why <[email protected]>
> wrote:
> >>> >>
> >>> >> On Fri, May 22, 2009 at 12:04:35PM +0000, Ehsanul Hoque wrote:
> >>> >> > Ahh, well I did expect it to work like that, hmmm... It still
> >>> >> > could be justified I suppose, it's really upto _why whether
> >>> >> > it's a bug, or just a "feature", just how it works.
> >>> >>
> >>> >> Until the image is drawn, you can't really know `top` and `left`.
> >>> >>
> >>> >> For instance, let's say you're using percentages:
> >>> >>
> >>> >> Shoes.app do
> >>> >> o = oval :top => "50%", :left => "50%", :radius => 20
> >>> >> para "Oval is at (#{oval.top}, #{oval.left})"
> >>> >> end
> >>> >>
> >>> >> Until we compute the window size, the coordinates can't be shown.
> >>> >> So, what you do is get the coordinates in the `start` block:
> >>> >>
> >>> >> Shoes.app do
> >>> >> o = oval :top => "50%", :left => "50%", :radius => 20
> >>> >> start do
> >>> >> para "Oval is at (#{oval.top}, #{oval.left})"
> >>> >> end
> >>> >> end
> >>> >>
> >>> >> Because the start block runs after the first paint.
> >>> >>
> >>> >> It still feels like a bug, but I'm not sure if I want to recompute
> >>> >> every slot each time a new element is added. I will probably have
> >>> >> `top` and `left` and `width` and so on return exceptions if you
> >>> >> try to use them before the window is painted... I don't know.
> >>> >>
> >>> >> _why
> >>> >
> >>> >
> >>>
> >>>
> >>>
> >>> --
> >>> ~devyn
> >>
> >>
> >
> >
> >
> > --
> > ~devyn
> >
>
>
>
> --
> ~devyn
>