kcmodulecontainer.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef KCMODULECONTAINER_H
00021
#define KCMODULECONTAINER_H
00022
00023
#include <qvaluelist.h>
00024
#include <qstring.h>
00025
#include <qstringlist.h>
00026
00027
#include <kcmodule.h>
00028
#include <kcmoduleloader.h>
00029
00030
class QTabWidget;
00031
class QWidget;
00032
class QVBoxLayout;
00033
00034
class KCModuleProxy;
00035
00052 class KUTILS_EXPORT KCModuleContainer :
public KCModule
00053 {
00054 Q_OBJECT
00055
public:
00065 KCModuleContainer(
QWidget* parent,
const char* name,
const QStringList& mods );
00066
00082 KCModuleContainer(
QWidget *parent,
const char* name,
const QString& mods =
QString() );
00083
00091
void addModule(
const QString& module );
00092
00096
virtual ~KCModuleContainer();
00097
00102
void save();
00103
00108
void load();
00109
00114
void defaults();
00115
00116
protected:
00117
00124
void finalize();
00125
00126
typedef QValueList<KCModuleProxy*> ModuleList;
00131 ModuleList changedModules;
00132
00136 ModuleList allModules;
00137
00138
private slots:
00139
00143
void tabSwitched(
QWidget * module );
00144
00145
void moduleChanged(
KCModuleProxy *proxy);
00146
00150
void runAsRoot();
00151
00155
void rootExited();
00156
00157
private:
00158
00159
void init();
00160
00161
class KCModuleContainerPrivate;
00162 KCModuleContainerPrivate *d;
00163
00164 };
00165
00181
#define KCMODULECONTAINER( modules, factoryName ) \
00182
extern "C" \
00183
{ \
00184
KCModule *create_## factoryName(QWidget *parent, const char *name) \
00185
{ \
00186
return new KCModuleContainer( parent, name, QString( modules ) ); \
00187
} \
00188
\
00189
bool test_## factoryName() \
00190
{ \
00191
QStringList modList = QStringList::split( ",", QString(modules).remove( " " )); \
00192
for ( QStringList::Iterator it = modList.begin(); it != modList.end(); ++it ) \
00193
if ( KCModuleLoader::testModule( *it ) ) \
00194
return true; \
00195
return false; \
00196
} \
00197
}
00198
00199
#endif // KCMODULECONTAINER_H
00200
This file is part of the documentation for kutils Library Version 3.4.0.