CrystalSpace

Public API Reference

Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

csSkin Class Reference
[Skin support]

This class defines the interface for a container of skins. More...

#include <csws/csskin.h>

Inheritance diagram for csSkin:

csPDelArray< csSkinSliceNonAbstr > csArray< csSkinSliceNonAbstr *, csPDelArrayElementHandler< csSkinSliceNonAbstr * > > List of all members.

Public Member Functions

 csSkin ()
 Create the skin repository object.
void Apply (csComponent *iComp)
 Apply this skin to some component and all components inserted into it.
virtual void Initialize (csApp *iApp)
 Initialize all skin slices with given application object.
virtual void Deinitialize ()
 Free any resources allocated by the skin slices.
const char * GetConfigStr (const char *iSection, const char *iKey, const char *iDefault)
 Utility function: get a skin-specific string from csws config file.
bool GetConfigYesNo (const char *iSection, const char *iKey, bool iDefault)
 Same but get a boolean value.
void Load (csBackground &oBack, const char *iSection, const char *iPrefix)
 Utility: Read background from given section with given key prefix.

Static Public Member Functions

int CompareKey (csSkinSliceNonAbstr *const &, char const *const &Key)
 Compare a item from this array with some key.
csArrayCmp< csSkinSliceNonAbstr *,
char const * > 
KeyCmp (char const *n)
 Return a functor wrapping CompareKey() for a name.
int Compare (csSkinSliceNonAbstr *const &, csSkinSliceNonAbstr *const &)
 Compare two items from this array.

Public Attributes

const char * Prefix
 This is the prefix for section names in CSWS' configuration file.

Detailed Description

This class defines the interface for a container of skins.

Most of the functionality you will want is already here; the only method that you will sometimes want to override is the constructor and the Initialize() method. In constructor you should assign the appropiate value to the "Prefix" member variable which is used to find the sections that refer to the respective theme. Initialize() used to query all kinds of resources from the application object when a skin is initialized.

Generally there should be only one object of this class, which is stored into the csApp object. However, you can use a skin for some component and all his children if you wish, but you will have to store the respective skin container somewhere inside that component (and override his GetSkin() method so that child components can use the skin when initialized).

The repository contains a number of objects that are responsible for the exterior of the respective components (and which are called `skins'). These objects are identified by a text string. After you change the skin repository, you should call the Apply() method of the repository so that the given objects and all components which are inserted into that component (note that this does NOT have to do anything with class hierarchy!) will receive the cscmdSkinChanged broadcast.

Definition at line 162 of file csskin.h.


Constructor & Destructor Documentation

csSkin::csSkin  )  [inline]
 

Create the skin repository object.

Definition at line 172 of file csskin.h.


Member Function Documentation

void csSkin::Apply csComponent iComp  ) 
 

Apply this skin to some component and all components inserted into it.

int csSkin::Compare csSkinSliceNonAbstr *const &  ,
csSkinSliceNonAbstr *const & 
[static]
 

Compare two items from this array.

int csSkin::CompareKey csSkinSliceNonAbstr *const &  ,
char const *const &  Key
[static]
 

Compare a item from this array with some key.

virtual void csSkin::Deinitialize  )  [virtual]
 

Free any resources allocated by the skin slices.

const char* csSkin::GetConfigStr const char *  iSection,
const char *  iKey,
const char *  iDefault
 

Utility function: get a skin-specific string from csws config file.

bool csSkin::GetConfigYesNo const char *  iSection,
const char *  iKey,
bool  iDefault
 

Same but get a boolean value.

virtual void csSkin::Initialize csApp iApp  )  [virtual]
 

Initialize all skin slices with given application object.

csArrayCmp<csSkinSliceNonAbstr*,char const*> csSkin::KeyCmp char const *  n  )  [inline, static]
 

Return a functor wrapping CompareKey() for a name.

Definition at line 180 of file csskin.h.

void csSkin::Load csBackground oBack,
const char *  iSection,
const char *  iPrefix
 

Utility: Read background from given section with given key prefix.


Member Data Documentation

const char* csSkin::Prefix
 

This is the prefix for section names in CSWS' configuration file.

Definition at line 169 of file csskin.h.


The documentation for this class was generated from the following file:
Generated for Crystal Space by doxygen 1.3.9.1