1 /*! 2 @file 3 @author Georgiy Evmenov 4 @date 09/2008 5 */ 6 7 #ifndef _96474ba1_c55c_4e24_8076_f88c873a0043_ 8 #define _96474ba1_c55c_4e24_8076_f88c873a0043_ 9 10 #include "BaseLayout/BaseLayout.h" 11 #include "PanelView/BasePanelViewItem.h" 12 #include "WidgetTypes.h" 13 #include "WidgetContainer.h" 14 #include "IPropertyField.h" 15 16 namespace tools 17 { 18 19 class PanelProperties : 20 public wraps::BasePanelViewItem 21 { 22 public: 23 PanelProperties(); 24 25 virtual void initialise(); 26 virtual void shutdown(); 27 28 void update(MyGUI::Widget* _currentWidget, WidgetStyle* _widgetType); 29 30 void setDepth(size_t _value); 31 size_t getDepth() const; 32 33 private: 34 void notifyAction(const std::string& _name, const std::string& _value, bool _final); 35 36 size_t addParametrs(WidgetStyle* widgetType, WidgetContainer* widgetContainer, MyGUI::Widget* _currentWidget); 37 void destroyPropertyFields(); 38 void hidePropertyFields(); 39 40 void updateSize(); 41 42 IPropertyField* getPropertyField(MyGUI::Widget* _client, const std::string& _name, const std::string& _type); 43 44 private: 45 typedef std::map<std::string, IPropertyField*> MapPropertyField; 46 MapPropertyField mFields; 47 size_t mDepth; 48 MyGUI::Widget* mCurrentWidget; 49 }; 50 51 } 52 53 #endif 54