/////////////////////////////////////////////////////////////////////////////
-// Name: layout.h
-// Purpose: Layout classes
+// Name: wx/layout.h
+// Purpose: OBSOLETE layout constraint classes, use sizers instead
// Author: Julian Smart
// Modified by:
// Created: 29/01/98
-// RCS-ID: $Id$
// Copyright: (c) 1998 Julian Smart
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifndef _WX_LAYOUTH__
-#define _WX_LAYOUTH__
+#ifndef _WX_LAYOUT_H_
+#define _WX_LAYOUT_H_
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
-#ifdef __GNUG__
- #pragma interface "layout.h"
-#endif
-
-#include "wx/defs.h"
+#include "wx/object.h"
// X stupidly defines these in X.h
#ifdef Above
#undef Below
#endif
+#if wxUSE_CONSTRAINTS
+
// ----------------------------------------------------------------------------
// forward declrations
// ----------------------------------------------------------------------------
-class WXDLLEXPORT wxWindowBase;
-class WXDLLEXPORT wxLayoutConstraints;
+class WXDLLIMPEXP_FWD_CORE wxWindowBase;
+class WXDLLIMPEXP_FWD_CORE wxLayoutConstraints;
// ----------------------------------------------------------------------------
// constants
// wxIndividualLayoutConstraint: a constraint on window position
// ----------------------------------------------------------------------------
-class WXDLLEXPORT wxIndividualLayoutConstraint : public wxObject
+class WXDLLIMPEXP_CORE wxIndividualLayoutConstraint : public wxObject
{
- 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
- wxWindowBase *otherWin;
-
- wxEdge myEdge;
- wxRelationship relationship;
- int margin;
- int value;
- int percent;
- wxEdge otherEdge;
- bool done;
-
public:
wxIndividualLayoutConstraint();
- ~wxIndividualLayoutConstraint();
+
+ // note that default copy ctor and assignment operators are ok
+
+ virtual ~wxIndividualLayoutConstraint(){}
void Set(wxRelationship rel, wxWindowBase *otherW, wxEdge otherE, int val = 0, int marg = wxLAYOUT_DEFAULT_MARGIN);
// Get the value of this edge or dimension, or if this
// is not determinable, -1.
int GetEdge(wxEdge which, wxWindowBase *thisWin, wxWindowBase *other) const;
+
+protected:
+ // To be allowed to modify the internal variables
+ friend class wxIndividualLayoutConstraint_Serialize;
+
+ // 'This' window is the parent or sibling of otherWin
+ wxWindowBase *otherWin;
+
+ wxEdge myEdge;
+ wxRelationship relationship;
+ int margin;
+ int value;
+ int percent;
+ wxEdge otherEdge;
+ bool done;
+
+ DECLARE_DYNAMIC_CLASS(wxIndividualLayoutConstraint)
};
// ----------------------------------------------------------------------------
// wxLayoutConstraints: the complete set of constraints for a window
// ----------------------------------------------------------------------------
-class WXDLLEXPORT wxLayoutConstraints : public wxObject
+class WXDLLIMPEXP_CORE wxLayoutConstraints : public wxObject
{
- DECLARE_DYNAMIC_CLASS(wxLayoutConstraints)
-
public:
// Edge constraints
wxIndividualLayoutConstraint left;
wxIndividualLayoutConstraint centreY;
wxLayoutConstraints();
- ~wxLayoutConstraints();
+
+ // note that default copy ctor and assignment operators are ok
+
+ virtual ~wxLayoutConstraints(){}
bool SatisfyConstraints(wxWindowBase *win, int *noChanges);
bool AreSatisfied() const
{
- return left.GetDone() && top.GetDone() && right.GetDone() &&
- bottom.GetDone() && centreX.GetDone() && centreY.GetDone();
+ return left.GetDone() && top.GetDone() &&
+ width.GetDone() && height.GetDone();
}
+
+ DECLARE_DYNAMIC_CLASS(wxLayoutConstraints)
};
-#endif
- // _WX_LAYOUTH__
+#endif // wxUSE_CONSTRAINTS
+
+#endif // _WX_LAYOUT_H_