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(); }
size_t PanelProperties::addParametrs(WidgetStyle* widgetType, WidgetContainer* widgetContainer, MyGUI::Widget* _currentWidget) { size_t result = 0; for (MyGUI::VectorStringPairs::iterator iter = widgetType->parameter.begin(); iter != widgetType->parameter.end(); ++iter) { std::string value = widgetContainer->getProperty(iter->first); IPropertyField* field = getPropertyField(mWidgetClient, iter->first, iter->second); field->setTarget(_currentWidget); field->setValue(value); result ++; } return result; }
void cMenu::addPropertyField( uint32_t x, uint32_t y, uint32_t width, uint32_t height, uint32_t property, uint32_t subProperty, uint32_t hue, uint32_t subProperty2 ) { VAR_TYPE t = getPropertyType( property ); int32_t props = getIntFromProps( property, subProperty, subProperty2 ); if( t==T_BOOL ) { addCheckbox( x, y, 0x00D2, 0x00D3, getPropertyFieldBool( buffer[0], buffer[1], property, subProperty, subProperty2 ), props ); } else { addInputField( x, y, width, height, props, getPropertyField( buffer[0], buffer[1], property, subProperty, subProperty2 ), hue ); } editProps.insert( make_pair( props, rc_serialCurrent-1 ) ); }