> On 06.02.2012 12:30, M3taSpl0it wrote: > > I appreciate the time and help of yours but still confused. I'm fairly good > > in C++ but eager to know in deep the working of fltk. > > > >>> I want to know when some event occurs, the information is sent to FLTK > >>> window, Which has two version of handle() and handle(int x) (I'm not even > >>> sure what they do, just know they get/set the events). I am also not sure > >>> that every widget also got the same handle() versions?. Which in turn > >>> calls the some other functions to call my call_back() to handle the event > >>> which was set by my like FL_widget_mine->callback(Handle_it); > >> > >> Each (widget) class has its own handle(int event) method. All events > >> are delivered to the widget's handle method. The widget (class) then > >> does some actions or ignores the event. Eventually, the event() method > >> calls the callback, if something happened that is "important enough" > >> to call the user's callback function. For an input widget, this is > >> when the contents was changed, and/or the widget is left (e.g. with > >> a mouse click on another widget or by typing tab). You can change > >> this for any widget by using the when() method in a limited way, > >> depending on the class's ability (see the particular docs). > > > > "All events are delivered to the widget's handle method". Please be more > > precise with working. I want to know Who deleviers the event to widget and > > using what syntax, handle() or handle(int) ? > > Where did you find a handle() method, as opposed to handle(int event)? > > I don't think there is one as a class method, but only as an internal > function in the FLTK core. But maybe I'm wrong... > > Anyway, to answer your question: When you call Fl::run(), you establish > the FLTK event loop that waits for OS events (I won't be more precise > here, because this is an OS dependent beast). Whenever FLTK (the core) > receives an event, it usually also gets a window id and sends the event > to the window specified by the OS. There are exceptions for modal > windows, but this is not important here. Eventually the Fl_Window's > handle(int event) method is called. > > Now the window's handle method (I always mean handle(int event) here > and later) dispatches the event and decides what to do. Usually this > will call its parent (Fl_Group) class's handle method. Fl_Group will > then either handle the event directly, or determine to which child the > event is related and call this child's handle method. If this child is > an Fl_Group (derived) widget, this will recursively go on. > > As I wrote before, eventually a widget may decide that the callback > should be called and calls the callback function registered by the > user. > > Albrecht
I really really really appreciate your efforts to help me and others here. Thanks a lot :) _______________________________________________ fltk mailing list fltk@easysw.com http://lists.easysw.com/mailman/listinfo/fltk