本文整理汇总了C++中WidgetContainer::position方法的典型用法代码示例。如果您正苦于以下问题:C++ WidgetContainer::position方法的具体用法?C++ WidgetContainer::position怎么用?C++ WidgetContainer::position使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WidgetContainer
的用法示例。
在下文中一共展示了WidgetContainer::position方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: update
void PanelMainProperties::update(MyGUI::Widget* _currentWidget)
{
hidePropertyFields();
mCurrentWidget = _currentWidget;
if (mCurrentWidget == nullptr)
return;
WidgetStyle* widgetType = WidgetTypes::getInstance().findWidgetStyle(mCurrentWidget->getTypeName());
WidgetContainer* widgetContainer = EditorWidgets::getInstance().find(mCurrentWidget);
bool existTargetType = widgetContainer->existUserData(mUserDataTargetType);
IPropertyField* field = getPropertyField(mWidgetClient, "Name", "Name");
field->setTarget(_currentWidget);
field->setValue(widgetContainer->getName());
if (widgetType->resizeable)
{
field = getPropertyField(mWidgetClient, "Position", "Position");
field->setTarget(_currentWidget);
field->setValue(widgetContainer->position());
}
field = getPropertyField(mWidgetClient, "Type", "Type");
field->setTarget(_currentWidget);
if (existTargetType)
{
std::string targetType = widgetContainer->getUserData(mUserDataTargetType);
field->setValue(targetType);
}
else
{
field->setValue(widgetContainer->getType());
}
field = getPropertyField(mWidgetClient, "Align", "Align");
field->setTarget(_currentWidget);
field->setValue(widgetContainer->getAlign());
if (mCurrentWidget->isRootWidget())
{
field = getPropertyField(mWidgetClient, "Layer", "Layer");
field->setTarget(_currentWidget);
field->setValue(widgetContainer->getLayerName());
field = getPropertyField(mWidgetClient, "Template", "Bool");
field->setTarget(_currentWidget);
field->setValue(existTargetType ? "true" : "false");
}
field = getPropertyField(mWidgetClient, "Skin", "Skin");
field->setTarget(_currentWidget);
field->setValue(widgetContainer->getSkin());
updateSize();
}
示例2: notifyToggleRelativeMode
void PanelMainProperties::notifyToggleRelativeMode(MyGUI::WidgetPtr _sender)
{
if (current_widget) {
WidgetContainer * widgetContainer = EditorWidgets::getInstance().find(current_widget);
if (widgetContainer->relative_mode) mButtonRelativePosition->setCaption(localise("to_percents"));
else mButtonRelativePosition->setCaption(localise("to_pixels"));
widgetContainer->relative_mode = !widgetContainer->relative_mode;
eventSetPositionText(widgetContainer->position());
}
}
示例3: notifyRectangleResize
void PropertiesPanelView::notifyRectangleResize(MyGUI::WindowPtr _sender)
{
if (!_sender->isVisible()) return;
// найдем соответствующий контейнер виджета и переместим/раст¤нем
WidgetContainer * widgetContainer = EditorWidgets::getInstance().find(current_widget);
if (WidgetTypes::getInstance().find(current_widget->getTypeName())->resizeable)
{
MyGUI::IntCoord coord = convertCoordToParentCoord(_sender->getCoord(), current_widget);
MyGUI::IntCoord old_coord = current_widget->getCoord();
// align to grid
if (!MyGUI::InputManager::getInstance().isShiftPressed() && !arrow_move){
if ((old_coord.width == coord.width) && (old_coord.height == coord.height)) // если только перемещаем
{
coord.left = toGrid(coord.left + grid_step-1 - old_coord.left) + old_coord.left;
coord.top = toGrid(coord.top + grid_step-1 - old_coord.top) + old_coord.top;
}
else // если раст¤гиваем
{
if (old_coord.left != coord.left){
coord.left = toGrid(coord.left + grid_step-1);
coord.width = old_coord.right() - coord.left;
}else if (old_coord.width != coord.width){
coord.width = toGrid(coord.width + old_coord.left) - old_coord.left;
}
if (old_coord.top != coord.top){
coord.top = toGrid(coord.top + grid_step-1);
coord.height = old_coord.bottom() - coord.top;
}else if (old_coord.height != coord.height){
coord.height = toGrid(coord.height + old_coord.top) - old_coord.top;
}
}
}
arrow_move = false;
current_widget->setCoord(coord);
// update coord because of current_widget can have MinMax size
coord = current_widget->getCoord();
setPositionText(widgetContainer->position());
UndoManager::getInstance().addValue(PR_POSITION);
}
current_widget_rectangle->setCoord(current_widget->getAbsoluteCoord());
}
示例4: update
void PanelMainProperties::update(MyGUI::Widget* _currentWidget)
{
int y = 0;
mCurrentWidget = _currentWidget;
WidgetStyle* widgetType = WidgetTypes::getInstance().findWidgetStyle(mCurrentWidget->getTypeName());
WidgetContainer* widgetContainer = EditorWidgets::getInstance().find(mCurrentWidget);
eventCreatePair(mWidgetClient, "Name", widgetContainer->name, "Name", y);
y += mPropertyItemHeight;
if (widgetType->resizeable)
{
// update caption of LayoutEditor_buttonRelativePosition
mButtonRelativePosition->setVisible(true);
if (widgetContainer->relative_mode) mButtonRelativePosition->setCaption(replaceTags("to_pixels"));
else mButtonRelativePosition->setCaption(replaceTags("to_percents"));
eventCreatePair(mWidgetClient, "Position", widgetContainer->position(), "Position", y);
y += mPropertyItemHeight;
}
else
{
mButtonRelativePosition->setVisible(false);
}
eventCreatePair(mWidgetClient, "Align", widgetContainer->align, "Align", y);
y += mPropertyItemHeight;
if (nullptr == mCurrentWidget->getParent())
{
eventCreatePair(mWidgetClient, "Layer", widgetContainer->layer, "Layer", y);
y += mPropertyItemHeight;
}
if (widgetType->skin.size() > 1)
{
eventCreatePair(mWidgetClient, "Skin", widgetContainer->skin, "Skin", y);
y += mPropertyItemHeight;
}
mWidgetClient->_forcePeek(mButtonRelativePosition);
mPanelCell->setClientHeight(y);
}