> On 02/28/13 23:58, edgar wrote:
> > Is it possible to send text typed into an Fl_Input box to another box 
> > without using
> > a callback via an enter button?
>
>       Going to assume you meant not to have the word "without" in the above.
>
> > I would like to have the user type an answer into an Input box and then hit 
> > the enter key on the
> > keyboard.
>
>       Sure, just use set the callback() for the input widget to send whatever
>       the user typed to the other box. eg:
>
> #include <FL/Fl.H>
> #include <FL/Fl_Window.H>
> #include <FL/Fl_Input.H>
> #include <FL/Fl_Box.H>
> //
> // Demonstrate Fl_Input to use Enter key to trigger callback to change 
> window's title - erco 3/1/13
> //
> void ChangeTitle(Fl_Widget *w, void *data) {
>     Fl_Input  *in  = (Fl_Input*)w;
>     Fl_Window *win = (Fl_Window*)data;
>     win->label(in->value());                    // send value of Fl_Input to 
> window's title
> }
> int main(int argc,char **argv) {
>     Fl_Window *win = new Fl_Window(300,100);
>     Fl_Input  *in  = new Fl_Input(140,10,150,25,"Type something:");
>     in->callback(ChangeTitle, (void*)win);
>     in->when(FL_WHEN_ENTER_KEY);
>     win->show();
>     return(Fl::run());
> }
>
> > Also, if I am wanting to loop this series of events, how would I go about 
> > this
> > if the Input box and the other text box are dynamically allocated? Should 
> > they
> > be destroyed and recreated with each iteration to avoid memory leaks?
>
>       No, just hide() and show() them as needed.
>
>       If these widgets are in a dialog, then just hide() and show() the dialog
>       window, and leave the widgets within allocated.
Thanks!  I will give this a try.  I posted my algorithm and starter code for a 
little program. You guys are great!
_______________________________________________
fltk mailing list
fltk@easysw.com
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to