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;
};