]>
Commit | Line | Data |
---|---|---|
1 | \section{\class{wxIndividualLayoutConstraint}}\label{wxindividuallayoutconstraint} | |
2 | ||
3 | Objects of this class are stored in the wxLayoutConstraint class | |
4 | as one of eight possible constraints that a window can be involved in. | |
5 | ||
6 | Constraints are initially set to have the relationship wxUnconstrained, | |
7 | which means that their values should be calculated by looking at known constraints. | |
8 | ||
9 | \wxheading{Derived from} | |
10 | ||
11 | \helpref{wxObject}{wxobject} | |
12 | ||
13 | \wxheading{Include files} | |
14 | ||
15 | <wx/layout.h> | |
16 | ||
17 | \wxheading{See also} | |
18 | ||
19 | \helpref{Overview and examples}{constraintsoverview},\rtfsp | |
20 | \helpref{wxLayoutConstraints}{wxlayoutconstraints}, \helpref{wxWindow::SetConstraints}{wxwindowsetconstraints}. | |
21 | ||
22 | \latexignore{\rtfignore{\wxheading{Members}}} | |
23 | ||
24 | \subsection{Edges and relationships}\label{edgesandrelationships} | |
25 | ||
26 | The {\it wxEdge}\index{wxEdge} enumerated type specifies the type of edge or dimension of a window. | |
27 | ||
28 | \begin{twocollist}\itemsep=0pt | |
29 | \twocolitem{wxLeft}{The left edge.} | |
30 | \twocolitem{wxTop}{The top edge.} | |
31 | \twocolitem{wxRight}{The right edge.} | |
32 | \twocolitem{wxBottom}{The bottom edge.} | |
33 | \twocolitem{wxCentreX}{The x-coordinate of the centre of the window.} | |
34 | \twocolitem{wxCentreY}{The y-coordinate of the centre of the window.} | |
35 | \end{twocollist} | |
36 | ||
37 | The {\it wxRelationship}\index{wxRelationship} enumerated type specifies the relationship that | |
38 | this edge or dimension has with another specified edge or dimension. Normally, the user | |
39 | doesn't use these directly because functions such as {\it Below} and {\it RightOf} are a convenience | |
40 | for using the more general {\it Set} function. | |
41 | ||
42 | \begin{twocollist}\itemsep=0pt | |
43 | \twocolitem{wxUnconstrained}{The edge or dimension is unconstrained (the default for edges.} | |
44 | \twocolitem{wxAsIs}{The edge or dimension is to be taken from the current window position or size (the | |
45 | default for dimensions.} | |
46 | \twocolitem{wxAbove}{The edge should be above another edge.} | |
47 | \twocolitem{wxBelow}{The edge should be below another edge.} | |
48 | \twocolitem{wxLeftOf}{The edge should be to the left of another edge.} | |
49 | \twocolitem{wxRightOf}{The edge should be to the right of another edge.} | |
50 | \twocolitem{wxSameAs}{The edge or dimension should be the same as another edge or dimension.} | |
51 | \twocolitem{wxPercentOf}{The edge or dimension should be a percentage of another edge or dimension.} | |
52 | \twocolitem{wxAbsolute}{The edge or dimension should be a given absolute value.} | |
53 | \end{twocollist} | |
54 | ||
55 | \membersection{wxIndividualLayoutConstraint::wxIndividualLayoutConstraint}\label{wxindividuallayoutconstraintctor} | |
56 | ||
57 | \func{void}{wxIndividualLayoutConstraint}{\void} | |
58 | ||
59 | Constructor. Not used by the end-user. | |
60 | ||
61 | \membersection{wxIndividualLayoutConstraint::Above}\label{wxindividuallayoutconstraintabove} | |
62 | ||
63 | \func{void}{Above}{\param{wxWindow *}{otherWin}, \param{int}{ margin = 0}} | |
64 | ||
65 | Constrains this edge to be above the given window, with an | |
66 | optional margin. Implicitly, this is relative to the top edge of the other window. | |
67 | ||
68 | \membersection{wxIndividualLayoutConstraint::Absolute}\label{wxindividuallayoutconstraintabsolute} | |
69 | ||
70 | \func{void}{Absolute}{\param{int}{ value}} | |
71 | ||
72 | Constrains this edge or dimension to be the given absolute value. | |
73 | ||
74 | \membersection{wxIndividualLayoutConstraint::AsIs}\label{wxindividuallayoutconstraintasis} | |
75 | ||
76 | \func{void}{AsIs}{\void} | |
77 | ||
78 | Sets this edge or constraint to be whatever the window's value is | |
79 | at the moment. If either of the width and height constraints | |
80 | are {\it as is}, the window will not be resized, but moved instead. | |
81 | This is important when considering panel items which are intended | |
82 | to have a default size, such as a button, which may take its size | |
83 | from the size of the button label. | |
84 | ||
85 | \membersection{wxIndividualLayoutConstraint::Below}\label{wxindividuallayoutconstraintbelow} | |
86 | ||
87 | \func{void}{Below}{\param{wxWindow *}{otherWin}, \param{int}{ margin = 0}} | |
88 | ||
89 | Constrains this edge to be below the given window, with an | |
90 | optional margin. Implicitly, this is relative to the bottom edge of the other window. | |
91 | ||
92 | \membersection{wxIndividualLayoutConstraint::Unconstrained}\label{wxindividuallayoutconstraintunconstrained} | |
93 | ||
94 | \func{void}{Unconstrained}{\void} | |
95 | ||
96 | Sets this edge or dimension to be unconstrained, that is, dependent on | |
97 | other edges and dimensions from which this value can be deduced. | |
98 | ||
99 | \membersection{wxIndividualLayoutConstraint::LeftOf}\label{wxindividuallayoutconstraintleftof} | |
100 | ||
101 | \func{void}{LeftOf}{\param{wxWindow *}{otherWin}, \param{int}{ margin = 0}} | |
102 | ||
103 | Constrains this edge to be to the left of the given window, with an | |
104 | optional margin. Implicitly, this is relative to the left edge of the other window. | |
105 | ||
106 | \membersection{wxIndividualLayoutConstraint::PercentOf}\label{wxindividuallayoutconstraintpercentof} | |
107 | ||
108 | \func{void}{PercentOf}{\param{wxWindow *}{otherWin}, \param{wxEdge}{ edge}, \param{int}{ per}} | |
109 | ||
110 | Constrains this edge or dimension to be to a percentage of the given window, with an | |
111 | optional margin. | |
112 | ||
113 | \membersection{wxIndividualLayoutConstraint::RightOf}\label{wxindividuallayoutconstraintrightof} | |
114 | ||
115 | \func{void}{RightOf}{\param{wxWindow *}{otherWin}, \param{int}{ margin = 0}} | |
116 | ||
117 | Constrains this edge to be to the right of the given window, with an | |
118 | optional margin. Implicitly, this is relative to the right edge of the other window. | |
119 | ||
120 | \membersection{wxIndividualLayoutConstraint::SameAs}\label{wxindividuallayoutconstraintsameas} | |
121 | ||
122 | \func{void}{SameAs}{\param{wxWindow *}{otherWin}, \param{wxEdge}{ edge}, \param{int}{ margin = 0}} | |
123 | ||
124 | Constrains this edge or dimension to be to the same as the edge of the given window, with an | |
125 | optional margin. | |
126 | ||
127 | \membersection{wxIndividualLayoutConstraint::Set}\label{wxindividuallayoutconstraintset} | |
128 | ||
129 | \func{void}{Set}{\param{wxRelationship}{ rel}, \param{wxWindow *}{otherWin}, \param{wxEdge}{ otherEdge}, | |
130 | \param{int}{ value = 0}, \param{int}{ margin = 0}} | |
131 | ||
132 | Sets the properties of the constraint. Normally called by one of the convenience | |
133 | functions such as Above, RightOf, SameAs. | |
134 | ||
135 |