本文整理汇总了C++中mygui::WidgetPtr::getHeight方法的典型用法代码示例。如果您正苦于以下问题:C++ WidgetPtr::getHeight方法的具体用法?C++ WidgetPtr::getHeight怎么用?C++ WidgetPtr::getHeight使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mygui::WidgetPtr
的用法示例。
在下文中一共展示了WidgetPtr::getHeight方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: updateView
void PanelView::updateView()
{
// вычисл¤ем максимальную высоту всего добра
int height = 0;
for (VectorPanel::iterator iter=mItems.begin(); iter!=mItems.end(); ++iter) {
MyGUI::WidgetPtr widget = (*iter)->getPanelCell()->mainWidget();
if (widget->isShow()) {
height += widget->getHeight();
}
}
// ставим высоту холста, и спрашиваем получившуюс¤ ширину клиента
mScrollView->setCanvasSize(0, height);
// ширина клиента могла помен¤тс¤
MyGUI::IntCoord coord = mScrollView->getClientCoord();
mScrollView->setCanvasSize(coord.width, height);
// выравниваем все панели
int pos = 0;
for (VectorPanel::iterator iter=mItems.begin(); iter!=mItems.end(); ++iter) {
MyGUI::WidgetPtr widget = (*iter)->getPanelCell()->mainWidget();
if (widget->isShow()) {
height = widget->getHeight();
widget->setPosition(MyGUI::IntCoord(0, pos, coord.width, height));
pos += height;
}
}
mNeedUpdate = false;
MyGUI::Gui::getInstance().eventFrameStart -= MyGUI::newDelegate(this, &PanelView::frameEntered);
}
示例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: 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;
}