From: Karen M. <mc...@gm...> - 2006-02-23 12:26:20
|
Hi, I looked in vgui/impl and a vgui_DESTROY event is dispatched when a window is destroyed using GToK but not in the other implementations. If yo= u are using MFC then there are no vgui_DESTRY events at all so it wouldn't work. You probably can fix this by adding something like: dispatch_to_tableau(vgui_DESTROY); to the destructor ~vgui_mfc_adaptor() in vgui/impl/vgui_mfc_adaptor.cxx. If you do fix this could you post the solution to the VXL mailing lists so it can be fixed properly. Thanks, Karen McGaul On 2/23/06, GrimBlasPhemy <gri...@gm...> wrote: > > I'm trying to implement a window that removes itself from a list when it > is destroyed (eg. closed with the close button in the top right corner of > the window :) ) > > in this window I have code just like in the "example_multiple_windows" > > class example_flim_tableau : public vgui_tableau { > bool handle(vgui_event const& e) { > if (e.type =3D=3D vgui_DESTROY) { > vgui_dialog dialog("Farewell!"); > dialog.message("I am about to die!\nLast chance to save data would > go here..."); > dialog.set_modal(true); > dialog.ask(); > return true; > } > else > return false; > } > vcl_string type_name() const { return "example_flim_tableau"; } > > ... > > vgui_shell_tableau_new shell_tab(sub[i].tab, flim_tab); > sub_window->get_adaptor()->set_tableau(shell_tab); > sub_window->show(); > > but when I close the window it doesn't do anything, it even doesn't come > inside the handle method. > is there another way to catch this kind of event? or isn't this possible? > > TIA > > -- > Grtz > Rowin Heymans > |