]> git.lyx.org Git - lyx.git/blobdiff - src/outputparams.h
Fix loop when opening TOC widget in an empty document, basically by Richard Heck.
[lyx.git] / src / outputparams.h
index e5976cd7540160a74137eefc9baec90536928433..fa9b98cdf04bd54461a6b6e5f722ffecf580fd88 100644 (file)
 #include <boost/shared_ptr.hpp>
 
 
+namespace lyx {
+
+
+class Encoding;
 class ExportData;
 class LyXFont;
 
@@ -30,7 +34,7 @@ public:
                XML
        };
 
-       OutputParams();
+       OutputParams(Encoding const *);
        ~OutputParams();
 
        /** The latex that we export depends occasionally on what is to
@@ -65,6 +69,25 @@ public:
         */
        mutable std::string document_language;
 
+       /** Current stream encoding. Only used for LaTeX.
+           This must be set to the document encoding (via the constructor)
+           before output starts. Afterwards it must be kept up to date for
+           each single character (\see Paragraph::simpleTeXOnePar).
+           This does also mean that you need to set it back if you use a
+           copy (e.g. in insets): \code
+           int InsetFoo::latex(..., OutputParams const & runparams_in) const
+           {
+               OutputParams runparams(runparams_in);
+               runparams.inComment = true;
+               ...
+               InsetBla::latex(..., runparams);
+               ...
+               runparams_in.encoding = runparams.encoding;
+           }
+           \endcode
+        */
+       mutable Encoding const * encoding;
+
        /** free_spacing == true means that the inset is in a free-spacing
            paragraph.
        */
@@ -76,7 +99,7 @@ public:
 
        /** Line length to use with plaintext export.
        */
-       lyx::size_type linelen;
+       size_type linelen;
 
        /** The depth of the current paragraph, set for plaintext
         *  export and used by InsetTabular
@@ -100,13 +123,13 @@ public:
        /** allow output of only part of the top-level paragraphs 
         *  par_begin: beginning paragraph
         */
-       lyx::pit_type par_begin;
+       pit_type par_begin;
 
        /** allow output of only part of the top-level paragraphs 
         *  par_end: par_end-1 is the ending paragraph
         *  if par_begin=par_end, output all paragraphs
         */
-       lyx::pit_type par_end;
+       pit_type par_end;
 
        /** whether or not do actual file copying and image conversion 
         *  This mode will be used to preview the source code
@@ -114,4 +137,7 @@ public:
        bool dryrun;
 };
 
+
+} // namespace lyx
+
 #endif // NOT OUTPUTPARAMS_H