![]() |
RTXI 1.3
|
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 */