GUI::WidgetFactory Class Reference

Create a new widget instance. More...

#include <WidgetFactory.h>

Inheritance diagram for GUI::WidgetFactory:

GUI::Singleton< T > List of all members.

Public Member Functions

void registerFactory (FactoryBase *factory_ptr)
 Register a new widget factory.
WidgetBasecreateWidget (ModelBase *model_ptr) throw (GuiException, SystemError)
 Create a new top level widget using relative widget factory.
WidgetBasecreateWidget (ModelBase *model_ptr, WidgetContainer *container_ptr) throw (GuiException, SystemError)
 Create a new widget using relative widget factory.

Detailed Description

Create a new widget instance.

Every widget factory register it instance using registerFactory method.

 GUI::WidgetFactory::getInstance()->registerFactory( new GUI::FormFactory() );

When you need a new widget just call createWidget giving the object model that define the widget properties.

 // Create a new form
 GUI::FormModel* m = new GUI::FormModel();
 m->caption_.setValue("Test form");

 GUI::Form* f = dynamic_cast< GUI::Form* >(GUI::WidgetFactory::getInstance()->createWidget( m ));

See also:
GUI::FactoryBase

GUI::ModelBase


Member Function Documentation

WidgetBase * GUI::WidgetFactory::createWidget ( ModelBase model_ptr,
WidgetContainer container_ptr 
) throw (GuiException, SystemError)

Create a new widget using relative widget factory.

Parameters:
model_ptr pointer to the object model, can not be NULL
container_ptr pointer to the container widget, can not be NULL
Returns:
a new widget instance

WidgetBase * GUI::WidgetFactory::createWidget ( ModelBase model_ptr  )  throw (GuiException, SystemError)

Create a new top level widget using relative widget factory.

Parameters:
model_ptr pointer to the object model, can not be NULL
Returns:
a new widget instance

void GUI::WidgetFactory::registerFactory ( FactoryBase factory_ptr  ) 

Register a new widget factory.

Take the pointer ownership and delete it on the destructor.

Parameters:
factory_ptr pointer to the new widget factory


The documentation for this class was generated from the following files:
Generated on Wed Nov 15 22:21:10 2006 for Win32 by  doxygen 1.4.7