Moslem Kazemi wrote:
> Hi fltkers,
>
> I am a newbie! :) and am trying to see if fltk would suit my application
> needs. I would appreciate your help re. the following question.
Welcome to the FLTK world !
> I try to pose my question through a simple example as follows:
> Let's say I have a fltk window with a text output widget and a member
> variable which itself is a class, say a timer.
Hmm, a member variable of what? If you mean the window, then this would
probably be called a "child (widget)" of the window in FLTK, unless you
want to derive your own window class, which would not be necessary in
this case.
> I would like to see what is the proper way that I could access/update the
> value of the text output widget from within the methods of the class timer?
> Should I pass a pointer of the text widget to the timer class?
Yes, I think so. This would be the easiest way to do what you want. Of
course this could also be a global variable, but passing a pointer to
your own class (and saving it as a member variable) would do it.
> Is there way that I could post a message from within the methods in timer
> class to the main window and ask to update the widget value?
There is no signal/slot mechanism or similar in FLTK, but maybe you can
use the callback mechanism, something like:
text_output = new Fl_Text_Output(...); // your text output widget
timer = new MyTimerClass (...); // your timer class (*)
timer->callback(my_callback,text_output);
(*) the timer class would need to be derived from a FLTK widget class
for this to work.
This "connects" your callback function to the timer widget, and your
callback can access the text output widget via its second argument:
void my_callback (Fl_Widget *w, void *p) {
// w = pointer to your timer class
text_output = (Fl_Text_Output *)p;
...
}
... and as Roman wrote, you can also use FLTK's internal timer events if
you like. The mechanism is similar: you can set the callback argument
you need via Fl::add_timeout().
Albrecht
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk