summaryrefslogtreecommitdiffstats
path: root/src/dot.h
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2003-05-24 19:12:41 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2003-05-24 19:12:41 (GMT)
commit9e1745a1714d4ece7d490918de2eb7ff2060453e (patch)
tree5225a8b9c0898f1f3f89c69611439a6c5af1d178 /src/dot.h
parent64200b5e975b19f38f9a68569b98c6f53e6fe4d9 (diff)
downloadDoxygen-9e1745a1714d4ece7d490918de2eb7ff2060453e.zip
Doxygen-9e1745a1714d4ece7d490918de2eb7ff2060453e.tar.gz
Doxygen-9e1745a1714d4ece7d490918de2eb7ff2060453e.tar.bz2
Release-1.3-20030524
Diffstat (limited to 'src/dot.h')
-rw-r--r--src/dot.h58
1 files changed, 31 insertions, 27 deletions
diff --git a/src/dot.h b/src/dot.h
index 6ad521a..e3246fb 100644
--- a/src/dot.h
+++ b/src/dot.h
@@ -47,21 +47,9 @@ struct EdgeInfo
class DotNode
{
- friend class DotGfxHierarchyTable;
- friend class DotClassGraph;
- friend class DotInclDepGraph;
- friend class DotNodeList;
- friend void writeDotGraph(
- DotNode *root,
- GraphOutputFormat f,
- const QCString &baseName,
- bool lrRank,
- bool renderParents,
- int distance,
- bool backArrow
- );
public:
- DotNode(int n,const char *lab,const char *url,int distance = 0,bool rootNode=FALSE);
+ enum GraphType { Dependency, Inheritance, Collaboration, Hierarchy };
+ DotNode(int n,const char *lab,const char *url,int distance = 0,bool rootNode=FALSE,ClassDef *cd=0);
~DotNode();
void addChild(DotNode *n,
int edgeColor=EdgeInfo::Purple,
@@ -75,8 +63,8 @@ class DotNode
void deleteNode(DotNodeList &deletedList,SDict<DotNode> *skipNodes=0);
void removeChild(DotNode *n);
void removeParent(DotNode *n);
- void write(QTextStream &t,GraphOutputFormat f,bool topDown,bool toChildren,
- int maxDistance,bool backArrows);
+ void write(QTextStream &t,GraphType gt,GraphOutputFormat f,
+ bool topDown,bool toChildren,int maxDistance,bool backArrows);
int m_subgraphId;
void clearWriteFlag();
void writeXML(QTextStream &t,bool isClassGraph);
@@ -86,9 +74,9 @@ class DotNode
private:
void colorConnectedNodes(int curColor);
- void writeBox(QTextStream &t,GraphOutputFormat f,
+ void writeBox(QTextStream &t,GraphType gt,GraphOutputFormat f,
bool hasNonReachableChildren);
- void writeArrow(QTextStream &t,GraphOutputFormat f,DotNode *cn,
+ void writeArrow(QTextStream &t,GraphType gt,GraphOutputFormat f,DotNode *cn,
EdgeInfo *ei,bool topDown, bool pointBack=TRUE);
const DotNode *findDocNode() const; // only works for acyclic graphs!
int m_number;
@@ -102,6 +90,22 @@ class DotNode
bool m_hasDoc; //!< used to mark a node as documented
int m_distance; //!< distance to the root node
bool m_isRoot; //!< indicates if this is a root node
+ ClassDef * m_classDef; //!< class representing this node (can be 0)
+
+ friend class DotGfxHierarchyTable;
+ friend class DotClassGraph;
+ friend class DotInclDepGraph;
+ friend class DotNodeList;
+ friend void writeDotGraph(
+ DotNode *root,
+ GraphType gt,
+ GraphOutputFormat f,
+ const QCString &baseName,
+ bool lrRank,
+ bool renderParents,
+ int distance,
+ bool backArrow
+ );
};
class DotGfxHierarchyTable
@@ -124,8 +128,8 @@ class DotGfxHierarchyTable
class DotClassGraph
{
public:
- enum GraphType { Interface, Implementation, Inheritance };
- DotClassGraph(ClassDef *cd,GraphType t,int maxRecusionDepth);
+ //enum GraphType { Interface, Implementation, Inheritance };
+ DotClassGraph(ClassDef *cd,DotNode::GraphType t,int maxRecusionDepth);
~DotClassGraph();
bool isTrivial() const;
QCString writeGraph(QTextStream &t,GraphOutputFormat f,const char *path,
@@ -140,13 +144,13 @@ class DotClassGraph
void addClass(ClassDef *cd,DotNode *n,int prot,const char *label,
int level,const char *usedName,const char *templSpec,
bool base);
- DotNode *m_startNode;
- QDict<DotNode> *m_usedNodes;
- static int m_curNodeNumber;
- GraphType m_graphType;
- int m_recDepth;
- QCString m_diskName;
- int m_maxDistance;
+ DotNode * m_startNode;
+ QDict<DotNode> * m_usedNodes;
+ static int m_curNodeNumber;
+ DotNode::GraphType m_graphType;
+ int m_recDepth;
+ QCString m_diskName;
+ int m_maxDistance;
};
class DotInclDepGraph