File: WidgetTypes.h

package info (click to toggle)
mygui 3.2.2%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 36,224 kB
  • sloc: cpp: 118,031; ansic: 30,202; xml: 15,544; cs: 12,602; tcl: 776; python: 417; makefile: 34
file content (50 lines) | stat: -rw-r--r-- 1,311 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#ifndef _65c6bab3_d7e3_4691_999e_653b8974ff23_
#define _65c6bab3_d7e3_4691_999e_653b8974ff23_

#include "SkinInfo.h"
#include "WidgetStyle.h"
#include "PossibleValue.h"

namespace tools
{

	class WidgetTypes :
		public MyGUI::Singleton<WidgetTypes>
	{
	public:
		void initialise();
		void shutdown();

		WidgetStyle* findWidgetStyle(const std::string& _type);
		WidgetStyle* findWidgetStyleBySkin(const std::string& _skinName);
		typedef std::vector<std::string> VectorString;
		VectorString findPossibleValues(const std::string& _name);

		void clearAllSkins();

		void addWidgetSkinType(const std::string& _type, const std::string& _skin, const std::string& _group, const std::string& _button_name);

		const SkinGroups& getSkinGroups() const;

		VectorWidgetType getWidgetTypes() const;

	private:
		void loadWidgets(MyGUI::xml::ElementPtr _node, const std::string& _file, MyGUI::Version _version);
		void loadValues(MyGUI::xml::ElementPtr _node, const std::string& _file, MyGUI::Version _version);

		WidgetStyle* getWidgetType(const std::string& _name);

		PossibleValue* getPossibleValue(const std::string& _name);

		void updateDepth();
		size_t updateDepth(WidgetStyle* _style);

	private:
		VectorWidgetType mWidgetTypes;
		SkinGroups mSkinGroups;
		VectorPossibleValue mPossibleValues;
	};

}

#endif