summaryrefslogtreecommitdiffstats
path: root/src/outputgen.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/outputgen.h')
-rw-r--r--src/outputgen.h61
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;
};