]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/window.h
Some compilation fixes
[wxWidgets.git] / include / wx / window.h
index f78da2dbfce7aeb8c4dbb035b8806967aecf9559..3a1e9362bbf9cfcda1f0ab57729c778169ea072c 100644 (file)
@@ -30,9 +30,7 @@
 #include "wx/region.h"
 #include "wx/utils.h"
 
-#if wxUSE_VALIDATORS
-    #include "wx/validate.h"    // defines wxDefaultValidator
-#endif // wxUSE_VALIDATORS
+#include "wx/validate.h"        // for wxDefaultValidator (always include it)
 
 #if wxUSE_ACCEL
     #include "wx/accel.h"
@@ -121,10 +119,7 @@ public:
                     const wxPoint& pos = wxDefaultPosition,
                     const wxSize& size = wxDefaultSize,
                     long style = 0,
-
-#if wxUSE_VALIDATORS
                     const wxValidator& validator = wxDefaultValidator,
-#endif // wxUSE_VALIDATORS
                     const wxString& name = wxPanelNameStr);
 
     virtual ~wxWindowBase();
@@ -276,11 +271,19 @@ public:
             *h = s.y;
     }
 
-        // centre with respect to the the parent window
+        // the generic centre function - centers the window on parent by
+        // default or on screen if it doesn't have parent or
+        // wxCENTER_ON_SCREEN flag is given
     void Centre( int direction = wxBOTH );
     void Center( int direction = wxBOTH ) { Centre(direction); }
-    void CentreOnParent( int dir = wxBOTH ) { Centre(dir | wxCENTER_FRAME); }
-    void CenterOnParent( int dir = wxBOTH ) { Centre(dir | wxCENTER_FRAME); }
+
+        // centre on screen (only works for top level windows)
+    void CentreOnScreen(int dir = wxBOTH) { Centre(dir | wxCENTER_ON_SCREEN); }
+    void CenterOnScreen(int dir = wxBOTH) { CentreOnScreen(dir); }
+
+        // centre with respect to the the parent window
+    void CentreOnParent(int dir = wxBOTH) { Centre(dir | wxCENTER_FRAME); }
+    void CenterOnParent(int dir = wxBOTH) { CentreOnParent(dir); }
 
         // set window size to wrap around its children
     virtual void Fit();
@@ -320,9 +323,12 @@ public:
     long GetWindowStyle() const { return GetWindowStyleFlag(); }
 
     bool HasFlag(int flag) const { return (m_windowStyle & flag) != 0; }
+    virtual bool IsRetained() const { return HasFlag(wxRETAINED); }
 
-    virtual bool IsRetained() const
-        { return (m_windowStyle & wxRETAINED) != 0; }
+        // extra style: the less often used style bits which can't be set with
+        // SetWindowStyleFlag()
+    void SetExtraStyle(long exStyle) { m_exStyle = exStyle; }
+    long GetExtraStyle() const { return m_exStyle; }
 
         // make the window modal (all other windows unresponsive)
     virtual void MakeModal(bool modal = TRUE);
@@ -622,7 +628,7 @@ public:
     virtual void SetConstraintSizes(bool recurse = TRUE);
     virtual bool LayoutPhase1(int *noChanges);
     virtual bool LayoutPhase2(int *noChanges);
-    virtual bool DoPhase(int);
+    virtual bool DoPhase(int phase);
 
         // these methods are virtual but normally won't be overridden
     virtual void SetSizeConstraint(int x, int y, int w, int h);
@@ -654,6 +660,7 @@ public:
         // event handlers
     void OnSysColourChanged( wxSysColourChangedEvent& event );
     void OnInitDialog( wxInitDialogEvent &event );
+    void OnMiddleClick( wxMouseEvent& event );
 
         // get the haqndle of the window for the underlying window system: this
         // is only used for wxWin itself or for user code which wants to call
@@ -744,7 +751,8 @@ protected:
     bool                 m_isBeingDeleted:1;
 
     // window attributes
-    long                 m_windowStyle;
+    long                 m_windowStyle,
+                         m_exStyle;
     wxString             m_windowName;
 
 protected:
@@ -813,6 +821,12 @@ protected:
     // same as DoSetSize() for the client size
     virtual void DoSetClientSize(int width, int height) = 0;
 
+    // move the window to the specified location and resize it: this is called
+    // from both DoSetSize() and DoSetClientSize() and would usually just
+    // reposition this window except for composite controls which will want to
+    // arrange themselves inside the given rectangle
+    virtual void DoMoveWindow(int x, int y, int width, int height) = 0;
+
 #if wxUSE_TOOLTIPS
     virtual void DoSetToolTip( wxToolTip *tip );
 #endif // wxUSE_TOOLTIPS