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; }
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); }
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); }