Let BALM::{X|Y}Tabs be in multiple BALMLayouts, if they are friendly.

This commit is contained in:
Alex Wilson
2012-05-03 08:44:55 +12:00
parent f9cabdd009
commit c761a8a6d4
4 changed files with 264 additions and 9 deletions
+14
View File
@@ -151,6 +151,17 @@ private:
BALMLayout(const BALMLayout&);
void operator =(const BALMLayout&);
struct XTabRemover;
struct XTabRemoverFunc;
struct YTabRemover;
struct YTabRemoverFunc;
friend struct XTabRemover;
friend struct XTabRemoverFunc;
friend struct YTabRemover;
friend struct YTabRemoverFunc;
friend class XTab;
friend class YTab;
@@ -159,6 +170,9 @@ private:
float InsetForTab(XTab* tab) const;
float InsetForTab(YTab* tab) const;
void _RemoveSelfFromTab(XTab* tab);
void _RemoveSelfFromTab(YTab* tab);
BLayoutItem* _LayoutItemToAdd(BView* view);
void _UpdateAreaConstraints();
+14 -2
View File
@@ -29,7 +29,14 @@ protected:
XTab(BALMLayout* layout);
private:
BALMLayout* fALMLayout;
struct BALMLayoutList;
bool IsInLayout(BALMLayout* layout);
bool AddedToLayout(BALMLayout* layout);
void LayoutLeaving(BALMLayout* layout);
bool IsSuitableFor(BALMLayout* layout);
BALMLayoutList* fLayouts;
uint32 _reserved[2];
};
@@ -44,7 +51,12 @@ protected:
YTab(BALMLayout* layout);
private:
BALMLayout* fALMLayout;
bool IsInLayout(BALMLayout* layout);
bool AddedToLayout(BALMLayout* layout);
void LayoutLeaving(BALMLayout* layout);
bool IsSuitableFor(BALMLayout* layout);
XTab::BALMLayoutList* fLayouts;
uint32 _reserved[2];
};