|
UniWidgets
1.2.0
|
00001 #ifndef _MTRSETUP_H 00002 #define _MTRSETUP_H 00003 // ------------------------------------------------------------------------- 00009 // ------------------------------------------------------------------------- 00010 #include <fstream> 00011 #include <gtkmm.h> 00012 #include <modbus/ModbusRTUMaster.h> 00013 #include <modbus/ModbusHelpers.h> 00014 #include <extensions/MTR.h> 00015 // ------------------------------------------------------------------------- 00021 class MRMReCreator 00022 { 00023 public: 00024 MRMReCreator(); 00026 void check(); 00027 00028 ModbusRTUMaster* getMRM() 00029 { return mb_; } 00031 bool plugged() 00032 { return plugged_; } 00034 bool MRMCreated() const 00035 { return mb_ != NULL; } 00037 void changeDev(const Glib::ustring dev); 00039 void setSpeed(const Glib::ustring speed) 00040 { speed_ = speed; } 00042 void setTimeout(int timeout) 00043 { timeout_ = timeout; } 00044 00045 private: 00046 Glib::ustring dev_; 00047 Glib::ustring speed_; 00048 int timeout_; 00049 00050 bool plugged_; 00051 ModbusRTUMaster *mb_; 00052 00053 bool checkPlugged(); 00054 void reCreate(); 00055 }; 00061 class MTRSetup { 00062 00063 private: 00064 Gtk::Dialog *MTR_Setup, *dialog; 00065 Gtk::Frame *frame_settings, *frame_autodetect, *frame_prog; 00066 Gtk::VButtonBox *box_actions; 00067 Gtk::ComboBoxEntry *combo_dev, *combo_speed, *combo_fn; 00068 Gtk::SpinButton *spin_addr, *spin_timeout, *spin_beg, *spin_end, *spin_reg; 00069 Gtk::ProgressBar *autodetect_progress; 00070 Gtk::Button *mtr_abort, *toggle_settings, *start_autodetect; 00071 Gtk::Label *label_state, *label_beg, *label_end, *ok_mess, *fail_mess; 00072 Gtk::CheckButton *radio_speed, *radio_guessspeed; 00073 Gtk::Dialog *detection_failed; 00074 00075 Glib::ustring current_device, path; 00076 00077 void hide(); 00078 bool check(bool unknown_state); 00079 void start_check(); 00080 void stop_check(); 00081 void toggle_settings_cb(); 00082 // void speed_toggled(); 00083 // void guessspeed_toggled(); 00084 void begin_changed(); 00085 void dev_changed(); 00086 void speed_changed(); 00087 void timeout_changed(); 00088 void autodetect_start(); 00089 void prog_clicked(Glib::ustring filename); 00090 void abortation(); 00091 void set_normal_state(bool state); 00092 // bool update_p_cb(unsigned int addr, unsigned int beg_addr, unsigned int end_addr, unsigned int reg, ModbusRTU::SlaveFunctionCode fn, bool guessspeed, bool speed); 00093 00094 MRMReCreator mrmc; 00095 // ModbusRTUMaster *mb; 00096 sigc::connection update_progress, check_dev; 00097 00098 std::list<std::string> speedlist; 00099 bool stop_button_pressed; 00100 bool port_ok; 00101 bool settings_visible; 00102 bool detected; 00103 // unsigned int iii, ad; 00104 00105 public: 00111 MTRSetup(Glib::RefPtr<Gnome::Glade::Xml> gxml, Gtk::Dialog *d, Glib::ustring mtr_prog_path); 00112 ~MTRSetup(){}; 00113 00114 void show(); 00115 }; 00116 00117 #endif /* _MTRSETUP_H */
1.7.6.1