本文整理汇总了C++中mygui::WidgetPtr::setVisible方法的典型用法代码示例。如果您正苦于以下问题:C++ WidgetPtr::setVisible方法的具体用法?C++ WidgetPtr::setVisible怎么用?C++ WidgetPtr::setVisible使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mygui::WidgetPtr
的用法示例。
在下文中一共展示了WidgetPtr::setVisible方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: loadLayoutRecursive
void DashBoard::loadLayoutRecursive(MyGUI::WidgetPtr w)
{
std::string name = w->getName();
std::string anim = w->getUserString("anim");
std::string debug = w->getUserString("debug");
std::string linkArgs = w->getUserString("link");
// make it unclickable
w->setUserString("interactive", "0");
if (!debug.empty())
{
w->setVisible(false);
return;
}
// find the root widget and ignore debug widgets
if (name.size() > prefix.size())
{
std::string prefixLessName = name.substr(prefix.size());
if (prefixLessName == "_Main")
{
mainWidget = (MyGUI::WindowPtr)w;
// resize it
windowResized();
}
// ignore debug widgets
if (prefixLessName == "DEBUG")
{
w->setVisible(false);
return;
}
}
// animations for this control?
if (!linkArgs.empty())
{
layoutLink_t ctrl;
memset(&ctrl, 0, sizeof(ctrl));
if (!name.empty()) strncpy(ctrl.name, name.c_str(), 255);
ctrl.widget = w;
ctrl.initialSize = w->getSize();
ctrl.initialPosition = w->getPosition();
ctrl.last = 1337.1337f; // force update
ctrl.lastState = true;
// establish the link
{
replaceString(linkArgs, ">", ">");
replaceString(linkArgs, "<", "<");
String linkName = "";
if (linkArgs.empty())
{
LOG("Dashboard ("+filename+"/"+name+"): empty Link");
return;
}
// conditional checks
// TODO: improve the logic, this is crap ...
if (linkArgs.find(">") != linkArgs.npos)
{
Ogre::StringVector args = Ogre::StringUtil::split(linkArgs, ">");
if (args.size() == 2)
{
linkName = args[0];
ctrl.conditionArgument = StringConverter::parseReal(args[1]);
ctrl.condition = CONDITION_GREATER;
} else
{
LOG("Dashboard ("+filename+"/"+name+"): error in conditional Link: " + linkArgs);
return;
}
} else if (linkArgs.find("<") != linkArgs.npos )
{
Ogre::StringVector args = Ogre::StringUtil::split(linkArgs, "<");
if (args.size() == 2)
{
linkName = args[0];
ctrl.conditionArgument = StringConverter::parseReal(args[1]);
ctrl.condition = CONDITION_LESSER;
} else
{
LOG("Dashboard ("+filename+"/"+name+"): error in conditional Link: " + linkArgs);
return;
}
} else
{
ctrl.condition = CONDITION_NONE;
ctrl.conditionArgument = 0;
linkName = linkArgs;
}
// now try to get the enum id for it
int linkID = manager->getLinkIDForName(linkName);
if (linkID < 0)
{
//.........这里部分代码省略.........
示例2: createPropertiesWidgetsPair
void PropertiesPanelView::createPropertiesWidgetsPair(MyGUI::WidgetPtr _window, std::string _property, std::string _value, std::string _type,int y)
{
pairs_counter++;
int x1 = 0, x2 = 125;
int w1 = 120;
int w2 = _window->getWidth() - x2;
const int h = PropertyItemHeight;
if (_property == "Position")
{
x1 = 66;
w1 = w1 - x1;
}
MyGUI::StaticTextPtr text;
MyGUI::WidgetPtr editOrCombo;
//int string_int_float; // 0 - string, 1 - int, 2 - float
int widget_for_type;// 0 - Edit, 1 - Combo mode drop, 2 - ...
std::string type_names[2] = {"Edit", "ComboBox"};
if ("Name" == _type) widget_for_type = 0;
else if ("Skin" == _type) widget_for_type = 1;
else if ("Position" == _type) widget_for_type = 0;
else if ("Layer" == _type) widget_for_type = 1;
else if ("String" == _type) widget_for_type = 0;
else if ("Align" == _type) widget_for_type = 1;
// не совсем правильно FIXME
else if ("1 int" == _type) widget_for_type = 0;
else if ("2 int" == _type) widget_for_type = 0;
else if ("4 int" == _type) widget_for_type = 0;
else if ("1 float" == _type) widget_for_type = 0;
else if ("2 float" == _type) widget_for_type = 0;
// надо сделать проще FIXME
else if ("Colour" == _type) widget_for_type = 0;//"Colour" хорошо бы колорпикером
else if ("MessageButton" == _type) widget_for_type = 1;
else if ("FileName" == _type) widget_for_type = 0;
else widget_for_type = 1;
if ((propertiesText.size() < pairs_counter) || (propertiesText[pairs_counter-1]->getParent() != _window))
{
text = _window->createWidget<MyGUI::StaticText>("Editor_StaticText", x1, y, w1, h, MyGUI::Align::Default);
text->setTextAlign(MyGUI::Align::Right);
if (propertiesText.size() < pairs_counter)
{
propertiesText.push_back(text);
}
else
{
MyGUI::Gui::getInstance().destroyWidget(propertiesText[pairs_counter-1]);
propertiesText[pairs_counter-1] = text;
}
}
else
{
text = propertiesText[pairs_counter-1];
text->setVisible(true);
text->setCoord(x1, y, w1, h);
}
std::string prop = _property;
// trim widget name
std::string::iterator iter = std::find(prop.begin(), prop.end(), '_');
if (iter != prop.end()) prop.erase(prop.begin(), ++iter);
text->setCaption(prop);
if ((propertiesElement.size() < pairs_counter) || (propertiesElement[pairs_counter-1]->getParent() != _window) ||
(type_names[widget_for_type] != propertiesElement[pairs_counter-1]->getTypeName()))
{
if (widget_for_type == 0)
{
editOrCombo = _window->createWidget<MyGUI::Edit>("Edit", x2, y, w2, h, MyGUI::Align::Top | MyGUI::Align::HStretch);
editOrCombo->castType<MyGUI::Edit>()->eventEditTextChange = newDelegate (this, &PropertiesPanelView::notifyTryApplyProperties);
editOrCombo->castType<MyGUI::Edit>()->eventEditSelectAccept = newDelegate (this, &PropertiesPanelView::notifyForceApplyProperties);
}
else if (widget_for_type == 1)
{
editOrCombo = _window->createWidget<MyGUI::ComboBox>("ComboBox", x2, y, w2, h, MyGUI::Align::Top | MyGUI::Align::HStretch);
editOrCombo->castType<MyGUI::ComboBox>()->eventComboAccept = newDelegate (this, &PropertiesPanelView::notifyForceApplyProperties2);
editOrCombo->castType<MyGUI::ComboBox>()->setComboModeDrop(true);
}
if (propertiesElement.size() < pairs_counter)
{
propertiesElement.push_back(editOrCombo);
}
else
{
MyGUI::Gui::getInstance().destroyWidget(propertiesElement[pairs_counter-1]);
propertiesElement[pairs_counter-1] = editOrCombo;
}
}
else
{
editOrCombo = propertiesElement[pairs_counter-1];
if (widget_for_type == 1) editOrCombo->castType<MyGUI::ComboBox>()->removeAllItems();
editOrCombo->setVisible(true);
editOrCombo->setCoord(x2, y, w2, h);
}
// fill possible values
//.........这里部分代码省略.........