]> git.lyx.org Git - lyx.git/blobdiff - src/output_linuxdoc.C
GTK graphics dialog: Default to scaling 100% when no scaling or size is given
[lyx.git] / src / output_linuxdoc.C
index 7ce1e932bcbd5b3f601d013e7a00659082907bb5..7db9ab81cba3238d03cb6bef0d1fccd94fc58b27 100644 (file)
 #include "bufferparams.h"
 #include "paragraph.h"
 #include "paragraph_funcs.h"
+#include "ParagraphList_fwd.h"
 #include "ParagraphParameters.h"
 #include "sgml.h"
 
 #include <stack>
 
-#ifdef HAVE_LOCALE
-#endif
-
 using std::ostream;
 using std::stack;
 using std::vector;
@@ -35,28 +33,28 @@ void linuxdocParagraphs(Buffer const & buf,
                        ostream & os,
                        OutputParams const & runparams)
 {
-       
+
        Paragraph::depth_type depth = 0; // paragraph depth
        string item_name;
        vector<string> environment_stack(5);
 
-       ParagraphList::iterator pit = const_cast<ParagraphList&>(paragraphs).begin();
-       ParagraphList::iterator pend = const_cast<ParagraphList&>(paragraphs).end();
+       ParagraphList::const_iterator pit = paragraphs.begin();
+       ParagraphList::const_iterator pend = paragraphs.end();
        for (; pit != pend; ++pit) {
                LyXLayout_ptr const & style = pit->layout();
                // treat <toc> as a special case for compatibility with old code
-               if (pit->isInset(0)) {
-                       InsetBase * inset = pit->getInset(0);
-                       if (inset->lyxCode() == InsetOld::TOC_CODE) {
+               if (!pit->empty() && pit->isInset(0)) {
+                       InsetBase const * inset = pit->getInset(0);
+                       if (inset->lyxCode() == InsetBase::TOC_CODE) {
                                string const temp = "toc";
-                               sgml::openTag(os, depth, false, temp);
+                               sgml::openTag(os, temp);
                                continue;
                        }
                }
 
                // environment tag closing
                for (; depth > pit->params().depth(); --depth) {
-                       sgml::closeTag(os, depth, false, environment_stack[depth]);
+                       sgml::closeTag(os, environment_stack[depth]);
                        environment_stack[depth].erase();
                }
 
@@ -65,28 +63,29 @@ void linuxdocParagraphs(Buffer const & buf,
                case LATEX_PARAGRAPH:
                        if (depth == pit->params().depth()
                           && !environment_stack[depth].empty()) {
-                               sgml::closeTag(os, depth, false, environment_stack[depth]);
+                               sgml::closeTag(os, environment_stack[depth]);
                                environment_stack[depth].erase();
                                if (depth)
                                        --depth;
                                else
                                        os << "</p>";
                        }
-                       sgml::openTag(os, depth, false, style->latexname());
+                       sgml::openTag(os, style->latexname());
                        break;
 
                case LATEX_COMMAND:
+#if 0
                        if (depth != 0)
-                               //error(ErrorItem(_("Error:"), _("Wrong depth for LatexType Command.\n"), pit->id(), 0, pit->size()));
-                               ;
+                               error(ErrorItem(_("Error:"), _("Wrong depth for LatexType Command.\n"), pit->id(), 0, pit->size()));
+#endif
 
                        if (!environment_stack[depth].empty()) {
-                               sgml::closeTag(os, depth, false, environment_stack[depth]);
+                               sgml::closeTag(os, environment_stack[depth]);
                                os << "</p>";
                        }
 
                        environment_stack[depth].erase();
-                       sgml::openTag(os, depth, false, style->latexname());
+                       sgml::openTag(os, style->latexname());
                        break;
 
                case LATEX_ENVIRONMENT:
@@ -96,8 +95,7 @@ void linuxdocParagraphs(Buffer const & buf,
 
                        if (depth == pit->params().depth()
                            && environment_stack[depth] != latexname) {
-                               sgml::closeTag(os, depth, false,
-                                            environment_stack[depth]);
+                               sgml::closeTag(os, environment_stack[depth]);
                                environment_stack[depth].erase();
                        }
                        if (depth < pit->params().depth()) {
@@ -106,9 +104,9 @@ void linuxdocParagraphs(Buffer const & buf,
                        }
                        if (environment_stack[depth] != latexname) {
                                if (depth == 0) {
-                                       sgml::openTag(os, depth, false, "p");
+                                       sgml::openTag(os, "p");
                                }
-                               sgml::openTag(os, depth, false, latexname);
+                               sgml::openTag(os, latexname);
 
                                if (environment_stack.size() == depth + 1)
                                        environment_stack.push_back("!-- --");
@@ -125,16 +123,17 @@ void linuxdocParagraphs(Buffer const & buf,
                        else
                                item_name = "item";
 
-                       sgml::openTag(os, depth + 1, false, item_name);
+                       sgml::openTag(os, item_name);
                }
                break;
 
                default:
-                       sgml::openTag(os, depth, false, style->latexname());
+                       sgml::openTag(os, style->latexname());
                        break;
                }
 
-               pit->simpleLinuxDocOnePar(buf, os, outerFont(pit, paragraphs),
+               pit->simpleLinuxDocOnePar(buf, os,
+                       outerFont(pit - paragraphs.begin(), paragraphs),
                                          runparams, depth);
 
                os << "\n";
@@ -149,14 +148,12 @@ void linuxdocParagraphs(Buffer const & buf,
                                os << "]]>";
                        break;
                default:
-                       sgml::closeTag(os, depth, false, style->latexname());
+                       sgml::closeTag(os, style->latexname());
                        break;
                }
        }
 
        // Close open tags
        for (int i = depth; i >= 0; --i)
-               sgml::closeTag(os, depth, false, environment_stack[i]);
+               sgml::closeTag(os, environment_stack[i]);
 }
-
-