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...
 

Public Member Functions

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

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

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

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

Definition at line 41 of file THierarchicalBase.h.

References NULL.

Member Function Documentation

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

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

Definition at line 76 of file THierarchicalBase.h.

References NULL.

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

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

Definition at line 69 of file THierarchicalBase.h.

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

Definition at line 62 of file THierarchicalBase.h.

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

Definition at line 83 of file THierarchicalBase.h.

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

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:

© 2007-2017 Witold Gantzke and Kirill Lepskiy