RTXI 1.3
plugins/system_control/system_control_panel.h
Go to the documentation of this file.
00001 /*
00002  Copyright (C) 2011 Georgia Institute of Technology, University of Utah, Weill Cornell Medical College
00003 
00004  This program is free software: you can redistribute it and/or modify
00005  it under the terms of the GNU General Public License as published by
00006  the Free Software Foundation, either version 3 of the License, or
00007  (at your option) any later version.
00008 
00009  This program is distributed in the hope that it will be useful,
00010  but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  GNU General Public License for more details.
00013 
00014  You should have received a copy of the GNU General Public License
00015  along with this program.  If not, see <http://www.gnu.org/licenses/>.
00016 
00017  */
00018 
00019 #ifndef SYSTEM_CONTROL_PANEL_H
00020 #define SYSTEM_CONTROL_PANEL_H
00021 
00022 #include <event.h>
00023 #include <qwidget.h>
00024 
00025 class QComboBox;
00026 class QLineEdit;
00027 class QPushButton;
00028 class QSpinBox;
00029 class QTabWidget;
00030 class QWidget;
00031 
00032 class SystemControlPanel : public QWidget, public Event::Handler
00033 {
00034 
00035     Q_OBJECT
00036 
00037 public:
00038 
00039     SystemControlPanel(QWidget *); 
00040     virtual ~SystemControlPanel(void);
00041 
00042 public slots:
00043 
00044     void apply(void);
00045     void okay(void); 
00046     void display(void);
00047     void updateDevice(void);
00048     void updateFreq(void);
00049     void updatePeriod(void);
00050 
00051 private:
00052 
00053     void __display(void);
00054     void applyChannelTab(void);
00055     void applyThreadTab(void);
00056     void createChannelTab(void);
00057     void createThreadTab(void);
00058     void displayChannelTab(void);
00059     void displayThreadTab(void);
00060     void receiveEvent(const Event::Object *);
00061 
00062     QTabWidget *tabWidget;
00063     QWidget *channelTab;
00064     QWidget *threadTab;
00065 
00066     /* Channel Tab Items */
00067     QComboBox *deviceList;
00068 
00069     QComboBox *analogChannelList;
00070     QComboBox *analogRangeList;
00071     QComboBox *analogReferenceList;
00072     QComboBox *analogSubdeviceList;
00073     QComboBox *analogUnitPrefixList;
00074     QComboBox *analogUnitList;
00075     QComboBox *analogUnitPrefixList2;
00076     QComboBox *analogUnitList2;
00077     QLineEdit *analogGainEdit;
00078     QLineEdit *analogZeroOffsetEdit;
00079     QPushButton *analogActiveButton;
00080 
00081     QComboBox *digitalChannelList;
00082     QComboBox *digitalDirectionList;
00083     QComboBox *digitalSubdeviceList;
00084     QPushButton *digitalActiveButton;
00085 
00086     /* Thread Tab Items */
00087     bool rateUpdate;
00088     QComboBox *freqUnitList;
00089     QComboBox *periodUnitList;
00090     QLineEdit *freqEdit;
00091     QLineEdit *periodEdit;
00092 
00093 };
00094 
00095 #endif /* SYSTEM_CONTROL_PANEL_H */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines