Give the area an id.
This commit is contained in:
parent
b7630c4c98
commit
c3e57dc36d
@ -65,6 +65,7 @@ public:
|
||||
void SetSpacing(float spacing);
|
||||
float Spacing() const;
|
||||
|
||||
Area* AreaFor(int32 id) const;
|
||||
Area* AreaFor(const BView* view) const;
|
||||
Area* AreaFor(const BLayoutItem* item) const;
|
||||
int32 CountAreas() const;
|
||||
|
@ -65,6 +65,9 @@ class Area {
|
||||
public:
|
||||
~Area();
|
||||
|
||||
int32 ID() const;
|
||||
void SetID(int32 id);
|
||||
|
||||
BLayoutItem* Item();
|
||||
|
||||
XTab* Left() const;
|
||||
@ -121,6 +124,7 @@ private:
|
||||
void _UpdateMaxSizeConstraint(BSize max);
|
||||
private:
|
||||
BLayoutItem* fLayoutItem;
|
||||
int32 fID;
|
||||
|
||||
LinearSpec* fLS;
|
||||
|
||||
|
@ -208,6 +208,19 @@ BALMLayout::AddColumn(XTab* _left, XTab* _right)
|
||||
}
|
||||
|
||||
|
||||
Area*
|
||||
BALMLayout::AreaFor(int32 id) const
|
||||
{
|
||||
int32 areaCount = CountAreas();
|
||||
for (int32 i = 0; i < areaCount; i++) {
|
||||
Area* area = AreaAt(i);
|
||||
if (area->ID() == id)
|
||||
return area;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Finds the area that contains the given control.
|
||||
*
|
||||
|
@ -522,6 +522,15 @@ Area::~Area()
|
||||
}
|
||||
|
||||
|
||||
static int32 sAreaID = 0;
|
||||
|
||||
static int32
|
||||
new_area_id()
|
||||
{
|
||||
return sAreaID++;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* Uses XTabs and YTabs.
|
||||
@ -550,7 +559,21 @@ Area::Area(BLayoutItem* item)
|
||||
fContentAspectRatio(-1),
|
||||
fContentAspectRatioC(NULL)
|
||||
{
|
||||
fID = new_area_id();
|
||||
}
|
||||
|
||||
|
||||
int32
|
||||
Area::ID() const
|
||||
{
|
||||
return fID;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
Area::SetID(int32 id)
|
||||
{
|
||||
fID = id;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user