![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2002 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: echHierNode.h,v $ $Revision: 1.9 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifndef DtEchelonHierarchyNode_H_ 00009 #define DtEchelonHierarchyNode_H_ 00010 00013 00014 #include <QtCore/QObject> 00015 #include "ngutil/dtqlist.h" 00016 #include "symbolMapper/modelKey.h" 00017 00022 #include "tmqt/tmqtDefines.h" 00023 class DT_DLL_tmqt DtEchelonHierarchyNode : public QObject 00024 { 00025 Q_OBJECT 00026 00027 public: 00028 00030 DtEchelonHierarchyNode(const DtModelKey& key); 00031 00033 virtual ~DtEchelonHierarchyNode(); 00034 00035 virtual const DtPtrQList<DtEchelonHierarchyNode*>& childList() const; 00036 virtual const DtPtrQList<DtEchelonHierarchyNode*>& previousChildList() const; 00037 virtual void addChild(DtEchelonHierarchyNode* child); 00038 virtual void removeChild(DtEchelonHierarchyNode* child); 00039 virtual void removeAllChildren(); 00040 00041 virtual const DtEchelonHierarchyNode* parent() const; 00042 virtual DtEchelonHierarchyNode* parent(); 00046 virtual void setParent(DtEchelonHierarchyNode* parent); 00047 00050 virtual void invalidateParent(); 00052 virtual bool parentValid() const; 00053 00056 virtual void setHeight(int value); 00057 virtual int height() const; 00058 00062 virtual int parentHeight() const; 00063 00064 virtual const DtModelKey& modelKey() const; 00065 virtual void setModelKey(const DtModelKey& key); 00066 00067 virtual bool isLeaf() const; 00068 virtual bool isRoot() const; 00069 virtual const DtEchelonHierarchyNode* root() const; 00070 virtual DtEchelonHierarchyNode* root(); 00071 00073 virtual bool hasChild(const DtModelKey&) const; 00074 00075 protected slots: 00076 virtual void parentDestroyed(); 00077 00078 signals: 00081 void parentChanged(const DtModelKey& myKey); 00082 00083 protected: 00084 00085 DtModelKey myModelKey; 00086 int myHeight; 00087 00088 DtEchelonHierarchyNode* myParent; 00089 bool myParentValid; 00090 DtPtrQList<DtEchelonHierarchyNode*> myChildren; 00091 DtPtrQList<DtEchelonHierarchyNode*> myPreviousChildren; 00092 00093 private: 00095 DtEchelonHierarchyNode(const DtEchelonHierarchyNode& orig); 00096 00098 DtEchelonHierarchyNode& operator=(const DtEchelonHierarchyNode& orig); 00099 }; 00100 00101 #endif