RTP Audio System
2.0.0
|
00001 // ########################################################################## 00002 // #### #### 00003 // #### RTP Audio Server Project #### 00004 // #### ============================ #### 00005 // #### #### 00006 // #### QInfoTabWidget #### 00007 // #### #### 00008 // #### Copyright (C) 1999-2012 by Thomas Dreibholz #### 00009 // #### #### 00010 // #### Contact: #### 00011 // #### EMail: dreibh@iem.uni-due.de #### 00012 // #### WWW: https://www.nntb.no/~dreibh/rtpaudio #### 00013 // #### #### 00014 // #### ---------------------------------------------------------------- #### 00015 // #### #### 00016 // #### This program is free software: you can redistribute it and/or #### 00017 // #### modify it under the terms of the GNU General Public License as #### 00018 // #### published by the Free Software Foundation, either version 3 of #### 00019 // #### the License, or (at your option) any later version. #### 00020 // #### #### 00021 // #### This program is distributed in the hope that it will be useful, #### 00022 // #### but WITHOUT ANY WARRANTY; without even the implied warranty of #### 00023 // #### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #### 00024 // #### GNU General Public License for more details. #### 00025 // #### #### 00026 // #### You should have received a copy of the GNU General Public #### 00027 // #### License along with this program. If not, see #### 00028 // #### <http://www.gnu.org/licenses/>. #### 00029 // #### #### 00030 // ########################################################################## 00031 // $Id: qinfotabwidget.h 1286 2011-12-18 13:43:16Z dreibh $ 00032 00033 00034 #ifndef QINFOTABWIDGET_H 00035 #define QINFOTABWIDGET_H 00036 00037 00038 #include "tdsystem.h" 00039 00040 00041 #include <qapplication.h> 00042 #include <qlayout.h> 00043 #include <qpushbutton.h> 00044 #include <qtabwidget.h> 00045 #include <qwhatsthis.h> 00046 #include <qlabel.h> 00047 #include <qlist.h> 00048 #include <qhash.h> 00049 00050 00059 struct InfoEntry 00060 { 00067 const char* ID; 00068 00072 const char* Title; 00073 00077 const char* Help; 00078 }; 00079 00080 00081 00090 struct InfoTable 00091 { 00095 const cardinal Entries; 00096 00100 const InfoEntry* Entry; 00101 }; 00102 00103 00104 00112 class QInfoWidget : public QWidget 00113 { 00114 Q_OBJECT 00115 00116 // ====== Constructor ==================================================== 00123 public: 00124 QInfoWidget(const InfoTable* table, 00125 QWidget* parent = NULL); 00126 00127 00128 // ====== Update ========================================================= 00135 bool update(const QString& id, const QString& value); 00136 00140 void clear(); 00141 00142 00143 // ====== Private data =================================================== 00144 private: 00145 const InfoTable* Table; 00146 QHash<QString,QLabel*> LabelDict; 00147 }; 00148 00149 00150 00158 class QInfoTabWidget : public QTabWidget 00159 { 00160 Q_OBJECT 00161 00162 // ====== Constructor ==================================================== 00171 public: 00172 QInfoTabWidget(const InfoTable* table, 00173 const char* title, 00174 const char* pixmapName = NULL, 00175 QWidget* parent = NULL); 00176 00177 00178 // ====== Add InfoTable ================================================== 00186 QInfoWidget* addTable(const InfoTable* table, 00187 const char* title, 00188 const char* pixmapName = NULL); 00189 00190 00191 // ====== Update ========================================================= 00198 bool update(const QString& id, const QString& value); 00199 00203 void clear(); 00204 00205 00206 // ====== Private data =================================================== 00207 private: 00208 QList<QInfoWidget*> InfoWidgetList; 00209 }; 00210 00211 00212 #endif