git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			314 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			OpenEdge ABL
		
	
	
	
	
	
			
		
		
	
	
			314 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			OpenEdge ABL
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        _constraints.i
 | |
| // Purpose:     SWIG interface defs for the layout constraints
 | |
| //
 | |
| // Author:      Robin Dunn
 | |
| //
 | |
| // Created:     3-July-1997
 | |
| // RCS-ID:      $Id$
 | |
| // Copyright:   (c) 2003 by Total Control Software
 | |
| // Licence:     wxWindows license
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| // Not a %module
 | |
| 
 | |
| 
 | |
| //---------------------------------------------------------------------------
 | |
| 
 | |
| %{
 | |
| %}
 | |
| 
 | |
| //---------------------------------------------------------------------------
 | |
| %newgroup;
 | |
| 
 | |
| 
 | |
| enum wxEdge
 | |
| {
 | |
|     wxLeft, wxTop, wxRight, wxBottom, wxWidth, wxHeight,
 | |
|     wxCentre, wxCenter = wxCentre, wxCentreX, wxCentreY
 | |
| };
 | |
| 
 | |
| enum wxRelationship
 | |
| {
 | |
|     wxUnconstrained = 0,
 | |
|     wxAsIs,
 | |
|     wxPercentOf,
 | |
|     wxAbove,
 | |
|     wxBelow,
 | |
|     wxLeftOf,
 | |
|     wxRightOf,
 | |
|     wxSameAs,
 | |
|     wxAbsolute
 | |
| };
 | |
| 
 | |
| 
 | |
| DocStr(wxIndividualLayoutConstraint,
 | |
| "Objects of this class are stored in the `wx.LayoutConstraints` class as
 | |
| one of eight possible constraints that a window can be involved in.
 | |
| You will never need to create an instance of
 | |
| wx.IndividualLayoutConstraint, rather you should create a
 | |
| `wx.LayoutConstraints` instance and use the individual contstraints
 | |
| that it contains.", "
 | |
| 
 | |
| Constraints are initially set to have the relationship
 | |
| wx.Unconstrained, which means that their values should be calculated
 | |
| by looking at known constraints.
 | |
| 
 | |
| The Edge specifies the type of edge or dimension of a window.
 | |
| 
 | |
| Edges
 | |
| ------
 | |
|     ==================  ==============================================
 | |
|     wx.Left             The left edge.
 | |
|     wx.Top              The top edge.
 | |
|     wx.Right            The right edge.
 | |
|     wx.Bottom           The bottom edge.
 | |
|     wx.CentreX          The x-coordinate of the centre of the window.
 | |
|     wx.CentreY          The y-coordinate of the centre of the window. 
 | |
|     ==================  ==============================================
 | |
| 
 | |
| 
 | |
| The Relationship specifies the relationship that this edge or
 | |
| dimension has with another specified edge or dimension. Normally, the
 | |
| user doesn't use these directly because functions such as Below and
 | |
| RightOf are a convenience for using the more general Set function.
 | |
| 
 | |
| Relationships
 | |
| -------------
 | |
|     ==================  ==============================================
 | |
|     wx.Unconstrained    The edge or dimension is unconstrained
 | |
|                         (the default for edges.)
 | |
|     wx.AsIs             The edge or dimension is to be taken from the current
 | |
|                         window position or size (the default for dimensions.)
 | |
|     wx.Above            The edge should be above another edge.
 | |
|     wx.Below            The edge should be below another edge.
 | |
|     wx.LeftOf           The edge should be to the left of another edge.
 | |
|     wx.RightOf          The edge should be to the right of another edge.
 | |
|     wx.SameAs           The edge or dimension should be the same as another edge
 | |
|                         or dimension.
 | |
|     wx.PercentOf        The edge or dimension should be a percentage of another
 | |
|                         edge or dimension.
 | |
|     wx.Absolute         The edge or dimension should be a given absolute value.
 | |
|     ==================  ==============================================
 | |
| 
 | |
| :see: `wx.LayoutConstraints`, `wx.Window.SetConstraints`
 | |
| ");
 | |
| 
 | |
| 
 | |
| class wxIndividualLayoutConstraint : public wxObject
 | |
| {
 | |
| public:
 | |
| //    wxIndividualLayoutConstraint();
 | |
| //    ~wxIndividualLayoutConstraint();
 | |
| 
 | |
|     DocDeclStr(
 | |
|         void , Set(wxRelationship rel, wxWindow *otherW, wxEdge otherE,
 | |
|                    int val = 0, int marg = wxLAYOUT_DEFAULT_MARGIN),
 | |
|         "Sets the properties of the constraint. Normally called by one of the
 | |
| convenience functions such as Above, RightOf, SameAs.", "");
 | |
|     
 | |
| 
 | |
|      DocDeclStr(
 | |
|         void , LeftOf(wxWindow *sibling, int marg = 0),
 | |
|         "Constrains this edge to be to the left of the given window, with an
 | |
| optional margin. Implicitly, this is relative to the left edge of the
 | |
| other window.", "");
 | |
|     
 | |
|     DocDeclStr(
 | |
|         void , RightOf(wxWindow *sibling, int marg = 0),
 | |
|         "Constrains this edge to be to the right of the given window, with an
 | |
| optional margin. Implicitly, this is relative to the right edge of the
 | |
| other window.", "");
 | |
|     
 | |
|     DocDeclStr(
 | |
|         void , Above(wxWindow *sibling, int marg = 0),
 | |
|         "Constrains this edge to be above the given window, with an optional
 | |
| margin. Implicitly, this is relative to the top edge of the other
 | |
| window.", "");
 | |
|     
 | |
|     DocDeclStr(
 | |
|         void , Below(wxWindow *sibling, int marg = 0),
 | |
|         "Constrains this edge to be below the given window, with an optional
 | |
| margin. Implicitly, this is relative to the bottom edge of the other
 | |
| window.", "");
 | |
| 
 | |
|     DocDeclStr(
 | |
|         void , SameAs(wxWindow *otherW, wxEdge edge, int marg = 0),
 | |
|         "Constrains this edge or dimension to be to the same as the edge of the
 | |
| given window, with an optional margin.", "");
 | |
|     
 | |
| 
 | |
|     DocDeclStr(
 | |
|         void , PercentOf(wxWindow *otherW, wxEdge wh, int per),
 | |
|         "Constrains this edge or dimension to be to a percentage of the given
 | |
| window, with an optional margin.", "");
 | |
|     
 | |
| 
 | |
|     DocDeclStr(
 | |
|         void , Absolute(int val),
 | |
|         "Constrains this edge or dimension to be the given absolute value.", "");
 | |
| 
 | |
|     DocDeclStr(
 | |
|         void , Unconstrained(),
 | |
|         "Sets this edge or dimension to be unconstrained, that is, dependent on
 | |
| other edges and dimensions from which this value can be deduced.", "");
 | |
|     
 | |
| 
 | |
|     DocDeclStr(
 | |
|         void , AsIs(),
 | |
|         "Sets this edge or constraint to be whatever the window's value is at
 | |
| the moment. If either of the width and height constraints are *as is*,
 | |
| the window will not be resized, but moved instead. This is important
 | |
| when considering panel items which are intended to have a default
 | |
| size, such as a button, which may take its size from the size of the
 | |
| button label.", "");
 | |
|     
 | |
| 
 | |
|     DocDeclStr(
 | |
|         wxWindow *, GetOtherWindow(),
 | |
|         "", "");
 | |
|         
 | |
|     DocDeclStr(
 | |
|         wxEdge , GetMyEdge() const,
 | |
|         "", "");
 | |
|     
 | |
|     DocDeclStr(
 | |
|         void , SetEdge(wxEdge which),
 | |
|         "", "");
 | |
|     
 | |
|     DocDeclStr(
 | |
|         void , SetValue(int v),
 | |
|         "", "");
 | |
|     
 | |
|     DocDeclStr(
 | |
|         int , GetMargin(),
 | |
|         "", "");
 | |
|     
 | |
|     DocDeclStr(
 | |
|         void , SetMargin(int m),
 | |
|         "", "");
 | |
|     
 | |
|     DocDeclStr(
 | |
|         int , GetValue() const,
 | |
|         "", "");
 | |
|     
 | |
|     DocDeclStr(
 | |
|         int , GetPercent() const,
 | |
|         "", "");
 | |
|     
 | |
|     DocDeclStr(
 | |
|         int , GetOtherEdge() const,
 | |
|         "", "");
 | |
|     
 | |
|     DocDeclStr(
 | |
|         bool , GetDone() const,
 | |
|         "", "");
 | |
|     
 | |
|     DocDeclStr(
 | |
|         void , SetDone(bool d),
 | |
|         "", "");
 | |
|     
 | |
|     DocDeclStr(
 | |
|         wxRelationship , GetRelationship(),
 | |
|         "", "");
 | |
|     
 | |
|     DocDeclStr(
 | |
|         void , SetRelationship(wxRelationship r),
 | |
|         "", "");
 | |
|     
 | |
| 
 | |
|     DocDeclStr(
 | |
|         bool , ResetIfWin(wxWindow *otherW),
 | |
|         "Reset constraint if it mentions otherWin", "");
 | |
|     
 | |
| 
 | |
|     DocDeclStr(
 | |
|         bool , SatisfyConstraint(wxLayoutConstraints *constraints, wxWindow *win),
 | |
|         "Try to satisfy constraint", "");
 | |
|     
 | |
| 
 | |
|     DocDeclStr(
 | |
|         int , GetEdge(wxEdge which, wxWindow *thisWin, wxWindow *other) const,
 | |
|         "Get the value of this edge or dimension, or if this\n"
 | |
|         "is not determinable, -1.", "");
 | |
| 
 | |
|     %property(Done, GetDone, SetDone, doc="See `GetDone` and `SetDone`");
 | |
|     %property(Margin, GetMargin, SetMargin, doc="See `GetMargin` and `SetMargin`");
 | |
|     %property(MyEdge, GetMyEdge, doc="See `GetMyEdge`");
 | |
|     %property(OtherEdge, GetOtherEdge, doc="See `GetOtherEdge`");
 | |
|     %property(OtherWindow, GetOtherWindow, doc="See `GetOtherWindow`");
 | |
|     %property(Percent, GetPercent, doc="See `GetPercent`");
 | |
|     %property(Relationship, GetRelationship, SetRelationship, doc="See `GetRelationship` and `SetRelationship`");
 | |
|     %property(Value, GetValue, SetValue, doc="See `GetValue` and `SetValue`");
 | |
|     
 | |
| };
 | |
| 
 | |
| 
 | |
| DocStr(wxLayoutConstraints,
 | |
| "**Note:** constraints are now deprecated and you should use sizers
 | |
| instead.
 | |
| 
 | |
| Objects of this class can be associated with a window to define its
 | |
| layout constraints, with respect to siblings or its parent.
 | |
| 
 | |
| The class consists of the following eight constraints of class
 | |
| wx.IndividualLayoutConstraint, some or all of which should be accessed
 | |
| directly to set the appropriate constraints.
 | |
| 
 | |
|     * left: represents the left hand edge of the window
 | |
|     * right: represents the right hand edge of the window
 | |
|     * top: represents the top edge of the window
 | |
|     * bottom: represents the bottom edge of the window
 | |
|     * width: represents the width of the window
 | |
|     * height: represents the height of the window
 | |
|     * centreX: represents the horizontal centre point of the window
 | |
|     * centreY: represents the vertical centre point of the window 
 | |
| 
 | |
| Most constraints are initially set to have the relationship
 | |
| wxUnconstrained, which means that their values should be calculated by
 | |
| looking at known constraints. The exceptions are width and height,
 | |
| which are set to wxAsIs to ensure that if the user does not specify a
 | |
| constraint, the existing width and height will be used, to be
 | |
| compatible with panel items which often have take a default size. If
 | |
| the constraint is ``wx.AsIs``, the dimension will not be changed.
 | |
| 
 | |
| :see: `wx.IndividualLayoutConstraint`, `wx.Window.SetConstraints`
 | |
| ", "");
 | |
|        
 | |
| 
 | |
| class wxLayoutConstraints : public wxObject
 | |
| {
 | |
| public:
 | |
|     %immutable;
 | |
| 
 | |
|     // Edge constraints
 | |
|     wxIndividualLayoutConstraint left;
 | |
|     wxIndividualLayoutConstraint top;
 | |
|     wxIndividualLayoutConstraint right;
 | |
|     wxIndividualLayoutConstraint bottom;
 | |
| 
 | |
|     // Size constraints
 | |
|     wxIndividualLayoutConstraint width;
 | |
|     wxIndividualLayoutConstraint height;
 | |
|     
 | |
|     // Centre constraints
 | |
|     wxIndividualLayoutConstraint centreX;
 | |
|     wxIndividualLayoutConstraint centreY;
 | |
| 
 | |
|     %mutable;
 | |
| 
 | |
|     DocCtorStr(
 | |
|         wxLayoutConstraints(),
 | |
|         "", "");
 | |
| 
 | |
|     ~wxLayoutConstraints();
 | |
|     
 | |
|     DocDeclA(
 | |
|         bool, SatisfyConstraints(wxWindow *win, int *OUTPUT),
 | |
|         "SatisfyConstraints(Window win) -> (areSatisfied, noChanges)");
 | |
| 
 | |
|     bool AreSatisfied() const;
 | |
| };
 | |
| 
 | |
| //---------------------------------------------------------------------------
 |