Beispiel #1
0
void Tabbed::AddPage(Widget *label, Widget *child)
{
	AppendChild(label, 0, 0);
	AppendChild(child, 0, TAB_BAR_HEIGHT);
	m_pages.push_back(std::pair<Widget*,Widget*>(label,child));
	if (m_page != m_pages.size()-1) child->Hide();
	label->Show();
	ShuffleLabels();
}
Beispiel #2
0
void Tabbed::OnChildResizeRequest(Widget *child)
{
	if (IsLabelWidget(child)) {
		float size[2], rsize[2];
		GetSize(size);
		rsize[0] = size[0];
		rsize[1] = TAB_BAR_HEIGHT;
		child->GetSizeRequested(rsize);
		rsize[0] = std::min(rsize[0], size[0]);
		rsize[1] = std::min(rsize[1], TAB_BAR_HEIGHT);
		child->SetSize(rsize[0], rsize[1]);
		ShuffleLabels();
	} else {
		float size[2], rsize[2];
		GetSize(size);
		rsize[0] = size[0];
		rsize[1] = size[1] - TAB_BAR_HEIGHT;
		child->GetSizeRequested(rsize);
		rsize[0] = std::min(rsize[0], size[0]);
		child->SetSize(rsize[0], rsize[1]);
	}
}