• Skip to content
  • Skip to link menu
KDE 3.5 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

KUtils

KCModuleProxy Class Reference
[KControl module classes]

Encapsulates a KCModule for embedding. More...

#include <kcmoduleproxy.h>

Inheritance diagram for KCModuleProxy:

Inheritance graph
[legend]

List of all members.


Public Slots

void defaults ()
void deleteClient ()
void runAsRoot ()

Signals

void changed (KCModuleProxy *mod)
void changed (bool state)
void childClosed ()
void quickHelpChanged ()

Public Member Functions

const KAboutData * aboutData () const
int buttons () const
bool changed () const
QCString dcopName () const
KInstance * instance () const
 KCModuleProxy (const KService::Ptr &service, bool withFallback=true, QWidget *parent=0, const char *name=0, const QStringList &args=QStringList())
 KCModuleProxy (const QString &serviceName, bool withFallback=true, QWidget *parent=0, const char *name=0, const QStringList &args=QStringList())
 KCModuleProxy (const KCModuleInfo &info, bool withFallback=true, QWidget *parent=0, const char *name=0, const QStringList &args=QStringList())
void load ()
const KCModuleInfo & moduleInfo () const
QString quickHelp () const
KCModule * realModule () const
bool rootMode () const
QString rootOnlyMsg () const
void save ()
bool useRootOnlyMsg () const
 ~KCModuleProxy ()

Protected Member Functions

void emitQuickHelpChanged ()
void init (const KCModuleInfo &info)
void showEvent (QShowEvent *)

Detailed Description

Encapsulates a KCModule for embedding.

KCModuleProxy is a wrapper for KCModule intended for cases where modules are to be displayed. It ensures layout is consistent, handles root/administrator modules and in general takes care of the details needed for making a module available in an interface. A KCModuleProxy can be treated as a QWidget, without worrying about the details specific for modules such as library loading. KCModuleProxy is not a sub class of KCModule but its API closely resembles KCModule's.
Usually, an instance is created by passing one of the constructors a KService::Ptr, KCModuleInfo or simply the name of the module and then added to the layout as any other widget.
When the user have changed the module, changed( bool ) as well as changed ( KCModuleProxy * ) is emitted. KCModuleProxy does not take care of prompting for saving - if the object is deleted while changes is not saved the changes will be lost. changed() returns true if changes are unsaved.

KCModuleProxy does not take care of authorization of KCModules.
KCModuleProxy do lazy loading, meaning the library will not be loaded or any other initialization done before its show() function is called. This means modules will only be loaded when they are actually needed as well as it is possible to load many KCModuleProxy without any speed penalty.

KCModuleProxy should be used in all cases where modules are embedded in order to promote code efficiency and usability consistency.

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

Matthias Kretz <kretz@kde.org>

Definition at line 68 of file kcmoduleproxy.h.


Constructor & Destructor Documentation

KCModuleProxy::KCModuleProxy ( const KCModuleInfo &  info,
bool  withFallback = true,
QWidget *  parent = 0,
const char *  name = 0,
const QStringList &  args = QStringList() 
)

Constructs a KCModuleProxy from a KCModuleInfo class.

Parameters:
info The KCModuleInfo to construct the module from.
withFallback If set to true and loading of the module fails, a alternative will be tried, resulting in the module appearing in its own window, if at all. The embedded module will be load()ed.
parent the parent QWidget.
name the module's name.
args This is used in the implementation and is internal. Use the default.

Definition at line 482 of file kcmoduleproxy.cpp.

KCModuleProxy::KCModuleProxy ( const QString &  serviceName,
bool  withFallback = true,
QWidget *  parent = 0,
const char *  name = 0,
const QStringList &  args = QStringList() 
)

Constructs a KCModuleProxy from a module's service name, which is equivalent to the desktop file for the kcm without the ".desktop" part.

Otherwise equal to the one above.

Parameters:
serviceName The module's service name to construct from.
withFallback If set to true and loading of the module fails, a alternative will be tried, resulting in the module appearing in its own window, if at all. The embedded module will be load()ed.
parent the parent QWidget.
name the module's name.
args This is used in the implementation and is internal. Use the default.

Definition at line 491 of file kcmoduleproxy.cpp.

KCModuleProxy::KCModuleProxy ( const KService::Ptr &  service,
bool  withFallback = true,
QWidget *  parent = 0,
const char *  name = 0,
const QStringList &  args = QStringList() 
)

Constructs a KCModuleProxy from KService.

Otherwise equal to the one above.

Parameters:
service The KService to construct from.
withFallback If set to true and loading of the module fails, a alternative will be tried, resulting in the module appearing in its own window, if at all. The embedded module will be load()ed.
parent the parent QWidget.
name the module's name.
args This is used in the implementation and is internal. Use the default.

Definition at line 473 of file kcmoduleproxy.cpp.

KCModuleProxy::~KCModuleProxy (  ) 

Default destructor.

Definition at line 428 of file kcmoduleproxy.cpp.


Member Function Documentation

const KAboutData * KCModuleProxy::aboutData (  )  const

Returns:
the module's aboutData()

Definition at line 588 of file kcmoduleproxy.cpp.

int KCModuleProxy::buttons (  )  const

Returns:
what buttons the module needs

Definition at line 600 of file kcmoduleproxy.cpp.

void KCModuleProxy::changed ( KCModuleProxy *  mod  )  [signal]

This is emitted in the same situations as in the one above.

Practical when several KCModuleProxys are loaded.

Since:
3.4

void KCModuleProxy::changed ( bool  state  )  [signal]

bool KCModuleProxy::changed (  )  const

Returns:
true if the module is modified and needs to be saved.

Definition at line 621 of file kcmoduleproxy.cpp.

void KCModuleProxy::childClosed (  )  [signal]

When a module running with root privileges and exits, returns to normal mode, the childClosed() signal is emitted.

Since:
3.4

QCString KCModuleProxy::dcopName (  )  const

Returns the DCOP the module's DCOPClient and DCOPObject has(they are identical).

Since:
3.4

Definition at line 636 of file kcmoduleproxy.cpp.

void KCModuleProxy::defaults (  )  [slot]

Calling it will cause the contained module to load its default values.

Definition at line 551 of file kcmoduleproxy.cpp.

void KCModuleProxy::deleteClient (  )  [slot]

Calling this, results in deleting the contained module, and unregistering from DCOP.

A similar result is achieved by deleting the KCModuleProxy itself.

Since:
3.4

Definition at line 436 of file kcmoduleproxy.cpp.

void KCModuleProxy::emitQuickHelpChanged (  )  [protected]

Emits the quickHelpChanged signal.

Since:
3.4

Definition at line 641 of file kcmoduleproxy.cpp.

void KCModuleProxy::init ( const KCModuleInfo &  info  )  [protected]

Internal intialization function, called by the constructors.

For internal use only.

Since:
3.4

Definition at line 501 of file kcmoduleproxy.cpp.

KInstance * KCModuleProxy::instance (  )  const

Returns the embedded KCModule's KInstance.

Returns:
The module's KInstance.
Deprecated:

Definition at line 616 of file kcmoduleproxy.cpp.

void KCModuleProxy::load (  ) 

Calling it will cause the contained module to run its load() routine.

Definition at line 515 of file kcmoduleproxy.cpp.

const KCModuleInfo & KCModuleProxy::moduleInfo (  )  const

Returns:
a KCModuleInfo for the encapsulated module

Definition at line 626 of file kcmoduleproxy.cpp.

QString KCModuleProxy::quickHelp (  )  const

Returns:
the module's quickHelp();

Definition at line 559 of file kcmoduleproxy.cpp.

void KCModuleProxy::quickHelpChanged (  )  [signal]

KCModule * KCModuleProxy::realModule (  )  const

Access to the actual module.

However, if the module is running in root mode, see rootMode(), this function returns a NULL pointer, since the module is in another process. It may also return NULL if anything goes wrong.

Returns:
the encapsulated module.

Definition at line 140 of file kcmoduleproxy.cpp.

bool KCModuleProxy::rootMode (  )  const

Returns whether the module is running in root mode.

A module is in root mode when runAsRoot() has been called. A session under root user will never reach root mode.

Note:
realModule() will return null when the module is running in root mode.
Returns:
true if the module is running with root privileges
Since:
3.4

Definition at line 631 of file kcmoduleproxy.cpp.

QString KCModuleProxy::rootOnlyMsg (  )  const

Returns:
The module's custom root message, if it has one
Deprecated:

Definition at line 606 of file kcmoduleproxy.cpp.

void KCModuleProxy::runAsRoot (  )  [slot]

Calling this will cause the module to be run in "administrator mode".

Since:
3.4

Definition at line 298 of file kcmoduleproxy.cpp.

void KCModuleProxy::save (  ) 

Calling it will cause the contained module to run its save() routine.

If the module was not modified, it will not be asked to save.

Definition at line 527 of file kcmoduleproxy.cpp.

void KCModuleProxy::showEvent ( QShowEvent *  ev  )  [protected]

Reimplemented for internal purposes.

Makes sure the encapsulated module is loaded before the show event is taken care of.

Reimplemented from QWidget.

Definition at line 284 of file kcmoduleproxy.cpp.

bool KCModuleProxy::useRootOnlyMsg (  )  const

Returns:
If the module is a root module.
Deprecated:

Definition at line 611 of file kcmoduleproxy.cpp.


The documentation for this class was generated from the following files:
  • kcmoduleproxy.h
  • kcmoduleproxy.cpp

KUtils

Skip menu "KUtils"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • dcop
  • DNSSD
  • interfaces
  • Kate
  • kconf_update
  • KDECore
  • KDED
  • kdefx
  • KDEsu
  • kdeui
  • KDocTools
  • KHTML
  • KImgIO
  • KInit
  • kio
  • kioslave
  • KJS
  • KNewStuff
  • KParts
  • KUtils
Generated for API Reference by doxygen 1.5.9
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal