]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/layout.h
wxToolTip for MSW implementation (it has several problems right now, but it
[wxWidgets.git] / include / wx / layout.h
index 13ae082ee2bf25a97c68f43a8cf712aa24417a29..04ae4f1401227761f363f18e1fac349a27d5c229 100644 (file)
@@ -9,8 +9,8 @@
 // Licence:    wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
 // Licence:    wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef __LAYOUTH__
-#define __LAYOUTH__
+#ifndef _WX_LAYOUTH__
+#define _WX_LAYOUTH__
 
 #ifdef __GNUG__
 #pragma interface "layout.h"
 
 #ifdef __GNUG__
 #pragma interface "layout.h"
@@ -48,6 +48,9 @@ class WXDLLEXPORT wxIndividualLayoutConstraint: public wxObject
   DECLARE_DYNAMIC_CLASS(wxIndividualLayoutConstraint)
 
  protected:
   DECLARE_DYNAMIC_CLASS(wxIndividualLayoutConstraint)
 
  protected:
+   // To be allowed to modify the internal variables
+   friend class wxIndividualLayoutConstraint_Serialize;
+
    // 'This' window is the parent or sibling of otherWin
    wxWindow *otherWin;
 
    // 'This' window is the parent or sibling of otherWin
    wxWindow *otherWin;
 
@@ -60,8 +63,8 @@ class WXDLLEXPORT wxIndividualLayoutConstraint: public wxObject
    bool done;
 
  public:
    bool done;
 
  public:
-   wxIndividualLayoutConstraint(void);
-   ~wxIndividualLayoutConstraint(void);
+   wxIndividualLayoutConstraint();
+   ~wxIndividualLayoutConstraint();
 
   void Set(wxRelationship rel, wxWindow *otherW, wxEdge otherE, int val = 0, int marg = wxLAYOUT_DEFAULT_MARGIN);
 
 
   void Set(wxRelationship rel, wxWindow *otherW, wxEdge otherE, int val = 0, int marg = wxLAYOUT_DEFAULT_MARGIN);
 
@@ -89,28 +92,28 @@ class WXDLLEXPORT wxIndividualLayoutConstraint: public wxObject
   //
   // Dimension is unconstrained
   //
   //
   // Dimension is unconstrained
   //
-  inline void Unconstrained(void) { relationship = wxUnconstrained; }
+  inline void Unconstrained() { relationship = wxUnconstrained; }
 
   //
   // Dimension is 'as is' (use current size settings)
   //
 
   //
   // Dimension is 'as is' (use current size settings)
   //
-  inline void AsIs(void) { relationship = wxAsIs; }
+  inline void AsIs() { relationship = wxAsIs; }
 
   //
   // Accessors
   //
 
   //
   // Accessors
   //
-  inline wxWindow *GetOtherWindow(void) { return otherWin; }
-  inline wxEdge GetMyEdge(void) { return myEdge; }
+  inline wxWindow *GetOtherWindow() { return otherWin; }
+  inline wxEdge GetMyEdge() const { return myEdge; }
   inline void SetEdge(wxEdge which) { myEdge = which; }
   inline void SetValue(int v) { value = v; }
   inline void SetEdge(wxEdge which) { myEdge = which; }
   inline void SetValue(int v) { value = v; }
-  inline int GetMargin(void) { return margin; }
+  inline int GetMargin() { return margin; }
   inline void SetMargin(int m) { margin = m; }
   inline void SetMargin(int m) { margin = m; }
-  inline int GetValue(void) { return value; }
-  inline int GetPercent(void) { return percent; }
-  inline int GetOtherEdge(void) { return otherEdge; }
-  inline bool GetDone(void) { return done; }
+  inline int GetValue() const { return value; }
+  inline int GetPercent() const { return percent; }
+  inline int GetOtherEdge() const { return otherEdge; }
+  inline bool GetDone() const { return done; }
   inline void SetDone(bool d) { done = d; }
   inline void SetDone(bool d) { done = d; }
-  inline wxRelationship GetRelationship(void) { return relationship; }
+  inline wxRelationship GetRelationship() { return relationship; }
   inline void SetRelationship(wxRelationship r) { relationship = r; }
 
   // Reset constraint if it mentions otherWin
   inline void SetRelationship(wxRelationship r) { relationship = r; }
 
   // Reset constraint if it mentions otherWin
@@ -121,7 +124,7 @@ class WXDLLEXPORT wxIndividualLayoutConstraint: public wxObject
 
   // Get the value of this edge or dimension, or if this
   // is not determinable, -1.
 
   // Get the value of this edge or dimension, or if this
   // is not determinable, -1.
-  int GetEdge(wxEdge which, wxWindow *thisWin, wxWindow *other);
+  int GetEdge(wxEdge which, wxWindow *thisWin, wxWindow *other) const;
 };
 
 class WXDLLEXPORT wxLayoutConstraints: public wxObject
 };
 
 class WXDLLEXPORT wxLayoutConstraints: public wxObject
@@ -141,10 +144,15 @@ class WXDLLEXPORT wxLayoutConstraints: public wxObject
   wxIndividualLayoutConstraint centreX;
   wxIndividualLayoutConstraint centreY;
 
   wxIndividualLayoutConstraint centreX;
   wxIndividualLayoutConstraint centreY;
 
-  wxLayoutConstraints(void);
-  ~wxLayoutConstraints(void);
+  wxLayoutConstraints();
+  ~wxLayoutConstraints();
 
   bool SatisfyConstraints(wxWindow *win, int *noChanges);
 
   bool SatisfyConstraints(wxWindow *win, int *noChanges);
+  bool AreSatisfied() const
+  {
+    return left.GetDone() && top.GetDone() && right.GetDone() &&
+           bottom.GetDone() && centreX.GetDone() && centreY.GetDone();
+  }
 };
 
 bool WXDLLEXPORT wxOldDoLayout(wxWindow *win);
 };
 
 bool WXDLLEXPORT wxOldDoLayout(wxWindow *win);
@@ -217,17 +225,15 @@ class WXDLLEXPORT wxSizer: public wxWindow
   int sizerX;
   int sizerY;
  public:
   int sizerX;
   int sizerY;
  public:
-  wxSizer(void);
+  wxSizer();
   wxSizer(wxWindow *parent, wxSizerBehaviour behav = wxSizerNone);
   wxSizer(wxWindow *parent, wxSizerBehaviour behav = wxSizerNone);
-  ~wxSizer(void);
+  ~wxSizer();
 
   bool Create(wxWindow *parent, wxSizerBehaviour behav = wxSizerNone);
   virtual void SetSize(int x, int y, int w, int h, int flags = wxSIZE_AUTO);
 
   bool Create(wxWindow *parent, wxSizerBehaviour behav = wxSizerNone);
   virtual void SetSize(int x, int y, int w, int h, int flags = wxSIZE_AUTO);
-  // Avoid compiler warning
-  void SetSize(int w, int h) { wxWindow::SetSize(w, h); }
-  virtual void Move(int x, int y);
   virtual void GetSize(int *w, int *h) const;
   virtual void GetSize(int *w, int *h) const;
-  inline virtual void GetClientSize(int *w, int *h) const { GetSize(w, h); }
+
+  virtual void GetClientSize(int *w, int *h) const { GetSize(w, h); }
   virtual void GetPosition(int *x, int *y) const;
 
   inline void SizerSetSize(int x, int y, int w, int h)
   virtual void GetPosition(int *x, int *y) const;
 
   inline void SizerSetSize(int x, int y, int w, int h)
@@ -236,14 +242,14 @@ class WXDLLEXPORT wxSizer: public wxWindow
     { Move(x, y); }
 
   virtual void SetBorder(int w, int h);
     { Move(x, y); }
 
   virtual void SetBorder(int w, int h);
-  inline int GetBorderX(void) { return borderX ; }
-  inline int GetBorderY(void) { return borderY ; }
+  inline int GetBorderX() { return borderX ; }
+  inline int GetBorderY() { return borderY ; }
 
   virtual void AddSizerChild(wxWindow *child);
   virtual void RemoveSizerChild(wxWindow *child);
 
   inline virtual void SetBehaviour(wxSizerBehaviour b) { sizerBehaviour = b; }
 
   virtual void AddSizerChild(wxWindow *child);
   virtual void RemoveSizerChild(wxWindow *child);
 
   inline virtual void SetBehaviour(wxSizerBehaviour b) { sizerBehaviour = b; }
-  inline virtual wxSizerBehaviour GetBehaviour(void) { return sizerBehaviour; }
+  inline virtual wxSizerBehaviour GetBehaviour() { return sizerBehaviour; }
 
   virtual bool LayoutPhase1(int *);
   virtual bool LayoutPhase2(int *);
 
   virtual bool LayoutPhase1(int *);
   virtual bool LayoutPhase2(int *);
@@ -264,19 +270,17 @@ class WXDLLEXPORT wxRowColSizer: public wxSizer
   int ySpacing;
  public:
   // rowOrCol = TRUE to be laid out in rows, otherwise in columns.
   int ySpacing;
  public:
   // rowOrCol = TRUE to be laid out in rows, otherwise in columns.
-  wxRowColSizer(void);
+  wxRowColSizer();
   wxRowColSizer(wxWindow *parent, bool rowOrCol = wxSIZER_ROWS, int rowsOrColSize = 20, wxSizerBehaviour = wxSizerShrink);
   wxRowColSizer(wxWindow *parent, bool rowOrCol = wxSIZER_ROWS, int rowsOrColSize = 20, wxSizerBehaviour = wxSizerShrink);
-  ~wxRowColSizer(void);
+  ~wxRowColSizer();
 
   bool Create(wxWindow *parent, bool rowOrCol = wxSIZER_ROWS, int rowsOrColSize = 20, wxSizerBehaviour = wxSizerShrink);
 
   bool Create(wxWindow *parent, bool rowOrCol = wxSIZER_ROWS, int rowsOrColSize = 20, wxSizerBehaviour = wxSizerShrink);
-  void SetSize(int x, int y, int w, int h, int flags = wxSIZE_AUTO);
-  // Avoid compiler warning
-  void SetSize(int w, int h) { wxSizer::SetSize(w, h); }
+  virtual void SetSize(int x, int y, int w, int h, int flags = wxSIZE_AUTO);
 
   inline virtual void SetRowOrCol(bool rc) { rowOrCol = rc; }
 
   inline virtual void SetRowOrCol(bool rc) { rowOrCol = rc; }
-  inline virtual bool GetRowOrCol(void) { return rowOrCol; }
+  inline virtual bool GetRowOrCol() { return rowOrCol; }
   inline virtual void SetRowOrColSize(int n) { rowOrColSize = n; }
   inline virtual void SetRowOrColSize(int n) { rowOrColSize = n; }
-  inline virtual int GetRowOrColSize(void) { return rowOrColSize; }
+  inline virtual int GetRowOrColSize() { return rowOrColSize; }
   inline virtual void SetSpacing(int x, int y) { xSpacing = x; ySpacing = y; }
   inline virtual void GetSpacing(int *x, int *y) { *x = xSpacing; *y = ySpacing; }
 
   inline virtual void SetSpacing(int x, int y) { xSpacing = x; ySpacing = y; }
   inline virtual void GetSpacing(int *x, int *y) { *x = xSpacing; *y = ySpacing; }
 
@@ -291,14 +295,14 @@ class WXDLLEXPORT wxSpacingSizer: public wxSizer
  private:
  protected:
  public:
  private:
  protected:
  public:
-  wxSpacingSizer(void);
+  wxSpacingSizer();
   wxSpacingSizer(wxWindow *parent, wxRelationship rel, wxWindow *other, int spacing);
   wxSpacingSizer(wxWindow *parent);
   wxSpacingSizer(wxWindow *parent, wxRelationship rel, wxWindow *other, int spacing);
   wxSpacingSizer(wxWindow *parent);
-  ~wxSpacingSizer(void);
+  ~wxSpacingSizer();
 
   bool Create(wxWindow *parent, wxRelationship rel, wxWindow *other, int sp);
   bool Create(wxWindow *parent);
 };
 
 #endif
 
   bool Create(wxWindow *parent, wxRelationship rel, wxWindow *other, int sp);
   bool Create(wxWindow *parent);
 };
 
 #endif
-    // __LAYOUTH__
+    // _WX_LAYOUTH__