2 * Copyright 2006 - 2010, Haiku, Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
9 #include <Archivable.h>
10 #include <Referenceable.h>
21 class TabBase
: public BArchivable
{
24 TabBase(BMessage
* archive
);
27 friend class BALMLayout
;
30 struct BALMLayoutList
;
32 bool IsInLayout(BALMLayout
* layout
);
33 bool AddedToLayout(BALMLayout
* layout
);
34 void LayoutLeaving(BALMLayout
* layout
);
35 bool IsSuitableFor(BALMLayout
* layout
);
37 BALMLayoutList
* fLayouts
;
42 * Vertical grid line (x-tab).
44 class XTab
: public Variable
, public TabBase
, public BReferenceable
{
48 static BArchivable
* Instantiate(BMessage
* archive
);
50 friend class BALMLayout
;
51 XTab(BALMLayout
* layout
);
54 XTab(BMessage
* archive
);
59 class YTab
: public Variable
, public TabBase
, public BReferenceable
{
63 static BArchivable
* Instantiate(BMessage
* archive
);
65 friend class BALMLayout
;
66 YTab(BALMLayout
* layout
);
68 YTab(BMessage
* archive
);
79 typedef BObjectList
<XTab
> XTabList
;
80 typedef BObjectList
<YTab
> YTabList
;