1 /*!
2 	@file
3 	@author		Albert Semenov
4 	@date		07/2012
5 */
6 
7 #ifndef _ca4d715a_a85f_4bd1_b3f2_4181f9648d87_
8 #define _ca4d715a_a85f_4bd1_b3f2_4181f9648d87_
9 
10 #include "DataManager.h"
11 
12 namespace tools
13 {
14 
15 	class MYGUI_EXPORT_DLL DataUtility
16 	{
17 	public:
18 		static DataPtr getSelectedDataByType(const std::string& _type);
19 		static DataPtr getSelectedParentDataByType(const std::string& _type);
20 
21 		static void cloneData(DataPtr _target, DataPtr _prototype);
22 		static std::string getUniqueName(DataPtr _parent, const std::string& _pattern);
23 
24 		static Data::VectorData getChildsByType(DataPtr _parent, const std::string& _type, bool _friend = true);
25 
26 	private:
27 		static DataPtr getSelectedDataByType(DataPtr _data, DataTypePtr _info);
28 		static DataPtr getSelectedParentDataByType(DataPtr _data, DataTypePtr _info);
29 		static void copyProperty(DataPtr _target, DataPtr _prototype);
30 		static bool checkUniqueName(DataPtr _parent, const std::string& _name);
31 	};
32 
33 }
34 
35 #endif
36