Not useless at all, I hadn't realized you can call click on a slot. This seems 
to work in my test, even if scrolling beyond the app's end, so I'll have to try 
it in my actual app. Thanks :)

And it isn't surprising you didn't think of it when you take into account the 
fact that you knew about calling click() on a slot directly. If I knew that, I 
wouldn't have thought of this either, wouldn't have had to. :)


> Subject: Re: Problem detecting click inside slot
> From: [email protected]
> To: [email protected]
> Date: Tue, 14 Jul 2009 00:47:34 -0700
> 
> You know, I don't usually like to give useless replies like this, but here 
> goes:
> 
> I can't believe I never thought of that. Seriously.
> 
> Anyway:
> 
> I think you can do this:
> 
> Shoes.app do
>   @para = stack { para "HI" }
>   @para.click { @para.clear { para Time.now.to_s } }
> end
> 
> 
> That should work. If it doesn't it's a bug.
> 
> On Mon, Jul 13, 2009 at 3:47 PM, Ehsanul Hoque<[email protected]> wrote:
> > To detect a click inside a slot, I've been using the following type of
> > pattern, which mostly works fine:
> >
> > stack do
> >   # Fill stack with stuff
> >   hover { click { para "I actually do something more useful than just a
> > para" } }
> > end
> >
> > But the click isn't detected if the slot is below the end of the app window
> > and you have to scroll down to see it. If it's visible without scrolling,
> > then the click is detected fine. A shoes bug I guess, both raisins and
> > policeman. Test the bug with following code:
> >
> > Shoes.app do
> >   def create
> >     flow( :height => 100, :width => 1.0 ) do
> >       border black
> >       hover do |s|
> >         click { s.append { para "Clicked!" } }
> >       end
> >     end
> >   end
> >   10.times { create }
> > end
> >
> > First thought the hover isn't working, but replacing the above hover call
> > with the following shows it's not the case:
> > hover { |s| s.append { para "Hovered!" } }
> >
> > Any solutions/workarounds? I wouldn't mind another way to catch clicks
> > inside a slot.
> >
> > - Ehsan
> >
> > ________________________________
> > Windows Live™ Hotmail®: Spread the word when you add celeb photos to your
> > e-mails. Check it out.
> 
> 
> 
> -- 
>     ~devyn

_________________________________________________________________
Windows Live™: Keep your life in sync. 
http://windowslive.com/explore?ocid=TXT_TAGLM_WL_BR_life_in_synch_062009

Reply via email to