add more spacing
[personal-kdebase.git] / apps / kinfocenter / dockcontainer.h
blobb83adb819ec16f9810bf2c8a07b31957fc234ae2
1 /*
2 Copyright (c) 2000 Matthias Elter <elter@kde.org>
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 #ifndef __dockcontainer_h__
21 #define __dockcontainer_h__
23 #include <QStackedWidget>
24 #include <QLabel>
25 #include <QVBoxLayout>
27 #include <kvbox.h>
28 #include <ktitlewidget.h>
30 class AboutWidget;
31 class ConfigModule;
32 class ProxyWidget;
34 class ModuleTitle : public KTitleWidget {
35 public:
36 ModuleTitle(QWidget *parent);
37 ~ModuleTitle();
39 void showTitleFor(ConfigModule *module);
41 private:
42 void setCommentText(const QString& docPath, const QString& text, const QString& quickHelp);
43 void setCommentBaseText();
47 class DockContainer : public QWidget {
48 Q_OBJECT
50 public:
51 DockContainer(AboutWidget* aboutWidget, QWidget *parent=NULL);
52 virtual ~DockContainer();
54 bool dockModule(ConfigModule *module);
56 public slots:
57 void showAboutWidget();
59 signals:
60 void newModule(const QString& name);
62 private:
63 void showBusyWidget();
64 void showConfigWidget(ConfigModule* module);
66 ProxyWidget* initializeModule(ConfigModule* module);
68 QLabel *_busyWidget;
70 ModuleTitle* _moduleTitle;
71 QStackedWidget* _moduleWidgets;
73 AboutWidget* _generalWidget;
76 #endif