|
Packit |
1c1d7e |
/******************************************************************************
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Copyright (C) 1997-2015 by Dimitri van Heesch.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Permission to use, copy, modify, and distribute this software and its
|
|
Packit |
1c1d7e |
* documentation under the terms of the GNU General Public License is hereby
|
|
Packit |
1c1d7e |
* granted. No representations are made about the suitability of this software
|
|
Packit |
1c1d7e |
* for any purpose. It is provided "as is" without express or implied warranty.
|
|
Packit |
1c1d7e |
* See the GNU General Public License for more details.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Documents produced by Doxygen are derivative works derived from the
|
|
Packit |
1c1d7e |
* input used in their production; they are not affected by this license.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#ifndef VHDLDOCGEN_H
|
|
Packit |
1c1d7e |
#define VHDLDOCGEN_H
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/**
|
|
Packit |
1c1d7e |
* This class implements functions for parsing and generating
|
|
Packit |
1c1d7e |
* vhdl documents
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include <qdict.h>
|
|
Packit |
1c1d7e |
#include <qcstring.h>
|
|
Packit |
1c1d7e |
#include "layout.h"
|
|
Packit |
1c1d7e |
#include "arguments.h"
|
|
Packit |
1c1d7e |
#include "entry.h"
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class Entry;
|
|
Packit |
1c1d7e |
class ClassDef;
|
|
Packit |
1c1d7e |
class MemberList;
|
|
Packit |
1c1d7e |
class MemberDef;
|
|
Packit |
1c1d7e |
class FTextStream;
|
|
Packit |
1c1d7e |
class OutputList;
|
|
Packit |
1c1d7e |
class Definition;
|
|
Packit |
1c1d7e |
class GroupDef;
|
|
Packit |
1c1d7e |
class FileDef;
|
|
Packit |
1c1d7e |
class NamespaceDef;
|
|
Packit |
1c1d7e |
struct Argument;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** Class for generating documentation specific for VHDL */
|
|
Packit |
1c1d7e |
class VhdlDocGen
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
enum VhdlClasses // Overlays: Protection
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
ENTITYCLASS, // Overlays: Public
|
|
Packit |
1c1d7e |
PACKBODYCLASS, // Overlays: Protected
|
|
Packit |
1c1d7e |
ARCHITECTURECLASS, // Overlays: Private
|
|
Packit |
1c1d7e |
PACKAGECLASS // Overlays: Package
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
enum VhdlKeyWords
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
LIBRARY=1,
|
|
Packit |
1c1d7e |
ENTITY,
|
|
Packit |
1c1d7e |
PACKAGE_BODY,
|
|
Packit |
1c1d7e |
ARCHITECTURE,
|
|
Packit |
1c1d7e |
PACKAGE,
|
|
Packit |
1c1d7e |
ATTRIBUTE,
|
|
Packit |
1c1d7e |
SIGNAL,
|
|
Packit |
1c1d7e |
COMPONENT,
|
|
Packit |
1c1d7e |
CONSTANT,
|
|
Packit |
1c1d7e |
TYPE,
|
|
Packit |
1c1d7e |
SUBTYPE,
|
|
Packit |
1c1d7e |
FUNCTION,
|
|
Packit |
1c1d7e |
RECORD,
|
|
Packit |
1c1d7e |
PROCEDURE,
|
|
Packit |
1c1d7e |
USE,
|
|
Packit |
1c1d7e |
PROCESS,
|
|
Packit |
1c1d7e |
PORT,
|
|
Packit |
1c1d7e |
UNITS,
|
|
Packit |
1c1d7e |
GENERIC,
|
|
Packit |
1c1d7e |
INSTANTIATION,
|
|
Packit |
1c1d7e |
GROUP,
|
|
Packit |
1c1d7e |
VFILE,
|
|
Packit |
1c1d7e |
SHAREDVARIABLE,
|
|
Packit |
1c1d7e |
CONFIG,
|
|
Packit |
1c1d7e |
ALIAS,
|
|
Packit |
1c1d7e |
MISCELLANEOUS,
|
|
Packit |
1c1d7e |
UCF_CONST
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
VhdlDocGen();
|
|
Packit |
1c1d7e |
virtual ~VhdlDocGen();
|
|
Packit |
1c1d7e |
static void init();
|
|
Packit |
1c1d7e |
static QCString convertFileNameToClassName(QCString name);
|
|
Packit |
1c1d7e |
// --- used by vhdlscanner.l -----------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static bool isSubClass(ClassDef* cd,ClassDef *scd, bool followInstances,int level);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static QCString getIndexWord(const char* ,int index);
|
|
Packit |
1c1d7e |
static bool deleteCharRev(QCString &s,char c);
|
|
Packit |
1c1d7e |
static void deleteAllChars(QCString &s,char c);
|
|
Packit |
1c1d7e |
static void parseFuncProto(const char* text,
|
|
Packit |
1c1d7e |
QList<Argument>& ,
|
|
Packit |
1c1d7e |
QCString& name,
|
|
Packit |
1c1d7e |
QCString& ret,
|
|
Packit |
1c1d7e |
bool doc=false);
|
|
Packit |
1c1d7e |
// -----------------------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static void computeVhdlComponentRelations();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static QCString* findKeyWord(const QCString& word);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static ClassDef* getPackageName(const QCString& name);
|
|
Packit |
1c1d7e |
static MemberDef* findMember(const QCString& className,
|
|
Packit |
1c1d7e |
const QCString& memName);
|
|
Packit |
1c1d7e |
static void findAllPackages(ClassDef*);
|
|
Packit |
1c1d7e |
static MemberDef* findMemberDef(ClassDef* cd,
|
|
Packit |
1c1d7e |
const QCString& key,
|
|
Packit |
1c1d7e |
MemberListType type);
|
|
Packit |
1c1d7e |
static ClassDef *getClass(const char *name);
|
|
Packit |
1c1d7e |
static MemberDef* findFunction(const QList<Argument> &ql,
|
|
Packit |
1c1d7e |
const QCString& name,
|
|
Packit |
1c1d7e |
const QCString& package, bool type);
|
|
Packit |
1c1d7e |
static QCString getClassTitle(const ClassDef*);
|
|
Packit |
1c1d7e |
static void writeInlineClassLink(const ClassDef*,
|
|
Packit |
1c1d7e |
OutputList &ol);
|
|
Packit |
1c1d7e |
static void writeTagFile(MemberDef *mdef,FTextStream &tagFile);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static bool isConstraint(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isConfig(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isAlias(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isLibrary(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isGeneric(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isPort(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isComponent(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isPackage(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isEntity(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isConstant(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isVType(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isSubType(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isVhdlFunction(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isProcess(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isSignal(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isAttribute(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isSignals(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isProcedure(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isRecord(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isArchitecture(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isUnit(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isPackageBody(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isVariable(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isFile(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isGroup(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isCompInst(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
static bool isMisc(const MemberDef *mdef);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//-----------------------------------------------------
|
|
Packit |
1c1d7e |
// translatable items
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static QCString trTypeString(uint64 type);
|
|
Packit |
1c1d7e |
static QCString trVhdlType(uint64 type,bool sing=true);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
// trClassHierarchy.
|
|
Packit |
1c1d7e |
static QCString trDesignUnitHierarchy();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
// trCompoundList
|
|
Packit |
1c1d7e |
static QCString trDesignUnitList();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
// trCompoundMembers.
|
|
Packit |
1c1d7e |
static QCString trDesignUnitMembers();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
// trCompoundListDescription
|
|
Packit |
1c1d7e |
static QCString trDesignUnitListDescription();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
// trCompounds
|
|
Packit |
1c1d7e |
static QCString trDesignUnits();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
// trCompoundIndex
|
|
Packit |
1c1d7e |
static QCString trDesignUnitIndex();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
// trFunctions
|
|
Packit |
1c1d7e |
static QCString trFunctionAndProc();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//-----------------------------------------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static void prepareComment(QCString&);
|
|
Packit |
1c1d7e |
static void formatString(const QCString&,OutputList& ol,const MemberDef*);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static void writeFormatString(const QCString&,OutputList& ol,const MemberDef*);
|
|
Packit |
1c1d7e |
static void writeFunctionProto(OutputList& ol,const ArgumentList *al,const MemberDef*);
|
|
Packit |
1c1d7e |
static void writeProcessProto(OutputList& ol,const ArgumentList *al,const MemberDef*);
|
|
Packit |
1c1d7e |
static void writeProcedureProto(OutputList& ol, const ArgumentList *al,const MemberDef*);
|
|
Packit |
1c1d7e |
static bool writeFuncProcDocu(const MemberDef *mdef, OutputList& ol,const ArgumentList* al,bool type=false);
|
|
Packit |
1c1d7e |
static void writeRecordProto(const MemberDef *mdef, OutputList& ol,const ArgumentList *al);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static bool writeVHDLTypeDocumentation(const MemberDef* mdef, const Definition* d, OutputList &ol);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static void writeVhdlDeclarations(MemberList*,OutputList&,GroupDef*,ClassDef*,FileDef*,NamespaceDef*);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static void writeVHDLDeclaration(MemberDef* mdef,OutputList &ol,
|
|
Packit |
1c1d7e |
ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd,
|
|
Packit |
1c1d7e |
bool inGroup);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static void writePlainVHDLDeclarations(MemberList* ml,OutputList &ol,
|
|
Packit |
1c1d7e |
ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd,int specifier);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static void writeVHDLDeclarations(MemberList* ml,OutputList &ol,
|
|
Packit |
1c1d7e |
ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd,
|
|
Packit |
1c1d7e |
const char *title,const char *subtitle,bool showEnumValues,int type);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static bool writeClassType(ClassDef *&,OutputList &ol ,QCString & cname);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static QCString convertArgumentListToString(const ArgumentList* al,bool f);
|
|
Packit |
1c1d7e |
static QCString getProcessNumber();
|
|
Packit |
1c1d7e |
static QCString getRecordNumber();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static QCString getClassName(const ClassDef*);
|
|
Packit |
1c1d7e |
static bool isNumber(const QCString& s);
|
|
Packit |
1c1d7e |
static QCString getProtectionName(int prot);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static void parseUCF(const char* input,Entry* entity,QCString f,bool vendor);
|
|
Packit |
1c1d7e |
static bool findConstraintFile( LayoutNavEntry *lne);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static ClassDef* findArchitecture(const ClassDef *cd);
|
|
Packit |
1c1d7e |
static ClassDef* findArchitecture(QCString identifier, QCString entity_name);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static void writeSource(MemberDef *mdef,OutputList& ol,QCString & cname);
|
|
Packit |
1c1d7e |
static void writeAlphbeticalClass(OutputList& ol,const ClassDef* cd,const QCString &);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static QCString parseForConfig(QCString & entity,QCString & arch);
|
|
Packit |
1c1d7e |
static QCString parseForBinding(QCString & entity,QCString & arch);
|
|
Packit |
1c1d7e |
static void addBaseClass(ClassDef* cd,ClassDef *ent);
|
|
Packit |
1c1d7e |
static ClassDef* findVhdlClass(const char *className );
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static void writeOverview(OutputList &ol);
|
|
Packit |
1c1d7e |
static void writeOverview();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
// flowcharts
|
|
Packit |
1c1d7e |
static void createFlowChart(const MemberDef*);
|
|
Packit |
1c1d7e |
//static void addFlowImage(const FTextStream &,const QCString &);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static void setFlowMember( const MemberDef *flowMember);
|
|
Packit |
1c1d7e |
static const MemberDef *getFlowMember();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static bool isVhdlClass (const Entry *cu)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return cu->spec==VhdlDocGen::ENTITY ||
|
|
Packit |
1c1d7e |
cu->spec==VhdlDocGen::PACKAGE ||
|
|
Packit |
1c1d7e |
cu->spec==VhdlDocGen::ARCHITECTURE ||
|
|
Packit |
1c1d7e |
cu->spec==VhdlDocGen::PACKAGE_BODY;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static void resetCodeVhdlParserState();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
static void findAllArchitectures(QList<QCString>& ql,const ClassDef *cd);
|
|
Packit |
1c1d7e |
static bool compareArgList(ArgumentList*,ArgumentList*);
|
|
Packit |
1c1d7e |
static void writeVhdlLink(const ClassDef* cdd ,OutputList& ol,QCString& type,QCString& name,QCString& beh);
|
|
Packit |
1c1d7e |
static void writeStringLink(const MemberDef *mdef,QCString mem,OutputList& ol);
|
|
Packit |
1c1d7e |
static void writeRecUnitDocu( const MemberDef *md, OutputList& ol,QCString largs);
|
|
Packit |
1c1d7e |
static void writeRecorUnit(QCString & largs,OutputList& ol ,const MemberDef *mdef);
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//-------------------------------------------------------------------------------------------------------------------
|
|
Packit |
1c1d7e |
//-------------- VHDL Flowcharts -------------------------------------------------------------------------------
|
|
Packit |
1c1d7e |
//-------------------------------------------------------------------------------------------------------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//#define DEBUGFLOW
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class FlowChart
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
enum nodeTypes {
|
|
Packit |
1c1d7e |
IF_NO = 1<<1,
|
|
Packit |
1c1d7e |
ELSIF_NO = 1<<2,
|
|
Packit |
1c1d7e |
ELSE_NO = 1<<3,
|
|
Packit |
1c1d7e |
CASE_NO = 1<<4,
|
|
Packit |
1c1d7e |
WHEN_NO = 1<<5,
|
|
Packit |
1c1d7e |
EXIT_NO = 1<<6,
|
|
Packit |
1c1d7e |
END_NO = 1<<7,
|
|
Packit |
1c1d7e |
TEXT_NO = 1<<8,
|
|
Packit |
1c1d7e |
START_NO = 1<<9,
|
|
Packit |
1c1d7e |
ENDIF_NO = 1<<10,
|
|
Packit |
1c1d7e |
FOR_NO = 1<<11,
|
|
Packit |
1c1d7e |
WHILE_NO = 1<<12,
|
|
Packit |
1c1d7e |
END_LOOP = 1<<13,
|
|
Packit |
1c1d7e |
END_CASE = 1<<14,
|
|
Packit |
1c1d7e |
VARIABLE_NO = 1<<15,
|
|
Packit |
1c1d7e |
RETURN_NO = 1<<16,
|
|
Packit |
1c1d7e |
LOOP_NO = 1<<17,
|
|
Packit |
1c1d7e |
NEXT_NO = 1<<18,
|
|
Packit |
1c1d7e |
EMPTY_NO = 1<<19,
|
|
Packit |
1c1d7e |
COMMENT_NO = 1<<20,
|
|
Packit |
1c1d7e |
BEGIN_NO = 1<<21
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//---------- create svg -------------------------------------------------------------
|
|
Packit |
1c1d7e |
static void createSVG();
|
|
Packit |
1c1d7e |
static void startDot(FTextStream &t);
|
|
Packit |
1c1d7e |
static void endDot(FTextStream &t);
|
|
Packit |
1c1d7e |
static void codify(FTextStream &t,const char *str);
|
|
Packit |
1c1d7e |
static void writeShape(FTextStream &t,const FlowChart* fl);
|
|
Packit |
1c1d7e |
static void writeEdge(FTextStream &t,int fl_from,int fl_to,int i,bool bFrom=FALSE,bool bTo=FALSE);
|
|
Packit |
1c1d7e |
static void writeEdge(FTextStream &t,const FlowChart* fl_from,const FlowChart* fl_to,int i);
|
|
Packit |
1c1d7e |
static void writeFlowLinks(FTextStream &t);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static QCString getNodeName(int n);
|
|
Packit |
1c1d7e |
static void colTextNodes();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static int getNextTextLink(const FlowChart* fl,uint index);
|
|
Packit |
1c1d7e |
static int getNextIfLink(const FlowChart*,uint);
|
|
Packit |
1c1d7e |
static int getNextNode(int,int);
|
|
Packit |
1c1d7e |
static int findNode(int index,int stamp,int type);
|
|
Packit |
1c1d7e |
static int findNode(int index,int type);
|
|
Packit |
1c1d7e |
static int findNextLoop(int j,int stamp);
|
|
Packit |
1c1d7e |
static int findPrevLoop(int j,int stamp,bool endif=FALSE);
|
|
Packit |
1c1d7e |
static int findLabel(int j,QCString &);
|
|
Packit |
1c1d7e |
static void delFlowList();
|
|
Packit |
1c1d7e |
static const char* getNodeType(int c);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static void addFlowChart(int type,const char* text,const char* exp,const char * label=0);
|
|
Packit |
1c1d7e |
static void moveToPrevLevel();
|
|
Packit |
1c1d7e |
static int getTimeStamp();
|
|
Packit |
1c1d7e |
static void writeFlowChart();
|
|
Packit |
1c1d7e |
static void alignFuncProc(QCString & q,const ArgumentList* al,bool isFunc);
|
|
Packit |
1c1d7e |
static QCString convertNameToFileName();
|
|
Packit |
1c1d7e |
static void printNode(const FlowChart* n);
|
|
Packit |
1c1d7e |
static void printFlowTree();
|
|
Packit |
1c1d7e |
static void buildCommentNodes(FTextStream &t);
|
|
Packit |
1c1d7e |
static void alignCommentNode(FTextStream &t,QCString com);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static void printUmlTree();
|
|
Packit |
1c1d7e |
static QCString printPlantUmlNode(const FlowChart *flo,bool,bool);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static QList<FlowChart> flowList;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
FlowChart(int typ,const char* t,const char* ex,const char* label=0);
|
|
Packit |
1c1d7e |
~FlowChart();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
int id;
|
|
Packit |
1c1d7e |
int stamp;
|
|
Packit |
1c1d7e |
int type;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int line;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString label;
|
|
Packit |
1c1d7e |
QCString text;
|
|
Packit |
1c1d7e |
QCString exp;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#endif
|