|
UniWidgets
1.0.0
|
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 "TypicalTwoState.h" 00009 #include "TypicalFourState.h" 00010 #include "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
1.7.6.1