+// Window creation/destruction events: the first is sent as soon as window is
+// created (i.e. the underlying GUI object exists), but when the C++ object is
+// fully initialized (so virtual functions may be called). The second,
+// wxEVT_DESTROY, is sent right before the window is destroyed - again, it's
+// still safe to call virtual functions at this moment
+/*
+ wxEVT_CREATE
+ wxEVT_DESTROY
+ */
+
+class WXDLLEXPORT wxWindowCreateEvent : public wxEvent
+{
+ DECLARE_DYNAMIC_CLASS(wxWindowCreateEvent)
+
+public:
+ wxWindowCreateEvent(wxWindow *win = NULL);
+
+ wxWindow *GetWindow() const { return (wxWindow *)GetEventObject(); }
+};
+
+class WXDLLEXPORT wxWindowDestroyEvent : public wxEvent
+{
+ DECLARE_DYNAMIC_CLASS(wxWindowDestroyEvent)
+
+public:
+ wxWindowDestroyEvent(wxWindow *win = NULL);
+
+ wxWindow *GetWindow() const { return (wxWindow *)GetEventObject(); }
+};
+
+#endif // wxUSE_GUI
+
+// Idle event
+/*
+ wxEVT_IDLE
+ */
+
+class WXDLLEXPORT wxIdleEvent : public wxEvent
+{
+ DECLARE_DYNAMIC_CLASS(wxIdleEvent)
+
+public:
+ wxIdleEvent()
+ { m_eventType = wxEVT_IDLE; m_requestMore = FALSE; }
+
+ void RequestMore(bool needMore = TRUE) { m_requestMore = needMore; }
+ bool MoreRequested() const { return m_requestMore; }
+
+ void CopyObject(wxObject& obj) const;
+
+protected:
+ bool m_requestMore;
+};
+