btrfs: [] on the end of a struct field is a variable length array.
[haiku.git] / headers / libs / alm / Column.h
blobc9ef423268d7c002704f0e85c0801b650b02416a
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
9 #include <ObjectList.h>
10 #include <Referenceable.h>
13 namespace LinearProgramming {
14 class Constraint;
15 class LinearSpec;
19 namespace BPrivate {
20 class SharedSolver;
24 namespace BALM {
27 class Area;
28 class BALMLayout;
29 class RowColumnManager;
30 class XTab;
31 class YTab;
34 /**
35 * Represents a column defined by two x-tabs.
37 class Column {
38 public:
39 ~Column();
41 XTab* Left() const;
42 XTab* Right() const;
44 private:
45 friend class BALMLayout;
46 friend class BALM::RowColumnManager;
47 friend class BPrivate::SharedSolver;
49 Column(LinearProgramming::LinearSpec* ls,
50 XTab* left, XTab* right);
52 BReference<XTab> fLeft;
53 BReference<XTab> fRight;
55 LinearProgramming::LinearSpec* fLS;
56 LinearProgramming::Constraint* fPrefSizeConstraint;
57 // managed by RowColumnManager
59 BObjectList<Area> fAreas;
62 } // namespace BALM
64 using BALM::Column;
66 #endif // COLUMN_H