Пример #1
0
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();
	};
	
}
Пример #2
0
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();
}
Пример #3
0
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();
	}
}
Пример #4
0
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;
        }

}
Пример #5
0
void
PairsView::CreateGameBoard()
{
	// Show hidden buttons
	for (int32 i = 0; i < CountChildren(); i++) {
		BView* child = ChildAt(i);
		if (child->IsHidden())
			child->Show();
	}
	_GenerateCardPos();
}
Пример #6
0
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();
	}
}
Пример #7
0
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;
}