]> git.lyx.org Git - lyx.git/blobdiff - src/Paragraph.h
TR1: move TR1 check to config.h / buildsystem
[lyx.git] / src / Paragraph.h
index 2c04b66935081170ee7207d4ccbf552f9d102724..65c0190d62ba1185a5b98e92f648179a281ba034 100644 (file)
 #define PARAGRAPH_H
 
 #include "FontEnums.h"
-#include "Layout.h"
 
 #include "insets/InsetCode.h"
 
 #include "support/strfwd.h"
 #include "support/types.h"
 
+#include <set>
+
 namespace lyx {
 
 class AuthorList;
@@ -42,6 +43,7 @@ class LaTeXFeatures;
 class Inset_code;
 class InsetList;
 class Language;
+class Layout;
 class Font;
 class Font_size;
 class MetricsInfo;
@@ -117,6 +119,8 @@ public:
                            Language const * from, Language const * to);
        ///
        bool isMultiLingual(BufferParams const &) const;
+       ///
+       void getLanguages(std::set<Language const *> &) const;
 
        /// Convert the paragraph to a string.
        /// \param AsStringParameter options. This can contain any combination of
@@ -139,10 +143,10 @@ public:
        ///
        void validate(LaTeXFeatures &) const;
 
-       ///
-       bool latex(BufferParams const &, Font const & outerfont, odocstream &,
+       /// \param force means: output even if layout.inpreamble is true.
+       void latex(BufferParams const &, Font const & outerfont, odocstream &,
                   TexRow & texrow, OutputParams const &,
-                  int start_pos = 0, int end_pos = -1) const;
+                        int start_pos = 0, int end_pos = -1, bool force = false) const;
 
        /// Can we drop the standard paragraph wrapper?
        bool emptyTag() const;
@@ -242,16 +246,16 @@ public:
        /// recompute this value
        void setBeginOfBody();
 
+       ///
+       docstring expandLabel(Layout const &, BufferParams const &) const;
+       ///
+       docstring expandDocBookLabel(Layout const &, BufferParams const &) const;
        ///
        docstring const & labelString() const;
-
        /// the next two functions are for the manual labels
        docstring const getLabelWidthString() const;
        /// Set label width string.
        void setLabelWidthString(docstring const & s);
-       /// Expand the counters for the labelstring of \c layout
-       docstring expandLabel(Layout const &, BufferParams const &,
-               bool process_appendix = true) const;
        /// Actual paragraph alignment used
        char getAlign() const;
        /// The nesting depth of a paragraph
@@ -430,6 +434,9 @@ public:
        std::string magicLabel() const;
 
 private:
+       /// Expand the counters for the labelstring of \c layout
+       docstring expandParagraphLabel(Layout const &, BufferParams const &,
+               bool process_appendix) const;
        ///
        void deregisterWords();
        ///