- Show busy cursor in wxLaunchDefaultBrowser and add wxBROWSER_NOBUSYCURSOR.
- Added wxFlexGridSizer::Is{Row,Col}Growable() (Marcin Wojdyr).
- Added "enabled" and "hidden" attributes to radio box items in XRC.
+- wxWindow::IsBeingDeleted() now returns true not only if the window itself is
+ marked for destruction but also if any of its parent windows are.
wxGTK:
@library{wxcore}
@category{FIXME}
- @see @ref overview_eventhandling "Event handling overview",
+ @see @ref overview_eventhandling "Event handling overview",
@ref overview_windowsizing "Window sizing overview"
*/
class wxWindow : public wxEvtHandler
Default constructor
*/
wxWindow();
-
+
/**
Constructs a window, which can be a child of a frame, dialog or any other
non-control window.
container windows
*/
virtual bool AcceptsFocusRecursively() const;
-
+
/**
Adds a child window. This is called automatically by window creation
functions so should not be required by the application programmer.
*/
virtual void DestroyChildren();
+ /**
+ Returns true if this window is in process of being destroyed.
+
+ The top level windows are not deleted immediately but are rather
+ scheduled for later destruction to give them time to process any
+ pending messages, see Destroy() description.
+
+ This function returns @true if this window, or one of its parent
+ windows, is scheduled for destruction and can be useful to avoid
+ manipulating it as it's usually useless to do something with a window
+ which is on the point of disappearing anyhow.
+ */
+ bool IsBeingDeleted() const;
+
/**
Disables the window. Same as @ref Enable() Enable(@false).
it matches itself.
*/
wxWindow* FindWindow(long id) const;
-
+
/**
Find a child of this window, by name. May return @a this if
#endif
}
+bool wxWindowBase::IsBeingDeleted() const
+{
+ return m_isBeingDeleted ||
+ (!IsTopLevel() && m_parent && m_parent->IsBeingDeleted());
+}
+
void wxWindowBase::SendDestroyEvent()
{
wxWindowDestroyEvent event;