예제 #1
0
Widget * DebugMenuCommand::CreateButton(const char * a_name, Widget * a_parent, Colour a_colour)
{
	// All debug menu elements are created equal
	Widget::WidgetDef curItem;
	curItem.m_size = WidgetVector(0.2f, 0.1f);
	curItem.m_pos = WidgetVector(0.0f, 0.0f);
	curItem.m_pos.SetAlignment(AlignX::Left, AlignY::Top);
	curItem.m_pos.SetAlignmentAnchor(AlignX::Left, AlignY::Top);
	curItem.m_selectFlags = SelectionFlags::Rollover;
	curItem.m_colour = a_colour;
	curItem.m_name = a_name;

	// Check for a loaded debug font
	if (StringHash * debugFont = FontManager::Get().GetDebugFontName())
	{
		curItem.m_fontNameHash = debugFont->GetHash();
	}

	Widget * retWidget = Gui::Get().CreateWidget(curItem, a_parent, false);
	retWidget->SetDebugWidget();
	retWidget->SetActive(false);
	return retWidget;
}
예제 #2
0
INLINE void WidgetContainer::Remove(IWidget *widget)
{
	ASSERT_NULL(widget);

	WidgetIterator p = std::find(vWidget.begin(), vWidget.end(), widget);
	if (p != vWidget.end())
	{
		//IWidget *widget = (*p);
		//widget->SetParent(NULL);

		vWidget.erase(p);
	}

	WidgetVector(vWidget).swap(vWidget);
}
예제 #3
0
void WidgetContainer::Reset()
{
	iId				= 0;
	iColor.pixel	= 0;
	eBlendOperation	= BlendNone;

	IWidget::Reset();

	this->SetWidth(1.0f);
	this->SetHeight(1.0f);

	bVisible			= TRUE;
	bChanged			= TRUE;
	bTransformationChanged = TRUE;
	bDisabled			= FALSE;
	bEventConsumed	= FALSE;

	vWidget.clear();
	WidgetVector().swap(vWidget);
}