IndicatorFourState.h

00001 #ifndef _INDICATORFOURSTATE_H
00002 #define _INDICATORFOURSTATE_H
00003 // -------------------------------------------------------------------------
00004 #include <string>
00005 #include <map>
00006 #include <objects/SimpleObject.h>
00007 #include <objects/LinkLogic.h>
00008 #include <typical/TypicalTwoState.h>
00009 #include <typical/TypicalFourState.h>
00010 #include <typical/TypicalIndicatorBlink.h>
00011 #include <global_macros.h>
00012 // -------------------------------------------------------------------------
00013 namespace UniWidgets
00014 {
00026 class IndicatorFourState : public SimpleObject
00027 {
00028 public:
00029   IndicatorFourState();
00030   explicit IndicatorFourState(SimpleObject::BaseObjectType* gobject);
00031   virtual ~IndicatorFourState();
00032 
00033   /* Constants */
00034   static const Gdk::Rectangle highlevel_rect;      
00035   static const Gdk::Rectangle lowlevel_rect;      
00037   static const string highlevel_off_path;        
00038   static const string highlevel_warn_path;      
00039   static const string highlevel_alarm_path;      
00041   static const string lowlevel_off_path;        
00042   static const string lowlevel_warn_path;        
00043   static const string lowlevel_alarm_path;      
00045   sigc::connection button_release_conn_;        
00047 protected:
00048   /* Handlers */
00049   virtual void on_realize();
00050   virtual void on_connect() throw();
00051 
00052 private:
00053   /* Variables */
00054   TypicalFourState frame_;
00055   TypicalTwoState highlevel_;
00056   TypicalTwoState lowlevel_;
00057   /*Индикатор*/
00058   TypicalIndicatorBlink indicator_;
00059   Gdk::Rectangle* frame_rect;
00060   Gdk::Rectangle* indicator_rect;
00061   LinkLogic link_;
00062   
00063   bool is_configured;
00064 
00065   /* Methods */
00066   void constructor();
00067   void on_rectangle_changed();
00068   void on_configure();
00069 
00070   DISALLOW_COPY_AND_ASSIGN(IndicatorFourState);
00071 
00072   /* Properties */
00073   ADD_PROPERTY( value_ai, UniSetTypes::ObjectId )      
00074   ADD_PROPERTY( property_link_di, UniSetTypes::ObjectId )    
00075   ADD_PROPERTY( property_digits, int )        
00076   ADD_PROPERTY( property_precision, int )        
00077   ADD_PROPERTY( property_factor, double )        
00078   ADD_PROPERTY( svg_path, Glib::ustring )        
00079   ADD_PROPERTY( thresholdhigh_warn, UniSetTypes::ObjectId )  
00080   ADD_PROPERTY( thresholdhigh_alarm, UniSetTypes::ObjectId )  
00081   ADD_PROPERTY( thresholdlow_warn, UniSetTypes::ObjectId )  
00082   ADD_PROPERTY( thresholdlow_alarm, UniSetTypes::ObjectId )  
00083   ADD_PROPERTY( blinking_low, bool )        
00084   ADD_PROPERTY( self_state_ai, UniSetTypes::ObjectId )    
00085   ADD_PROPERTY( node, UniSetTypes::ObjectId )      
00086   ADD_PROPERTY( off_path, Glib::ustring )        
00087   ADD_PROPERTY( warn_path, Glib::ustring )      
00088   ADD_PROPERTY( alarm_path, Glib::ustring )      
00089   ADD_PROPERTY( width, long )          
00090   ADD_PROPERTY( height, long )          
00091   ADD_PROPERTY( ind_rect_x, long )        
00092   ADD_PROPERTY( ind_rect_y, long )        
00093   ADD_PROPERTY( indicator_lock_view_high, bool);      
00094   ADD_PROPERTY( indicator_lock_view_low, bool);      
00095 };
00096 
00097 }
00098 #endif

Документация по UniWidgets. Последние изменения: Fri Oct 10 09:57:49 2014. Создано системой  doxygen 1.5.9