]> git.lyx.org Git - lyx.git/blobdiff - src/sgml.cpp
* Get rid of LFUN_TOC_INSERT: we use LFUN_INSET_INSERT "toc".
[lyx.git] / src / sgml.cpp
index 6568a35bcd4ae172661339885e9db06a23b62bcb..985478498a3583dfee1b1325f56a99f39cad55b0 100644 (file)
@@ -3,7 +3,7 @@
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
- * \author José Matos
+ * \author José Matos
  * \author John Levon
  *
  * Full author contact details are available in file CREDITS.
 #include "support/textutils.h"
 
 #include <map>
-#include <ostream>
 
+using namespace std;
+using namespace lyx::support;
 
 namespace lyx {
 
-using support::subst;
-
-using std::map;
-using std::ostream;
-using std::ostringstream;
-using std::string;
 
 docstring sgml::escapeChar(char_type c)
 {
@@ -125,9 +120,9 @@ docstring sgml::cleanID(Buffer const & buf, OutputParams const & runparams,
        // and adds a number for uniqueness.
        // If you know what you are doing, you can set allowed==""
        // to disable this mangling.
-       TextClass const & tclass = buf.params().getTextClass();
+       DocumentClass const & tclass = buf.params().documentClass();
        docstring const allowed = from_ascii(
-               runparams.flavor == OutputParams::XML? ".-_:":tclass.options());
+               runparams.flavor == OutputParams::XML ? ".-_:" : tclass.options());
 
        if (allowed.empty())
                return orig;
@@ -143,7 +138,7 @@ docstring sgml::cleanID(Buffer const & buf, OutputParams const & runparams,
 
        MangledMap::const_iterator const known = mangledNames.find(orig);
        if (known != mangledNames.end())
-               return (*known).second;
+               return known->second;
 
        // make sure it starts with a letter
        if (!isAlphaASCII(*it) && allowed.find(*it) >= allowed.size())
@@ -205,10 +200,10 @@ void sgml::closeTag(odocstream & os, string const & name)
 void sgml::openTag(Buffer const & buf, odocstream & os,
        OutputParams const & runparams, Paragraph const & par)
 {
-       LayoutPtr const & style = par.layout();
-       string const & name = style->latexname();
-       string param = style->latexparam();
-       Counters & counters = buf.params().getTextClass().counters();
+       Layout const & style = par.layout();
+       string const & name = style.latexname();
+       string param = style.latexparam();
+       Counters & counters = buf.params().documentClass().counters();
 
        string id = par.getID(buf, runparams);
 
@@ -224,10 +219,13 @@ void sgml::openTag(Buffer const & buf, odocstream & os,
        } else {
                if (param.find('#') != string::npos) {
                        // FIXME UNICODE
-                       if (!style->counter.empty())
-                               counters.step(style->counter);
+                       if (!style.counter.empty())
+                               // This uses InternalUpdate at the moment becuase sgml output
+                               // does not do anything with tracked counters, and it would need
+                               // to track layouts if it did want to use them.
+                               counters.step(style.counter, InternalUpdate);
                        else
-                               counters.step(from_ascii(name));
+                               counters.step(from_ascii(name), InternalUpdate);
                        int i = counters.value(from_ascii(name));
                        attribute = subst(param, "#", convert<string>(i));
                } else {
@@ -240,8 +238,8 @@ void sgml::openTag(Buffer const & buf, odocstream & os,
 
 void sgml::closeTag(odocstream & os, Paragraph const & par)
 {
-       LayoutPtr const & style = par.layout();
-       closeTag(os, style->latexname());
+       Layout const & style = par.layout();
+       closeTag(os, style.latexname());
 }