BOutlineListView: Refactor to eliminate repeat vars
The latch width, height and indent width are now all set in one place in LatchRect() and then LatchRect() is used in multiple places.
This commit is contained in:
parent
f56bf5b03e
commit
a56ddb2bea
|
@ -880,10 +880,14 @@ BOutlineListView::ExpandOrCollapse(BListItem* item, bool expand)
|
|||
BRect
|
||||
BOutlineListView::LatchRect(BRect itemRect, int32 level) const
|
||||
{
|
||||
float latchDimension = be_plain_font->Size();
|
||||
float indentWidth = be_control_look->DefaultItemSpacing();
|
||||
return BRect(itemRect.left, itemRect.top, itemRect.left
|
||||
+ latchDimension + level * indentWidth, itemRect.bottom);
|
||||
float latchWidth = be_plain_font->Size();
|
||||
float latchHeight = be_plain_font->Size();
|
||||
float indentOffset = level * be_control_look->DefaultItemSpacing();
|
||||
float heightOffset = itemRect.Height() / 2 - latchHeight / 2;
|
||||
|
||||
return BRect(0, 0, latchWidth, latchHeight)
|
||||
.OffsetBySelf(itemRect.left, itemRect.top)
|
||||
.OffsetBySelf(indentOffset, heightOffset);
|
||||
}
|
||||
|
||||
|
||||
|
@ -891,19 +895,12 @@ void
|
|||
BOutlineListView::DrawLatch(BRect itemRect, int32 level, bool collapsed,
|
||||
bool highlighted, bool misTracked)
|
||||
{
|
||||
float latchDimension = be_plain_font->Size();
|
||||
float indentWidth = be_control_look->DefaultItemSpacing();
|
||||
BPoint itemLoc(itemRect.LeftTop());
|
||||
float latchOffset = itemRect.Height() / 2 - latchDimension / 2;
|
||||
|
||||
BRect rect = BRect(0, 0, latchDimension, latchDimension)
|
||||
.OffsetBySelf(itemLoc.x, itemLoc.y + latchOffset)
|
||||
.OffsetBySelf(level * indentWidth, 0);
|
||||
BRect latchRect(LatchRect(itemRect, level));
|
||||
rgb_color base = ui_color(B_PANEL_BACKGROUND_COLOR);
|
||||
int32 arrowDirection = collapsed ? BControlLook::B_RIGHT_ARROW
|
||||
: BControlLook::B_DOWN_ARROW;
|
||||
|
||||
be_control_look->DrawArrowShape(this, rect, rect, base,
|
||||
be_control_look->DrawArrowShape(this, latchRect, itemRect, base,
|
||||
arrowDirection, 0, B_DARKEN_4_TINT);
|
||||
}
|
||||
|
||||
|
@ -911,12 +908,12 @@ BOutlineListView::DrawLatch(BRect itemRect, int32 level, bool collapsed,
|
|||
void
|
||||
BOutlineListView::DrawItem(BListItem* item, BRect itemRect, bool complete)
|
||||
{
|
||||
if (item->fHasSubitems)
|
||||
DrawLatch(itemRect, item->fLevel, !item->IsExpanded(), false, false);
|
||||
if (item->fHasSubitems) {
|
||||
DrawLatch(itemRect, item->fLevel, !item->IsExpanded(),
|
||||
item->IsSelected() || complete, false);
|
||||
}
|
||||
|
||||
float latchDimension = be_plain_font->Size();
|
||||
float indentWidth = be_control_look->DefaultItemSpacing();
|
||||
itemRect.left += latchDimension + item->fLevel * indentWidth;
|
||||
itemRect.left += LatchRect(itemRect, item->fLevel).right;
|
||||
item->DrawItem(this, itemRect, complete);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue