Show
Ignore:
Timestamp:
12/12/07 18:00:42 (1 year ago)
Author:
cneumann
Message:

added: generic interface
changed: factory functions return RefPtr?

The unittests don't pass right now, because of the change
to the factory functions, which leads to containers
being immediately destroyed as they are not assigned to
a RefPtr?.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/Carsten_PtrWork2/Source/System/FieldContainer/Fields/OSGEditSFCPointerFieldHandle.h

    r1017 r1032  
    137137typedef EditSFCPointerFieldBaseHandle::Ptr EditSFCPointerFieldBaseHandlePtr; 
    138138 
     139 
    139140template <class FieldT> 
    140141class EditSFCPointerFieldHandle : public EditSFCPointerFieldBaseHandle 
     
    146147    /*! \{                                                                 */ 
    147148     
    148     typedef EditSFCPointerFieldBaseHandle        Inherited; 
    149     typedef EditSFCPointerFieldHandle<FieldT>    Self; 
    150     typedef boost::shared_ptr<Self>              Ptr; 
    151  
    152     typedef          FieldT                      HandledFieldType; 
    153     typedef typename HandledFieldType::ValueType HandledFieldValueType; 
     149    typedef EditSFCPointerFieldBaseHandle           Inherited; 
     150    typedef EditSFCPointerFieldHandle<FieldT>       Self; 
     151    typedef boost::shared_ptr<Self>                 Ptr; 
     152 
     153    typedef          FieldT                         HandledFieldType; 
     154    typedef typename HandledFieldType::Description  HandledFieldDesc; 
     155    typedef typename HandledFieldType::ValueType    HandledFieldValueType; 
     156    typedef typename HandledFieldType::ArgumentType ArgumentType; 
    154157             
     158    typedef boost::function<void (ArgumentType)>    SFSetFunction; 
     159     
    155160    /*! \}                                                                 */ 
    156161    /*---------------------------------------------------------------------*/ 
     
    159164     
    160165    EditSFCPointerFieldHandle(Self                 const &source      ); 
    161     EditSFCPointerFieldHandle(Field                      *pField,  
     166    EditSFCPointerFieldHandle(Field                      *pField, 
    162167                              FieldDescriptionBase const *pDescription); 
    163168                                 
     
    205210    /*! \}                                                                 */ 
    206211    /*---------------------------------------------------------------------*/ 
     212    /*! \name Setup                                                        */ 
     213    /*! \{                                                                 */ 
     214         
     215    void setSetFunc(SFSetFunction const &func); 
     216     
     217    /*! \}                                                                 */ 
     218    /*---------------------------------------------------------------------*/ 
    207219    /*! \name Operations                                                   */ 
    208220    /*! \{                                                                 */ 
     
    228240    /*! \name Helper                                                       */ 
    229241    /*! \{                                                                 */ 
     242     
     243    SFSetFunction _sfSetFunc; 
     244     
     245    /*! \}                                                                 */ 
     246    /*---------------------------------------------------------------------*/ 
     247    /*! \name Helper                                                       */ 
     248    /*! \{                                                                 */ 
    230249 
    231250    HandledFieldType *castFieldDown(void                     ) const;