Ejemplo n.º 1
0
void WidgetCreatorManager::finishNewWidget(const MyGUI::IntPoint& _point)
{
    if (mNewWidget != nullptr)
    {
        MyGUI::IntCoord coord = getCoordNewWidget(_point);

        if (coord.width != 0 && coord.height != 0)
        {
            mNewWidget->setCoord(coord);

            // создали виджет, все счастливы
            WidgetContainer * widgetContainer = new WidgetContainer(mWidgetType, mWidgetSkin, mNewWidget);
            if (mPopupMode)
                widgetContainer->setStyle(mNewWidget->getWidgetStyle().print());
            mNewWidget = nullptr;

            EditorWidgets::getInstance().add(widgetContainer);
            UndoManager::getInstance().addValue();

            // чтобы выделился созданый виджет
            resetAllCreatorInfo();

            WidgetSelectorManager::getInstance().setSelectedWidget(widgetContainer->getWidget());
        }
        else
        {
            // не удалось создать, т.к. размер нулевой
            resetWidget();
        }
    }

    resetAllCreatorInfo();

    eventChangeSelector(false, MyGUI::IntCoord());
}
	void PanelMainProperties::notifyActionAlign(const std::string& _type, const std::string& _value, bool _final)
	{
		if (_final)
		{
			WidgetContainer* widgetContainer = EditorWidgets::getInstance().find(mCurrentWidget);

			widgetContainer->setAlign(_value);
			widgetContainer->getWidget()->setAlign(MyGUI::Align::parse(_value));

			UndoManager::getInstance().addValue(PR_PROPERTIES);
		}
	}
Ejemplo n.º 3
0
	void PanelProperties::notifyAction(const std::string& _name, const std::string& _value, bool _final)
	{
		WidgetContainer* widgetContainer = EditorWidgets::getInstance().find(mCurrentWidget);

		EditorWidgets::getInstance().tryToApplyProperty(widgetContainer->getWidget(), _name, _value);

		if (_final)
		{
			if (_value.empty())
				widgetContainer->clearProperty(_name);
			else
				widgetContainer->setProperty(_name, _value);

			UndoManager::getInstance().addValue(PR_PROPERTIES);
		}
	}