Source Code (Use browser search to find items of interest.)
Class Index
kdelibs'KCModule (./kdelibs/kdeui/kcmodule.h:60)
class KCModule : public QWidget
{
Q_OBJECT
public:
/**
* An enumeration type for the buttons used by this module.
*
* @see KCModule::buttons
*/
enum Button {Help=1, Default=2, Reset=4, Cancel=8, Apply=16, Ok=32, SysDefault=64};
/*
* Creates a new module.
*/
KCModule(QWidget *parent=0, const char *name=0)
: QWidget(parent, name), _btn(Help|Default|Reset|Cancel|Apply|Ok) {}
/**
* Load the configuration data into the module.
*
* The load method sets the user interface elements of the
* module to reflect the current settings stored in the
* configuration files.
*
* This method is invoked whenever the module should read its configuration
* (most of the times from a config file) and update the user interface.
* This happens when the user clicks the "Reset" button in the control
* center, to undo all of his changes and restore the currently valid
* settings. NOTE that this is not called after the modules is loaded,
* so you probably want to call this method in the constructor.
*/
virtual void load() {};
/**
* Save the configuration data.
*
* The load module stores the config information as shown
* in the user interface in the config files.
*
* If necessary, this method also updates the running system,
* e.g. by restarting applications.
*
* save is called when the user clicks "Apply" or "Ok".
*/
virtual void save() {};
/**
* Set the configuration to sensible default values.
*
* This method is called when the user clicks the "Default"
* button. It should set the display to usefull values.
*/
virtual void defaults() {};
/**
* Set the configuration to system default values.
*
* This method is called when the user clicks the "System-Default"
* button. It should set the display to the system default values.
*
* NOTE: The default behaviour is to call defaults().
*/
virtual void sysdefaults() { defaults(); };
/**
* Return a quick-help text.
*
* This method is called when the module is docked.
* The quick-help text should contain a short description of the module and
* links to the module's help files. You can use QML formating tags in the text.
*
* NOTE: Please make sure the quick help text gets translated (use i18n()).
*/
virtual QString quickHelp() { return QString::null; };
/**
* Realizes the settings in the config files.
*
* This method may be called during system startup to apply the
* information in the config files to the running system.
*
* Note that this method is static, so it is not necessary to
* create an instance of the module at system startup.
* Generally, it should be avoided to construct GUI elements
* in this method.
*/
static void init() {};
/**
* Indicate which buttons will be used.
*
* The return value is a value or'ed together from
* the Button enumeration type.
*
* @see KCModule::setButtons
*/
int buttons() { return _btn; };
protected:
/**
* Set the buttons to display.
*
* The control center displays 7 buttons:
*
* Help, Default, Reset, Cancel, Apply, Ok, System defaults
*
* Not all of these make sense for all modules, so you
* can use this method to set the buttons to be enabled when
* your module is displayed.
*
* @see KCModule::buttons
*/
void setButtons(int btn) { _btn = btn; };
signals:
/**
* Indicate the the state of the modules contents has changed.
*
* This signal is emitted whenever the state of the configuration
* shown in the module changes. It allows the control center to
* keep track of unsaved changes.
*
*/
void changed(bool state);
private:
int _btn;
KCModulePrivate *d;
};