TypicalGDGControl.h
00001 #ifndef _TYPICALGDGCONTROL_H
00002 #define _TYPICALGDGCONTROL_H
00003
00004 #include <map>
00005 #include <typical/AbstractTypical.h>
00006 #include <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
00022 class TypicalGDGControl : public AbstractTypical
00023 {
00024 public:
00025 TypicalGDGControl();
00026 explicit TypicalGDGControl(AbstractTypical::BaseObjectType* gobject);
00027 virtual ~TypicalGDGControl();
00028
00029
00030
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
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
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
00067 void constructor();
00068 void create_images();
00069
00070 DISALLOW_COPY_AND_ASSIGN(TypicalGDGControl);
00071 };
00072
00073 }
00074 #endif