EngineConfigPage Class Reference

Base for configuration pages for plugins; provides some default behavior. More...

#include <engineconfigpage.h>

+ Inheritance diagram for EngineConfigPage:

Public Member Functions

 EngineConfigPage (EnginePlugin *plugin, IniSection &cfg, QWidget *parent=NULL)
 
QIcon icon () const
 Reimplement this to return a displayable icon for the ConfigPage. More...
 
QString name () const
 Reimplement this to return a list-displayable name for this ConfigPage. More...
 
const EnginePluginplugin () const
 Parent plugin handled by this page. More...
 
QString title () const
 Page title, by default returns the same string as name(). More...
 
virtual Validation validate ()
 Validate settings on this page. More...
 
- Public Member Functions inherited from ConfigPage
 ConfigPage (QWidget *parent=NULL)
 
bool allowSave ()
 Does this page allow to save the new settings? More...
 
bool areSettingsAlreadyRead ()
 true if settings for this page have already been loaded at least once. More...
 
void read ()
 Read configuration from persistence to page contents. More...
 
bool save ()
 Save configuration from page contents to persistence. More...
 
void setAllowSave (bool b)
 Change whether settings on this page can be stored in persisting configuration. More...
 

Protected Member Functions

void addWidget (QWidget *widget)
 Add a new, custom widget below the standard ones. More...
 
void readSettings ()
 Reimplement this to read settings from config into widgets. More...
 
void saveSettings ()
 Reimplement this to write settings to config from widgets. More...
 

Friends

class PrivData< EngineConfigPage >
 

Additional Inherited Members

- Public Types inherited from ConfigPage
enum  Validation { VALIDATION_OK, VALIDATION_ERROR }
 Result of validate() More...
 
- Signals inherited from ConfigPage
void appearanceChanged ()
 Emit to tell Doomseeker to redraw certain widgets. More...
 
void validationRequested ()
 Request that the page should be (re-)validated. More...
 

Detailed Description

Base for configuration pages for plugins; provides some default behavior.

An extension of ConfigPage. This class is already prepared to support most common and basic settings which include paths to the game's client and server executables, custom parameters and master server address. Plugins can reimplement this widget to benefit from this default behavior and also extend the page with additional widgets.

New subclassed instances of this configuration page can be created and returned in a reimplementation of the EnginePlugin::configuration() method.

Definition at line 48 of file engineconfigpage.h.

Constructor & Destructor Documentation

EngineConfigPage::EngineConfigPage ( EnginePlugin plugin,
IniSection cfg,
QWidget *  parent = NULL 
)
Parameters
pluginParent plugin handled by this page.
cfgIniSection which handles configuration for this plugin. Usually this should be set to whatever EnginePlugin::data()->pConfig points to.
parentParent widget, most likely configuration dialog box.

Member Function Documentation

void EngineConfigPage::addWidget ( QWidget *  widget)
protected

Add a new, custom widget below the standard ones.

Definition at line 107 of file engineconfigpage.cpp.

QIcon EngineConfigPage::icon ( ) const
virtual

Reimplement this to return a displayable icon for the ConfigPage.

If there is no QIcon associated with this page just return a QIcon object with argument-less constructor.

Implements ConfigPage.

Definition at line 151 of file engineconfigpage.cpp.

QString EngineConfigPage::name ( ) const
virtual

Reimplement this to return a list-displayable name for this ConfigPage.

Implements ConfigPage.

Definition at line 175 of file engineconfigpage.cpp.

const EnginePlugin * EngineConfigPage::plugin ( ) const

Parent plugin handled by this page.

Definition at line 180 of file engineconfigpage.cpp.

void EngineConfigPage::readSettings ( )
protectedvirtual

Reimplement this to read settings from config into widgets.

Implements ConfigPage.

Definition at line 185 of file engineconfigpage.cpp.

void EngineConfigPage::saveSettings ( )
protectedvirtual

Reimplement this to write settings to config from widgets.

Implements ConfigPage.

Definition at line 240 of file engineconfigpage.cpp.

QString EngineConfigPage::title ( ) const
virtual

Page title, by default returns the same string as name().

Reimplemented from ConfigPage.

Definition at line 265 of file engineconfigpage.cpp.

ConfigPage::Validation EngineConfigPage::validate ( )
virtual

Validate settings on this page.

If settings seem to be configured incorrectly (paths point to missing directories or files, data is missing, etc.), the page can decide to notify the user about a problem. Validation result determines how the problem notification will be displayed by Doomseeker in the configuration dialog box. Still, the page itself must also take care to precisely pinpoint the reason of the failure. When user navigates to the page, it must be immediatelly visible what caused the problem and why.

This is used purely for notification purposes. User should not be blocked from saving the configuration even if validation fails spectacularly.

This method can be called at any time by Doomseeker and must not block. It's expected that all checks will be light-weight.

A page can also decide to validate itself at any time. This is done by emitting the validationRequested() signal, upon which Doomseeker will call validate().

Returns
Return result of validation. Default implementation always returns VALIDATION_OK.

Reimplemented from ConfigPage.

Definition at line 278 of file engineconfigpage.cpp.


The documentation for this class was generated from the following files: