|
UniWidgets
1.0.0
|
00001 #ifndef _TYPICALGDGCONTROL_H 00002 #define _TYPICALGDGCONTROL_H 00003 // ------------------------------------------------------------------------- 00004 #include <map> 00005 #include "AbstractTypical.h" 00006 #include <uniwidgets/USignals.h> 00007 #include <global_macros.h> 00008 #include <objects/StateMultiLogic.h> 00009 // ------------------------------------------------------------------------- 00010 namespace UniWidgets 00011 { 00012 class Image; 00013 class Text; 00014 class ShowLogic; 00015 // class StateMultiLogic; 00022 class TypicalGDGControl : public AbstractTypical 00023 { 00024 public: 00025 TypicalGDGControl(); 00026 explicit TypicalGDGControl(AbstractTypical::BaseObjectType* gobject); 00027 virtual ~TypicalGDGControl(); 00028 00029 /* FIXME: Move this types to private or into include/types.h */ 00030 /* Types */ 00031 typedef std::map<long, Image*> ModeImageMap; 00032 typedef std::pair<long, Image*> ModeImagePair; 00033 typedef std::map<long, Glib::ustring > ModePathMap; 00034 typedef std::pair<long, Glib::ustring > ModePathPair; 00036 /* Methods */ 00037 void configure(); 00039 void set_rect(const Gdk::Rectangle rect); 00040 void set_path(const long mode, const Glib::ustring& path); 00041 void set_state_ai(const UniSetTypes::ObjectId sensor); 00042 void set_state_obj(const UniSetTypes::ObjectId sensor); 00043 void set_node(const UniSetTypes::ObjectId node); 00044 void set_mode_state(const long mode); 00045 void set_text_property(const long x, const long y, const long keg); 00046 void set_text_color(Gdk::Color color); 00047 virtual void set_lock_view(const bool lock); 00051 Glib::ustring get_path(const long mode); 00053 Gdk::Rectangle* get_rect(); 00055 private: 00056 /* Variables */ 00057 Gdk::Rectangle rect_; 00058 Text *text_; 00059 ShowLogic showlogic_; 00060 StateMultiLogic statemultilogic_; 00061 ModeImageMap images_; 00062 ModePathMap paths_; 00063 long x_text_; 00064 long y_text_; 00065 00066 /* Methods */ 00067 void constructor(); 00068 void create_images(); 00069 00070 DISALLOW_COPY_AND_ASSIGN(TypicalGDGControl); 00071 }; 00072 00073 } 00074 #endif
1.7.6.1