< home

Exposer Class Reference
[Basic exposition elements used to specify exposed functionality.]

Used as a base class for UI specification. More...

#include <Exposition.h>

List of all members.


Public Member Functions

 Exposer (string const &name)
 Constructor. Must have the name supplied.
virtual ~Exposer ()
 Destructor. Deallocates the expositions and manifesters linked to the exposer.
void AddExpo (Expo *expo)
 Adds an exposition to this exposer.
void DoneConstructing ()
 Notifies the exposer that all expositions have been added and configured.
void AddManifester (ExposerManifester &manifester)
 Adds a manifester of this exposer.
void RemoveManifester (ExposerManifester &manifester)
 Removes a manifester.
ExpoGetExpo (string const &name)
 Gets an exposition referenced by name.
ExpoFindExpoWith (Property::expo_property property, bool startover=true)
 Finds an exposition with the specified property.
map< string, Expo * > const & Expositions ()
 Returns the expositions.
string const & Name ()
 Returns the name of the exposer.
void NotifyChange (Expo *expo, ExposerManifester *by=NULL)
 Notify manifesters that the value of an exposition element has been been changed.

Static Public Member Functions

static ExposerGetExposer (string const &name)
 Gets an exposer referenced by name.
static ExposerCurrent ()
 Returns the most recently instantiated exposer.

Protected Attributes

string name
 Name of the exposer. Used to reference it.
map< string, Expo * > expositions
 The collection of all expositions within this exposer, referenced by name.
list< ExposerManifester * > manifesters
 The list of all manifesters of this explorer.

Static Protected Attributes

static map< string, Exposer * > names
 The collection of all instantiated exposers, referenced by name.
static stack< Exposer * > active
 The stack of exposers currently being constructed.

Detailed Description

Used as a base class for UI specification.

A class that specifies the UI specification for another class or set of classes should either inherit or instantiate an Exposer. After an Exposer has been constructed, all instantiated Expositions are automatically added to that Exposer (until another Exposer is instantiated).


Member Function Documentation

void NotifyChange Expo expo,
ExposerManifester by = NULL
 

Notify manifesters that the value of an exposition element has been been changed.

This method will call the manifester's Update method.

See also:
expo::ExposerManifester::Update
Parameters:
expo Exposition whose value has been changed.
by If not NULL, this manifester will not be notified (this could be set, for example, to the manifester that changed the value).

void RemoveManifester ExposerManifester manifester  ) 
 

Removes a manifester.

Because the manifester pointers are owned by the exposer, it will be deallocated.


Member Data Documentation

map<string, Expo *> expositions [protected]
 

The collection of all expositions within this exposer, referenced by name.

All of the contained exposition pointers are owned by the exposer.

list<ExposerManifester *> manifesters [protected]
 

The list of all manifesters of this explorer.

See also:
ExposerManifester All of the contained manifester pointers are owned by the exposer.

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

 

Documentation generated on 14 Jun 2006 for OpenExposition by  doxygen 1.4.6>
Development hosted by SourceForge.net Logo