Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages | Examples

PG_FactoryHolder< H > Class Template Reference

Inheritance diagram for PG_FactoryHolder< H >:

Inheritance graph
[legend]
Collaboration diagram for PG_FactoryHolder< H >:

Collaboration graph
[legend]
List of all members.

template<class H>
class PG_FactoryHolder< H >


Public Types

typedef PG_Widget *(* CREATEFN )(PG_Widget *parent)

Static Public Member Functions

template<class T, class PT> void RegisterClass (const H &classname)
template<class T> void RegisterClass (const H &classname)
PG_WidgetCreateObject (const H &classname, PG_Widget *parent=NULL)

Protected Member Functions

void RegisterCreateFn (const H &classname, CREATEFN fn)

Protected Attributes

std::map< H, CREATEFNcreator_map

Friends

class PG_Singleton< PG_FactoryHolder< H > >

Member Typedef Documentation

template<class H>
typedef PG_Widget*(* PG_FactoryHolder< H >::CREATEFN)(PG_Widget *parent)
 


Member Function Documentation

template<class H>
PG_Widget* PG_FactoryHolder< H >::CreateObject const H &  classname,
PG_Widget parent = NULL
[inline, static]
 

template<class H>
template<class T>
void PG_FactoryHolder< H >::RegisterClass const H &  classname  )  [inline, static]
 

template<class H>
template<class T, class PT>
void PG_FactoryHolder< H >::RegisterClass const H &  classname  )  [inline, static]
 

template<class H>
void PG_FactoryHolder< H >::RegisterCreateFn const H &  classname,
CREATEFN  fn
[inline, protected]
 


Friends And Related Function Documentation

template<class H>
friend class PG_Singleton< PG_FactoryHolder< H > > [friend]
 


Member Data Documentation

template<class H>
std::map< H, CREATEFN > PG_FactoryHolder< H >::creator_map [protected]
 



The ParaGUI Project - Alexander Pipelka