UniWidgets  1.0.0
RTV.h
00001 #ifndef _RTV_H
00002 #define _RTV_H
00003 // -------------------------------------------------------------------------
00004 #include <string>
00005 #include <map>
00006 #include <components/Image.h>
00007 #include <objects/SimpleObject.h>
00008 #include <objects/LinkLogic.h>
00009 #include <typical/TypicalState.h>
00010 #include <typical/TypicalIndicator.h>
00011 #include <global_macros.h>
00012 // -------------------------------------------------------------------------
00013 namespace UniWidgets
00014 {
00023 class RTV : public SimpleObject
00024 {
00025 public:
00026     RTV();
00027     explicit RTV(SimpleObject::BaseObjectType* gobject);
00028     virtual ~RTV();
00029 
00030     /* Constants */
00031     Gdk::Rectangle* back_rect;              
00032     Gdk::Rectangle* backname_rect;              
00033     Gdk::Rectangle* stab1_rect;             
00034     Gdk::Rectangle* stab2_rect;             
00035     Gdk::Rectangle* key1_rect;              
00036     Gdk::Rectangle* key2_rect;              
00037     Gdk::Rectangle* indicator1_rect;            
00038     Gdk::Rectangle* indicator2_rect;            
00039     static const string img_back_path;          
00040     static const string img_state_back_alarm_path;      
00041     static const string img_state_back_warn_path;       
00042     static const string img_backname_path;          
00043     static const string img_stab_off_path;          
00044     static const string img_stab_on_path;           
00045     static const string img_stab_warn_path;         
00046     static const string img_stab_alarm_path;        
00047     static const string img_stab2_off_path;         
00048     static const string img_stab2_on_path;          
00049     static const string img_stab2_warn_path;        
00050     static const string img_stab2_alarm_path;       
00051     static const string img_key_off_path;           
00052     static const string img_key_on_path;            
00053     static const string img_key_warn_path;          
00054     static const string img_key_alarm_path;         
00055     static const string img_key_undef_path;         
00056     static const string img_key_undef_off_path;     
00057     static const string img_key_warn_off_path;      
00058     static const string img_indicator1_path;        
00059     static const string img_indicator2_path;        
00061 protected:
00062     /* Handlers */
00063     virtual void on_realize();
00064     virtual void on_connect() throw();
00065 
00066 private:
00067     Image back;
00068     Image name;
00069     /* Variables */
00070     TypicalState state_stab1;
00071     TypicalState state_stab2;
00072     TypicalState state_key1;
00073     TypicalState state_key2;
00074     TypicalState state_back;
00075     TypicalIndicator indicator1_;
00076     TypicalIndicator indicator2_;
00077     LinkLogic link_;
00078     bool is_configured;
00079 
00080     /* Methods */
00081     void constructor();
00082     void on_rectangle_changed();
00083     void set_rectangle(Gdk::Rectangle* rect,const long x, const long y, const long w, const long h);
00084     void on_configure();
00085 
00086     DISALLOW_COPY_AND_ASSIGN(RTV);
00087 
00088     /* Properties */
00089     ADD_PROPERTY( u_ai, UniSetTypes::ObjectId )         
00090     ADD_PROPERTY( i_ai, UniSetTypes::ObjectId )         
00091     ADD_PROPERTY( node, UniSetTypes::ObjectId )         
00092     ADD_PROPERTY( property_link_di, UniSetTypes::ObjectId )     
00093     ADD_PROPERTY( svg_path, Glib::ustring )             
00094     ADD_PROPERTY ( backname_path, Glib::ustring )           
00095     ADD_PROPERTY ( key1_ai, UniSetTypes::ObjectId )         
00096     ADD_PROPERTY ( key2_ai, UniSetTypes::ObjectId )         
00097     ADD_PROPERTY ( stab1_ai, UniSetTypes::ObjectId )        
00098     ADD_PROPERTY ( stab2_ai, UniSetTypes::ObjectId )        
00099     ADD_PROPERTY( w_back_rect, long )               
00100     ADD_PROPERTY( h_back_rect, long )               
00101     ADD_PROPERTY( x_back_rect, long )               
00102     ADD_PROPERTY( w_backname_rect, long )               
00103     ADD_PROPERTY( h_backname_rect, long )               
00104     ADD_PROPERTY( x_backname_rect, long )               
00105     ADD_PROPERTY( y_backname_rect, long )               
00106     ADD_PROPERTY( w_stab_rect, long )               
00107     ADD_PROPERTY( h_stab_rect, long )               
00108     ADD_PROPERTY( x_stab_rect, long )               
00109     ADD_PROPERTY( y_stab1_rect, long )              
00110     ADD_PROPERTY( y_stab2_rect, long )              
00111     ADD_PROPERTY( w_key_rect, long )                
00112     ADD_PROPERTY( h_key_rect, long )                
00113     ADD_PROPERTY( x_key1_rect, long )               
00114     ADD_PROPERTY( x_key2_rect, long )               
00115     ADD_PROPERTY( y_key_rect, long )                
00116     ADD_PROPERTY( w_indicator_rect, long )              
00117     ADD_PROPERTY( x_indicator_rect, long )              
00118     ADD_PROPERTY( h_indicator_rect, long )              
00119     ADD_PROPERTY( y_indicator1_rect, long )             
00120     ADD_PROPERTY( y_indicator2_rect, long )             
00121 };
00122 
00123 }
00124 #endif