summaryrefslogtreecommitdiffstats
path: root/src/types.h
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2018-07-22 15:19:56 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2018-07-22 15:19:56 (GMT)
commit185d6abdc832e7dd66183a2154a13a546414b96f (patch)
tree2e37e5d4a6d3250e5b0d5ca02c3e57ba4458ed41 /src/types.h
parent982fce9e021e5359ec2572cbbb815a47bc822e70 (diff)
downloadDoxygen-185d6abdc832e7dd66183a2154a13a546414b96f.zip
Doxygen-185d6abdc832e7dd66183a2154a13a546414b96f.tar.gz
Doxygen-185d6abdc832e7dd66183a2154a13a546414b96f.tar.bz2
Moved local toc data into a separate type for better encapsulation
Diffstat (limited to 'src/types.h')
-rw-r--r--src/types.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/types.h b/src/types.h
index 806e6fc..36f31fe 100644
--- a/src/types.h
+++ b/src/types.h
@@ -16,6 +16,7 @@
#ifndef TYPES_H
#define TYPES_H
+#include <string.h>
#include <qcstring.h>
/** @file
@@ -218,4 +219,48 @@ enum FortranFormat
FortranFormat_Fixed
};
+class LocalToc
+{
+ public:
+ enum Type {
+ None = 0, // initial value
+ Html = 0, // index / also to be used as (1 << Definition::Html)
+ Latex = 1, // ...
+ Xml = 2, // ...
+ numTocTypes = 3 // number of enum values
+ };
+ LocalToc() : m_mask(None) { memset(m_level,0,sizeof(m_level)); }
+
+ // setters
+ void enableHtml(int level)
+ {
+ m_mask|=(1<<Html);
+ m_level[Html]=level;
+ }
+ void enableLatex(int level)
+ {
+ m_mask|=(1<<Latex);
+ m_level[Latex]=level;
+ }
+ void enableXml(int level)
+ {
+ m_mask|=(1<<Xml);
+ m_level[Xml]=level;
+ }
+
+ // getters
+ bool isHtmlEnabled() const { return (m_mask & Html)!=0; }
+ bool isLatexEnabled() const { return (m_mask & Latex)!=0; }
+ bool isXmlEnabled() const { return (m_mask & Xml)!=0; }
+ bool nothingEnabled() const { return m_mask == None; }
+ int htmlLevel() const { return m_level[Html]; }
+ int latexLevel() const { return m_level[Latex]; }
+ int xmlLevel() const { return m_level[Xml]; }
+ int mask() const { return m_mask; }
+
+ private:
+ int m_mask;
+ int m_level[numTocTypes];
+};
+
#endif