MyGUI
3.0.1
Main Page
Related Pages
Namespaces
Data Structures
Files
Examples
File List
Globals
MyGUIEngine
include
MyGUI_IWidgetCreator.h
Go to the documentation of this file.
1
7
/*
8
This file is part of MyGUI.
9
10
MyGUI is free software: you can redistribute it and/or modify
11
it under the terms of the GNU Lesser General Public License as published by
12
the Free Software Foundation, either version 3 of the License, or
13
(at your option) any later version.
14
15
MyGUI is distributed in the hope that it will be useful,
16
but WITHOUT ANY WARRANTY; without even the implied warranty of
17
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
GNU Lesser General Public License for more details.
19
20
You should have received a copy of the GNU Lesser General Public License
21
along with MyGUI. If not, see <http://www.gnu.org/licenses/>.
22
*/
23
#ifndef __MYGUI_WIDGET_CREATOR_H__
24
#define __MYGUI_WIDGET_CREATOR_H__
25
26
#include "
MyGUI_Prerequest.h
"
27
#include "
MyGUI_Types.h
"
28
#include "
MyGUI_WidgetStyle.h
"
29
30
namespace
MyGUI
31
{
32
33
class
MYGUI_EXPORT
IWidgetCreator
34
{
35
friend
class
WidgetManager
;
36
37
public
:
38
virtual
~IWidgetCreator
() { }
39
40
protected
:
41
virtual
Widget
* baseCreateWidget(
WidgetStyle
_style,
const
std::string& _type,
const
std::string& _skin,
const
IntCoord
& _coord,
Align
_align,
const
std::string& _layer,
const
std::string& _name) = 0;
42
43
// удяляет неудачника
44
virtual
void
_destroyChildWidget(
Widget
* _widget) = 0;
45
46
// удаляет всех детей
47
virtual
void
_destroyAllChildWidget() = 0;
48
49
// удаляет виджет с закрытым конструктором
50
void
_deleteWidget(
Widget
* _widget);
51
52
public
:
53
// добавляет в список виджет
54
// имплементировать только для рутовых креаторов
55
virtual
void
_linkChildWidget
(
Widget
* _widget) { }
56
// удаляет из списка
57
// имплементировать только для рутовых креаторов
58
virtual
void
_unlinkChildWidget
(
Widget
* _widget) { }
59
60
};
61
62
}
// namespace MyGUI
63
64
#endif // __MYGUI_WIDGET_CREATOR_H__
Generated by
1.8.1.2