#include <WidgetFactory.h>
Inheritance diagram for GUI::WidgetFactory:
Public Member Functions | |
void | registerFactory (FactoryBase *factory_ptr) |
Register a new widget factory. | |
WidgetBase * | createWidget (ModelBase *model_ptr) throw (GuiException, SystemError) |
Create a new top level widget using relative widget factory. | |
WidgetBase * | createWidget (ModelBase *model_ptr, WidgetContainer *container_ptr) throw (GuiException, SystemError) |
Create a new widget using relative widget factory. |
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 ));
WidgetBase * GUI::WidgetFactory::createWidget | ( | ModelBase * | model_ptr, | |
WidgetContainer * | container_ptr | |||
) | throw (GuiException, SystemError) |
Create a new widget using relative widget factory.
model_ptr | pointer to the object model, can not be NULL | |
container_ptr | pointer to the container widget, can not be NULL |
WidgetBase * GUI::WidgetFactory::createWidget | ( | ModelBase * | model_ptr | ) | throw (GuiException, SystemError) |
Create a new top level widget using relative widget factory.
model_ptr | pointer to the object model, can not be NULL |
void GUI::WidgetFactory::registerFactory | ( | FactoryBase * | factory_ptr | ) |
Register a new widget factory.
Take the pointer ownership and delete it on the destructor.
factory_ptr | pointer to the new widget factory |