MyGUI 3.4.3
MyGUI_SubWidgetManager.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"
11
12#include "MyGUI_SubSkin.h"
13#include "MyGUI_MainSkin.h"
14#include "MyGUI_PolygonalSkin.h"
15#include "MyGUI_RotatingSkin.h"
16#include "MyGUI_SimpleText.h"
17#include "MyGUI_EditText.h"
18#include "MyGUI_TileRect.h"
19
20namespace MyGUI
21{
22
24
26 mCategoryName("BasisSkin"),
27 mStateCategoryName("BasisSkin/State"),
28 mSingletonHolder(this)
29 {
30 }
31
33 {
34 MYGUI_ASSERT(!mIsInitialise, getClassTypeName() << " initialised twice");
35 MYGUI_LOG(Info, "* Initialise: " << getClassTypeName());
36
38
39 factory.registerFactory<SubSkinStateInfo>(mStateCategoryName, "SubSkin");
40 factory.registerFactory<SubSkinStateInfo>(mStateCategoryName, "MainSkin");
41 factory.registerFactory<SubSkinStateInfo>(mStateCategoryName, "PolygonalSkin");
42 factory.registerFactory<RotatingSkinStateInfo>(mStateCategoryName, "RotatingSkin");
43 factory.registerFactory<TileRectStateInfo>(mStateCategoryName, "TileRect");
44 factory.registerFactory<EditTextStateInfo>(mStateCategoryName, "EditText");
45 factory.registerFactory<EditTextStateInfo>(mStateCategoryName, "SimpleText");
46
47 factory.registerFactory<SubSkin>(mCategoryName);
48 factory.registerFactory<MainSkin>(mCategoryName);
49 factory.registerFactory<PolygonalSkin>(mCategoryName);
50 factory.registerFactory<RotatingSkin>(mCategoryName);
51 factory.registerFactory<TileRect>(mCategoryName);
52 factory.registerFactory<EditText>(mCategoryName);
53 factory.registerFactory<SimpleText>(mCategoryName);
54
55 MYGUI_LOG(Info, getClassTypeName() << " successfully initialized");
56 mIsInitialise = true;
57 }
58
60 {
61 MYGUI_ASSERT(mIsInitialise, getClassTypeName() << " is not initialised");
62 MYGUI_LOG(Info, "* Shutdown: " << getClassTypeName());
63
65
66 factory.unregisterFactory(mStateCategoryName, "SubSkin");
67 factory.unregisterFactory(mStateCategoryName, "MainSkin");
68 factory.unregisterFactory(mStateCategoryName, "PolygonalSkin");
69 factory.unregisterFactory(mStateCategoryName, "RotatingSkin");
70 factory.unregisterFactory(mStateCategoryName, "TileRect");
71 factory.unregisterFactory(mStateCategoryName, "EditText");
72 factory.unregisterFactory(mStateCategoryName, "SimpleText");
73
74 factory.unregisterFactory<SubSkin>(mCategoryName);
75 factory.unregisterFactory<MainSkin>(mCategoryName);
76 factory.unregisterFactory<PolygonalSkin>(mCategoryName);
77 factory.unregisterFactory<RotatingSkin>(mCategoryName);
78 factory.unregisterFactory<TileRect>(mCategoryName);
79 factory.unregisterFactory<EditText>(mCategoryName);
80 factory.unregisterFactory<SimpleText>(mCategoryName);
81
82 MYGUI_LOG(Info, getClassTypeName() << " successfully shutdown");
83 mIsInitialise = false;
84 }
85
86 const std::string& SubWidgetManager::getCategoryName() const
87 {
88 return mCategoryName;
89 }
90
91 const std::string& SubWidgetManager::getStateCategoryName() const
92 {
93 return mStateCategoryName;
94 }
95
96} // namespace MyGUI
#define MYGUI_ASSERT(exp, dest)
#define MYGUI_LOG(level, text)
#define MYGUI_SINGLETON_DEFINITION(ClassName)
void registerFactory(std::string_view _category, std::string_view _type, Delegate::IDelegate *_delegate)
static FactoryManager & getInstance()
void unregisterFactory(std::string_view _category, std::string_view _type)
const std::string & getStateCategoryName() const
static std::string_view getClassTypeName()
const std::string & getCategoryName() const