X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3417c2cd3d5cb05451270b5a09fe2355406158a3..a111f2b216a90bacb254644d3cae526eddc9f9f1:/src/common/layout.cpp diff --git a/src/common/layout.cpp b/src/common/layout.cpp index 188d4c6d8f..8dbb8ea8dc 100644 --- a/src/common/layout.cpp +++ b/src/common/layout.cpp @@ -44,10 +44,8 @@ #include "wx/layout.h" -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxIndividualLayoutConstraint, wxObject) IMPLEMENT_DYNAMIC_CLASS(wxLayoutConstraints, wxObject) -#endif wxIndividualLayoutConstraint::wxIndividualLayoutConstraint() @@ -68,11 +66,20 @@ wxIndividualLayoutConstraint::~wxIndividualLayoutConstraint() void wxIndividualLayoutConstraint::Set(wxRelationship rel, wxWindowBase *otherW, wxEdge otherE, int val, int marg) { - relationship = rel; - otherWin = otherW; - otherEdge = otherE; - value = val; - margin = marg; + relationship = rel; + otherWin = otherW; + otherEdge = otherE; + + if ( rel == wxPercentOf ) + { + percent = val; + } + else + { + value = val; + } + + margin = marg; } void wxIndividualLayoutConstraint::LeftOf(wxWindowBase *sibling, int marg) @@ -100,18 +107,13 @@ void wxIndividualLayoutConstraint::Below(wxWindowBase *sibling, int marg) // void wxIndividualLayoutConstraint::SameAs(wxWindowBase *otherW, wxEdge edge, int marg) { - Set(wxPercentOf, otherW, edge, 0, marg); - percent = 100; + Set(wxPercentOf, otherW, edge, 100, marg); } // The edge is a percentage of the other window's edge void wxIndividualLayoutConstraint::PercentOf(wxWindowBase *otherW, wxEdge wh, int per) { - otherWin = otherW; - relationship = wxPercentOf; - percent = per; - - otherEdge = wh; + Set(wxPercentOf, otherW, wh, per); } // @@ -119,7 +121,8 @@ void wxIndividualLayoutConstraint::PercentOf(wxWindowBase *otherW, wxEdge wh, in // void wxIndividualLayoutConstraint::Absolute(int val) { - value = val; relationship = wxAbsolute; + value = val; + relationship = wxAbsolute; } // Reset constraint if it mentions otherWin @@ -136,8 +139,8 @@ bool wxIndividualLayoutConstraint::ResetIfWin(wxWindowBase *otherW) otherWin = (wxWindowBase *) NULL; return TRUE; } - else - return FALSE; + + return FALSE; } // Try to satisfy constraint