$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r82424 - sandbox-branches/geometry/index/doc/src/tools/doxygen_xml2qbk
From: adam.wulkiewicz_at_[hidden]
Date: 2013-01-09 16:57:38
Author: awulkiew
Date: 2013-01-09 16:57:37 EST (Wed, 09 Jan 2013)
New Revision: 82424
URL: http://svn.boost.org/trac/boost/changeset/82424
Log:
Added \par and \li support in doxygen_xml2qbk.
Text files modified: 
   sandbox-branches/geometry/index/doc/src/tools/doxygen_xml2qbk/doxygen_xml_parser.hpp |    45 ++++++++++++++++++++++++++++++++++++++++
   1 files changed, 45 insertions(+), 0 deletions(-)
Modified: sandbox-branches/geometry/index/doc/src/tools/doxygen_xml2qbk/doxygen_xml_parser.hpp
==============================================================================
--- sandbox-branches/geometry/index/doc/src/tools/doxygen_xml2qbk/doxygen_xml_parser.hpp	(original)
+++ sandbox-branches/geometry/index/doc/src/tools/doxygen_xml2qbk/doxygen_xml_parser.hpp	2013-01-09 16:57:37 EST (Wed, 09 Jan 2013)
@@ -75,6 +75,23 @@
                 skip = true;
                 return;
             }
+            else if ( boost::equals(name, "itemizedlist") )
+            {
+                contents += "\n\n";
+                parse_para(node->first_node(), contents, skip);
+                contents += "\n[/]";
+                parse_para(node->next_sibling(), contents, skip);
+                return;
+            }
+            else if ( boost::equals(name, "listitem") )
+            {
+                contents += "* ";
+                rapidxml::xml_node<>* li = node->first_node("para");
+                contents += li ? li->value() : "";
+                contents += "\n";
+                parse_para(node->next_sibling(), contents, skip);                
+                return;
+            }
             else if (! (
                 (boost::equals(name, "para") && first)
                 || boost::equals(name, "ref")
@@ -97,6 +114,7 @@
         {
             //std::cout << "OTHER: " << node->name() << "=" << node->value() << std::endl;
         }
+
         parse_para(node->first_node(), contents, skip, false);
         parse_para(node->next_sibling(), contents, skip, false);
     }
@@ -341,6 +359,33 @@
                 parse_parameter_list(node->first_node(), el.template_parameters);
             }
         }
+        else if (full == ".detaileddescription.para.simplesect")
+        {
+            std::string kind = get_attribute(node, "kind");
+            if (kind == "par")
+            {
+                rapidxml::xml_node<> * title_node = node->first_node("title");
+                std::string title = title_node ? title_node->value() : "";
+                
+                std::string m;
+                if ( title_node )
+                    m = std::string("[heading ") + title + "]\n";
+                else
+                    m = "\n\n";
+
+                parse_para(node->first_node("para"), m, el.skip);
+                m += "\n";
+                    
+                el.qbk_markup.push_back(markup(m));
+            }
+            else if (kind == "pre")
+            {
+                std::string para;
+                parse_para(node->first_node("para"), para, el.skip);
+                
+                el.qbk_markup.push_back(markup(std::string("[heading Precondition]\n") + para));
+            }
+        }
         else if (full == ".param")
         {
             // Parse one parameter, and add it to el.parameters