From dbe30ee76f2d66db56242c918dd66208e1b5b977 Mon Sep 17 00:00:00 2001
From: g0dil <g0dil@wiback.org>
Date: Fri, 2 May 2008 09:23:08 +0000
Subject: [PATCH] Console: Remove senf_console_add_node() overloads from
 documentation Further detailed doc reformatting

---
 Console/Node.cci            |  3 +++
 Console/ParsedCommand.cti   |  4 ++++
 Console/ScopedDirectory.cti |  4 ++++
 Console/Variables.cti       |  4 ++++
 Console/Variables.hh        |  4 ++++
 doclib/html-munge.xsl       | 22 ++++++++++++++++------
 doclib/senf.css             | 10 ++++++++++
 7 files changed, 45 insertions(+), 6 deletions(-)

diff --git a/Console/Node.cci b/Console/Node.cci
index 8fe2c2bca..0193989b3 100644
--- a/Console/Node.cci
+++ b/Console/Node.cci
@@ -253,6 +253,8 @@ prefix_ senf::console::SimpleCommandNode::cptr senf::console::SimpleCommandNode:
     return boost::static_pointer_cast<SimpleCommandNode const>(shared_from_this());
 }
 
+#ifndef DOXYGEN
+
 prefix_ senf::console::SimpleCommandNode &
 senf::console::senf_console_add_node(DirectoryNode & node, std::string const & name,
                                      SimpleCommandNode::Function fn, int)
@@ -260,6 +262,7 @@ senf::console::senf_console_add_node(DirectoryNode & node, std::string const & n
     return node.add(name, SimpleCommandNode::create(fn));
 }
 
+#endif
 
 ///////////////////////////////cci.e///////////////////////////////////////
 #undef prefix_
diff --git a/Console/ParsedCommand.cti b/Console/ParsedCommand.cti
index 0ba97d28b..61b447f22 100644
--- a/Console/ParsedCommand.cti
+++ b/Console/ParsedCommand.cti
@@ -375,6 +375,8 @@ namespace detail {
 
 }}}
 
+#ifndef DOXYGEN
+
 template <class Function>
 typename senf::console::detail::ParsedCommandTraits<Function>::Attributor
 senf::console::senf_console_add_node(DirectoryNode & node, std::string const & name,
@@ -401,6 +403,8 @@ senf::console::senf_console_add_node(DirectoryNode & node, Owner & owner, std::s
         node, name, senf::membind(fn,&owner));
 }
 
+#endif
+
 ///////////////////////////////cti.e///////////////////////////////////////
 #undef prefix_
 
diff --git a/Console/ScopedDirectory.cti b/Console/ScopedDirectory.cti
index d2ab881bb..40c7e2558 100644
--- a/Console/ScopedDirectory.cti
+++ b/Console/ScopedDirectory.cti
@@ -70,6 +70,8 @@ senf::console::ScopedDirectory<Owner>::add(std::string const & name, Object & ob
     return OwnerNodeCreateTraits<Owner, Object>::Creator::create(node(), *owner_, name, ob);
 }
 
+#ifndef DOXYGEN
+
 template <class Owner, class Function>
 prefix_ senf::console::SimpleCommandNode & senf::console::
 senf_console_add_node(DirectoryNode & node, Owner & , std::string const & name,
@@ -94,6 +96,8 @@ senf_console_add_node(DirectoryNode & dir, std::string const & name, Node const
     return dir.add(name, node.node().thisptr());
 }
 
+#endif
+
 ///////////////////////////////////////////////////////////////////////////
 // senf::console::ScopedDirectory<void>
 
diff --git a/Console/Variables.cti b/Console/Variables.cti
index c5ca630da..0e9367f73 100644
--- a/Console/Variables.cti
+++ b/Console/Variables.cti
@@ -177,6 +177,8 @@ senf::console::detail::VariableNodeCreator<Variable, true>::add(DirectoryNode &
     return ConstVariableAttributor<Variable>(queryOverload);
 }
 
+#ifndef DOXYGEN
+
 template <class Variable>
 prefix_ senf::console::VariableAttributor<Variable> senf::console::
 senf_console_add_node(DirectoryNode & node, std::string const & name, Variable & var, int,
@@ -193,6 +195,8 @@ senf::console::senf_console_add_node(DirectoryNode & node, std::string const & n
     return detail::VariableNodeCreator<Variable>::add(node, name, var.get());
 }
 
+#endif
+
 ///////////////////////////////cti.e///////////////////////////////////////
 #undef prefix_
 
diff --git a/Console/Variables.hh b/Console/Variables.hh
index f6a271747..1afc654c2 100644
--- a/Console/Variables.hh
+++ b/Console/Variables.hh
@@ -42,6 +42,8 @@ namespace console {
     class ScopedDirectoryBase;
     template <class Variable> class VariableAttributor;
 
+#ifndef DOXYGEN
+
     template <class Variable>
     VariableAttributor<Variable> senf_console_add_node(
         DirectoryNode & node, std::string const & name, Variable & var, int,
@@ -52,6 +54,8 @@ namespace console {
     senf_console_add_node(DirectoryNode & node, std::string const & name, 
                           boost::reference_wrapper<Variable> var, int);
 
+#endif
+
     /** \brief Variable command attributes (const)
         
         \see VariableAttributor
diff --git a/doclib/html-munge.xsl b/doclib/html-munge.xsl
index 09c5bed54..4ff142f9d 100644
--- a/doclib/html-munge.xsl
+++ b/doclib/html-munge.xsl
@@ -205,9 +205,15 @@
 
   <!-- Reformat detailed member documentation -->
 
-  <xsl:template match="table[@class='memname'][contains(preceding::h1[1],' Class ')][contains(preceding::h1[1],' Reference')]">
-    <xsl:variable name="name"><xsl:value-of select="str:split(tr/td[@class='memname'],'::')[position()=last()]"/></xsl:variable>
-    <table class="memname">
+  <xsl:template match="table[@class='memname']">
+    <xsl:variable name="name1"><xsl:value-of select="str:split(tr/td[@class='memname'],'::')[position()=last()]"/></xsl:variable>
+    <xsl:variable name="name2"><xsl:value-of select="str:split(tr/td[@class='memname'],' ')[position()=last()]"/></xsl:variable>
+    <xsl:variable name="name"><xsl:value-of select="substring($name1,string-length($name1)-string-length($name2))"/></xsl:variable>
+    <xsl:element name="table">
+      <xsl:attribute name="class">
+        <xsl:text>memname</xsl:text>
+        <xsl:if test="contains(tr/td[@class='memname'],'#define')"><xsl:text> macro</xsl:text></xsl:if>
+      </xsl:attribute>
       <tr>
         <td class="memtype" colspan="5">
           <xsl:for-each select="tr/td[@class='memname']/*|tr/td[@class='memname']/text()">
@@ -254,9 +260,13 @@
         </xsl:otherwise>
       </xsl:choose>
       <tr>
-        <td colspan="5" class="memattrs"><xsl:copy-of select="tr/td[@width='100%']/code"/></td>
+        <td colspan="5" class="memattrs"><xsl:copy-of select="tr/td[@width='100%']/*|tr/td[@width='100%']/text()"/></td>
       </tr>
-    </table>
+    </xsl:element>
+  </xsl:template>
+
+  <!-- no idea, where these &nbsp;'s come frome ... -->
+  <xsl:template match="div[@class='memproto']/text()[.='&#160;&#x0a;']">
   </xsl:template>
 
   <!-- Add grouping to all-members page -->
@@ -480,7 +490,7 @@
   </xsl:template>
 
   <!-- Add CSS class to the brief documentation paragraph of the member documentation -->
-  <xsl:template match="div[@class='memdoc']/p[1]">
+  <xsl:template match="div[@class='memdoc']/p[1][not(contains(.,'Definition at line'))]">
     <xsl:call-template name="add-class">
       <xsl:with-param name="class">memtitle</xsl:with-param>
     </xsl:call-template>
diff --git a/doclib/senf.css b/doclib/senf.css
index 86ea61aa4..d52ebefb3 100644
--- a/doclib/senf.css
+++ b/doclib/senf.css
@@ -585,6 +585,16 @@ table.memname td.memattrs {
         text-align: right;
 }
 
+table.memname.macro td.paramtype {
+        text-align: left;
+	color: #602020;
+        font-style: italic;
+}
+
+table.memname.macro td.memattrs {
+        display: none;
+}
+
 /* 
  * Local Variables:
  * indent-tabs-mode: nil
-- 
GitLab