# CEGUI::SchemeManager Class Reference

A class that manages the creation of, access to, and destruction of GUI Scheme objects. More...

List of all members.

## Public Types

typedef ConstBaseIterator< SchemeRegistry > | SchemeIterator

## Public Member Functions

| SchemeManager (void)
| Constructor for SchemeManager objects.
| ~SchemeManager (void)
| Destructor for SchemeManager objects.
Scheme * | loadScheme (const String &scheme_filename, const String &resourceGroup="")
| Loads a scheme.
void | unloadScheme (const String &scheme_name)
| Unloads all data referenced in a scheme. If any object is using some resource which is listed in the scheme, this function will effectively pull the rug out from under those objects. This should be used with extreme caution, or not at all.
bool | isSchemePresent (const String &scheme_name) const
| Returns true if the named Scheme is present in the system (though the resources for the scheme may or may not be loaded).
Scheme * | getScheme (const String &name) const
| Returns a pointer to the Scheme object with the specified name.
void | unloadAllSchemes (void)
| Unload all schemes currently defined within the system.
SchemeIterator | getIterator (void) const
| Return a SchemeManager::SchemeIterator object to iterate over the available schemes.

## Static Public Member Functions

static SchemeManager & | getSingleton (void)
| Return singleton SchemeManager object.
static SchemeManager * | getSingletonPtr (void)
| Return pointer to singleton SchemeManager object.

## Detailed Description

A class that manages the creation of, access to, and destruction of GUI Scheme objects.

## Member Function Documentation

Scheme * CEGUI::SchemeManager::getScheme | ( | const String & | name | ) | const

Returns a pointer to the Scheme object with the specified name.

Parameters:

  | name | String object holding the name of the Scheme to be returned.

Returns:
  Pointer to the Scheme named name.

Exceptions:

  | UnknownObjectException | thrown if no Scheme named name is present in the system

SchemeManager & CEGUI::SchemeManager::getSingleton | ( | void |  | ) | `[static]`

Return singleton SchemeManager object.

Returns:
  Singleton SchemeManager object

SchemeManager * CEGUI::SchemeManager::getSingletonPtr | ( | void |  | ) | `[static]`

Return pointer to singleton SchemeManager object.

Returns:
  Pointer to singleton SchemeManager object

bool CEGUI::SchemeManager::isSchemePresent | ( | const String & | scheme_name | ) | const`[inline]`

Returns true if the named Scheme is present in the system (though the resources for the scheme may or may not be loaded).

Parameters:

  | scheme_name | String object specifying the name of the Scheme to check for.

Returns:
  true if the scheme is loaded, false if it is not.

Scheme * CEGUI::SchemeManager::loadScheme | ( | const String & | scheme_filename,
|  | const String & | resourceGroup = `""`
| ) |

Loads a scheme.

Parameters:

  | scheme_filename | String object that holds the filename of the scheme to be loaded
  | resourceGroup | Resource group identifier to be passed to the resource manager. NB: This affects loading of the scheme xml file only, scheme resources may specify their own groups.

Returns:
  Pointer to an object representing the loaded Scheme.

void CEGUI::SchemeManager::unloadAllSchemes | ( | void |  | ) |

Unload all schemes currently defined within the system.

Note:
  Calling this method has the potential to be very dangerous; if any of the data that forms part of the scheme is still in use, you can expect fireworks shortly after!

Returns:
  Nothing.

void CEGUI::SchemeManager::unloadScheme | ( | const String & | scheme_name | ) |

Unloads all data referenced in a scheme. If any object is using some resource which is listed in the scheme, this function will effectively pull the rug out from under those objects. This should be used with extreme caution, or not at all.

Parameters:

  | scheme_name | String object specifying the name of the Scheme to be unloaded.