]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/window.h
added and documented wxCOMPILE_TIME_ASSERT and wxASSERT_MIN_BITSIZE
[wxWidgets.git] / include / wx / window.h
index b84b83dd60300beac811eb11a3f9ca32eebce7e5..0fd38143f05b53299703ccf4477b359182f14e7e 100644 (file)
@@ -403,6 +403,13 @@ public:
     void PushEventHandler( wxEvtHandler *handler );
     wxEvtHandler *PopEventHandler( bool deleteHandler = FALSE );
 
+        // find the given handler in the event handler chain and remove (but
+        // not delete) it from the event handler chain, return TRUE if it was
+        // found and FALSE otherwise (this also results in an assert failure so
+        // this function should only be called when the handler is supposed to
+        // be there)
+    bool RemoveEventHandler(wxEvtHandler *handler);
+
     // validators
     // ----------
 
@@ -838,6 +845,7 @@ protected:
     bool                 m_themeEnabled;
 
 protected:
+
     // common part of all ctors: it is not virtual because it is called from
     // ctor
     void InitBase();
@@ -887,8 +895,8 @@ protected:
     virtual wxHitTest DoHitTest(wxCoord x, wxCoord y) const;
 
     // capture/release the mouse, used by Capture/ReleaseMouse()
-    virtual void DoCaptureMouse();
-    virtual void DoReleaseMouse();
+    virtual void DoCaptureMouse() = 0;
+    virtual void DoReleaseMouse() = 0;
 
     // retrieve the position/size of the window
     virtual void DoGetPosition( int *x, int *y ) const = 0;
@@ -928,10 +936,19 @@ protected:
     // a toolbar that it manages itself).
     virtual void AdjustForParentClientOrigin(int& x, int& y, int sizeFlags);
 
+#ifdef __WXPM__
+    // extra OS/2 layout processing
+    virtual void OS2Layout(int width, int height) { };
+#endif
+
 private:
+
     // contains the last id generated by NewControlId
     static int ms_lastControlId;
 
+    // the stack of windows which have captured the mouse
+    static struct WXDLLEXPORT wxWindowNext *ms_winCaptureNext;
+
     DECLARE_ABSTRACT_CLASS(wxWindowBase)
     DECLARE_NO_COPY_CLASS(wxWindowBase)
     DECLARE_EVENT_TABLE()
@@ -960,6 +977,14 @@ private:
         #define sm_classwxWindowGTK sm_classwxWindow
     #endif // wxUniv
     #include "wx/gtk/window.h"
+#elif defined(__WXX11__)
+    #ifdef __WXUNIVERSAL__
+        #define wxWindowNative wxWindowX11
+    #else // !wxUniv
+        #define wxWindowX11 wxWindow
+        #define sm_classwxWindowX11 sm_classwxWindow
+    #endif // wxUniv
+    #include "wx/x11/window.h"
 #elif defined(__WXMGL__)
     #ifdef __WXUNIVERSAL__
         #define wxWindowNative wxWindowMGL