90 if (e.intf->type()!=o) e.setEnabled(
false);
120 if (e.intf->type()==o) e.setEnabled(
false);
130 if (e.intf->type()==o) e.setEnabled(
true);
139 if (e.intf->type()==o) {
return e.enabled; }
149 e.enabledStack.push(e.enabled);
159 if (!e.enabledStack.empty())
161 e.enabled = e.enabledStack.top();
162 e.enabledStack.pop();
172 if (docStr.
empty())
return;
175 [](
const auto &e) { return e.enabled; });
203 [](
const auto &e) { return e.enabled; });
212 if (ast && count>0)
writeDoc(ast.get(),
nullptr,
nullptr);
225 if (s.empty())
return;
254 const DString &anchor,std::string_view text
269 for (
int i=orgSize;i<lineNr;i++)
279 m_calls.emplace_back([]() {
return true; },
288 m_calls.emplace_back([]() {
return true; },
296 m_calls.emplace_back([]() {
return true; },
308 m_calls.emplace_back([](){
return true; },
315 int lineNumber,
bool writeLineAnchor)
319 [=](
OutputCodeList *ol) { ol->writeLineNumber(ref,file,anchor,lineNumber,writeLineAnchor); },
327 m_calls.emplace_back([](){
return true; },
328 [=](
OutputCodeList *ol) { ol->writeTooltip(
id,docInfo,decl,desc,defInfo,declInfo); },
336 m_calls.emplace_back([](){
return true; },
344 m_calls.emplace_back([](){
return true; },
352 m_calls.emplace_back([]() {
return true; },
360 m_calls.emplace_back([]() {
return true; },
368 m_calls.emplace_back([]() {
return true; },
384 m_calls.emplace_back([]() {
return true; },
385 [=](
OutputCodeList *ol) { ol->startFold(lineNr,startMarker,endMarker); },
392 m_calls.emplace_back([]() {
return true; },
410 bool insideSpecialComment =
false;
412 if (startIndex<endIndex &&
m_calls[startIndex].insideSpecialComment)
415 insideSpecialComment =
true;
419 for (
size_t i=startIndex; i<endIndex; i++)
423 insideSpecialComment =
m_calls[i].insideSpecialComment;
430 if (insideSpecialComment)
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
bool empty() const
Returns true iff the string is empty (std::string compatible alias for isEmpty()).
The common base class of all entity definitions found in the sources.
A model of a class/file/namespace member symbol.
Class representing a list of different code generators.
void startSpecialComment()
void setStripIndentAmount(size_t amount)
void setEnabledFiltered(OutputType o, bool enabled)
Enable or disable a specific generator.
void stripCodeComments(bool b)
void codify(const DString &s) override
void startFold(int lineNr, const DString &startMarker, const DString &endMarker) override
void endCodeFragment(const DString &style) override
void startCodeLine(int) override
void stripCodeComments(bool) override
void writeCodeLink(CodeSymbolType type, const DString &ref, const DString &file, const DString &anchor, const DString &name, const DString &tooltip) override
void endFontClass() override
void startNewLine(int lineNr)
bool m_insideSpecialComment
void startFontClass(const DString &c) override
void startCodeFragment(const DString &style) override
std::vector< size_t > m_lineOffset
void writeCodeAnchor(const DString &name) override
std::vector< CallInfo > m_calls
void replay(OutputCodeList &ol, int startLine, int endLine, bool showLineNumbers, bool stripComment, size_t stripIndentAmount)
void startSpecialComment() override
OutputType type() const override
void endSpecialComment() override
void writeLineNumber(const DString &ref, const DString &file, const DString &anchor, int lineNumber, bool writeLineAnchor) override
void endCodeLine() override
void writeTooltip(const DString &id, const DocLinkInfo &docInfo, const DString &decl, const DString &desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo) override
virtual void startFile(const DString &name, bool isSource, const DString &manName, const DString &title, int id, int hierarchyLevel)=0
Class representing a list of output generators that are written to in parallel.
void writeDoc(const IDocNodeAST *ast, const Definition *ctx, const MemberDef *md, int sectionLevel=-1)
bool isEnabled(OutputType o)
void parseText(const DString &textStr)
void disable(OutputType o)
void writeObjectLink(const DString &ref, const DString &file, const DString &anchor, const DString &name)
OutputCodeList m_codeGenList
void enable(OutputType o)
std::vector< OutputGenElem > m_outputGenList
void docify(const DString &s)
void lineBreak(const DString &style=DString())
OutputList & operator=(const OutputList &ol)
void pushGeneratorState()
void startFile(const DString &name, bool isSource, const DString &manName, const DString &title, int hierarchyLevel=0)
void disableAllBut(OutputType o)
void generateDoc(const DString &fileName, int startLine, const Definition *ctx, const MemberDef *md, const DString &docStr, const DocOptions &options)
void refreshCodeGenerators()
void writeNonBreakableSpace(int num)
TextGeneratorOLImpl(OutputList &ol)
void writeBreak(int indent) const override
void writeLink(const DString &extRef, const DString &file, const DString &anchor, std::string_view text) const override
void writeString(std::string_view s, bool keepSpaces) const override
IDocParserPtr createDocParser()
factory function to create a parser
IDocNodeASTPtr validatingParseText(IDocParser &parserIntf, const DString &input)
IDocNodeASTPtr validatingParseDoc(IDocParser &parserIntf, const DString &fileName, int startLine, const Definition *ctx, const MemberDef *md, const DString &input, const DocOptions &options)
Helper class to pass options when calling OutputList::generateDoc().