diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2018-07-22 15:19:56 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2018-07-22 15:19:56 (GMT) |
commit | 185d6abdc832e7dd66183a2154a13a546414b96f (patch) | |
tree | 2e37e5d4a6d3250e5b0d5ca02c3e57ba4458ed41 /src/types.h | |
parent | 982fce9e021e5359ec2572cbbb815a47bc822e70 (diff) | |
download | Doxygen-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.h | 45 |
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 |