1 /*!
2 	@file
3 	@author		Georgiy Evmenov
4 	@date		09/2008
5 */
6 
7 #ifndef _ae329786_acd2_4c09_ab3b_73baa2294a60_
8 #define _ae329786_acd2_4c09_ab3b_73baa2294a60_
9 
10 #include "BaseLayout/BaseLayout.h"
11 #include "EditorToolTip.h"
12 
13 namespace tools
14 {
15 
16 	class WidgetsWindow :
17 		public wraps::BaseLayout
18 	{
19 	public:
20 		WidgetsWindow(MyGUI::Widget* _parent = nullptr);
21 		virtual ~WidgetsWindow();
22 
23 	private:
24 		void requestCreateWidgetItem(MyGUI::ItemBox* _sender, MyGUI::Widget* _item);
25 		void requestCoordItem(MyGUI::ItemBox* _sender, MyGUI::IntCoord& _coord, bool _drag);
26 		void requestDrawItem(MyGUI::ItemBox* _sender, MyGUI::Widget* _item, const MyGUI::IBDrawItemInfo& _info);
27 
28 		void notifyToolTip(MyGUI::Widget* _sender, const MyGUI::ToolTipInfo& _info);
29 		void notifySelectWidgetType(MyGUI::Widget* _sender);
30 		void notifyChangeCreatorMode(bool _modeCreate);
31 		void notifyMouseButtonClickPopupMode(MyGUI::Widget* _sender);
32 
33 		void initialise();
34 
35 		SkinInfo getCellData(MyGUI::Widget* _widget);
36 		bool getCellSelected(MyGUI::Widget* _widget);
37 
38 	private:
39 		MyGUI::TabControl* mTabSkins;
40 		MyGUI::Button* mPopupMode;
41 
42 		int mWidgetsButtonWidth;
43 		int mWidgetsButtonHeight;
44 		int mWidgetsButtonOffset;
45 
46 		std::string mSkinSheetName;
47 		std::string mButtonSkinName;
48 
49 		typedef std::vector<MyGUI::ItemBox*> VectorItemBox;
50 		VectorItemBox mItemBoxs;
51 	};
52 
53 }
54 
55 #endif
56