Version: 6.3.1
Data Structures | Public Types | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | Friends

QtxResourceMgr Class Reference

Application resources manager. More...

#include <QtxResourceMgr.h>

Inheritance diagram for QtxResourceMgr:
Inheritance graph

Data Structures

class  Format
 Generic resources files reader/writer class. More...
class  IniFormat
 Reader/writer for .ini resources files. More...
class  Resources
 Represents container for settings read from the resource file. More...
class  XmlFormat
 Reader/writer for .xml resources files. More...

Public Types

enum  WorkingMode { AllowUserValues, IgnoreUserValues }
 

Working mode; defines a way how resource manager handles user preferences.

More...
typedef IMap< QString, QString > Section
 resource section

Public Member Functions

 QtxResourceMgr (const QString &, const QString &=QString())
 Constructs the resource manager.
virtual ~QtxResourceMgr ()
 Destructor.
QString appName () const
 Get the application name.
QStringList dirList () const
 Get the resource directories list.
bool checkExisting () const
 Get the "check existance" flag.
virtual void setCheckExisting (const bool)
 Set the "check existance" flag.
bool isPixmapCached () const
 Get "cached pixmaps" option value.
void setIsPixmapCached (const bool)
 Switch "cached pixmaps" option on/off.
void clear ()
 Remove all resources from the resources manager.
WorkingMode workingMode () const
 Get current working mode.
void setWorkingMode (WorkingMode)
 Set resource manager's working mode.
bool value (const QString &, const QString &, int &) const
 Get interger parameter value.
bool value (const QString &, const QString &, double &) const
 Get double parameter value.
bool value (const QString &, const QString &, bool &) const
 Get boolean parameter value.
bool value (const QString &, const QString &, QColor &) const
 Get color parameter value.
bool value (const QString &, const QString &, QFont &) const
 Get font parameter value.
bool value (const QString &, const QString &, QByteArray &) const
 Get byte array parameter value.
bool value (const QString &, const QString &, QLinearGradient &) const
 Get linear gradient parameter value.
bool value (const QString &, const QString &, QRadialGradient &) const
 Get radial gradient parameter value.
bool value (const QString &, const QString &, QConicalGradient &) const
 Get conical gradient parameter value.
bool value (const QString &, const QString &, QString &, const bool=true) const
 Get string parameter value (native format).
int integerValue (const QString &, const QString &, const int=0) const
 Get interger parameter value.
double doubleValue (const QString &, const QString &, const double=0) const
 Get double parameter value.
bool booleanValue (const QString &, const QString &, const bool=false) const
 Get boolean parameter value.
QFont fontValue (const QString &, const QString &, const QFont &=QFont()) const
 Get font parameter value.
QColor colorValue (const QString &, const QString &, const QColor &=QColor()) const
 Get color parameter value.
QString stringValue (const QString &, const QString &, const QString &=QString()) const
 Get string parameter value.
QByteArray byteArrayValue (const QString &, const QString &, const QByteArray &=QByteArray()) const
 Get byte array parameter value.
QLinearGradient linearGradientValue (const QString &, const QString &, const QLinearGradient &=QLinearGradient()) const
 Get linear gradient parameter value.
QRadialGradient radialGradientValue (const QString &, const QString &, const QRadialGradient &=QRadialGradient()) const
 Get radial gradient parameter value.
QConicalGradient conicalGradientValue (const QString &, const QString &, const QConicalGradient &=QConicalGradient()) const
 Get conical gradient parameter value.
bool hasSection (const QString &) const
 Check section existence.
bool hasValue (const QString &, const QString &) const
 Check parameter existence.
void setValue (const QString &, const QString &, const int)
 Set integer parameter value.
void setValue (const QString &, const QString &, const double)
 Set double parameter value.
void setValue (const QString &, const QString &, const bool)
 Set boolean parameter value.
void setValue (const QString &, const QString &, const QFont &)
 Set font parameter value.
void setValue (const QString &, const QString &, const QColor &)
 Set color parameter value.
void setValue (const QString &, const QString &, const QString &)
 Set string parameter value.
void setValue (const QString &, const QString &, const QByteArray &)
 Set byte array parameter value.
void setValue (const QString &, const QString &, const QLinearGradient &)
 Set linear gradient parameter value.
void setValue (const QString &, const QString &, const QRadialGradient &)
 Set radial gradient parameter value.
void setValue (const QString &, const QString &, const QConicalGradient &)
 Set conical gradient parameter value.
void remove (const QString &)
 Remove resources section.
void remove (const QString &, const QString &)
 Remove the specified parameter.
QString currentFormat () const
 Get current configuration files format.
void setCurrentFormat (const QString &)
 Set current configuration files format.
Formatformat (const QString &) const
 Get configuration files format by specified format name.
void installFormat (Format *)
 Install configuration files format.
void removeFormat (Format *)
 Remove configuration files format.
QStringList options () const
 Get resource format options names.
QString option (const QString &) const
 Get the string value of the specified resources format option.
void setOption (const QString &, const QString &)
 Set the string value of the specified resources format option.
QPixmap defaultPixmap () const
 Get default pixmap.
virtual void setDefaultPixmap (const QPixmap &)
 Set default pixmap.
QString resSection () const
 Get application resources section name.
QString langSection () const
 Get application language section name.
QString sectionsToken () const
 Get sections separator token.
QPixmap loadPixmap (const QString &, const QString &) const
 Load pixmap resource.
QPixmap loadPixmap (const QString &, const QString &, const bool) const
 Load pixmap resource.This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
QPixmap loadPixmap (const QString &, const QString &, const QPixmap &) const
 Load pixmap resource.This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void loadLanguage (const QString &=QString(), const QString &=QString())
 Load translation files according to the specified language.
void raiseTranslators (const QString &)
 Move all translators corresponding to the specified translation context to the top of translators stack (increase their priority).
void removeTranslators (const QString &)
 Remove all translators corresponding to the specified translation context.
void loadTranslator (const QString &, const QString &)
 Load translation file.
void loadTranslators (const QString &, const QStringList &)
 Load translation files for the specified translation context.
QString path (const QString &, const QString &, const QString &) const
 Get absolute path to the file which name is defined by the parameter.
bool load ()
 Load all resources from all resource files (global and user).
bool import (const QString &)
 Import resources from specified resource file.
bool save ()
 Save all resources to the user resource files.
QStringList sections () const
 Get all sections names.
QStringList sections (const QRegExp &) const
 Get all sections names matching specified regular expression.
QStringList sections (const QStringList &) const
 Get all sections names with the prefix specified by passed list of parent sections names.
QStringList subSections (const QString &, const bool=true) const
 Get list of sub-sections names for the specified parent section name.
QStringList parameters (const QString &) const
 Get all parameters name in specified section.
QStringList parameters (const QStringList &) const
 Get all parameters name in specified list of sub-sections names.
void refresh ()
 Copy all parameters to the user resources in order to saved them lately in the user home folder.

Protected Member Functions

virtual void setDirList (const QStringList &)
 Set the resource directories (where global confguration files are searched).
virtual void setResource (const QString &, const QString &, const QString &)
 Set parameter value.
virtual QString userFileName (const QString &, const bool=true) const
 Get user configuration file name.
virtual QString globalFileName (const QString &) const
 Get global configuration file name.

Private Types

typedef QList< Resources * > ResList
typedef QList< QTranslator * > TransList
typedef QList< Format * > FormatList
typedef QMap< QString, QString > OptionsMap
typedef QMap< QString, TransListTransListMap

Private Member Functions

void initialize (const bool=true) const
 Initialise resources manager.
QString substMacro (const QString &, const QMap< QChar, QString > &) const
 Perform substitution of the patterns like %A, %B, etc by values from the map.

Private Attributes

QString myAppName
 application name
QStringList myDirList
 list of resources directories
FormatList myFormats
 list of formats
OptionsMap myOptions
 options map
ResList myResources
 resources list
bool myCheckExist
 "check existance" flag
TransListMap myTranslator
 map of loaded translators
QPixmap * myDefaultPix
 default icon
bool myIsPixmapCached
 "cached pixmaps" flag
bool myHasUserValues
 true if user preferences has been read
WorkingMode myWorkingMode
 working mode

Friends

class QtxResourceMgr::Format

Detailed Description

This class can be used to define settings, save/load settings and application preferences to the resource file(s), load translation files (internationalization mechanism), load pixmaps and other resources from external files, etc.

Currently it supports .ini and .xml resources file formats. To implement own resources file format, inherit from the Format class and implement virtual Format.load() and Format.save() methods.

Resources manager is initialized by the (symbolic) name of the application. The parameter resVarTemplate specifies the template for the environment variable which should point to the resource directory or list of directories. Environment variable name is calculated by substitution of "%1" substring in the resVarTemplate parameter (if it contains such substring) by the application name (appName). By default, resVarTemplate is set to "%1Resources". For example, if the application name is "MyApp", the environment variable "MyAppResources" will be inspected in this case.

Resource manager can handle several global application configuration files and one user configuration file. Location of global configuration files is defined by the environment variable (see above) and these files are always read-only. The name of the global configuration files is retrieved by calling virtual method globalFileName() which can be redefined in the QtxResourceMgr class successors. User configuration file always situated in the user's home directory. It's name is defined by calling virtual method userFileName() which can be also redefined in the QtxResourceMgr class successors. This is the only file which the preferences changed by the user during the application session are written to (usually when the application closes).

Resources environment variable should contain one or several resource directories (separated by ";" symbol on Windows and ":" or ";" on Linux). Each resource directory can contain application global configuration file. The user configuration file has the highest priority, for the global configuration files the priority is decreasing from left to right, i.e. the first directory in the directoris list, defined by the resources environment variable has higher priority. Priority has the meaning when searching requested resources (application preference, pixmap file name, translation file, etc).

When retrieving preferences, it is sometimes helpful to ignore values coming from the user preference file and take into account only global preferences. To do this, use setWorkingMode() method passing QtxResourceMgr.IgnoreUserValues enumerator as parameter.

Resources manager operates with such terms like options, sections and parameters. Parametets are named application resources, for example, application preferences like integer, double, boolean or string values, pictures, font and color definitions, etc. Parameters are organized inside the resources files into the named groups - sections. Options are special kind of resoures which allow customizing resource files interpreting. For example, by default language settings are defined in the resource file in the section "language". It is possible to change this section name by setting "language" option to another value (see setOption()).

Retrieving preferences values can be done by using one of value() methods, each returns true if the corresponding preference is found. Another way is to use integerValue(), doubleValue(), etc methods, which allow specifying default value which is used if the specified preference is not found. Removing of preferences or sections can be done using remove(const QString& sect) or remove(const QString& sect, const QString& name) methods. To add the preference or to change exiting preference value use setValue() methods family. Methods hasSection() and hasValue() can be used to check existence of section or preference (in the specified section). List of all sections can be retrieved with the sections() method, and list of all settings names in some specified section can be obtained with parameters() method.

Pixmaps can be loaded with the loadPixmap() methods. If the specified pixmap is not found, the default one is returned. Default pixmap can be set by setDefaultPixmap().

One of the key feature of the resources manager is support of application internationalization mechanism. Translation files for the specified language can be loaded with loadLanguage() method.


Member Typedef Documentation

typedef IMap<QString, QString> QtxResourceMgr.Section
typedef QList<Resources*> QtxResourceMgr.ResList [private]
typedef QList<Format*> QtxResourceMgr.FormatList [private]
typedef QMap<QString, QString> QtxResourceMgr.OptionsMap [private]
typedef QMap<QString, TransList> QtxResourceMgr.TransListMap [private]

Member Enumeration Documentation

Enumerator:
AllowUserValues 

User values are processed by the resource manager.

IgnoreUserValues 

User values are ignored by the resource manager.


Constructor & Destructor Documentation

QtxResourceMgr::QtxResourceMgr ( const QString &  appName,
const QString &  resVarTemplate = QString() 
)
Parameters:
appNameapplication name
resVarTemplateresource environment variable pattern

References installFormat(), setDirList(), and setOption().

QtxResourceMgr::~QtxResourceMgr ( ) [virtual]

Destroy the resource manager and free allocated memory.

References myDefaultPix, myFormats, myResources, myTranslator, and removeTranslators().


Member Function Documentation

QString QtxResourceMgr::appName ( ) const
Returns:
application name

References myAppName.

QStringList QtxResourceMgr::dirList ( ) const

Home user directory (where the user application configuration file is situated) is not included. This is that directories list defined by the application resources environment variable.

Returns:
list of directories names

References myDirList.

bool QtxResourceMgr::checkExisting ( ) const

If this flag is true then preference can be set (with setValue() method) only if it doesn't exist or if the value is changed.

Returns:
true if "check existance" flag is set

References myCheckExist.

void QtxResourceMgr::setCheckExisting ( const bool  on) [virtual]
Parameters:
onnew flag value

References myCheckExist.

bool QtxResourceMgr::isPixmapCached ( ) const

Resources manager allows possibility to cache loaded pixmaps that allow to improve application performance. This feature is turned on by default - all loaded pixmaps are stored in the internal map. Switching of this feature on/off can be done by setIsPixmapCached() method.

Returns:
true if pixmap cache is turned on
See also:
setIsPixmapCached()

References myIsPixmapCached.

void QtxResourceMgr::setIsPixmapCached ( const bool  on)
Parameters:
onenable pixmap cache if true and disable it if false
See also:
isPixmapCached()

References myIsPixmapCached.

void QtxResourceMgr::clear ( )

References myResources.

QtxResourceMgr::WorkingMode QtxResourceMgr::workingMode ( ) const
Returns:
current working mode
See also:
setWorkingMode(), value(), hasValue(), hasSection(), setValue()

References myWorkingMode.

void QtxResourceMgr::setWorkingMode ( WorkingMode  mode)

The resource manager can operate in the following working modes: AllowUserValues : methods values(), hasValue(), hasSection() take into account user values (default) IgnoreUserValues : methods values(), hasValue(), hasSection() do not take into account user values

Note, that setValue() method always put the value to the user settings file.

Parameters:
modenew working mode
See also:
workingMode(), value(), hasValue(), hasSection(), setValue()

References myWorkingMode.

bool QtxResourceMgr::value ( const QString &  sect,
const QString &  name,
int &  iVal 
) const
Parameters:
sectsection name
nameparameter name
iValparameter to return resulting integer value
Returns:
true if parameter is found and false if parameter is not found (in this case iVal value is undefined)
bool QtxResourceMgr::value ( const QString &  sect,
const QString &  name,
double &  dVal 
) const
Parameters:
sectsection name
nameparameter name
dValparameter to return resulting double value
Returns:
true if parameter is found and false if parameter is not found (in this case dVal value is undefined)

References value().

bool QtxResourceMgr::value ( const QString &  sect,
const QString &  name,
bool &  bVal 
) const
Parameters:
sectsection name
nameparameter name
bValparameter to return resulting boolean value
Returns:
true if parameter is found and false if parameter is not found (in this case bVal value is undefined)

References value().

bool QtxResourceMgr::value ( const QString &  sect,
const QString &  name,
QColor &  cVal 
) const
Parameters:
sectsection name
nameparameter name
cValparameter to return resulting color value
Returns:
true if parameter is found and false if parameter is not found (in this case cVal value is undefined)

References Qtx.stringToColor(), and value().

bool QtxResourceMgr::value ( const QString &  sect,
const QString &  name,
QFont &  fVal 
) const
Parameters:
sectsection name
nameparameter name
fValparameter to return resulting font value
Returns:
true if parameter is found and false if parameter is not found (in this case fVal value is undefined)

References value().

bool QtxResourceMgr::value ( const QString &  sect,
const QString &  name,
QByteArray &  baVal 
) const
Parameters:
sectsection name
nameparameter name
baValparameter to return resulting byte array value
Returns:
true if parameter is found and false if parameter is not found (in this case baVal value is undefined)

References value().

bool QtxResourceMgr::value ( const QString &  sect,
const QString &  name,
QLinearGradient &  gVal 
) const
Parameters:
sectsection name
nameparameter name
gValparameter to return resulting linear gradient value value
Returns:
true if parameter is found and false if parameter is not found (in this case gVal value is undefined)

References Qtx.stringToLinearGradient(), and value().

bool QtxResourceMgr::value ( const QString &  sect,
const QString &  name,
QRadialGradient &  gVal 
) const
Parameters:
sectsection name
nameparameter name
gValparameter to return resulting radial gradient value value
Returns:
true if parameter is found and false if parameter is not found (in this case gVal value is undefined)

References Qtx.stringToRadialGradient(), and value().

bool QtxResourceMgr::value ( const QString &  sect,
const QString &  name,
QConicalGradient &  gVal 
) const
Parameters:
sectsection name
nameparameter name
gValparameter to return resulting conical gradient value value
Returns:
true if parameter is found and false if parameter is not found (in this case gVal value is undefined)

References Qtx.stringToConicalGradient(), and value().

bool QtxResourceMgr::value ( const QString &  sect,
const QString &  name,
QString &  val,
const bool  subst = true 
) const
Parameters:
sectsection name
nameparameter name
valparameter to return resulting byte array value
substif true perform environment variables substitution
Returns:
true if parameter is found and false if parameter is not found (in this case val value is undefined)

References IgnoreUserValues, initialize(), myHasUserValues, myResources, and workingMode().

int QtxResourceMgr::integerValue ( const QString &  sect,
const QString &  name,
const int  def = 0 
) const

If the specified parameter is not found or can not be converted to the integer value, the specified default value is returned instead.

Parameters:
sectsection name
nameparameter name
defdefault value
Returns:
parameter value (or default value if parameter is not found)

References value().

double QtxResourceMgr::doubleValue ( const QString &  sect,
const QString &  name,
const double  def = 0 
) const

If the specified parameter is not found or can not be converted to the double value, the specified default value is returned instead.

Parameters:
sectsection name
nameparameter name
defdefault value
Returns:
parameter value (or default value if parameter is not found)

References value().

bool QtxResourceMgr::booleanValue ( const QString &  sect,
const QString &  name,
const bool  def = false 
) const

If the specified parameter is not found or can not be converted to the boolean value, the specified default value is returned instead.

Parameters:
sectsection name
nameparameter name
defdefault value
Returns:
parameter value (or default value if parameter is not found)

References value().

QFont QtxResourceMgr::fontValue ( const QString &  sect,
const QString &  name,
const QFont &  def = QFont() 
) const

If the specified parameter is not found or can not be converted to the font value, the specified default value is returned instead.

Parameters:
sectsection name
nameparameter name
defdefault value
Returns:
parameter value (or default value if parameter is not found)

References value().

QColor QtxResourceMgr::colorValue ( const QString &  sect,
const QString &  name,
const QColor &  def = QColor() 
) const

If the specified parameter is not found or can not be converted to the color value, the specified default value is returned instead.

Parameters:
sectsection name
nameparameter name
defdefault value
Returns:
parameter value (or default value if parameter is not found)

References value().

QString QtxResourceMgr::stringValue ( const QString &  sect,
const QString &  name,
const QString &  def = QString() 
) const

If the specified parameter is not found, the specified default value is returned instead.

Parameters:
sectsection name
nameparameter name
defdefault value
Returns:
parameter value (or default value if parameter is not found)

References value().

QByteArray QtxResourceMgr::byteArrayValue ( const QString &  sect,
const QString &  name,
const QByteArray &  def = QByteArray() 
) const

If the specified parameter is not found, the specified default value is returned instead.

Parameters:
sectsection name
nameparameter name
defdefault value
Returns:
parameter value (or default value if parameter is not found)

References value().

QLinearGradient QtxResourceMgr::linearGradientValue ( const QString &  sect,
const QString &  name,
const QLinearGradient &  def = QLinearGradient() 
) const

If the specified parameter is not found, the specified default value is returned instead.

Parameters:
sectsection name
nameparameter name
defdefault value
Returns:
parameter value (or default value if parameter is not found)

References value().

QRadialGradient QtxResourceMgr::radialGradientValue ( const QString &  sect,
const QString &  name,
const QRadialGradient &  def = QRadialGradient() 
) const

If the specified parameter is not found, the specified default value is returned instead.

Parameters:
sectsection name
nameparameter name
defdefault value
Returns:
parameter value (or default value if parameter is not found)

References value().

QConicalGradient QtxResourceMgr::conicalGradientValue ( const QString &  sect,
const QString &  name,
const QConicalGradient &  def = QConicalGradient() 
) const

If the specified parameter is not found, the specified default value is returned instead.

Parameters:
sectsection name
nameparameter name
defdefault value
Returns:
parameter value (or default value if parameter is not found)

References value().

bool QtxResourceMgr::hasSection ( const QString &  sect) const
Parameters:
sectsection name
Returns:
true if section exists

References IgnoreUserValues, initialize(), myHasUserValues, myResources, and workingMode().

bool QtxResourceMgr::hasValue ( const QString &  sect,
const QString &  name 
) const
Parameters:
sectsection name
nameparameter name
Returns:
true if parameter exists in specified section

References IgnoreUserValues, initialize(), myHasUserValues, myResources, and workingMode().

void QtxResourceMgr::setValue ( const QString &  sect,
const QString &  name,
const int  val 
)
Parameters:
sectsection name
nameparameter name
valparameter value

References checkExisting(), setResource(), and value().

void QtxResourceMgr::setValue ( const QString &  sect,
const QString &  name,
const double  val 
)
Parameters:
sectsection name
nameparameter name
valparameter value

References checkExisting(), setResource(), and value().

void QtxResourceMgr::setValue ( const QString &  sect,
const QString &  name,
const bool  val 
)
Parameters:
sectsection name
nameparameter name
valparameter value

References checkExisting(), setResource(), and value().

void QtxResourceMgr::setValue ( const QString &  sect,
const QString &  name,
const QFont &  val 
)
Parameters:
sectsection name
nameparameter name
valparameter value

References checkExisting(), setResource(), and value().

void QtxResourceMgr::setValue ( const QString &  sect,
const QString &  name,
const QColor &  val 
)
Parameters:
sectsection name
nameparameter name
valparameter value

References checkExisting(), Qtx.colorToString(), setResource(), and value().

void QtxResourceMgr::setValue ( const QString &  sect,
const QString &  name,
const QString &  val 
)
Parameters:
sectsection name
nameparameter name
valparameter value

References checkExisting(), setResource(), and value().

void QtxResourceMgr::setValue ( const QString &  sect,
const QString &  name,
const QByteArray &  val 
)
Parameters:
sectsection name
nameparameter name
valparameter value

References checkExisting(), setResource(), and value().

void QtxResourceMgr::setValue ( const QString &  sect,
const QString &  name,
const QLinearGradient &  val 
)
Parameters:
sectsection name
nameparameter name
valparameter value

References checkExisting(), Qtx.gradientToString(), setResource(), and value().

void QtxResourceMgr::setValue ( const QString &  sect,
const QString &  name,
const QRadialGradient &  val 
)
Parameters:
sectsection name
nameparameter name
valparameter value

References checkExisting(), Qtx.gradientToString(), setResource(), and value().

void QtxResourceMgr::setValue ( const QString &  sect,
const QString &  name,
const QConicalGradient &  val 
)
Parameters:
sectsection name
nameparameter name
valparameter value

References checkExisting(), Qtx.gradientToString(), setResource(), and value().

void QtxResourceMgr::remove ( const QString &  sect)
Parameters:
sectsection name

References initialize(), and myResources.

void QtxResourceMgr::remove ( const QString &  sect,
const QString &  name 
)
Parameters:
sectsection name
nameparameter name

References initialize(), and myResources.

QString QtxResourceMgr::currentFormat ( ) const
Returns:
configuration files format name

References format(), and myFormats.

void QtxResourceMgr::setCurrentFormat ( const QString &  fmt)
Parameters:
fmtconfiguration files format name

References Qtx.addSlash(), appName(), format(), globalFileName(), myDirList, myFormats, myResources, and userFileName().

QtxResourceMgr::Format * QtxResourceMgr::format ( const QString &  fmt) const
Parameters:
fmtconfiguration files format name
Returns:
format object or 0 if format is not defined

References myFormats.

void QtxResourceMgr::installFormat ( QtxResourceMgr::Format form)

Added format becomes current.

Parameters:
formformat object to be installed

References myFormats.

void QtxResourceMgr::removeFormat ( QtxResourceMgr::Format form)
Parameters:
formformat object to be uninstalled

References myFormats.

QStringList QtxResourceMgr::options ( ) const
Returns:
list of options names

References myOptions.

QString QtxResourceMgr::option ( const QString &  opt) const

If option does not exist, null QString is returned.

Parameters:
optoption name
Returns:
option value
See also:
setOption(), options()

References myOptions.

void QtxResourceMgr::setOption ( const QString &  opt,
const QString &  val 
)
Parameters:
optoption name
valoption value
See also:
option(), options()

References myOptions.

QPixmap QtxResourceMgr::defaultPixmap ( ) const

Default pixmap is used when requested pixmap resource is not found.

Returns:
default pixmap
See also:
setDefaultPixmap(), loadPixmap()

References myDefaultPix.

void QtxResourceMgr::setDefaultPixmap ( const QPixmap &  pix) [virtual]

Default pixmap is used when requested pixmap resource is not found.

Parameters:
pixdefault pixmap
See also:
defaultPixmap(), loadPixmap()

References myDefaultPix.

QString QtxResourceMgr::resSection ( ) const

By default, application resources section name is "resources" but it can be changed by setting the "res_section_name" resources manager option.

Returns:
section corresponding to the resources directories
See also:
option(), setOption()

References option().

QString QtxResourceMgr::langSection ( ) const

By default, application language section name is "language" but it can be changed by setting the "lang_section_name" resources manager option.

Returns:
section corresponding to the application language settings
See also:
option(), setOption()

References option().

QString QtxResourceMgr::sectionsToken ( ) const

By default, sections separator token is colon symbol ":" but it can be changed by setting the "section_token" resources manager option.

Returns:
string corresponding to the current section separator token
See also:
option(), setOption()

References option().

QPixmap QtxResourceMgr::loadPixmap ( const QString &  prefix,
const QString &  name 
) const
Parameters:
prefixparameter which refers to the resources directory (directories)
namepixmap file name
Returns:
pixmap loaded from the file
See also:
defaultPixmap(), setDefaultPixmap()
QPixmap QtxResourceMgr::loadPixmap ( const QString &  prefix,
const QString &  name,
const bool  useDef 
) const
Parameters:
prefixparameter which refers to the resources directory (directories)
namepixmap file name
useDefif false, default pixmap is not returned if resource is not found, in this case null pixmap is returned instead
Returns:
pixmap loaded from the file
See also:
defaultPixmap(), setDefaultPixmap()

References defaultPixmap(), and loadPixmap().

QPixmap QtxResourceMgr::loadPixmap ( const QString &  prefix,
const QString &  name,
const QPixmap &  defPix 
) const
Parameters:
prefixparameter which refers to the resources directory (directories)
namepixmap file name
defPixdefault which should be used if the resource file doesn't exist
Returns:
pixmap loaded from the file
See also:
defaultPixmap(), setDefaultPixmap()

References IgnoreUserValues, initialize(), myHasUserValues, myResources, resSection(), and workingMode().

void QtxResourceMgr::loadLanguage ( const QString &  pref = QString(),
const QString &  l = QString() 
)

Names of the translation files are calculated according to the pattern specified by the "translators" option (this option is read from the section "language" of resources files). By default, "%P_msg_%L.qm" pattern is used. Keywords %A, %P, %L in the pattern are substituted by the application name, prefix and language name correspondingly. For example, for prefix "SUIT" and language "en", all translation files "SUIT_msg_en.qm" are searched and loaded.

If prefix is empty or null string, all translation files specified in the "resources" section of resources files are loaded (actually, the section is retrieved from resSection() method). If language is not specified, it is retrieved from the langSection() method, and if the latest is also empty, by default "en" (English) language is used. By default, settings from the user preferences file are also loaded (if user resource file is valid, see userFileName()). To avoid loading user settings, pass false as first parameter.

Parameters:
prefparameter which defines translation context (for example, package name)
llanguage name
See also:
resSection(), langSection(), loadTranslators()

References appName(), initialize(), test_table.l, langSection(), loadTranslators(), option(), parameters(), resSection(), setOption(), substMacro(), and value().

void QtxResourceMgr::raiseTranslators ( const QString &  prefix)
Parameters:
prefixparameter which defines translation context (for example, package name)

References myTranslator.

void QtxResourceMgr::removeTranslators ( const QString &  prefix)
Parameters:
prefixparameter which defines translation context (for example, package name)

References myTranslator.

void QtxResourceMgr::loadTranslator ( const QString &  prefix,
const QString &  name 
)
Parameters:
prefixparameter which defines translation context (for example, package name)
nametranslator file name
See also:
loadLanguage(), loadTranslators()

References IgnoreUserValues, initialize(), QtxResourceMgr.Resources.loadTranslator(), myResources, myTranslator, resSection(), and workingMode().

void QtxResourceMgr::loadTranslators ( const QString &  prefix,
const QStringList &  translators 
)
Parameters:
prefixparameter which defines translation context (for example, package name)
translatorslist of translation files
See also:
loadLanguage()

References IgnoreUserValues, initialize(), myHasUserValues, myResources, myTranslator, resSection(), and workingMode().

QString QtxResourceMgr::path ( const QString &  sect,
const QString &  prefix,
const QString &  name 
) const

The file name is defined by name argument, while directory name is retrieved from resources parameter prefix of section sec. Both directory and file name can be relative. If the directory is relative, it is calculated from the initial resources file name. Directory parameter can contain environment variables, which are substituted automatically.

Parameters:
secsection name
prefixparameter containing directory name
namefile name
Returns:
absolute file path or null QString if file does not exist

References IgnoreUserValues, myHasUserValues, myResources, and workingMode().

bool QtxResourceMgr::load ( )
Returns:
true on success and false on error
See also:
save()

References currentFormat(), format(), initialize(), QtxResourceMgr.Format.load(), and myResources.

bool QtxResourceMgr::import ( const QString &  fname)
Parameters:
fnameresources file name
Returns:
true on success and false on error

References currentFormat(), QtxResourceMgr.Resources.file(), format(), QtxResourceMgr.Format.load(), myHasUserValues, myResources, and QtxResourceMgr.Resources.setFile().

bool QtxResourceMgr::save ( )
Returns:
true on success and false on error

References currentFormat(), format(), initialize(), myHasUserValues, myResources, and QtxResourceMgr.Format.save().

QStringList QtxResourceMgr::sections ( ) const
Returns:
list of section names

References IgnoreUserValues, initialize(), myHasUserValues, myResources, and workingMode().

QStringList QtxResourceMgr::sections ( const QRegExp &  re) const
Parameters:
researched regular expression
Returns:
list of sections names

References sections().

QStringList QtxResourceMgr::sections ( const QStringList &  names) const

Sub-sections are separated inside the section name by the sections separator token, for example "splash:color:label".

Parameters:
namesparent sub-sections names
Returns:
list of sections names

References sections(), and sectionsToken().

QStringList QtxResourceMgr::subSections ( const QString &  section,
const bool  full = true 
) const

Sub-sections are separated inside the section name by the sections separator token, for example "splash:color:label".

Parameters:
sectionparent sub-section name
fullif true return full names of child sub-sections, if false, return only top-level sub-sections names
Returns:
list of sub-sections names

References sections(), and sectionsToken().

QStringList QtxResourceMgr::parameters ( const QString &  sec) const
Parameters:
secsection name
Returns:
list of settings names

References IgnoreUserValues, initialize(), myResources, QtxResourceMgr.Resources.parameters(), and workingMode().

QStringList QtxResourceMgr::parameters ( const QStringList &  names) const

Sub-sections are separated inside the section name by the sections separator token, for example "splash:color:label".

Parameters:
namesparent sub-sections names
Returns:
list of settings names

References parameters(), and sectionsToken().

void QtxResourceMgr::refresh ( )
void QtxResourceMgr::setDirList ( const QStringList &  dl) [protected, virtual]

This function also clears all currently set resources.

Parameters:
dldirectories list

References myDirList, and myResources.

void QtxResourceMgr::setResource ( const QString &  sect,
const QString &  name,
const QString &  val 
) [protected, virtual]
Parameters:
sectsection name
nameparameter name
valparameter value

References initialize(), myHasUserValues, and myResources.

QString QtxResourceMgr::userFileName ( const QString &  appName,
const bool  = true 
) const [protected, virtual]

This method can be redefined in the successor class to customize the user configuration file name. User configuration file is always situated in the user's home directory. By default .<appName>rc file is used on Linux (e.g. .MyApprc) and <appName>.<format> under Windows (e.g. MyApp.xml).

Parameter for_load (not used in default implementation) specifies the usage mode, i.e. if user configuration file is opened for reading or writing. This allows customizing a way of application resources initializing (for example, if the user configuraion file includes version number and there is no file corresponding to this version in the user's home directory, it could be good idea to try the configuration file from the previous versions of the application).

Parameters:
appNameapplication name
for_loadboolean flag indicating that file is opened for loading or saving (not used)
Returns:
user configuration file name
See also:
globalFileName()

Reimplemented in SALOME_ResourceMgr, and SUIT_ResourceMgr.

References Qtx.addSlash(), and currentFormat().

QString QtxResourceMgr::globalFileName ( const QString &  appName) const [protected, virtual]

This method can be redefined in the successor class to customize the global configuration file name. Global configuration files are searched in the directories specified by the application resources environment variable (e.g. MyAppResources). By default <appName>.<format> file name is used (e.g. MyApp.xml).

Parameters:
appNameapplication name
Returns:
global configuration file name
See also:
userFileName()

References currentFormat().

void QtxResourceMgr::initialize ( const bool  autoLoad = true) const [private]

Prepare the resources containers and load resources (if autoLoad is true).

Parameters:
autoLoadif true (default) then all resources are loaded

References Qtx.addSlash(), appName(), globalFileName(), load(), myDirList, myHasUserValues, myResources, path(), and userFileName().

QString QtxResourceMgr::substMacro ( const QString &  src,
const QMap< QChar, QString > &  substMap 
) const [private]

Used by loadLanguage().

Parameters:
srcsring to be processed
substMapmap of values for replacing
Returns:
processed string

References rx.


Friends And Related Function Documentation

friend class QtxResourceMgr::Format [friend]

Field Documentation

QString QtxResourceMgr.myAppName [private]
QStringList QtxResourceMgr.myDirList [private]
QPixmap* QtxResourceMgr.myDefaultPix [private]
Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS