xref: /haiku/headers/libs/alm/Column.h (revision 7749d0bb0c358a3279b1b9cc76d8376e900130a5)
1 /*
2  * Copyright 2006 - 2010, Haiku, Inc. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef	COLUMN_H
6 #define	COLUMN_H
7 
8 
9 #include "Constraint.h"
10 #include "LinearSpec.h"
11 #include "Tab.h"
12 
13 
14 namespace BALM {
15 
16 
17 class Area;
18 class BALMLayout;
19 class RowColumnManager;
20 
21 
22 /**
23  * Represents a column defined by two x-tabs.
24  */
25 class Column {
26 public:
27 								~Column();
28 
29 			XTab*				Left() const;
30 			XTab*				Right() const;
31 
32 private:
33 								Column(LinearSpec* ls, XTab* left, XTab* right);
34 
35 			LinearSpec*			fLS;
36 			XTab*				fLeft;
37 			XTab*				fRight;
38 
39 			//! managed by RowColumnManager
40 			Constraint*			fPrefSizeConstraint;
41 			BObjectList<Area>	fAreas;
42 
43 public:
44 	friend class BALMLayout;
45 	friend class BALM::RowColumnManager;
46 
47 };
48 
49 }	// namespace BALM
50 
51 using BALM::Column;
52 
53 #endif	// COLUMN_H
54