|
UniWidgets
1.0.0
|
00001 #ifndef _SIMPLEOSCILLOGRAPH_H 00002 #define _SIMPLEOSCILLOGRAPH_H 00003 // ------------------------------------------------------------------------- 00004 #include <gtkmm.h> 00005 #include <global_macros.h> 00006 #include <Oscillograph.h> 00007 #include <Channel.h> 00008 #include <UniSetTypes.h> 00009 #include <uniwidgets/USignals.h> 00010 // ------------------------------------------------------------------------- 00011 namespace UniWidgets 00012 { 00021 class SimpleOscillograph : public Gtk::EventBox 00022 { 00023 00024 private: 00025 void remove_channel(int, Oscillograph*); 00026 UniSetTypes::ObjectId last_selected_id_; 00028 public: 00029 SimpleOscillograph(); 00030 explicit SimpleOscillograph(Gtk::EventBox::BaseObjectType* gobject); 00031 virtual ~SimpleOscillograph(); 00032 00033 inline void set_last_selected(const UniSetTypes::ObjectId iID) 00034 { last_selected_id_ = iID; } 00036 void toggle_oscil_cycle(); 00037 void toggle_write_all(); 00038 //former on_mount_flash 00039 void update_oscil_save_folder(); 00041 //former MainWindow::on_calling_plot(int*) 00042 void launch_new_oscil_id(UniSetTypes::ObjectId sensor_id, Glib::ustring *); 00044 void add_indicator_to_wnd(UniSetTypes::ObjectId, Glib::ustring *); 00046 Oscillograph* oscil_; 00047 std::vector<UniSetTypes::ObjectId>* sensor_id; 00048 std::vector<USignals::Connection*>* value_changed_connections; 00050 protected: 00051 /* Methods */ 00052 virtual void on_show(); 00053 virtual void on_hide(); 00054 virtual void on_realize(); 00055 virtual void init_oscill(); 00056 /* Variables */ 00057 00058 private: 00059 /* Methods */ 00060 void constructor(); 00061 DISALLOW_COPY_AND_ASSIGN(SimpleOscillograph); 00062 /* Properties */ 00063 ADD_PROPERTY( is_oscil_cycle, bool ) /*Циклическая запись*/ 00064 ADD_PROPERTY( is_oscil_write_all, bool ) /*Запись всех каналов*/ 00065 ADD_PROPERTY( is_mount_point, Glib::ustring) /*Точка монтирования флешки*/ 00066 ADD_PROPERTY( is_oscil_folder, Glib::ustring) /*Директория для сохранения*/ 00067 ADD_PROPERTY( is_history_max, int) /*Максимальный размер истории*/ 00068 ADD_PROPERTY( is_max_file_point_num, long) /*Максимальное колчество точек в файле*/ 00069 ADD_PROPERTY( is_max_point_num, long) /*максимальное кол-во точек графика, хранящееся в памяти*/ 00070 ADD_PROPERTY( is_oscil_name, Glib::ustring) /*Имя для осциллографа*/ 00071 }; 00072 00073 } 00074 #endif
1.7.6.1