Hello again from the heart of the endless questions :)

I have a window containing two boxes, a left one, and a right one. These boxes 
are supposed to be resized by subclassing the Fl_Window and reimplemting the 
handle() method such that when the mouse is pushed on the borderline between 
the two a variable is set to DRAG state and and subsequent drag events 
depending on that variable resizes the two boxes and so on. Not to fotget: I 
have called the window's resizable() method with the right box as parameter so 
that the window does that part automatically.

I have sub-classed Fl_(Double_)Window implementing (for now) only the 
constructor and the handle() method. The handle() method checks the event for 
any of FL_PUSH, FL_DRAG, and FL_RELEASE, and if matched it does do_callback() 
and returns the result from a subsequent call to Fl_Window::handle(event).

The callback, depending on event, checks if the mouse was on the borderline 
between the two Boxes I use for testing, and does some housekeeping to make 
sure the mechanism for dragging the borderline to resize the boxes works. I'm 
sure there is no flaw in the logics of my callback handler. But I'm not exactly 
sure that my calls to resize() are proper or if resize() has some kind of bug 
(I doubt the latter).

Now the propblem is that as soon as I drag the window (not the borderline 
between the boxes) the boxes immediately resize back to the last dimensions 
before this first window resize. I really do have no clue at this point what 
can be the cause for this, but clearly I'm not either subclassing properly or 
I've gotten my event management at handle() level "pretty" wrong.

Any help for a solution will be severely appreciated, thanks!
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to