summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2021-06-15 17:51:13 (GMT)
committerGitHub <noreply@github.com>2021-06-15 17:51:13 (GMT)
commita5b18512cc0071bd3859248ddda3694844a6c8a3 (patch)
treeba5bb42033278144b0731497ae31173fee8465e2
parent6200bc83119593e1f37adae88284a2d3bf8beed6 (diff)
parentcfedd3139bba1911b0f7f70dda4799a5352100e4 (diff)
downloadDoxygen-a5b18512cc0071bd3859248ddda3694844a6c8a3.zip
Doxygen-a5b18512cc0071bd3859248ddda3694844a6c8a3.tar.gz
Doxygen-a5b18512cc0071bd3859248ddda3694844a6c8a3.tar.bz2
Merge pull request #8599 from albert-github/feature/bug_docbook_inline
Implementation functions for INLINE_SIMPLE_STRUCTS for docbook output
-rw-r--r--src/docbookgen.cpp73
-rw-r--r--src/docbookgen.h17
2 files changed, 81 insertions, 9 deletions
diff --git a/src/docbookgen.cpp b/src/docbookgen.cpp
index 38d1141..d15408d 100644
--- a/src/docbookgen.cpp
+++ b/src/docbookgen.cpp
@@ -856,7 +856,7 @@ void DocbookGenerator::startDoxyAnchor(const QCString &fName,const QCString &,
const QCString &)
{
DB_GEN_C
- if (!m_inListItem[m_levelListItem] && !m_descTable)
+ if (!m_inListItem[m_levelListItem] && !m_descTable && !m_simpleTable)
{
if (!m_firstMember) m_t << " </section>";
m_firstMember = FALSE;
@@ -1030,6 +1030,77 @@ DB_GEN_C
addIndexTerm(m_t, prim, sec);
}
+void DocbookGenerator::startMemberDocSimple(bool isEnum)
+{
+DB_GEN_C
+ int ncols;
+ QCString title;
+ if (isEnum)
+ {
+ ncols = 2;
+ title = theTranslator->trEnumerationValues();
+ }
+ else
+ {
+ ncols = 3;
+ title = theTranslator->trCompoundMembers();
+ }
+ m_t << "<table frame=\"all\">\n";
+ if (!title.isEmpty()) m_t << "<title>" << convertToDocBook(title) << "</title>\n";
+ m_t << " <tgroup cols=\"" << ncols << "\" align=\"left\" colsep=\"1\" rowsep=\"1\">\n";
+ for (int i = 0; i < ncols; i++)
+ {
+ m_t << " <colspec colname='c" << i+1 << "'/>\n";
+ }
+ m_t << "<tbody>\n";
+ m_simpleTable = true;
+}
+
+void DocbookGenerator::endMemberDocSimple(bool isEnum)
+{
+DB_GEN_C
+ m_t << " </tbody>\n";
+ m_t << " </tgroup>\n";
+ m_t << "</table>\n";
+ m_simpleTable = false;
+}
+
+void DocbookGenerator::startInlineMemberType()
+{
+DB_GEN_C
+ m_t << "<row><entry>";
+}
+
+void DocbookGenerator::endInlineMemberType()
+{
+DB_GEN_C
+ m_t << "</entry>";
+}
+
+void DocbookGenerator::startInlineMemberName()
+{
+DB_GEN_C
+ m_t << "<entry>";
+}
+
+void DocbookGenerator::endInlineMemberName()
+{
+DB_GEN_C
+ m_t << "</entry>";
+}
+
+void DocbookGenerator::startInlineMemberDoc()
+{
+DB_GEN_C
+ m_t << "<entry>";
+}
+
+void DocbookGenerator::endInlineMemberDoc()
+{
+DB_GEN_C
+ m_t << "</entry></row>\n";
+}
+
void DocbookGenerator::startDescTable(const QCString &title)
{
DB_GEN_C
diff --git a/src/docbookgen.h b/src/docbookgen.h
index f2c00bf..4c92678 100644
--- a/src/docbookgen.h
+++ b/src/docbookgen.h
@@ -321,14 +321,14 @@ class DocbookGenerator : public OutputGenerator
void endConstraintDocs();
void endConstraintList();
- void startMemberDocSimple(bool){DB_GEN_NEW};
- void endMemberDocSimple(bool){DB_GEN_NEW};
- void startInlineMemberType(){DB_GEN_NEW};
- void endInlineMemberType(){DB_GEN_NEW};
- void startInlineMemberName(){DB_GEN_NEW};
- void endInlineMemberName(){DB_GEN_NEW};
- void startInlineMemberDoc(){DB_GEN_NEW};
- void endInlineMemberDoc(){DB_GEN_NEW};
+ void startMemberDocSimple(bool);
+ void endMemberDocSimple(bool);
+ void startInlineMemberType();
+ void endInlineMemberType();
+ void startInlineMemberName();
+ void endInlineMemberName();
+ void startInlineMemberDoc();
+ void endInlineMemberDoc();
void startLabels();
void writeLabel(const QCString &,bool);
@@ -349,6 +349,7 @@ private:
bool m_inListItem[20] = { false, };
bool m_inSimpleSect[20] = { false, };
bool m_descTable = false;
+ bool m_simpleTable = false;
int m_inLevel = -1;
bool m_firstMember = false;
};