00001 /*************************************************************************** 00002 * Copyright (C) 2001 by Rick L. Vinyard, Jr. * 00003 * rvinyard@cs.nmsu.edu * 00004 * * 00005 * This file is part of the conexus library. * 00006 * * 00007 * The conexus library is free software; you can redistribute it and/or * 00008 * modify it under the terms of the GNU General Public License * 00009 * version 3 as published by the Free Software Foundation. * 00010 * * 00011 * The conexus library is distributed in the hope that it will be * 00012 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty * 00013 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00014 * General Public License for more details. * 00015 * * 00016 * You should have received a copy of the GNU General Public License * 00017 * along with this software. If not see <http://www.gnu.org/licenses/>. * 00018 ***************************************************************************/ 00019 #ifndef CONEXUSGTKMMTTYWIDGET_H 00020 #define CONEXUSGTKMMTTYWIDGET_H 00021 00022 #include <gtkmm/table.h> 00023 00024 #include <conexus/tty_interface.h> 00025 #include <conexus-gtkmm/serialcombobox.h> 00026 #include <conexus-gtkmm/ttybytesizeradio.h> 00027 #include <conexus-gtkmm/ttyflowcontrolcombobox.h> 00028 #include <conexus-gtkmm/ttyparitycombobox.h> 00029 #include <conexus-gtkmm/ttyparityerrorcombobox.h> 00030 #include <conexus-gtkmm/ttyspeedcombobox.h> 00031 #include <conexus-gtkmm/ttystopbitsradio.h> 00032 00033 namespace Conexus 00034 { 00035 namespace Gtk 00036 { 00037 00041 class TTYWidget : public ::Gtk::Table 00042 { 00043 public: 00044 TTYWidget(); 00045 00046 ~TTYWidget(); 00047 00048 void connect ( TTYInterface::pointer tty ); 00049 void disconnect( ); 00050 00051 SerialComboBox& device_widget(); 00052 TTYStopBitsRadio& stop_bits_widget(); 00053 TTYByteSizeRadio& byte_size_widget(); 00054 TTYFlowControlComboBox& flow_control_widget(); 00055 TTYParityComboBox& parity_widget(); 00056 TTYParityErrorComboBox& parity_error_widget(); 00057 TTYSpeedComboBox& input_speed_widget(); 00058 TTYSpeedComboBox& output_speed_widget(); 00059 ::Gtk::CheckButton& carrier_detect_widget(); 00060 ::Gtk::CheckButton& receiver_enable_button(); 00061 00062 protected: 00063 Conexus::TTYInterface::pointer m_tty; 00064 00065 SerialComboBox m_serial_combobox; 00066 TTYStopBitsRadio m_stop_bits_radio; 00067 TTYByteSizeRadio m_byte_size_radio; 00068 TTYFlowControlComboBox m_flow_control_combobox; 00069 TTYParityComboBox m_parity_combobox; 00070 TTYParityErrorComboBox m_parity_error_combobox; 00071 TTYSpeedComboBox m_input_speed_combobox, m_output_speed_combobox; 00072 ::Gtk::Button m_link_speed_button; 00073 bool m_speed_linked; 00074 Glib::RefPtr<Gdk::Pixbuf> m_link_image, m_unlink_image; 00075 ::Gtk::CheckButton m_carrier_detect; 00076 ::Gtk::CheckButton m_receiver_enable_button; 00077 00078 void on_serial_device_changed(); 00079 void on_byte_size_changed(); 00080 void on_stop_bits_changed(); 00081 void on_flow_control_changed(); 00082 void on_parity_changed(); 00083 void on_parity_error_changed(); 00084 void on_input_speed_changed(); 00085 void on_output_speed_changed(); 00086 void on_speed_link_changed(); 00087 void on_carrier_detect_changed(); 00088 void on_receiver_enable_changed(); 00089 }; 00090 00091 } 00092 00093 } 00094 00095 #endif