MyGUI  3.2.2
MyGUI_Gui.cpp
Go to the documentation of this file.
1 /*
2  * This source file is part of MyGUI. For the latest info, see http://mygui.info/
3  * Distributed under the MIT License
4  * (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT)
5  */
6 
7 #include "MyGUI_Precompiled.h"
8 #include "MyGUI_Gui.h"
9 #include "MyGUI_Widget.h"
10 
11 #include "MyGUI_InputManager.h"
12 #include "MyGUI_SubWidgetManager.h"
13 #include "MyGUI_LogManager.h"
14 #include "MyGUI_SkinManager.h"
15 #include "MyGUI_WidgetManager.h"
16 #include "MyGUI_LayerManager.h"
17 #include "MyGUI_FontManager.h"
19 #include "MyGUI_PointerManager.h"
20 #include "MyGUI_ClipboardManager.h"
21 #include "MyGUI_LayoutManager.h"
22 #include "MyGUI_PluginManager.h"
23 #include "MyGUI_DynLibManager.h"
24 #include "MyGUI_LanguageManager.h"
25 #include "MyGUI_ResourceManager.h"
26 #include "MyGUI_RenderManager.h"
27 #include "MyGUI_FactoryManager.h"
28 #include "MyGUI_ToolTipManager.h"
29 #include "MyGUI_TextureUtility.h"
30 
31 namespace MyGUI
32 {
33 
34  template <> Gui* Singleton<Gui>::msInstance = nullptr;
35  template <> const char* Singleton<Gui>::mClassTypeName = "Gui";
36 
38  mInputManager(nullptr),
39  mSubWidgetManager(nullptr),
40  mLayerManager(nullptr),
41  mSkinManager(nullptr),
42  mWidgetManager(nullptr),
43  mFontManager(nullptr),
44  mControllerManager(nullptr),
45  mPointerManager(nullptr),
46  mClipboardManager(nullptr),
47  mLayoutManager(nullptr),
48  mDynLibManager(nullptr),
49  mPluginManager(nullptr),
50  mLanguageManager(nullptr),
51  mResourceManager(nullptr),
52  mFactoryManager(nullptr),
53  mToolTipManager(nullptr),
54  mIsInitialise(false)
55  {
56  }
57 
58  void Gui::initialise(const std::string& _core)
59  {
60  MYGUI_ASSERT(!mIsInitialise, getClassTypeName() << " initialised twice");
61  MYGUI_LOG(Info, "* Initialise: " << getClassTypeName());
62 
63  MYGUI_LOG(Info, "* MyGUI version "
64  << MYGUI_VERSION_MAJOR << "."
65  << MYGUI_VERSION_MINOR << "."
67 
68  // создаем и инициализируем синглтоны
69  mResourceManager = new ResourceManager();
70  mLayerManager = new LayerManager();
71  mWidgetManager = new WidgetManager();
72  mInputManager = new InputManager();
73  mSubWidgetManager = new SubWidgetManager();
74  mSkinManager = new SkinManager();
75  mFontManager = new FontManager();
76  mControllerManager = new ControllerManager();
77  mPointerManager = new PointerManager();
78  mClipboardManager = new ClipboardManager();
79  mLayoutManager = new LayoutManager();
80  mDynLibManager = new DynLibManager();
81  mPluginManager = new PluginManager();
82  mLanguageManager = new LanguageManager();
83  mFactoryManager = new FactoryManager();
84  mToolTipManager = new ToolTipManager();
85 
86  mResourceManager->initialise();
87  mLayerManager->initialise();
88  mWidgetManager->initialise();
89  mInputManager->initialise();
90  mSubWidgetManager->initialise();
91  mSkinManager->initialise();
92  mFontManager->initialise();
93  mControllerManager->initialise();
94  mPointerManager->initialise();
95  mClipboardManager->initialise();
96  mLayoutManager->initialise();
97  mDynLibManager->initialise();
98  mPluginManager->initialise();
99  mLanguageManager->initialise();
100  mFactoryManager->initialise();
101  mToolTipManager->initialise();
102 
104 
105  // загружаем дефолтные настройки если надо
106  if (!_core.empty())
107  mResourceManager->load(_core);
108 
110 
111  MYGUI_LOG(Info, getClassTypeName() << " successfully initialized");
112  mIsInitialise = true;
113  }
114 
115 #ifndef MYGUI_DONT_USE_OBSOLETE
116  void Gui::initialise(const std::string& _core, const std::string& _logFileName)
117  {
118  initialise(_core);
119  }
120 #endif // MYGUI_DONT_USE_OBSOLETE
121 
123  {
124  MYGUI_ASSERT(mIsInitialise, getClassTypeName() << " is not initialised");
125  MYGUI_LOG(Info, "* Shutdown: " << getClassTypeName());
126 
128 
129  _destroyAllChildWidget();
130 
131  // деинициализируем и удаляем синглтоны
132  mPointerManager->shutdown();
133  mInputManager->shutdown();
134  mSkinManager->shutdown();
135  mSubWidgetManager->shutdown();
136  mLayerManager->shutdown();
137  mFontManager->shutdown();
138  mControllerManager->shutdown();
139  mClipboardManager->shutdown();
140  mLayoutManager->shutdown();
141  mPluginManager->shutdown();
142  mDynLibManager->shutdown();
143  mLanguageManager->shutdown();
144  mResourceManager->shutdown();
145  mFactoryManager->shutdown();
146  mToolTipManager->shutdown();
147 
149  mWidgetManager->shutdown();
150 
151  delete mPointerManager;
152  delete mWidgetManager;
153  delete mInputManager;
154  delete mSkinManager;
155  delete mSubWidgetManager;
156  delete mLayerManager;
157  delete mFontManager;
158  delete mControllerManager;
159  delete mClipboardManager;
160  delete mLayoutManager;
161  delete mDynLibManager;
162  delete mPluginManager;
163  delete mLanguageManager;
164  delete mResourceManager;
165  delete mFactoryManager;
166  delete mToolTipManager;
167 
168  // сбрасываем кеш
170 
171  MYGUI_LOG(Info, getClassTypeName() << " successfully shutdown");
172  mIsInitialise = false;
173  }
174 
175  Widget* Gui::baseCreateWidget(WidgetStyle _style, const std::string& _type, const std::string& _skin, const IntCoord& _coord, Align _align, const std::string& _layer, const std::string& _name)
176  {
177  Widget* widget = WidgetManager::getInstance().createWidget(_style, _type, _skin, _coord, /*_align, */nullptr, nullptr, _name);
178  mWidgetChild.push_back(widget);
179 
180  widget->setAlign(_align);
181 
182  // присоединяем виджет с уровню
183  if (!_layer.empty())
185  return widget;
186  }
187 
188  Widget* Gui::findWidgetT(const std::string& _name, bool _throw)
189  {
190  for (VectorWidgetPtr::iterator iter = mWidgetChild.begin(); iter != mWidgetChild.end(); ++iter)
191  {
192  Widget* widget = (*iter)->findWidget(_name);
193  if (widget != nullptr) return widget;
194  }
195  MYGUI_ASSERT(!_throw, "Widget '" << _name << "' not found");
196  return nullptr;
197  }
198 
199  // удяляет неудачника
200  void Gui::_destroyChildWidget(Widget* _widget)
201  {
202  MYGUI_ASSERT(nullptr != _widget, "invalid widget pointer");
203 
204  VectorWidgetPtr::iterator iter = std::find(mWidgetChild.begin(), mWidgetChild.end(), _widget);
205  if (iter != mWidgetChild.end())
206  {
207  // сохраняем указатель
208  MyGUI::Widget* widget = *iter;
209 
210  // удаляем из списка
211  mWidgetChild.erase(iter);
212 
213  // отписываем от всех
214  mWidgetManager->unlinkFromUnlinkers(_widget);
215 
216  // непосредственное удаление
218  }
219  else
220  {
221  MYGUI_EXCEPT("Widget '" << _widget->getName() << "' not found");
222  }
223  }
224 
225  // удаляет всех детей
226  void Gui::_destroyAllChildWidget()
227  {
228  while (!mWidgetChild.empty())
229  {
230  // сразу себя отписывем, иначе вложенной удаление убивает все
231  Widget* widget = mWidgetChild.back();
232  mWidgetChild.pop_back();
233 
234  // отписываем от всех
235  mWidgetManager->unlinkFromUnlinkers(widget);
236 
237  // и сами удалим, так как его больше в списке нет
239  }
240  }
241 
242  void Gui::destroyWidget(Widget* _widget)
243  {
244  Widget* parent = _widget->getParent();
245  if (parent != nullptr)
246  parent->_destroyChildWidget(_widget);
247  else
248  _destroyChildWidget(_widget);
249  }
250 
251  void Gui::destroyWidgets(const VectorWidgetPtr& _widgets)
252  {
253  for (VectorWidgetPtr::const_iterator iter = _widgets.begin(); iter != _widgets.end(); ++iter)
254  destroyWidget(*iter);
255  }
256 
258  {
259  VectorWidgetPtr widgets;
260  while (_widgets.next())
261  widgets.push_back(_widgets.current());
262  destroyWidgets(widgets);
263  }
264 
265  void Gui::_unlinkWidget(Widget* _widget)
266  {
267  eventFrameStart.clear(_widget);
268  }
269 
271  {
272  VectorWidgetPtr::iterator iter = std::find(mWidgetChild.begin(), mWidgetChild.end(), _widget);
273  MYGUI_ASSERT(iter == mWidgetChild.end(), "widget already exist");
274  mWidgetChild.push_back(_widget);
275  }
276 
278  {
279  VectorWidgetPtr::iterator iter = std::remove(mWidgetChild.begin(), mWidgetChild.end(), _widget);
280  MYGUI_ASSERT(iter != mWidgetChild.end(), "widget not found");
281  mWidgetChild.erase(iter);
282  }
283 
284  Widget* Gui::createWidgetT(const std::string& _type, const std::string& _skin, const IntCoord& _coord, Align _align, const std::string& _layer, const std::string& _name)
285  {
286  return baseCreateWidget(WidgetStyle::Overlapped, _type, _skin, _coord, _align, _layer, _name);
287  }
289  Widget* Gui::createWidgetT(const std::string& _type, const std::string& _skin, int _left, int _top, int _width, int _height, Align _align, const std::string& _layer, const std::string& _name)
290  {
291  return createWidgetT(_type, _skin, IntCoord(_left, _top, _width, _height), _align, _layer, _name);
292  }
294  Widget* Gui::createWidgetRealT(const std::string& _type, const std::string& _skin, const FloatCoord& _coord, Align _align, const std::string& _layer, const std::string& _name)
295  {
297  return createWidgetT(_type, _skin, IntCoord((int)(_coord.left * size.width), (int)(_coord.top * size.height), (int)(_coord.width * size.width), (int)(_coord.height * size.height)), _align, _layer, _name);
298  }
300  Widget* Gui::createWidgetRealT(const std::string& _type, const std::string& _skin, float _left, float _top, float _width, float _height, Align _align, const std::string& _layer, const std::string& _name)
301  {
303  return createWidgetT(_type, _skin, IntCoord((int)(_left * size.width), (int)(_top * size.height), (int)(_width * size.width), (int)(_height * size.height)), _align, _layer, _name);
304  }
305 
306  Widget* Gui::findWidgetT(const std::string& _name, const std::string& _prefix, bool _throw)
307  {
308  return findWidgetT(_prefix + _name, _throw);
309  }
310 
312  {
313  _destroyChildWidget(_widget);
314  }
315 
317  {
318  _destroyAllChildWidget();
319  }
320 
322  {
323  return EnumeratorWidgetPtr(mWidgetChild);
324  }
325 
326  void Gui::frameEvent(float _time)
327  {
328  eventFrameStart(_time);
329  }
330 
331 } // namespace MyGUI
MyGUI::Singleton< WidgetManager >::getInstance
static WidgetManager & getInstance()
Definition: MyGUI_Singleton.h:38
MyGUI::ControllerManager::initialise
void initialise()
Definition: MyGUI_ControllerManager.cpp:30
MyGUI::Widget::getParent
Widget * getParent() const
Definition: MyGUI_Widget.cpp:1275
MyGUI::Gui::eventFrameStart
EventHandle_FrameEventDelegate eventFrameStart
Definition: MyGUI_Gui.h:150
MyGUI::EnumeratorWidgetPtr
Enumerator< VectorWidgetPtr > EnumeratorWidgetPtr
Definition: MyGUI_WidgetDefines.h:22
MyGUI::LayerManager::initialise
void initialise()
Definition: MyGUI_LayerManager.cpp:30
MyGUI::PluginManager::initialise
void initialise()
Definition: MyGUI_PluginManager.cpp:27
MyGUI_Gui.h
MyGUI::types::TSize::height
T height
Definition: MyGUI_TSize.h:21
MyGUI_ControllerManager.h
MyGUI_DynLibManager.h
MyGUI::Gui::destroyWidget
void destroyWidget(Widget *_widget)
Definition: MyGUI_Gui.cpp:242
MyGUI::LanguageManager::shutdown
void shutdown()
Definition: MyGUI_LanguageManager.cpp:38
MyGUI::IntCoord
types::TCoord< int > IntCoord
Definition: MyGUI_Types.h:35
MyGUI::WidgetManager::_deleteWidget
void _deleteWidget(Widget *_widget)
Definition: MyGUI_WidgetManager.cpp:169
MyGUI::Gui::shutdown
void shutdown()
Definition: MyGUI_Gui.cpp:122
MyGUI::FontManager::initialise
void initialise()
Definition: MyGUI_FontManager.cpp:29
MyGUI::Gui::findWidgetT
Widget * findWidgetT(const std::string &_name, bool _throw=true)
Definition: MyGUI_Gui.cpp:188
MyGUI::ClipboardManager
Definition: MyGUI_ClipboardManager.h:22
MyGUI::types::TCoord::left
T left
Definition: MyGUI_TCoord.h:22
MyGUI::InputManager
Definition: MyGUI_InputManager.h:31
MyGUI_Widget.h
MyGUI::LayerManager
Definition: MyGUI_LayerManager.h:26
MyGUI::Gui::frameEvent
void frameEvent(float _time)
Definition: MyGUI_Gui.cpp:326
MyGUI::ControllerManager
Definition: MyGUI_ControllerManager.h:23
MyGUI_LogManager.h
MYGUI_VERSION_MINOR
#define MYGUI_VERSION_MINOR
Definition: MyGUI_Prerequest.h:81
MyGUI::FontManager
Definition: MyGUI_FontManager.h:24
MyGUI_ResourceManager.h
MyGUI::FactoryManager::initialise
void initialise()
Definition: MyGUI_FactoryManager.cpp:22
MyGUI::types::TCoord::top
T top
Definition: MyGUI_TCoord.h:23
MyGUI::Gui::getEnumerator
EnumeratorWidgetPtr getEnumerator() const
Definition: MyGUI_Gui.cpp:321
MyGUI::SubWidgetManager::shutdown
void shutdown()
Definition: MyGUI_SubWidgetManager.cpp:60
MyGUI::InputManager::shutdown
void shutdown()
Definition: MyGUI_InputManager.cpp:70
MyGUI::Enumerator::current
T::const_reference current()
Definition: MyGUI_Enumerator.h:91
MyGUI::LayoutManager::shutdown
void shutdown()
Definition: MyGUI_LayoutManager.cpp:39
MyGUI::ResourceManager
Definition: MyGUI_ResourceManager.h:24
MyGUI_FontManager.h
MyGUI::WidgetManager::registerUnlinker
void registerUnlinker(IUnlinkWidget *_unlink)
Definition: MyGUI_WidgetManager.cpp:133
MyGUI::LanguageManager
Definition: MyGUI_LanguageManager.h:23
MyGUI::Gui::Gui
Gui()
Definition: MyGUI_Gui.cpp:37
MyGUI_PointerManager.h
MyGUI::FactoryManager
Definition: MyGUI_FactoryManager.h:20
MyGUI::Singleton< Gui >::getClassTypeName
static const char * getClassTypeName()
Definition: MyGUI_Singleton.h:49
MyGUI::WidgetManager::createWidget
Widget * createWidget(WidgetStyle _style, const std::string &_type, const std::string &_skin, const IntCoord &_coord, Widget *_parent, ICroppedRectangle *_cropeedParent, const std::string &_name)
Definition: MyGUI_WidgetManager.cpp:104
MyGUI::Gui::createWidgetRealT
Widget * createWidgetRealT(const std::string &_type, const std::string &_skin, const FloatCoord &_coord, Align _align, const std::string &_layer, const std::string &_name="")
Definition: MyGUI_Gui.cpp:294
MyGUI::Widget
Widget properties. Skin childs. Widget widget description should be here.
Definition: MyGUI_Widget.h:37
MyGUI::VectorWidgetPtr
std::vector< Widget * > VectorWidgetPtr
Definition: MyGUI_WidgetDefines.h:19
MyGUI::PluginManager
Plugin manager. Load/unload and register plugins.
Definition: MyGUI_PluginManager.h:27
MyGUI::ResourceManager::load
bool load(const std::string &_file)
Definition: MyGUI_ResourceManager.cpp:61
MyGUI::ToolTipManager::shutdown
void shutdown()
Definition: MyGUI_ToolTipManager.cpp:49
MyGUI::types::TSize::width
T width
Definition: MyGUI_TSize.h:20
MyGUI::BackwardCompatibility::shutdown
static void shutdown()
Definition: MyGUI_BackwardCompatibility.cpp:1351
MyGUI::Widget::setAlign
virtual void setAlign(Align _value)
Definition: MyGUI_Widget.cpp:734
MyGUI::ToolTipManager
Definition: MyGUI_ToolTipManager.h:20
MyGUI::Align
Definition: MyGUI_Align.h:20
MyGUI::Gui::destroyAllChildWidget
void destroyAllChildWidget()
Definition: MyGUI_Gui.cpp:316
MyGUI::Gui::_unlinkChildWidget
void _unlinkChildWidget(Widget *_widget)
Definition: MyGUI_Gui.cpp:277
MyGUI::LayoutManager::initialise
void initialise()
Definition: MyGUI_LayoutManager.cpp:25
MYGUI_VERSION_MAJOR
#define MYGUI_VERSION_MAJOR
Definition: MyGUI_Prerequest.h:80
MyGUI_Precompiled.h
MyGUI::WidgetManager::initialise
void initialise()
Definition: MyGUI_WidgetManager.cpp:50
MyGUI_ClipboardManager.h
MyGUI::ResourceManager::initialise
void initialise()
Definition: MyGUI_ResourceManager.cpp:29
MyGUI::WidgetManager::unregisterUnlinker
void unregisterUnlinker(IUnlinkWidget *_unlink)
Definition: MyGUI_WidgetManager.cpp:139
MyGUI_InputManager.h
MYGUI_EXCEPT
#define MYGUI_EXCEPT(dest)
Definition: MyGUI_Diagnostic.h:33
MyGUI::PointerManager::shutdown
void shutdown()
Definition: MyGUI_PointerManager.cpp:66
MyGUI::LayoutManager
Definition: MyGUI_LayoutManager.h:25
MyGUI::SubWidgetManager
Definition: MyGUI_SubWidgetManager.h:18
MyGUI_LayerManager.h
MyGUI::Gui::destroyWidgets
void destroyWidgets(const VectorWidgetPtr &_widgets)
Definition: MyGUI_Gui.cpp:251
MyGUI_PluginManager.h
MyGUI::LayerManager::shutdown
void shutdown()
Definition: MyGUI_LayerManager.cpp:45
MyGUI::InputManager::initialise
void initialise()
Definition: MyGUI_InputManager.cpp:43
MyGUI::ClipboardManager::shutdown
void shutdown()
Definition: MyGUI_ClipboardManager.cpp:43
MyGUI::WidgetStyle::Overlapped
@ Overlapped
Definition: MyGUI_WidgetStyle.h:22
MYGUI_ASSERT
#define MYGUI_ASSERT(exp, dest)
Definition: MyGUI_Diagnostic.h:42
MyGUI_WidgetManager.h
MyGUI::LayerManager::attachToLayerNode
void attachToLayerNode(const std::string &_name, Widget *_item)
Definition: MyGUI_LayerManager.cpp:119
MyGUI::SkinManager::initialise
void initialise()
Definition: MyGUI_SkinManager.cpp:33
MyGUI::DynLibManager::initialise
void initialise()
Definition: MyGUI_DynLibManager.cpp:23
MYGUI_VERSION_PATCH
#define MYGUI_VERSION_PATCH
Definition: MyGUI_Prerequest.h:82
MyGUI_LanguageManager.h
MyGUI_TextureUtility.h
MYGUI_LOG
#define MYGUI_LOG(level, text)
Definition: MyGUI_Diagnostic.h:22
MyGUI::Enumerator
Definition: MyGUI_Enumerator.h:49
MyGUI::types::TSize< int >
MyGUI::PointerManager
Definition: MyGUI_PointerManager.h:24
nullptr
#define nullptr
Definition: MyGUI_Prerequest.h:29
MyGUI::WidgetStyle
Definition: MyGUI_WidgetStyle.h:17
MyGUI::LanguageManager::initialise
void initialise()
Definition: MyGUI_LanguageManager.cpp:27
MyGUI::PluginManager::shutdown
void shutdown()
Definition: MyGUI_PluginManager.cpp:38
MyGUI::FontManager::shutdown
void shutdown()
Definition: MyGUI_FontManager.cpp:46
MyGUI::Gui::destroyChildWidget
void destroyChildWidget(Widget *_widget)
Definition: MyGUI_Gui.cpp:311
MyGUI::WidgetManager::shutdown
void shutdown()
Definition: MyGUI_WidgetManager.cpp:88
MyGUI_RenderManager.h
MyGUI::RenderManager::getViewSize
virtual const IntSize & getViewSize() const =0
MyGUI::types::TCoord::width
T width
Definition: MyGUI_TCoord.h:24
MyGUI_SkinManager.h
MyGUI::Widget::getName
const std::string & getName() const
Get name of widget.
Definition: MyGUI_Widget.cpp:1245
MyGUI::ToolTipManager::initialise
void initialise()
Definition: MyGUI_ToolTipManager.cpp:30
MyGUI::Gui::_linkChildWidget
void _linkChildWidget(Widget *_widget)
Definition: MyGUI_Gui.cpp:270
MyGUI::types::TCoord
Definition: MyGUI_TCoord.h:21
MyGUI::Widget::findWidget
Widget * findWidget(const std::string &_name)
Definition: MyGUI_Widget.cpp:539
MyGUI::WidgetManager::unlinkFromUnlinkers
void unlinkFromUnlinkers(Widget *_widget)
Definition: MyGUI_WidgetManager.cpp:146
MyGUI_LayoutManager.h
MyGUI::texture_utility::getTextureSize
const IntSize & getTextureSize(const std::string &_texture, bool _cache=true)
Definition: MyGUI_TextureUtility.cpp:20
MyGUI::ResourceManager::shutdown
void shutdown()
Definition: MyGUI_ResourceManager.cpp:44
MyGUI::Gui::initialise
void initialise(const std::string &_core="MyGUI_Core.xml")
Definition: MyGUI_Gui.cpp:58
MyGUI_ToolTipManager.h
MyGUI::Gui::createWidgetT
Widget * createWidgetT(const std::string &_type, const std::string &_skin, const IntCoord &_coord, Align _align, const std::string &_layer, const std::string &_name="")
Definition: MyGUI_Gui.cpp:284
MyGUI::BackwardCompatibility::initialise
static void initialise()
Definition: MyGUI_BackwardCompatibility.cpp:1161
MyGUI::types::TCoord::height
T height
Definition: MyGUI_TCoord.h:25
MyGUI
Definition: MyGUI_ActionController.h:15
MyGUI::Enumerator::next
bool next()
Definition: MyGUI_Enumerator.h:70
MyGUI::SubWidgetManager::initialise
void initialise()
Definition: MyGUI_SubWidgetManager.cpp:33
MyGUI::Gui::WidgetManager
friend class WidgetManager
Definition: MyGUI_Gui.h:28
MyGUI::PointerManager::initialise
void initialise()
Definition: MyGUI_PointerManager.cpp:40
MyGUI::DynLibManager::shutdown
void shutdown()
Definition: MyGUI_DynLibManager.cpp:34
MyGUI_SubWidgetManager.h
MyGUI::Widget::_destroyChildWidget
void _destroyChildWidget(Widget *_widget)
Definition: MyGUI_Widget.cpp:379
MyGUI::SkinManager
Definition: MyGUI_SkinManager.h:24
MyGUI::FactoryManager::shutdown
void shutdown()
Definition: MyGUI_FactoryManager.cpp:31
MyGUI::SkinManager::shutdown
void shutdown()
Definition: MyGUI_SkinManager.cpp:50
MyGUI::ClipboardManager::initialise
void initialise()
Definition: MyGUI_ClipboardManager.cpp:29
MyGUI_FactoryManager.h
MyGUI::ControllerManager::shutdown
void shutdown()
Definition: MyGUI_ControllerManager.cpp:46
MyGUI::DynLibManager
Manager of dynamic libraries.
Definition: MyGUI_DynLibManager.h:22