void DemoKeeper::notifyFrameStarted(float _time) { if (all_widgets.size() > 500) { step_destroy_widget(200); } else { int step = random(8); if (step == 0) { step_detach_layer(10); } else if (step == 1) { step_attach_layer(30); } else if (step == 2) { step_attach_widget(10); } else if (step == 3) { step_detach_widget(10); } else if (step == 4) { step_destroy_widget(2); } else if (step == 5) { step_create_widget(30); } else if (step == 6) { step_change_skin(30); } else if (step == 7) { step_change_type(30); } } getStatisticInfo()->change("COUNT", all_widgets.size()); #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 ::Sleep(10); #endif }
void Application::createScene() { if (getStatisticInfo() != nullptr) getStatisticInfo()->setVisible(false); std::string layerCategory = MyGUI::LayerManager::getInstance().getCategoryName(); MyGUI::FactoryManager::getInstance().registerFactory<MyGUI::RTTLayer>(layerCategory); std::string subWidgetCategory = MyGUI::SubWidgetManager::getInstance().getCategoryName(); MyGUI::FactoryManager::getInstance().registerFactory<MyGUI::FilterNone>(subWidgetCategory); new SettingsManager(); SettingsManager::getInstance().loadSettingsFile(MyGUI::DataManager::getInstance().getDataPath("Settings.xml")); std::string userSettingsFileName = SettingsManager::getInstance().getValue("Editor/UserSettingsFileName"); if (!userSettingsFileName.empty()) SettingsManager::getInstance().loadUserSettingsFile(userSettingsFileName); new HotKeyManager(); HotKeyManager::getInstance().initialise(); LoadGuiSettings(); std::string language = SettingsManager::getInstance().getValue("Settings/InterfaceLanguage"); if (language.empty() || language == "Auto") { if (!mLocale.empty()) MyGUI::LanguageManager::getInstance().setCurrentLanguage(mLocale); } else { MyGUI::LanguageManager::getInstance().setCurrentLanguage(language); } new CommandManager(); CommandManager::getInstance().initialise(); new WidgetSelectorManager(); WidgetSelectorManager::getInstance().initialise(); new WidgetCreatorManager(); WidgetCreatorManager::getInstance().initialise(); new MessageBoxManager(); MessageBoxManager::getInstance().initialise(); new DialogManager(); DialogManager::getInstance().initialise(); new WidgetTypes(); WidgetTypes::getInstance().initialise(); new EditorWidgets(); EditorWidgets::getInstance().initialise(); new BackwardCompatibilityManager(); BackwardCompatibilityManager::getInstance().initialise(); new UndoManager(); UndoManager::getInstance().initialise(EditorWidgets::getInstancePtr()); new StateManager(); StateManager::getInstance().initialise(); new GroupMessage(); GroupMessage::getInstance().initialise(); new RecentFilesManager(); RecentFilesManager::getInstance().initialise(); new ColourManager(); ColourManager::getInstance().initialise(); new EditorToolTip(); EditorToolTip::getInstance().initialise(); new PropertyFieldManager(); PropertyFieldManager::getInstance().initialise(); new GridManager(); GridManager::getInstance().initialise(); MyGUI::ResourceManager::getInstance().load("Initialise.xml"); bool maximized = SettingsManager::getInstance().getValue<bool>("Controls/Main/Maximized"); setWindowMaximized(maximized); if (!maximized) { MyGUI::IntCoord windowCoord = SettingsManager::getInstance().getValue<MyGUI::IntCoord>("Controls/Main/Coord"); setWindowCoord(windowCoord); } CommandManager::getInstance().getEvent("Command_StatisticInfo")->connect(this, &Application::command_StatisticInfo); CommandManager::getInstance().getEvent("Command_FocusVisible")->connect(this, &Application::command_FocusVisible); CommandManager::getInstance().getEvent("Command_ScreenShot")->connect(this, &Application::command_ScreenShot); CommandManager::getInstance().getEvent("Command_QuitApp")->connect(this, &Application::command_QuitApp); CommandManager::getInstance().getEvent("Command_UpdateAppCaption")->connect(this, &Application::command_UpdateAppCaption); LoadStates(); }
void Application::command_StatisticInfo(const MyGUI::UString& _commandName, bool& _result) { getStatisticInfo()->setVisible(!getStatisticInfo()->getVisible()); _result = true; }
void Application::createScene() { MyGUI::FactoryManager::getInstance().registerFactory<MyGUI::RTTLayer>("Layer"); MyGUI::FactoryManager::getInstance().registerFactory<MyGUI::FilterNone>("BasisSkin"); MyGUI::ResourceManager::getInstance().load("EditorLayers.xml"); MyGUI::ResourceManager::getInstance().load("EditorSettings.xml"); getStatisticInfo()->setVisible(false); // set locale language if it was taken from OS if (!mLocale.empty()) MyGUI::LanguageManager::getInstance().setCurrentLanguage(mLocale); // if you want to test LanguageManager uncomment next line //MyGUI::LanguageManager::getInstance().setCurrentLanguage("Russian"); //MyGUI::LanguageManager::getInstance().setCurrentLanguage("English"); new SettingsManager(); SettingsManager::getInstance().initialise("le_user_settings.xml"); new CommandManager(); CommandManager::getInstance().initialise(); new WidgetSelectorManager(); WidgetSelectorManager::getInstance().initialise(); new WidgetCreatorManager(); WidgetCreatorManager::getInstance().initialise(); new HotKeyManager(); HotKeyManager::getInstance().initialise(); new MessageBoxManager(); MessageBoxManager::getInstance().initialise(); new DialogManager(); DialogManager::getInstance().initialise(); new WidgetTypes(); WidgetTypes::getInstance().initialise(); new EditorWidgets(); EditorWidgets::getInstance().initialise(); new BackwardCompatibilityManager(); BackwardCompatibilityManager::getInstance().initialise(); new UndoManager(); UndoManager::getInstance().initialise(EditorWidgets::getInstancePtr()); new StateManager(); StateManager::getInstance().initialise(); new GroupMessage(); GroupMessage::getInstance().initialise(); new RecentFilesManager(); RecentFilesManager::getInstance().initialise(); new ColourManager(); ColourManager::getInstance().initialise(); new EditorToolTip(); EditorToolTip::getInstance().initialise(); new PropertyFieldManager(); PropertyFieldManager::getInstance().initialise(); MyGUI::ResourceManager::getInstance().load("Initialise.xml"); const SettingsSector::VectorUString& additionalPaths = SettingsManager::getInstance().getSector("Settings")->getPropertyValueList("AdditionalPaths"); for (SettingsSector::VectorUString::const_iterator iter = additionalPaths.begin(); iter != additionalPaths.end(); ++iter) addResourceLocation(*iter); const SettingsSector::VectorUString& additionalResources = SettingsManager::getInstance().getSector("Settings")->getPropertyValueList("AdditionalResources"); for (SettingsSector::VectorUString::const_iterator iter = additionalResources.begin(); iter != additionalResources.end(); ++iter) MyGUI::ResourceManager::getInstance().load(*iter); CommandManager::getInstance().registerCommand("Command_StatisticInfo", MyGUI::newDelegate(this, &Application::command_StatisticInfo)); CommandManager::getInstance().registerCommand("Command_FocusVisible", MyGUI::newDelegate(this, &Application::command_FocusVisible)); CommandManager::getInstance().registerCommand("Command_QuitApp", MyGUI::newDelegate(this, &Application::command_QuitApp)); CommandManager::getInstance().registerCommand("Command_UpdateAppCaption", MyGUI::newDelegate(this, &Application::command_UpdateAppCaption)); mEditorState = new EditorState(); mTestState = new TestState(); StateManager::getInstance().registerState(this, "Application"); StateManager::getInstance().registerState(mEditorState, "EditorState"); StateManager::getInstance().registerState(mTestState, "TestState"); StateManager::getInstance().registerEventState("Application", "Start", "EditorState"); StateManager::getInstance().registerEventState("EditorState", "Test", "TestState"); StateManager::getInstance().registerEventState("EditorState", "Exit", "Application"); StateManager::getInstance().registerEventState("TestState", "Exit", "EditorState"); StateManager::getInstance().pushState(this); StateManager::getInstance().stateEvent(this, "Start"); }
void Application::createScene() { if (getStatisticInfo() != nullptr) getStatisticInfo()->setVisible(false); MyGUI::FactoryManager::getInstance().registerFactory<MyGUI::FilterNone>("BasisSkin"); new SettingsManager(); SettingsManager::getInstance().initialise("se_user_settings.xml"); std::string language = SettingsManager::getInstance().getSector("Settings")->getPropertyValue("InterfaceLanguage"); if (language.empty() || language == "Auto") { if (!mLocale.empty()) MyGUI::LanguageManager::getInstance().setCurrentLanguage(mLocale); } else { MyGUI::LanguageManager::getInstance().setCurrentLanguage(language); } new RecentFilesManager(); RecentFilesManager::getInstance().initialise(); new CommandManager(); CommandManager::getInstance().initialise(); new SkinManager(); SkinManager::getInstance().initialise(); new ActionManager(); ActionManager::getInstance().initialise(); new ExportManager(); ExportManager::getInstance().initialise(); new MessageBoxManager(); MessageBoxManager::getInstance().initialise(); new DialogManager(); DialogManager::getInstance().initialise(); new HotKeyManager(); HotKeyManager::getInstance().initialise(); new StateManager(); StateManager::getInstance().initialise(); new ColourManager(); ColourManager::getInstance().initialise(); new Grid(); Grid::getInstance().initialise(); MyGUI::ResourceManager::getInstance().load("Initialise.xml"); const SettingsSector::VectorUString& additionalPaths = SettingsManager::getInstance().getSector("Settings")->getPropertyValueList("AdditionalPaths"); for (SettingsSector::VectorUString::const_iterator iter = additionalPaths.begin(); iter != additionalPaths.end(); ++iter) addResourceLocation(*iter); const SettingsSector::VectorUString& additionalResources = SettingsManager::getInstance().getSector("Settings")->getPropertyValueList("AdditionalResources"); for (SettingsSector::VectorUString::const_iterator iter = additionalResources.begin(); iter != additionalResources.end(); ++iter) MyGUI::ResourceManager::getInstance().load(*iter); CommandManager::getInstance().registerCommand("Command_StatisticInfo", MyGUI::newDelegate(this, &Application::command_StatisticInfo)); CommandManager::getInstance().registerCommand("Command_FocusVisible", MyGUI::newDelegate(this, &Application::command_FocusVisible)); CommandManager::getInstance().registerCommand("Command_ScreenShot", MyGUI::newDelegate(this, &Application::command_ScreenShot)); CommandManager::getInstance().registerCommand("Command_QuitApp", MyGUI::newDelegate(this, &Application::command_QuitApp)); CommandManager::getInstance().registerCommand("Command_UpdateAppCaption", MyGUI::newDelegate(this, &Application::command_UpdateAppCaption)); mEditorState = new EditorState(); mTestState = new TestState(); StateManager::getInstance().registerState(this, "Application"); StateManager::getInstance().registerState(mEditorState, "EditorState"); StateManager::getInstance().registerState(mTestState, "TestState"); StateManager::getInstance().registerEventState("Application", "Start", "EditorState"); StateManager::getInstance().registerEventState("EditorState", "Test", "TestState"); StateManager::getInstance().registerEventState("EditorState", "Exit", "Application"); StateManager::getInstance().registerEventState("TestState", "Exit", "EditorState"); StateManager::getInstance().pushState(this); StateManager::getInstance().stateEvent(this, "Start"); }
//=================================================================================== void EditorState::createScene() { getStatisticInfo()->setVisible(false); MyGUI::LogManager::registerSection(LogSection, "MyGUI.log"); //FIXME // set locale language if it was taken from OS //if (! BasisManager::getInstance().getLanguage().empty() ) // MyGUI::LanguageManager::getInstance().setCurrentLanguage(BasisManager::getInstance().getLanguage()); // if you want to test LanguageManager uncomment next line //MyGUI::LanguageManager::getInstance().setCurrentLanguage("Russian"); testMode = false; wt = new WidgetTypes(); wt->initialise(); ew = new EditorWidgets(); ew->initialise(); um = new UndoManager(); um->initialise(ew); mGroupMessage = new GroupMessage(); MyGUI::ResourceManager::getInstance().load("initialise.xml"); mToolTip = new EditorToolTip(); //MyGUI::DelegateManager::getInstance().addDelegate("eventInfo", MyGUI::newDelegate(eventInfo)); //MyGUI::DelegateManager::getInstance().addDelegate("eventEditorToolTip", MyGUI::newDelegate(this, &EditorState::notifyToolTip)); interfaceWidgets = MyGUI::LayoutManager::getInstance().loadLayout("interface.layout", "LayoutEditor_"); // settings window mSettingsWindow = new SettingsWindow(); mSettingsWindow->eventWidgetsUpdate = MyGUI::newDelegate(this, &EditorState::notifyWidgetsUpdate); interfaceWidgets.push_back(mSettingsWindow->getMainWidget()); // properties panelView mPropertiesPanelView = new PropertiesPanelView(); mPropertiesPanelView->eventRecreate = MyGUI::newDelegate(this, &EditorState::notifyRecreate); interfaceWidgets.push_back(mPropertiesPanelView->getMainWidget()); mWidgetsWindow = new WidgetsWindow(); mWidgetsWindow->eventToolTip = MyGUI::newDelegate(this, &EditorState::notifyToolTip); mWidgetsWindow->eventSelectWidget = MyGUI::newDelegate(this, &EditorState::notifySelectWidget); interfaceWidgets.push_back(mWidgetsWindow->getMainWidget()); mMetaSolutionWindow = new MetaSolutionWindow(); mMetaSolutionWindow->eventLoadFile = MyGUI::newDelegate(this, &EditorState::saveOrLoadLayoutEvent<false>); mMetaSolutionWindow->eventSelectWidget = MyGUI::newDelegate(this, &EditorState::notifySelectWidget); interfaceWidgets.push_back(mMetaSolutionWindow->getMainWidget()); mOpenSaveFileDialog = new common::OpenSaveFileDialog(); mOpenSaveFileDialog->setVisible(false); mOpenSaveFileDialog->setFileMask("*.layout"); mOpenSaveFileDialog->eventEndDialog = MyGUI::newDelegate(this, &EditorState::notifyOpenSaveEndDialog); loadSettings(settingsFile, true); loadSettings(userSettingsFile, false); // создание меню createMainMenu(); mPropertiesPanelView->getMainWidget()->setCoord( getGUI()->getViewSize().width - mPropertiesPanelView->getMainWidget()->getSize().width, bar->getHeight(), mPropertiesPanelView->getMainWidget()->getSize().width, getGUI()->getViewHeight() - bar->getHeight() ); // после загрузки настроек инициализируем mWidgetsWindow->initialise(); if (mSettingsWindow->getEdgeHide()) { for (MyGUI::VectorWidgetPtr::iterator iter = interfaceWidgets.begin(); iter != interfaceWidgets.end(); ++iter) { MyGUI::ControllerItem* item = MyGUI::ControllerManager::getInstance().createItem(MyGUI::ControllerEdgeHide::getClassTypeName()); MyGUI::ControllerEdgeHide* controller = item->castType<MyGUI::ControllerEdgeHide>(); controller->setTime(POSITION_CONTROLLER_TIME); controller->setRemainPixels(HIDE_REMAIN_PIXELS); controller->setShadowSize(3); MyGUI::ControllerManager::getInstance().addItem(*iter, controller); } } clear(); /*MyGUI::Widget* mFpsInfo = mGUI->createWidget<MyGUI::Widget>("ButtonSmall", 20, (int)mGUI->getViewHeight() - 80, 120, 70, MyGUI::Align::Left | MyGUI::Align::Bottom, "Main", "fpsInfo"); mFpsInfo->setColour(Ogre::ColourValue::White);*/ //FIXME /*typedef std::vector<std::string> Params; Params params = BasisManager::getInstance().getCommandParams(); for (Params::iterator iter=params.begin(); iter!=params.end(); ++iter) { saveOrLoadLayout(false, false, iter->c_str()); }*/ getGUI()->eventFrameStart += MyGUI::newDelegate(this, &EditorState::notifyFrameStarted); for (std::vector<MyGUI::UString>::iterator iter = additionalPaths.begin(); iter != additionalPaths.end(); ++iter) { addResourceLocation(*iter); } }