kutils Library API Documentation

KCModuleContainer Class Reference

KCModuleContainer is a convenience class encapsulating several KCModules. More...

#include <kcmodulecontainer.h>

Inheritance diagram for KCModuleContainer:

KCModule QWidget List of all members.

Public Member Functions

 KCModuleContainer (QWidget *parent, const char *name, const QStringList &mods)
 KCModuleContainer (QWidget *parent, const char *name, const QString &mods=QString())
void addModule (const QString &module)
virtual ~KCModuleContainer ()
void save ()
void load ()
void defaults ()

Protected Types

typedef QValueList< KCModuleProxy * > ModuleList

Protected Member Functions

void finalize ()

Protected Attributes

ModuleList changedModules
ModuleList allModules

Detailed Description

KCModuleContainer is a convenience class encapsulating several KCModules.

The KCModuleContainer class is a convenience class for organizing a multiple set of KCModule. KCModuleContainer is a sub class of KCModule and builds an interface mainly consisting of a tab widget where each tab contains one of the modules specified via one of the constructors. KCModuleContainer can handle modules which requires root permissions. What you most likely want is the KCMODULECONTAINER macro.
Sometimes it is of interest to detect in runtime whether a module should be loaded or not. This can be achieved by sub classing KCModuleContainer, doing the probing/testing checks and then manually call addModule for each module which should be displayed. When all calls to addModule is done, call finalize() which performs some necessary final steps.

Author:
Frans Englich <frans.englich@telia.com>
Since:
3.4

Definition at line 52 of file kcmodulecontainer.h.


Constructor & Destructor Documentation

KCModuleContainer::KCModuleContainer QWidget parent,
const char *  name,
const QStringList mods
 

Creates a KCModuleContainer with tabs, each one containing one of the specified modules in mods.

Parameters:
mods The list of KCModules to be loaded. The name of each KCModule is its service name, that is the name of the desktop file without the ".desktop" part

Definition at line 81 of file kcmodulecontainer.cpp.

KCModuleContainer::KCModuleContainer QWidget parent,
const char *  name,
const QString mods = QString()
 

This is a convenience function, instead of building a QStringList you can specify the modules in a comma separated QString.

For example;

 KCModuleContainer* cont = KCModuleContainer( this, "kcm_misc", QString("kcm_energy, kcm_keyboard ,kcm_useraccount, kcm_mouse") );
The other constructor takes its modules in a QStringlist which also can be constructed from a string and thus you will have to be explicit on the data type.

What you probably want is the KCMODULECONTAINER macro which builds an KCModule for you, taking the modules you want as argument.

Parameters:
mods The modules to load
Returns:
The KCModule containg the requested modules.

Definition at line 73 of file kcmodulecontainer.cpp.

KCModuleContainer::~KCModuleContainer  )  [virtual]
 

Default destructor.

Definition at line 247 of file kcmodulecontainer.cpp.


Member Function Documentation

void KCModuleContainer::addModule const QString module  ) 
 

Adds the specified module to the tab widget.

Setting the tab icon, text, tool tip, connecting the signals is what it does.

Parameters:
module the name of the module to add. The name is the desktop file's name without the ".desktop" part.

Definition at line 123 of file kcmodulecontainer.cpp.

References KCModule::buttons(), KCModule::changed(), KCModuleInfo::comment(), KCModuleInfo::icon(), kdDebug(), KCModuleProxy::moduleInfo(), KCModuleInfo::moduleName(), KCModuleInfo::needsRootPrivileges(), KCModuleProxy::realModule(), and KService::serviceByDesktopName().

void KCModuleContainer::save  )  [virtual]
 

Reimplemented for internal purposes.

Reimplemented from KCModule.

Definition at line 199 of file kcmodulecontainer.cpp.

References KCModule::changed().

void KCModuleContainer::load  )  [virtual]
 

Reimplemented for internal purposes.

Reimplemented from KCModule.

Definition at line 212 of file kcmodulecontainer.cpp.

References KCModule::changed().

void KCModuleContainer::defaults  )  [virtual]
 

Reimplemented for internal purposes.

Reimplemented from KCModule.

Definition at line 225 of file kcmodulecontainer.cpp.

References KCModule::changed().

void KCModuleContainer::finalize  )  [protected]
 

Sets this KCM's buttons and adds a AdminMode button if necessary.

If KCModuleContainer is subclassed finalize() should be called in the constructor after all calls to addModule have been done. Call it once.

Definition at line 106 of file kcmodulecontainer.cpp.

References KCModule::setButtons().


Member Data Documentation

ModuleList KCModuleContainer::changedModules [protected]
 

A list containing KCModuleProxy objects which have changed and must be saved.

Definition at line 131 of file kcmodulecontainer.h.

ModuleList KCModuleContainer::allModules [protected]
 

A list of all modules which are encapsulated.

Definition at line 136 of file kcmodulecontainer.h.


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kutils Library Version 3.4.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Aug 2 12:25:23 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003