1 /* 2 * Copyright 2006 - 2010, Haiku, Inc. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef ROW_H 6 #define ROW_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 row defined by two y-tabs. 24 */ 25 class Row { 26 public: 27 ~Row(); 28 29 YTab* Top() const; 30 YTab* Bottom() const; 31 32 private: 33 Row(LinearSpec* ls, YTab* top, YTab* bottom); 34 35 LinearSpec* fLS; 36 YTab* fTop; 37 YTab* fBottom; 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::Row; 52 53 #endif // ROW_H 54