本文整理汇总了C++中mygui::WidgetPtr::getWidth方法的典型用法代码示例。如果您正苦于以下问题:C++ WidgetPtr::getWidth方法的具体用法?C++ WidgetPtr::getWidth怎么用?C++ WidgetPtr::getWidth使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mygui::WidgetPtr
的用法示例。
在下文中一共展示了WidgetPtr::getWidth方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Load
bool GUIMessageLayout::Load()
{
bool res = GUILayout::Load();
MyGUI::ButtonPtr button;
MyGUI::Gui *gui = GUISystem::GetInstance()->GetGui();
button = gui->findWidget<MyGUI::Button>("MessageButtonOK");
button->eventMouseButtonClick = MyGUI::newDelegate(this, &GUIMessageLayout::mousePressed);
MyGUI::WidgetPtr widget = Widgets.front();
widget->setPosition(gui->getViewWidth()/2-widget->getWidth()/2,gui->getViewHeight()/2-widget->getHeight()/2);
return res;
}
示例2: layoutVertically
void InfoBoxDialog::layoutVertically(MyGUI::WidgetPtr widget, int margin)
{
size_t count = widget->getChildCount();
int pos = 0;
pos += margin;
int width = 0;
for (unsigned i = 0; i < count; ++i)
{
MyGUI::WidgetPtr child = widget->getChildAt(i);
if (!child->getVisible())
continue;
child->setPosition(child->getLeft(), pos);
width = std::max(width, child->getWidth());
pos += child->getHeight() + margin;
}
width += margin*2;
widget->setSize(width, pos);
}
示例3: loadLayoutRecursive
//.........这里部分代码省略.........
}
// then specializations
if (anim == "rotate")
{
ctrl.animationType = ANIM_ROTATE;
// check if its the correct control
// try to cast, will throw
// and if the link is a float
/*
if (manager->getDataType(ctrl.linkID) != DC_FLOAT)
{
LOG("Dashboard ("+filename+"/"+name+"): Rotating controls can only link to floats");
continue;
}
*/
try
{
ctrl.rotImg = w->getSubWidgetMain()->castType<MyGUI::RotatingSkin>();
}
catch (...)
{
LOG("Dashboard ("+filename+"/"+name+"): Rotating controls must use the RotatingSkin");
return;
}
if (!ctrl.rotImg)
{
LOG("Dashboard ("+filename+"/"+name+"): error loading rotation control");
return;
}
// special: set rotation center now into the middle
ctrl.rotImg->setCenter(MyGUI::IntPoint(w->getHeight() * 0.5f, w->getWidth() * 0.5f));
}
else if (anim == "scale")
{
ctrl.animationType = ANIM_SCALE;
if (ctrl.direction == DIRECTION_NONE)
{
LOG("Dashboard ("+filename+"/"+name+"): direction empty: scale needs a direction");
return;
}
}
else if (anim == "translate")
{
ctrl.animationType = ANIM_TRANSLATE;
if (ctrl.direction == DIRECTION_NONE)
{
LOG("Dashboard ("+filename+"/"+name+"): direction empty: translate needs a direction");
return;
}
}
else if (anim == "series")
{
ctrl.animationType = ANIM_SERIES;
ctrl.img = (MyGUI::ImageBox *)w; //w->getSubWidgetMain()->castType<MyGUI::ImageBox>();
if (!ctrl.img)
{
LOG("Dashboard ("+filename+"/"+name+"): error loading series control");
return;
}
}
else if (anim == "textcolor" || anim == "textcolour")
{
示例4: 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
//.........这里部分代码省略.........