> On 30.03.2011 17:42, J P wrote:
>
> > I have a window with a bunch of Fl_Input fields, and am trying to determine 
> > how I can bind a callback to a Fl_Input that will be called when a shortcut 
> > takes place and that particular Fl_input has keyboard focus.
> >
> > So..
> > 1) User puts keyboard cursor in input field
> > 2) User hits ctrl+v
> > 3) Callback takes place, passing widget with keyboard focus.
>
> So this is the part that works, right?
>
> > My other option is to have a Fl_menu keyboard shortcut that will perform a 
> > callback passing the whole window and all its members, and then I will 
> > determine which Fl_input has keyboard focus from 'this' and perform the 
> > appropriate function.  But I can't see a Fl_Input public function that 
> > returns whether not the widget has keyboard focus.
> >
> > Hope this makes sense. Thanks for the help/advice!
>
> You can get the current focus widget with
>
>    Fl_Widget fw = Fl::focus();
>
> and compare it with your list of Fl_Input fields, if you have such
> a list, but from your question above, I assume yes. Take care that
> it is not another widget type that has the focus (a button can also
> have the focus).
>
> <http://www.fltk.org/doc-1.3/group__fl__events.html#ga7f0e9836db43268979e0b3a999583b7f>
>
> Another way would be to subclass Fl_Input and add a method that
> does what you need, but that's probably not easier.
>
> Albrecht

Thanks Albrecht!  The approach using Fl:focus() worked... just a heads up it 
returns a ptr, so Fl_Widget* fw = Fl::focus().

I have a list of my Fl_Input ptrs, so I just do a simple comparison to see if 
fw and an item in my list point to the same place. Thx.

_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to