On 3 May 2012, at 20:40, dirac wrote:

> Hi guys,
> let's say I have a window with a button in it. The button, if clicked, 
> creates a sub window:
> 
> ---
> void button_callback(...) {
>  new Fl_Window(...);
> }
> ---
> 
> When I close the 'master' window (the one which contains the button) I would 
> like to delete all the other subwindows. Is there a way to do it without 
> keeping a pointer to all the child windows?
> 
> Many thanks in advance!


The answer is probably yes, but what you have to do depends on what you mean by 
"sub window":

- if you mean a window actually embedded in another "main" window as a child 
widget of the "main" window then the "main" window will act as a container and 
deleting the "main" window will traverse the list of children and destroy them 
all too, automatically. So no other action is required by you.

- if you mean another separate window, then note that fltk already keeps a list 
of all the active windows, and you can traverse that list by  using 
Fl::first_window() and hiding each window that it returns, until it comes up 
null.

However, that will find and close *all* the windows in your app - if you only 
want to close a specific subset, you might be best to maintain you own list 
after all...




_______________________________________________
fltk mailing list
fltk@easysw.com
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to