The group views must not B_FOLLOW_ALL unless they are the top-level group

views - that makes all sliders accessible again.
Thanks to Marcus for reporting that bug.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6703 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2004-02-24 00:37:11 +00:00
parent ff2b84c3d5
commit 2d7030fe25

View File

@ -313,7 +313,7 @@ DynamicScrollView::UpdateBars()
GroupView::GroupView(BRect frame, const char *name) GroupView::GroupView(BRect frame, const char *name)
: BView(frame, name, B_FOLLOW_ALL, B_WILL_DRAW | B_FRAME_EVENTS) : BView(frame, name, B_FOLLOW_NONE, B_WILL_DRAW)
{ {
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
} }
@ -334,7 +334,6 @@ GroupView::AttachedToWindow()
control->SetTarget(control); control->SetTarget(control);
} }
} }
@ -703,9 +702,13 @@ DefaultMediaTheme::MakeViewFor(BParameterWeb *web, const BRect *hintRect)
if (groupView == NULL) if (groupView == NULL)
continue; continue;
// the top-level group views must not be larger than their hintRect if (GroupView *view = dynamic_cast<GroupView *>(groupView)) {
if (GroupView *view = dynamic_cast<GroupView *>(groupView)) // the top-level group views must not be larger than their hintRect,
// but unlike their children, they should follow all sides when
// their parent is resized
view->ResizeTo(rect.Width() - 10, rect.Height() - 10); view->ResizeTo(rect.Width() - 10, rect.Height() - 10);
view->SetResizingMode(B_FOLLOW_ALL);
}
if (tabView == NULL) { if (tabView == NULL) {
// if we don't need a container to put that view into, // if we don't need a container to put that view into,
@ -767,8 +770,8 @@ DefaultMediaTheme::MakeViewFor(BParameterGroup &group, const BRect &hintRect)
// Add the sub-group views // Add the sub-group views
rect.right = rect.left + 50; rect.right = rect.left + 20;
rect.bottom = rect.top + 10; rect.bottom = rect.top + 20;
float lastHeight = 0; float lastHeight = 0;
for (int32 i = 0; i < group.CountGroups(); i++) { for (int32 i = 0; i < group.CountGroups(); i++) {