Crazy Eddie's GUI System  0.8.4
CEGUI::WindowFactory Class Reference

Abstract class that defines the required interface for all WindowFactory objects. More...

+ Inheritance diagram for CEGUI::WindowFactory:
+ Collaboration diagram for CEGUI::WindowFactory:

List of all members.

Public Member Functions

virtual WindowcreateWindow (const String &name)=0
 Create a new Window object of whatever type this WindowFactory produces.
virtual void destroyWindow (Window *window)=0
 Destroys the given Window object.
const StringgetTypeName () const
 Get the string that describes the type of Window object this WindowFactory produces.
virtual ~WindowFactory ()
 Destructor.

Protected Member Functions

 WindowFactory (const String &type)
 Constructor.

Protected Attributes

String d_type
 String holding the type of object created by this factory.

Detailed Description

Abstract class that defines the required interface for all WindowFactory objects.

A WindowFactory is used to create and destroy windows of a specific type. For every type of Window object wihin the system (widgets, dialogs, movable windows etc) there must be an associated WindowFactory registered with the WindowFactoryManager so that the system knows how to create and destroy those types of Window base object.

Note:
The use if of the CEGUI_DECLARE_WINDOW_FACTORY, CEGUI_DEFINE_WINDOW_FACTORY and CEGUI_WINDOW_FACTORY macros is deprecated in favour of the template class TplWindowFactory and templatised WindowFactoryManager::addFactory function, whereby you no longer need to directly create any supporting structure for your new window type, and can simply do:
    CEGUI::WindowFactoryManager::addFactory<TplWindowFactory<MyWidget> >();

Member Function Documentation

virtual Window* CEGUI::WindowFactory::createWindow ( const String name) [pure virtual]

Create a new Window object of whatever type this WindowFactory produces.

Parameters:
nameA unique name that is to be assigned to the newly created Window object
Returns:
Pointer to the new Window object.

Implemented in CEGUI::TplWindowFactory< T >.

virtual void CEGUI::WindowFactory::destroyWindow ( Window window) [pure virtual]

Destroys the given Window object.

Parameters:
windowPointer to the Window object to be destroyed.
Returns:
Nothing.

Implemented in CEGUI::TplWindowFactory< T >.

const String& CEGUI::WindowFactory::getTypeName ( ) const [inline]

Get the string that describes the type of Window object this WindowFactory produces.

Returns:
String object that contains the unique Window object type produced by this WindowFactory

Referenced by CEGUI::WindowFactoryManager::addFactory().

 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends