1 /*!
2 	@file
3 	@author		Albert Semenov
4 	@date		12/2010
5 */
6 
7 #ifndef _ecee333e_5aa3_409f_9c32_10117a8bcbfc_
8 #define _ecee333e_5aa3_409f_9c32_10117a8bcbfc_
9 
10 #include <MyGUI.h>
11 
12 namespace tools
13 {
14 
15 	typedef MyGUI::delegates::CDelegate3<const std::string&, const std::string&, bool> PropertyFieldActionDelegate;
16 
17 	class IPropertyField
18 	{
19 	public:
~IPropertyField()20 		virtual ~IPropertyField() { }
21 
22 		virtual void initialise(const std::string& _type) = 0;
23 
24 		virtual void setTarget(MyGUI::Widget* _targetWidget) = 0;
25 		virtual void setValue(const std::string& _value) = 0;
26 		virtual void setName(const std::string& _value) = 0;
27 
28 		virtual void setVisible(bool _value) = 0;
29 		virtual bool getVisible() = 0;
30 
31 		virtual MyGUI::IntSize getContentSize() = 0;
32 		virtual void setCoord(const MyGUI::IntCoord& _coord) = 0;
33 
34 		PropertyFieldActionDelegate eventAction;
35 	};
36 
37 }
38 
39 #endif
40