UniWidgets  1.0.0
SimpleOscillograph.h
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