xref: /haiku/docs/user/interface/AbstractLayout.dox (revision 89d652d5e0defd9d095c778709cef82f5f10c357)
1/*!
2	\class BAbstractLayout
3	\ingroup interface
4	\ingroup layout
5	\ingroup libbe
6
7	\brief BLayout subclass providing convenience methods for derived
8	implementations.
9
10	This class is designed to reduce the amount of boilerplate code required to
11	write a BLayout subclass. In most cases, you classes should derive from
12	BAbstractLayout rather than BLayout.
13
14	When a BAbstractLayout is attached to a BView, many of the methods provided
15	by the BAbstractLayout class are forwarded to the BAbstractLayout's
16	owner BView. When a BAbstractLayout is viewless, these methods are handled
17	locally.
18
19	\warning This class is not yet finalized, if you use it in your software
20	assume that it will break some time in the future.
21*/
22
23
24/*!
25	\name Constructors
26
27	@{
28*/
29
30
31/*!
32	\fn BAbstractLayout::BAbstractLayout()
33	\brief Construct a BAbstractLayout.
34*/
35
36
37/*!
38	\fn BAbstractLayout::BAbstractLayout(BMessage* from);
39	\brief Archive constructor.
40*/
41
42
43//@}
44
45
46/*!
47	\fn BSize BAbstractLayout::MinSize()
48	\copydoc BLayoutItem::MinSize()
49
50	The return value for this method is composed (using
51	BLayoutUtils::ComposeSize()) from the values returned by BaseMinSize() and
52	ExplicitMinSize().
53*/
54
55
56/*!
57	\fn BSize BAbstractLayout::MaxSize()
58	\copydoc BLayoutItem::MaxSize()
59
60	The return value for this method is composed (using
61	BLayoutUtils::ComposeSize()) from the values returned by BaseMaxSize() and
62	ExplicitMaxSize().
63*/
64
65
66/*!
67	\fn BSize BAbstractLayout::PreferredSize()
68	\copydoc BLayoutItem::PreferredSize()
69
70	The return value for this method is composed (using
71	BLayoutUtils::ComposeSize()) from the values returned by BasePreferredSize()
72	and ExplicitPreferredSize().
73*/
74
75
76/*!
77	\fn BAlignment BAbstractLayout::Alignment()
78	\copydoc BLayoutItem::Alignment()
79
80	The return value for this method is composed (using
81	BLayoutUtils::ComposeAlignment()) from the values returned by
82	BaseAlignment() and
83	ExplicitAlignment()
84*/
85
86
87/*!
88	\name BAbstractLayout hooks
89
90	@{
91*/
92
93
94/*!
95	\fn BSize BAbstractLayout::BaseMinSize()
96	\brief Method to be implemented in derived classes return the minimum size
97	constraint for this BAbstractLayout.
98*/
99
100
101/*!
102	\fn BSize BAbstractLayout::BaseMaxSize()
103	\brief Method to be implemented in derived classes return the maximum size
104	constraint for this BAbstractLayout.
105*/
106
107
108/*!
109	\fn BSize BAbstractLayout::BasePreferredSize()
110	\brief Method to be implemented in derived classes return the preferred size
111	constraint for this BAbstractLayout.
112*/
113
114
115/*!
116	\fn BAlignment BAbstractLayout::BaseAlignment()
117	\brief Method to be implemented in derived classes return the preferred
118	alignment for this BAbstractLayout.
119*/
120
121
122//@}
123