ACF $AcfVersion:0$
Public Types | Public Member Functions | Protected Attributes | List of all members
istd::THierarchicalBase< Base, Interface > Class Template Reference

Template based implementation of a hierarchical object. More...

#include <THierarchicalBase.h>

Inheritance diagram for istd::THierarchicalBase< Base, Interface >:
istd::TChangeDelegator< Base > istd::CChangeDelegator istd::IChangeDelegator istd::IChangeable istd::IPolymorphic

Public Types

typedef istd::TChangeDelegator< Base > BaseClass
 
- Public Types inherited from istd::TChangeDelegator< Base >
typedef Base BaseClass
 
typedef CChangeDelegator BaseClass2
 
- Public Types inherited from istd::CChangeDelegator
typedef istd::IChangeable BaseClass
 
- Public Types inherited from istd::IChangeable
enum  ChangeFlags {
  CF_ACF_INTERNAL = 0 , CF_ALL_DATA , CF_ANY , CF_DESTROYING ,
  CF_DELEGATED , CF_NO_UNDO
}
 Data model change notification flags. More...
 
enum  SupportedOperations {
  SO_NONE = 0 , SO_OBSERVE = 1 << 0 , SO_COPY = 1 << 1 , SO_CLONE = 1 << 2 ,
  SO_COMPARE = 1 << 3 , SO_RESET = 1 << 4
}
 Flags for supported operations. More...
 
enum  CompatibilityMode { CM_STRICT , CM_WITHOUT_REFS , CM_WITH_REFS , CM_CONVERT }
 Control how relationship betweeen objects are interpreted. More...
 
typedef QMultiMap< QByteArray, QVariant > ChangeInfoMap
 

Public Member Functions

 THierarchicalBase ()
 
virtual void SetParentPtr (Interface *parentPtr)
 
virtual int GetHierarchicalFlags () const override
 
virtual int GetChildsCount () const override
 
virtual Interface * GetChild (int index) const override
 
virtual Interface * GetParent () const override
 
- Public Member Functions inherited from istd::TChangeDelegator< Base >
 TChangeDelegator ()
 
 TChangeDelegator (istd::IChangeable *slavePtr)
 
virtual void OnBeginChanges () override
 Callback function for begin change event.
 
virtual void OnEndChanges (const istd::IChangeable::ChangeSet &changeSet) override
 Callback function for end change event.
 
- Public Member Functions inherited from istd::CChangeDelegator
 CChangeDelegator ()
 
 CChangeDelegator (istd::IChangeable *slavePtr)
 
virtual void SetSlavePtr (istd::IChangeable *slavePtr) override
 Sets the slave object pointer for change delegation.
 
virtual istd::IChangeableGetSlavePtr () const override
 Gets the slave object pointer.
 
- Public Member Functions inherited from istd::IChangeable
virtual int GetSupportedOperations () const
 Get set of flags for supported operations.
 
virtual bool CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS)
 Copy this object from another one.
 
virtual bool IsEqual (const IChangeable &object) const
 Compare this object with another object.
 
virtual istd::TUniqueInterfacePtr< istd::IChangeableCloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const
 Make a copy of this object.
 
virtual bool ResetData (CompatibilityMode mode=CM_WITHOUT_REFS)
 Reset data to its default state.
 
virtual void BeginChanges (const ChangeSet &changeSet)
 Starts the change transaction.
 
virtual void EndChanges (const ChangeSet &changeSet)
 Ends the change transaction.
 
virtual void BeginChangeGroup (const ChangeSet &changeSet)
 Starts group of changes.
 
virtual void EndChangeGroup (const ChangeSet &changeSet)
 Ends group of changes.
 
- Public Member Functions inherited from istd::IPolymorphic
virtual ~IPolymorphic ()
 

Protected Attributes

Interface * m_parentPtr
 

Additional Inherited Members

- Static Public Member Functions inherited from istd::IChangeable
static const ChangeSetGetNoChanges ()
 Get empty set of changes.
 
static const ChangeSetGetAnyChange ()
 Get anonymous change set.
 
static const ChangeSetGetAllChanges ()
 Get anonymous change set.
 
static const ChangeSetGetDelegatedChanges ()
 Get delegated change set.
 

Detailed Description

template<class Base, class Interface = typename Base::InterfaceType>
class istd::THierarchicalBase< Base, Interface >

Template based implementation of a hierarchical object.

This class is a pseudo-implementation of istd::TIHierarchical template interface.

Definition at line 18 of file THierarchicalBase.h.

Member Typedef Documentation

◆ BaseClass

template<class Base , class Interface = typename Base::InterfaceType>
typedef istd::TChangeDelegator<Base> istd::THierarchicalBase< Base, Interface >::BaseClass

Definition at line 21 of file THierarchicalBase.h.

Constructor & Destructor Documentation

◆ THierarchicalBase()

template<class Base , class Interface >
istd::THierarchicalBase< Base, Interface >::THierarchicalBase ( )

Definition at line 41 of file THierarchicalBase.h.

References NULL.

Member Function Documentation

◆ GetChild()

template<class Base , class Interface >
Interface * istd::THierarchicalBase< Base, Interface >::GetChild ( int  index) const
overridevirtual

Reimplemented in ilog::CMessageContainer, and iqtgui::CHierarchicalCommand.

Definition at line 76 of file THierarchicalBase.h.

References NULL.

◆ GetChildsCount()

template<class Base , class Interface >
int istd::THierarchicalBase< Base, Interface >::GetChildsCount ( ) const
overridevirtual

Reimplemented in ilog::CMessageContainer, and iqtgui::CHierarchicalCommand.

Definition at line 69 of file THierarchicalBase.h.

◆ GetHierarchicalFlags()

template<class Base , class Interface >
int istd::THierarchicalBase< Base, Interface >::GetHierarchicalFlags ( ) const
overridevirtual

Definition at line 62 of file THierarchicalBase.h.

◆ GetParent()

template<class Base , class Interface >
Interface * istd::THierarchicalBase< Base, Interface >::GetParent ( ) const
overridevirtual

Definition at line 83 of file THierarchicalBase.h.

◆ SetParentPtr()

template<class Base , class Interface >
void istd::THierarchicalBase< Base, Interface >::SetParentPtr ( Interface *  parentPtr)
virtual

Definition at line 48 of file THierarchicalBase.h.

Member Data Documentation

◆ m_parentPtr

template<class Base , class Interface = typename Base::InterfaceType>
Interface* istd::THierarchicalBase< Base, Interface >::m_parentPtr
protected

Definition at line 34 of file THierarchicalBase.h.


The documentation for this class was generated from the following file: