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

osg::QFieldLabelFactory Class Reference

#include <OSGQFieldLabelFactory.h>

List of all members.

Public Types

typedef QFieldValueLabelBase *(* LabelCreateF )(QFieldViewBase *, UInt32)

Public Member Functions

 ~QFieldLabelFactory (void)
bool registerLabel (const std::string &strFieldContentsName, LabelCreateF labelCreateFunc)
bool registerDefaultLabel (const std::string &strFieldContentsName, LabelCreateF labelCreateFunc)
QFieldValueLabelBasecreateLabel (QFieldViewBase *pView, UInt32 uiIndex)

Static Public Member Functions

static QFieldLabelFactorythe ()

Private Types

typedef std::map< std::string,
LabelCreateF
LabelMap
typedef std::map< std::string,
LabelCreateF >::iterator 
LabelMapIt

Private Member Functions

 QFieldLabelFactory (void)

Private Attributes

LabelMap _labelMap
LabelCreateF _defaultLabelCreateFunc

Static Private Attributes

static QFieldLabelFactory_the = 0


Detailed Description

Definition at line 59 of file OSGQFieldLabelFactory.h.


Member Typedef Documentation

typedef QFieldValueLabelBase*(* osg::QFieldLabelFactory::LabelCreateF)(QFieldViewBase *, UInt32)
 

Definition at line 62 of file OSGQFieldLabelFactory.h.

typedef std::map<std::string, LabelCreateF> osg::QFieldLabelFactory::LabelMap [private]
 

Definition at line 76 of file OSGQFieldLabelFactory.h.

typedef std::map<std::string, LabelCreateF>::iterator osg::QFieldLabelFactory::LabelMapIt [private]
 

Definition at line 77 of file OSGQFieldLabelFactory.h.


Constructor & Destructor Documentation

QFieldLabelFactory::~QFieldLabelFactory void   ) 
 

Definition at line 64 of file OSGQFieldLabelFactory.cpp.

00065 {
00066 }

QFieldLabelFactory::QFieldLabelFactory void   )  [private]
 

Definition at line 104 of file OSGQFieldLabelFactory.cpp.


Member Function Documentation

QFieldLabelFactory & QFieldLabelFactory::the  )  [static]
 

Definition at line 69 of file OSGQFieldLabelFactory.cpp.

References _the.

Referenced by osg::QMFieldView::acquireLabel(), osg::QSFieldView::initSelf(), osg::QLabelRegisterWrapper< FieldLabelType >::QLabelRegisterWrapper(), and osg::QMFieldView::sizeHint().

00070 {
00071     if(!_the)
00072         _the = new QFieldLabelFactory;
00073 
00074     return *_the;
00075 }

bool QFieldLabelFactory::registerLabel const std::string &  strFieldContentsName,
LabelCreateF  labelCreateFunc
 

Definition at line 78 of file OSGQFieldLabelFactory.cpp.

References _labelMap.

Referenced by osg::QLabelRegisterWrapper< FieldLabelType >::QLabelRegisterWrapper().

00080 {
00081     _labelMap[strFieldContentName] = labelCreateFunc;
00082 
00083     return true;
00084 }

bool osg::QFieldLabelFactory::registerDefaultLabel const std::string &  strFieldContentsName,
LabelCreateF  labelCreateFunc
 

QFieldValueLabelBase * QFieldLabelFactory::createLabel QFieldViewBase pView,
UInt32  uiIndex
 

Definition at line 87 of file OSGQFieldLabelFactory.cpp.

References _defaultLabelCreateFunc, _labelMap, osg::TypeBase::getCName(), osg::Field::getContentType(), and osg::QFieldViewBase::getFieldPtr().

Referenced by osg::QMFieldView::acquireLabel(), osg::QSFieldView::initSelf(), and osg::QMFieldView::sizeHint().

00088 {
00089     const Char8 *szContentTypeName = 
00090         pView->getFieldPtr()->getContentType().getCName();
00091 
00092     LabelMapIt iter = _labelMap.find(szContentTypeName);
00093 
00094     if(iter != _labelMap.end())
00095     {
00096         return (*iter).second(pView, uiIndex);
00097     }
00098     else
00099     {
00100         return _defaultLabelCreateFunc(pView, uiIndex);
00101     }
00102 }


Member Data Documentation

QFieldLabelFactory * QFieldLabelFactory::_the = 0 [static, private]
 

Definition at line 62 of file OSGQFieldLabelFactory.cpp.

Referenced by the().

LabelMap osg::QFieldLabelFactory::_labelMap [private]
 

Definition at line 83 of file OSGQFieldLabelFactory.h.

Referenced by createLabel(), and registerLabel().

LabelCreateF osg::QFieldLabelFactory::_defaultLabelCreateFunc [private]
 

Definition at line 84 of file OSGQFieldLabelFactory.h.

Referenced by createLabel().


The documentation for this class was generated from the following files:
Generated on Thu Aug 25 04:31:03 2005 for OpenSG by  doxygen 1.4.3