MyGUI 3.4.3
MyGUI_ResourceLayout.h
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#ifndef MYGUI_RESOURCE_LAYOUT_H_
8#define MYGUI_RESOURCE_LAYOUT_H_
9
10#include "MyGUI_Prerequest.h"
11#include "MyGUI_IResource.h"
12#include "MyGUI_LayoutData.h"
13
14namespace MyGUI
15{
16
19 {
21
22 public:
23 ResourceLayout() = default;
24 ResourceLayout(xml::ElementPtr _node, std::string_view _file);
25
26 void deserialization(xml::ElementPtr _node, Version _version) override;
27
28 const VectorWidgetInfo& getLayoutData() const;
29
31 VectorWidgetPtr createLayout(std::string_view _prefix = {}, Widget* _parent = nullptr);
32
33 // widget info -> Widget
34 Widget* createWidget(
35 const WidgetInfo& _widgetInfo,
36 std::string_view _prefix = {},
37 Widget* _parent = nullptr,
38 bool _template = false);
39
40 protected:
41 // xml -> widget info
42 WidgetInfo parseWidget(xml::ElementEnumerator& _widget);
43
44 protected:
46 };
47
48} // namespace MyGUI
49
50#endif // MYGUI_RESOURCE_LAYOUT_H_
#define MYGUI_EXPORT
#define MYGUI_RTTI_DERIVED(DerivedType)
Definition MyGUI_RTTI.h:69
widget description should be here.
std::vector< WidgetInfo > VectorWidgetInfo
std::vector< Widget * > VectorWidgetPtr