1 /*!
2 	@file
3 	@author		Georgiy Evmenov
4 	@date		09/2008
5 */
6 
7 #ifndef _057a790b_d065_4d08_866d_24238237dc90_
8 #define _057a790b_d065_4d08_866d_24238237dc90_
9 
10 #include "BaseLayout/BaseLayout.h"
11 #include "PanelView/BasePanelViewItem.h"
12 #include "EditorWidgets.h"
13 
14 namespace tools
15 {
16 
17 	class PanelUserData :
18 		public wraps::BasePanelViewItem
19 	{
20 	public:
21 		PanelUserData();
22 
23 		virtual void initialise();
24 		virtual void shutdown();
25 
26 		void update(MyGUI::Widget* _currentWidget);
27 
28 	private:
29 		virtual void notifyChangeWidth(int _width);
30 
31 		void notifyAddUserData(MyGUI::Widget* _sender = nullptr);
32 		void notifyDeleteUserData(MyGUI::Widget* _sender);
33 		void notifyUpdateUserData(MyGUI::EditBox* _widget);
34 		void notifySelectUserDataItem(MyGUI::MultiListBox* _widget, size_t _index);
35 
36 		bool checkUserData(WidgetContainer* _widgetContainer, const std::string& _key);
37 
38 	private:
39 		MyGUI::EditBox* mEditKey;
40 		MyGUI::EditBox* mEditValue;
41 		MyGUI::Button* mButtonAdd;
42 		MyGUI::Button* mButtonDelete;
43 		MyGUI::MultiListBox* mMultilist;
44 
45 		MyGUI::Widget* mCurrentWidget;
46 
47 		int mEditLeft;
48 		int mEditRight;
49 		int mEditSpace;
50 		int mButtonLeft;
51 		int mButtonRight;
52 		int mButtonSpace;
53 	};
54 
55 }
56 
57 #endif
58