1 /*! 2 @file 3 @author Albert Semenov 4 @date 07/2012 5 */ 6 7 #ifndef _581b514e_0bf3_4414_af1a_9c91ab524119_ 8 #define _581b514e_0bf3_4414_af1a_9c91ab524119_ 9 10 #include "IControlController.h" 11 #include "ScopeTextureControl.h" 12 13 namespace tools 14 { 15 16 class SeparatorTextureController : 17 public IControlController, 18 public sigslot::has_slots<> 19 { 20 public: 21 SeparatorTextureController(); 22 23 virtual void setTarget(Control* _control); 24 25 virtual void activate(); 26 virtual void deactivate(); 27 28 private: 29 void notifyChangeDataSelector(DataPtr _data, bool _changeOnlySelection); 30 void notifyChangeProperty(PropertyPtr _sender); 31 void notifyChangeScope(const std::string& _scope); 32 void notifyChangeValue(const std::string& _value); 33 34 void updateCoords(const std::string& _value); 35 void updateFrames(); 36 37 ScopeTextureControl::SelectorType getTypeByName(const std::string& _name); 38 MyGUI::IntCoord getCoordByName(const std::string& _name, int _offset); 39 int getOffsetByName(const MyGUI::IntCoord& _coord, const std::string& _name); 40 41 private: 42 ScopeTextureControl* mControl; 43 std::string mParentTypeName; 44 std::string mScopeName; 45 std::string mThisType; 46 DataPtr mParentData; 47 bool mActivated; 48 MyGUI::IntCoord mTextureCoord; 49 ScopeTextureControl::VectorCoord mFrames; 50 }; 51 52 } 53 54 #endif 55