diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2013-06-24 21:52:06 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2013-07-02 11:52:40 (GMT) |
commit | dbd559269be1a10cf67ba9e7e92c99fe3c35a217 (patch) | |
tree | 1a0b8fcbe9b3820eea5204547f060765397f56be /src/outputgen.h | |
parent | 4f520b36a54c8ef645dd346d0959b07ffe6deecb (diff) | |
download | Doxygen-dbd559269be1a10cf67ba9e7e92c99fe3c35a217.zip Doxygen-dbd559269be1a10cf67ba9e7e92c99fe3c35a217.tar.gz Doxygen-dbd559269be1a10cf67ba9e7e92c99fe3c35a217.tar.bz2 |
Added SOURCE_TOOLTIPS option for advanced tooltip support while source browsing
Diffstat (limited to 'src/outputgen.h')
-rw-r--r-- | src/outputgen.h | 61 |
1 files changed, 57 insertions, 4 deletions
diff --git a/src/outputgen.h b/src/outputgen.h index 2a959e4..95c467d 100644 --- a/src/outputgen.h +++ b/src/outputgen.h @@ -37,13 +37,31 @@ class GroupDef; class Definition; class QFile; +struct DocLinkInfo +{ + QCString name; + QCString ref; + QCString url; + QCString anchor; +}; + +struct SourceLinkInfo +{ + QCString file; + int line; + QCString ref; + QCString url; + QCString anchor; +}; + /** Output interface for code parser. */ class CodeOutputInterface { public: virtual ~CodeOutputInterface() {} - /*! Writes an ASCII string to the output. This function should keep + + /*! Writes an code fragment to the output. This function should keep * spaces visible, should break lines at a newline and should convert * tabs to the right number of spaces. */ @@ -62,15 +80,50 @@ class CodeOutputInterface const char *anchor,const char *name, const char *tooltip) = 0; + /*! Writes the line number of a source listing + * \param ref External reference (when imported from a tag file) + * \param file The file part of the URL pointing to the docs. + * \param anchor The anchor part of the URL pointing to the docs. + * \param lineNumber The line number to write + */ virtual void writeLineNumber(const char *ref,const char *file, const char *anchor,int lineNumber) = 0; + + /*! Writes a tool tip definition + * \param id unique identifier for the tooltip + * \param docInfo Info about the symbol's documentation. + * \param decl full declaration of the symbol (for functions) + * \param desc brief description for the symbol + * \param defInfo Info about the symbol's definition in the source code + * \param declInfo Info about the symbol's declaration in the source code + */ + virtual void writeTooltip(const char *id, + const DocLinkInfo &docInfo, + const char *decl, + const char *desc, + const SourceLinkInfo &defInfo, + const SourceLinkInfo &declInfo + ) = 0; + virtual void startCodeLine(bool hasLineNumbers) = 0; + + /*! Ends a line of code started with startCodeLine() */ virtual void endCodeLine() = 0; - virtual void startCodeAnchor(const char *label) = 0; - virtual void endCodeAnchor() = 0; - virtual void startFontClass(const char *) = 0; + + /*! Starts a block with a certain meaning. Used for syntax highlighting, + * which elements of the same type are rendered using the same 'font class'. + * \param clsName The category name. + */ + virtual void startFontClass(const char *clsName) = 0; + + /*! Ends a block started with startFontClass() */ virtual void endFontClass() = 0; + + /*! Write an anchor to a source listing. + * \param name The name of the anchor. + */ virtual void writeCodeAnchor(const char *name) = 0; + virtual void setCurrentDoc(Definition *context,const char *anchor,bool isSourceFile) = 0; virtual void addWord(const char *word,bool hiPriority) = 0; }; |