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