Widget::~Widget() { for (VectorCroppedRectanglePtr::iterator skin = mSubSkinChild.begin(); skin != mSubSkinChild.end(); skin++) { delete (*skin); } mSubSkinChild.clear(); _destroyAllChildWidget(); }
void Gui::shutdown() { MYGUI_ASSERT(mIsInitialise, getClassTypeName() << " is not initialised"); MYGUI_LOG(Info, "* Shutdown: " << getClassTypeName()); BackwardCompatibility::shutdown(); _destroyAllChildWidget(); // деинициализируем и удаляем синглтоны mPointerManager->shutdown(); mInputManager->shutdown(); mSkinManager->shutdown(); mSubWidgetManager->shutdown(); mLayerManager->shutdown(); mFontManager->shutdown(); mControllerManager->shutdown(); mClipboardManager->shutdown(); mLayoutManager->shutdown(); mPluginManager->shutdown(); mDynLibManager->shutdown(); mLanguageManager->shutdown(); mResourceManager->shutdown(); mFactoryManager->shutdown(); mToolTipManager->shutdown(); WidgetManager::getInstance().unregisterUnlinker(this); mWidgetManager->shutdown(); mPathsManager->shutdown(); delete mPointerManager; delete mWidgetManager; delete mInputManager; delete mSkinManager; delete mSubWidgetManager; delete mLayerManager; delete mFontManager; delete mControllerManager; delete mClipboardManager; delete mLayoutManager; delete mDynLibManager; delete mPluginManager; delete mLanguageManager; delete mResourceManager; delete mFactoryManager; delete mToolTipManager; delete mPathsManager; // сбрасываем кеш texture_utility::getTextureSize("", false); MYGUI_LOG(Info, getClassTypeName() << " successfully shutdown"); mIsInitialise = false; }
Widget::~Widget() { _detachFromLayerItemKeeper(); for (VectorCroppedRectanglePtr::iterator skin = mSubSkinChild.begin(); skin != mSubSkinChild.end(); ++skin) { delete (*skin); } mSubSkinChild.clear(); _destroyAllChildWidget(); }
void Gui::shutdown() { if (!mIsInitialise) return; MYGUI_LOG(Info, "* Shutdown: " << INSTANCE_TYPE_NAME); _destroyAllChildWidget(); // деинициализируем и удаляем синглтоны mPointerManager->shutdown(); mInputManager->shutdown(); mSkinManager->shutdown(); mSubWidgetManager->shutdown(); mLayerManager->shutdown(); mFontManager->shutdown(); mControllerManager->shutdown(); mClipboardManager->shutdown(); mLayoutManager->shutdown(); mPluginManager->shutdown(); mDynLibManager->shutdown(); mLanguageManager->shutdown(); mResourceManager->shutdown(); mFactoryManager->shutdown(); WidgetManager::getInstance().unregisterUnlinker(this); mWidgetManager->shutdown(); delete mPointerManager; delete mWidgetManager; delete mInputManager; delete mSkinManager; delete mSubWidgetManager; delete mLayerManager; delete mFontManager; delete mControllerManager; delete mClipboardManager; delete mLayoutManager; delete mDynLibManager; delete mPluginManager; delete mLanguageManager; delete mResourceManager; delete mFactoryManager; MYGUI_LOG(Info, INSTANCE_TYPE_NAME << " successfully shutdown"); // last gui log LogManager::unregisterSection(MYGUI_LOG_SECTION); mIsInitialise = false; }
void Gui::shutdown() { if (false == mIsInitialise) return; MYGUI_LOG(Info, "* Shutdown: " << INSTANCE_TYPE_NAME); // сразу отписываемс¤ Ogre::WindowEventUtilities::removeWindowEventListener(mWindow, this); unregisterLoadXmlDelegate(XML_TYPE); mListFrameListener.clear(); mMapLoadXmlDelegate.clear(); _destroyAllChildWidget(); // деинициализируем и удал¤ем синглтоны mPointerManager->shutdown(); mWidgetManager->shutdown(); mInputManager->shutdown(); mSkinManager->shutdown(); mCroppedRectangleManager->shutdown(); mLayerManager->shutdown(); mFontManager->shutdown(); mControllerManager->shutdown(); mClipboardManager->shutdown(); mLayoutManager->shutdown(); mPluginManager->shutdown(); mDynLibManager->shutdown(); delete mPointerManager; delete mWidgetManager; delete mInputManager; delete mSkinManager; delete mCroppedRectangleManager; delete mLayerManager; delete mFontManager; delete mControllerManager; delete mClipboardManager; delete mLayoutManager; delete mDynLibManager; delete mPluginManager; MYGUI_LOG(Info, INSTANCE_TYPE_NAME << " successfully shutdown"); // самый последний лог LogManager::shutdown(); mIsInitialise = false; }
void PointerManager::shutdown() { MYGUI_ASSERT(mIsInitialise, getClassTypeName() << " is not initialised"); MYGUI_LOG(Info, "* Shutdown: " << getClassTypeName()); InputManager::getInstance().eventChangeMouseFocus -= newDelegate(this, &PointerManager::notifyChangeMouseFocus); Gui::getInstance().eventFrameStart -= newDelegate(this, &PointerManager::notifyFrameStart); FactoryManager::getInstance().unregisterFactory<ResourceManualPointer>(XML_TYPE_RESOURCE); FactoryManager::getInstance().unregisterFactory<ResourceImageSetPointer>(XML_TYPE_RESOURCE); // удаляем все виджеты _destroyAllChildWidget(); mWidgetOwner = nullptr; WidgetManager::getInstance().unregisterUnlinker(this); ResourceManager::getInstance().unregisterLoadXmlDelegate(XML_TYPE); MYGUI_LOG(Info, getClassTypeName() << " successfully shutdown"); mIsInitialise = false; }
void Gui::destroyAllChildWidget() { _destroyAllChildWidget(); }