Commit 210582f8 authored by Dimitri van Heesch's avatar Dimitri van Heesch
Browse files

Release-1.2.15-20020421

parent 481a46c5
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
DOXYGEN Version 1.2.15-20020407
DOXYGEN Version 1.2.15-20020421


Please read the installation section of the manual for instructions.
Please read the installation section of the manual for instructions.


--------
--------
Dimitri van Heesch (07 April 2002)
Dimitri van Heesch (21 April 2002)
+2 −2
Original line number Original line Diff line number Diff line
DOXYGEN Version 1.2.15_20020407
DOXYGEN Version 1.2.15_20020421


Please read INSTALL for compilation instructions.
Please read INSTALL for compilation instructions.


@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.


Enjoy,
Enjoy,


Dimitri van Heesch (dimitri@stack.nl) (07 April 2002)
Dimitri van Heesch (dimitri@stack.nl) (21 April 2002)
+1 −1
Original line number Original line Diff line number Diff line
1.2.15-20020407
1.2.15-20020421
+72 −60
Original line number Original line Diff line number Diff line
@@ -9,6 +9,15 @@ class ICompound;
class ISection;
class ISection;
class INode;
class INode;


class IString
{
  public:
    virtual const char *latin1() const = 0;
    virtual unsigned short unicodeCharAt(int index) const = 0;
    virtual bool isEmpty() const = 0;
    virtual int length() const = 0;
};

class ILinkedText
class ILinkedText
{
{
  public:
  public:
@@ -19,17 +28,17 @@ class ILinkedText
class ILT_Text : public ILinkedText
class ILT_Text : public ILinkedText
{
{
  public:
  public:
    virtual QString text() const = 0;
    virtual const IString *text() const = 0;
};
};


class ILT_Ref : public ILinkedText
class ILT_Ref : public ILinkedText
{
{
  public:
  public:
    enum TargetKind { Member, Compound };
    enum TargetKind { Member, Compound };
    virtual QString id() const = 0;
    virtual const IString *id() const = 0;
    virtual TargetKind targetKind() const = 0;
    virtual TargetKind targetKind() const = 0;
    virtual QString external() const = 0;
    virtual const IString *external() const = 0;
    virtual QString text() const = 0;
    virtual const IString *text() const = 0;
};
};


class ILinkedTextIterator 
class ILinkedTextIterator 
@@ -47,10 +56,10 @@ class IParam
{
{
  public:
  public:
    virtual ILinkedTextIterator *type() const = 0;
    virtual ILinkedTextIterator *type() const = 0;
    virtual QString declarationName() const = 0;
    virtual const IString * declarationName() const = 0;
    virtual QString definitionName() const = 0;
    virtual const IString * definitionName() const = 0;
    virtual QString attrib() const = 0;
    virtual const IString * attrib() const = 0;
    virtual QString arraySpecifier() const = 0;
    virtual const IString * arraySpecifier() const = 0;
    virtual ILinkedTextIterator *defaultValue() const = 0;
    virtual ILinkedTextIterator *defaultValue() const = 0;
};
};


@@ -69,7 +78,7 @@ class IMemberReference
{
{
  public:
  public:
    virtual IMember *member() const = 0;
    virtual IMember *member() const = 0;
    virtual QString memberName() const = 0;
    virtual const IString * memberName() const = 0;
};
};


class IMemberReferenceIterator 
class IMemberReferenceIterator 
@@ -86,8 +95,8 @@ class IMemberReferenceIterator
class IEnumValue
class IEnumValue
{
{
  public:
  public:
    virtual QString name() const = 0;
    virtual const IString * name() const = 0;
    virtual QString initializer() const = 0;
    virtual const IString * initializer() const = 0;
};
};


class IEnumValueIterator 
class IEnumValueIterator 
@@ -136,7 +145,7 @@ class IDoc
      Row,                // 27 -> IDocRow
      Row,                // 27 -> IDocRow
      Entry,              // 28 -> IDocEntry
      Entry,              // 28 -> IDocEntry
      Section,            // 29 -> IDocSection
      Section,            // 29 -> IDocSection
      Root                // 30 -> IDocRoot
      Root,               // 30 -> IDocRoot
    };
    };
    virtual Kind kind() const = 0;
    virtual Kind kind() const = 0;
};
};
@@ -153,7 +162,8 @@ class IDocMarkup : public IDoc
      Subscript      = 0x08,
      Subscript      = 0x08,
      Superscript    = 0x10,
      Superscript    = 0x10,
      SmallFont      = 0x20,
      SmallFont      = 0x20,
      Center         = 0x40
      Center         = 0x40,
      Preformatted   = 0x80
    };
    };


};
};
@@ -167,7 +177,7 @@ class IDocPara : public IDoc
class IDocText : public IDocMarkup
class IDocText : public IDocMarkup
{
{
  public:
  public:
    virtual QString text() const = 0;
    virtual const IString * text() const = 0;
    virtual int markup() const = 0;
    virtual int markup() const = 0;
};
};


@@ -207,7 +217,7 @@ class IDocParameterList : public IDoc
class IDocParameter : public IDoc
class IDocParameter : public IDoc
{
{
  public:
  public:
    virtual QString name() const = 0;
    virtual const IString * name() const = 0;
    virtual IDocPara *description() const = 0;
    virtual IDocPara *description() const = 0;
};
};


@@ -229,7 +239,7 @@ class IDocSimpleSect : public IDoc
                 Examples
                 Examples
    };
    };
    virtual Types type() const = 0;
    virtual Types type() const = 0;
    virtual QString typeString() const = 0;
    virtual const IString * typeString() const = 0;
    virtual IDocTitle *title() const = 0;
    virtual IDocTitle *title() const = 0;
    virtual IDocPara *description() const = 0;
    virtual IDocPara *description() const = 0;
};
};
@@ -238,10 +248,10 @@ class IDocRef : public IDoc
{
{
  public:
  public:
    enum TargetKind { Member, Compound };
    enum TargetKind { Member, Compound };
    virtual QString refId() const = 0;
    virtual const IString * refId() const = 0;
    virtual TargetKind targetKind() const = 0;
    virtual TargetKind targetKind() const = 0;
    virtual QString external() const = 0;
    virtual const IString * external() const = 0;
    virtual QString text() const = 0;
    virtual const IString * text() const = 0;
};
};


class IDocVariableList : public IDoc
class IDocVariableList : public IDoc
@@ -253,7 +263,7 @@ class IDocVariableList : public IDoc
class IDocVariableListEntry : public IDoc
class IDocVariableListEntry : public IDoc
{
{
  public:
  public:
    virtual QString term() const = 0;
    virtual const IString * term() const = 0;
    virtual IDocPara *description() const = 0;
    virtual IDocPara *description() const = 0;
};
};


@@ -268,21 +278,21 @@ class IDocLineBreak : public IDoc
class IDocULink : public IDoc
class IDocULink : public IDoc
{
{
  public:
  public:
    virtual QString url() const = 0;
    virtual const IString * url() const = 0;
    virtual QString text() const = 0;
    virtual const IString * text() const = 0;
};
};


class IDocEMail : public IDoc
class IDocEMail : public IDoc
{
{
  public:
  public:
    virtual QString address() const = 0;
    virtual const IString * address() const = 0;
};
};


class IDocLink : public IDoc
class IDocLink : public IDoc
{
{
  public:
  public:
    virtual QString refId() const = 0;
    virtual const IString * refId() const = 0;
    virtual QString text() const = 0;
    virtual const IString * text() const = 0;
};
};


class IDocProgramListing : public IDoc
class IDocProgramListing : public IDoc
@@ -295,7 +305,7 @@ class IDocCodeLine : public IDoc
{
{
  public:
  public:
    virtual int lineNumber() const = 0;
    virtual int lineNumber() const = 0;
    virtual QString refId() const = 0;
    virtual const IString * refId() const = 0;
    virtual IDocIterator *codeElements() const = 0;
    virtual IDocIterator *codeElements() const = 0;
};
};


@@ -315,29 +325,29 @@ class IDocHighlight : public IDoc
class IDocFormula : public IDoc
class IDocFormula : public IDoc
{
{
  public:
  public:
    virtual QString id() const = 0;
    virtual const IString * id() const = 0;
    virtual QString text() const = 0;
    virtual const IString * text() const = 0;
};
};


class IDocImage : public IDoc
class IDocImage : public IDoc
{
{
  public:
  public:
    virtual QString name() const = 0;
    virtual const IString * name() const = 0;
    virtual QString caption() const = 0;
    virtual const IString * caption() const = 0;
};
};


class IDocDotFile : public IDoc
class IDocDotFile : public IDoc
{
{
  public:
  public:
    virtual QString name() const = 0;
    virtual const IString * name() const = 0;
    virtual QString caption() const = 0;
    virtual const IString * caption() const = 0;
};
};


class IDocIndexEntry : public IDoc
class IDocIndexEntry : public IDoc
{
{
  public:
  public:
    virtual QString primary() const = 0;
    virtual const IString * primary() const = 0;
    virtual QString secondary() const = 0;
    virtual const IString * secondary() const = 0;
};
};


class IDocTable : public IDoc
class IDocTable : public IDoc
@@ -345,7 +355,7 @@ class IDocTable : public IDoc
  public:
  public:
    virtual IDocIterator *rows() const = 0;
    virtual IDocIterator *rows() const = 0;
    virtual int numColumns() const = 0;
    virtual int numColumns() const = 0;
    virtual QString caption() const = 0;
    virtual const IString * caption() const = 0;
};
};


class IDocRow : public IDoc
class IDocRow : public IDoc
@@ -363,7 +373,7 @@ class IDocEntry : public IDoc
class IDocSection : public IDoc
class IDocSection : public IDoc
{
{
  public:
  public:
    virtual QString id() const = 0; 
    virtual const IString * id() const = 0; 
    virtual int level() const = 0;
    virtual int level() const = 0;
    virtual IDocIterator *title() const = 0;
    virtual IDocIterator *title() const = 0;
};
};
@@ -388,7 +398,7 @@ class IDocIterator
class IEdgeLabel
class IEdgeLabel
{
{
  public:
  public:
    virtual QString label() const = 0;
    virtual const IString * label() const = 0;
};
};


class IEdgeLabelIterator 
class IEdgeLabelIterator 
@@ -410,7 +420,7 @@ class IChildNode
                      };
                      };
    virtual INode * node() const = 0;
    virtual INode * node() const = 0;
    virtual NodeRelation relation() const = 0;
    virtual NodeRelation relation() const = 0;
    virtual QString relationString() const = 0;
    virtual const IString * relationString() const = 0;
    virtual IEdgeLabelIterator *edgeLabels() const = 0;
    virtual IEdgeLabelIterator *edgeLabels() const = 0;
};
};


@@ -428,9 +438,9 @@ class IChildNodeIterator
class INode
class INode
{
{
  public:
  public:
    virtual QString id() const = 0;
    virtual const IString * id() const = 0;
    virtual QString label() const = 0;
    virtual const IString * label() const = 0;
    virtual QString linkId() const = 0;
    virtual const IString * linkId() const = 0;
    virtual IChildNodeIterator *children() const = 0;
    virtual IChildNodeIterator *children() const = 0;
};
};


@@ -461,13 +471,13 @@ class IMember
    virtual ICompound *compound() const = 0;
    virtual ICompound *compound() const = 0;
    virtual ISection *section() const = 0;
    virtual ISection *section() const = 0;
    virtual MemberKind kind() const = 0;
    virtual MemberKind kind() const = 0;
    virtual QString kindString() const = 0;
    virtual const IString * kindString() const = 0;
    virtual QString id() const = 0;
    virtual const IString * id() const = 0;
    virtual QString protection() const = 0;
    virtual const IString * protection() const = 0;
    virtual QString virtualness() const = 0;
    virtual const IString * virtualness() const = 0;
    virtual ILinkedTextIterator *type() const = 0;
    virtual ILinkedTextIterator *type() const = 0;
    virtual QString typeString() const = 0;
    virtual const IString * typeString() const = 0;
    virtual QString name() const = 0;
    virtual const IString * name() const = 0;
    virtual bool isConst() const = 0;
    virtual bool isConst() const = 0;
    virtual bool isVolatile() const = 0;
    virtual bool isVolatile() const = 0;
    virtual IParamIterator *params() const = 0;
    virtual IParamIterator *params() const = 0;
@@ -477,7 +487,7 @@ class IMember
    virtual IMemberReferenceIterator *referencedBy() const = 0;
    virtual IMemberReferenceIterator *referencedBy() const = 0;
    virtual int bodyStart() const = 0;
    virtual int bodyStart() const = 0;
    virtual int bodyEnd() const = 0;
    virtual int bodyEnd() const = 0;
    virtual QString definitionFile() const = 0;
    virtual const IString * definitionFile() const = 0;
    virtual int definitionLine() const = 0;
    virtual int definitionLine() const = 0;
    virtual IMemberReference *reimplements() const = 0;
    virtual IMemberReference *reimplements() const = 0;
    virtual IMemberReferenceIterator *reimplementedBy() const = 0;
    virtual IMemberReferenceIterator *reimplementedBy() const = 0;
@@ -512,7 +522,7 @@ class ISection
                       Friend, Related, Defines, Prototypes, Typedefs,
                       Friend, Related, Defines, Prototypes, Typedefs,
                       Enums, Functions, Variables
                       Enums, Functions, Variables
                     };
                     };
    virtual QString kindString() const = 0;
    virtual const IString * kindString() const = 0;
    virtual SectionKind kind() const = 0;
    virtual SectionKind kind() const = 0;
    virtual IMemberIterator *members() const = 0;
    virtual IMemberIterator *members() const = 0;
    virtual bool isStatic() const = 0;
    virtual bool isStatic() const = 0;
@@ -541,12 +551,12 @@ class ICompound
                        Namespace, File, Group, Page
                        Namespace, File, Group, Page
                      };
                      };
    /*! Returns the name of this compound */
    /*! Returns the name of this compound */
    virtual QString name() const = 0;
    virtual const IString * name() const = 0;


    /*! Returns the id of this compound. The id is a
    /*! Returns the id of this compound. The id is a
     *  unique string representing a specific compound object.
     *  unique string representing a specific compound object.
     */
     */
    virtual QString id()   const = 0;
    virtual const IString * id()   const = 0;


    /*! Returns the kind of compound. See #CompoundKind for possible
    /*! Returns the kind of compound. See #CompoundKind for possible
     *  values.
     *  values.
@@ -556,7 +566,7 @@ class ICompound
    /*! Returns a string representation of the compound kind.
    /*! Returns a string representation of the compound kind.
     *  @see kind()
     *  @see kind()
     */
     */
    virtual QString kindString() const = 0;
    virtual const IString * kindString() const = 0;


    /*! Returns an iterator for the different member sections in this
    /*! Returns an iterator for the different member sections in this
     *  compound.
     *  compound.
@@ -576,14 +586,14 @@ class ICompound
    /*! Returns an interface to a member given its id. 
    /*! Returns an interface to a member given its id. 
     *  @param id The member id.
     *  @param id The member id.
     */
     */
    virtual IMember *memberById(const QString &id) const = 0;
    virtual IMember *memberById(const char * id) const = 0;


    /*! Returns a list of all members within the compound having a certain 
    /*! Returns a list of all members within the compound having a certain 
     *  name. Member overloading is the reason why there can be more than 
     *  name. Member overloading is the reason why there can be more than 
     *  one member. 
     *  one member. 
     *  @param name The name of the member.
     *  @param name The name of the member.
     */
     */
    virtual IMemberIterator *memberByName(const QString &name) const = 0;
    virtual IMemberIterator *memberByName(const char * name) const = 0;


    /*! Decreases the reference counter for this compound. If it reaches
    /*! Decreases the reference counter for this compound. If it reaches
     *  zero, the memory for the compound will be released.
     *  zero, the memory for the compound will be released.
@@ -668,11 +678,13 @@ class INamespace : public ICompound


class IFile : public ICompound
class IFile : public ICompound
{
{
  public:
    virtual IGraph *includeDependencyGraph() const = 0;
    virtual IGraph *includedByDependencyGraph() const = 0;

    // file:
    // file:
    //  includes()
    //  includes()
    //  includedBy()
    //  includedBy()
    //  IDotGraph *includeDependencyGraph()
    //  IDotGraph *includedByDependencyGraph()
    //  IDocProgramListing *source()
    //  IDocProgramListing *source()
    //  ICompound *innerNamespaces()
    //  ICompound *innerNamespaces()
    //  ICompoundIterator *innerClasses()
    //  ICompoundIterator *innerClasses()
@@ -704,26 +716,26 @@ class IDoxygen
     *  compound id this function is much more efficient than iterating
     *  compound id this function is much more efficient than iterating
     *  over the compound list. Returns 0 if the id is not valid.
     *  over the compound list. Returns 0 if the id is not valid.
     */
     */
    virtual ICompound *compoundById(const QString &id) const = 0;
    virtual ICompound *compoundById(const char * id) const = 0;


    /*! Returns a compound given its name (including the scope). 
    /*! Returns a compound given its name (including the scope). 
     *  Returns 0 if the name is not found in the project.
     *  Returns 0 if the name is not found in the project.
     */
     */
    virtual ICompound *compoundByName(const QString &name) const = 0;
    virtual ICompound *compoundByName(const char * name) const = 0;


    /*! Returns an interface to a compound containing a member given it the
    /*! Returns an interface to a compound containing a member given it the
     *  member's id. Given the ICompound interface one can use the same id
     *  member's id. Given the ICompound interface one can use the same id
     *  to obtain the IMember interface.
     *  to obtain the IMember interface.
     *  @param id The member id.
     *  @param id The member id.
     */
     */
    virtual ICompound *memberById(const QString &id) const = 0;
    virtual ICompound *memberById(const char * id) const = 0;


    /*! Returns a list of all compounds containing at least one members 
    /*! Returns a list of all compounds containing at least one members 
     *  with a certain name. Each compound can be asked to return the
     *  with a certain name. Each compound can be asked to return the
     *  list of members with that name.
     *  list of members with that name.
     *  @param name The name of the member.
     *  @param name The name of the member.
     */
     */
    virtual ICompoundIterator *memberByName(const QString &name) const = 0;
    virtual ICompoundIterator *memberByName(const char * name) const = 0;


    /*! Releases the memory for the object hierarchy obtained by 
    /*! Releases the memory for the object hierarchy obtained by 
     *  createdObjecModelFromXML(). First release all iterators before calling
     *  createdObjecModelFromXML(). First release all iterators before calling
+37 −7
Original line number Original line Diff line number Diff line
@@ -144,7 +144,8 @@ void compoundhandler_exit()
CompoundHandler::CompoundHandler(const QString &xmlDir) 
CompoundHandler::CompoundHandler(const QString &xmlDir) 
  : m_brief(0), m_detailed(0), m_programListing(0),
  : m_brief(0), m_detailed(0), m_programListing(0),
    m_xmlDir(xmlDir), m_refCount(1), m_memberDict(257), m_memberNameDict(257),
    m_xmlDir(xmlDir), m_refCount(1), m_memberDict(257), m_memberNameDict(257),
    m_mainHandler(0), m_inheritanceGraph(0), m_collaborationGraph(0)
    m_mainHandler(0), m_inheritanceGraph(0), m_collaborationGraph(0),
    m_includeDependencyGraph(0), m_includedByDependencyGraph(0)
{
{
  m_superClasses.setAutoDelete(TRUE);
  m_superClasses.setAutoDelete(TRUE);
  m_subClasses.setAutoDelete(TRUE);
  m_subClasses.setAutoDelete(TRUE);
@@ -182,9 +183,14 @@ CompoundHandler::CompoundHandler(const QString &xmlDir)


  addStartHandler("collaborationgraph",this,&CompoundHandler::startCollaborationGraph);
  addStartHandler("collaborationgraph",this,&CompoundHandler::startCollaborationGraph);


  addStartHandler("incdepgraph",this,&CompoundHandler::startIncludeDependencyGraph);

  addStartHandler("invincdepgraph",this,&CompoundHandler::startIncludedByDependencyGraph);

  addStartHandler("innerclass",this,&CompoundHandler::startInnerClass);
  addStartHandler("innerclass",this,&CompoundHandler::startInnerClass);
  addEndHandler("innerclass");
  addEndHandler("innerclass");



}
}


CompoundHandler::~CompoundHandler()
CompoundHandler::~CompoundHandler()
@@ -195,6 +201,8 @@ CompoundHandler::~CompoundHandler()
  delete m_programListing;
  delete m_programListing;
  delete m_inheritanceGraph;
  delete m_inheritanceGraph;
  delete m_collaborationGraph;
  delete m_collaborationGraph;
  delete m_includeDependencyGraph;
  delete m_includedByDependencyGraph;
}
}


void CompoundHandler::startSection(const QXmlAttributes& attrib)
void CompoundHandler::startSection(const QXmlAttributes& attrib)
@@ -303,7 +311,7 @@ void CompoundHandler::addSubClass(const QXmlAttributes& attrib)
  m_subClasses.append(sc);
  m_subClasses.append(sc);
}
}


bool CompoundHandler::parseXML(const QString &compId)
bool CompoundHandler::parseXML(const char *compId)
{
{
  QFile xmlFile(m_xmlDir+"/"+compId+".xml");
  QFile xmlFile(m_xmlDir+"/"+compId+".xml");
  if (!xmlFile.exists()) return FALSE;
  if (!xmlFile.exists()) return FALSE;
@@ -329,12 +337,12 @@ void CompoundHandler::initialize(MainHandler *mh)


void CompoundHandler::insertMember(MemberHandler *mh)
void CompoundHandler::insertMember(MemberHandler *mh)
{
{
  m_memberDict.insert(mh->id(),mh);
  m_memberDict.insert(mh->id()->latin1(),mh);
  QList<MemberHandler> *mhl = m_memberNameDict.find(mh->id());
  QList<MemberHandler> *mhl = m_memberNameDict.find(mh->id()->latin1());
  if (mhl==0)
  if (mhl==0)
  {
  {
    mhl = new QList<MemberHandler>;
    mhl = new QList<MemberHandler>;
    m_memberNameDict.insert(mh->name(),mhl);
    m_memberNameDict.insert(mh->name()->latin1(),mhl);
  }
  }
  mhl->append(mh);
  mhl->append(mh);
}
}
@@ -372,7 +380,7 @@ ISectionIterator *CompoundHandler::sections() const
  return new SectionIterator(m_sections); 
  return new SectionIterator(m_sections); 
}
}
    
    
IMemberIterator *CompoundHandler::memberByName(const QString &name) const
IMemberIterator *CompoundHandler::memberByName(const char *name) const
{ 
{ 
  QList<MemberHandler> *ml = m_memberNameDict[name]; 
  QList<MemberHandler> *ml = m_memberNameDict[name]; 
  if (ml==0) return 0;
  if (ml==0) return 0;
@@ -391,6 +399,18 @@ void CompoundHandler::startCollaborationGraph(const QXmlAttributes &attrib)
  m_collaborationGraph->startGraph(attrib);
  m_collaborationGraph->startGraph(attrib);
}
}


void CompoundHandler::startIncludeDependencyGraph(const QXmlAttributes &attrib)
{
  m_includeDependencyGraph = new GraphHandler(this,"incdepgraph");
  m_includeDependencyGraph->startGraph(attrib);
}

void CompoundHandler::startIncludedByDependencyGraph(const QXmlAttributes &attrib)
{
  m_includedByDependencyGraph = new GraphHandler(this,"invincdepgraph");
  m_includedByDependencyGraph->startGraph(attrib);
}

IDocRoot *CompoundHandler::briefDescription() const 
IDocRoot *CompoundHandler::briefDescription() const 
{ 
{ 
  return m_brief; 
  return m_brief; 
@@ -401,7 +421,7 @@ IDocRoot *CompoundHandler::detailedDescription() const
  return m_detailed; 
  return m_detailed; 
}
}


IMember *CompoundHandler::memberById(const QString &id) const 
IMember *CompoundHandler::memberById(const char *id) const 
{ 
{ 
  return m_memberDict[id]; 
  return m_memberDict[id]; 
}
}
@@ -416,6 +436,16 @@ IGraph *CompoundHandler::collaborationGraph() const
  return m_collaborationGraph; 
  return m_collaborationGraph; 
}
}


IGraph *CompoundHandler::includeDependencyGraph() const
{
  return m_includeDependencyGraph;
}

IGraph *CompoundHandler::includedByDependencyGraph() const
{
  return m_includedByDependencyGraph;
}

IRelatedCompoundIterator *CompoundHandler::baseClasses() const
IRelatedCompoundIterator *CompoundHandler::baseClasses() const
{
{
  return new RelatedCompoundIterator(m_superClasses);
  return new RelatedCompoundIterator(m_superClasses);
Loading