RTP Audio System  2.0.0
qinfotabwidget.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines