void CollapsableBox::SetValue(int32 new_value) { if (new_value != Value()) { BRect r = Bounds(); if (!new_value) ResizeTo(r.Width(), m_collapsed_rect.Height()); else ResizeTo(r.Width(), m_expanded_rect.Height()); BView *child; child = ChildAt(0); while (child) { if (new_value) child->Show(); else child->Hide(); child = child->NextSibling(); }; Invalidate(); BControl::SetValue(new_value); Invoke(); }; }
void TMediaTabView::ActivateView(EChildID which) { // Give the view the control buttons BView* view = ChildAt(which); BPoint pt = view->Bounds().LeftBottom(); // Get the target button position. Slightly different for the // different view types. if (which == kElementsView) pt.y -= kScrollHeight; else { pt.x++; pt.y -= kScrollHeight + 1; } for (int i = 0; i < 3; i++) { view->AddChild(fbuttons[i]); fbuttons[i]->MoveTo(pt); pt.x += kScrollHeight; } // Make sure it is visible if (view->IsHidden()) view->Show(); }
void TrackerSettingsWindow::_HandleChangedSettingsView() { int32 currentSelection = fSettingsTypeListView->CurrentSelection(); if (currentSelection < 0) return; BView* oldView = fSettingsContainerBox->ChildAt(0); if (oldView != NULL) oldView->RemoveSelf(); SettingsItem* selectedItem = dynamic_cast<SettingsItem*>( fSettingsTypeListView->ItemAt(currentSelection)); if (selectedItem != NULL) { fSettingsContainerBox->SetLabel(selectedItem->Text()); BView* view = selectedItem->View(); view->SetViewColor(fSettingsContainerBox->ViewColor()); view->Hide(); fSettingsContainerBox->AddChild(view); view->Show(); } }
void YabTabView::Select(int32 index) { if (index < 0 || index >= CountTabs()) index = Selection(); BView *tab = TabAt(Selection()); if (tab) { Invalidate(); tab->Hide(); } tab = TabAt(index); if (tab) { if (index != 0 && !Bounds().Contains(TabFrame(index))){ if (!Bounds().Contains(TabFrame(index).LeftTop())) fTabOffset += TabFrame(index).left - Bounds().left - 20.0f; else fTabOffset += TabFrame(index).right - Bounds().right + 20.0f; } Invalidate(); tab->Show(); fSelection = index; FocusChanged = index+1; } }
void PairsView::CreateGameBoard() { // Show hidden buttons for (int32 i = 0; i < CountChildren(); i++) { BView* child = ChildAt(i); if (child->IsHidden()) child->Show(); } _GenerateCardPos(); }
void MainView::ToggleFields(bool on) { Field *child = NULL; BView *field = NULL; child = (Field *)ChildAt(0); while(child) { field = child->GetField(); if(on) { if(field->IsHidden()) field->Show(); } else { if(!field->IsHidden()) field->Hide(); } child = (Field *)child->NextSibling(); } }
void ArpConfigurePanel::GetPreferredSize(float* width, float* height) { float maxw=0, maxh=0; size_t i; // Get dimensions of all configuration views. for( i=0; i<mConfigViews->size(); i++ ) { BView* view = 0; if( (view=mConfigViews->at(i)) != 0 ) { ArpD(cdb << ADH << "Processing dimens for view #" << i << ", name=" << view->Name() << endl); float vwidth=0, vheight=0; // If this view is not attached to the window (i.e., it // is not currently displayed by the tab view), then it // may not be able to report correct dimensions. To fix // this, we temporarily add it to your view. if( !view->Window() ) { ArpD(cdb << ADH << "Temporarily attaching view to window." << endl); bool hidden = view->IsHidden(); view->Hide(); AddChild(view); view->GetPreferredSize(&vwidth, &vheight); RemoveChild(view); if( !hidden ) view->Show(); } else { view->GetPreferredSize(&vwidth, &vheight); } ArpD(cdb << ADH << "Preferred width=" << vwidth << ", height=" << vheight << endl); if( vwidth > maxw ) maxw = vwidth; if( vheight > maxh ) maxh = vheight; } } ArpD(cdb << ADH << "Final size=(" << (maxw+mTabWidth) << ", " << (maxh+mTabHeight) << ")" << endl); if( width ) *width = maxw + mTabWidth + 2; if( height ) *height = maxh + mTabHeight + 2; }