]> git.lyx.org Git - lyx.git/blobdiff - src/outputparams.h
- Link against qt-mt333.lib which is what the current qt3 cvs produces
[lyx.git] / src / outputparams.h
index ff0fd7a9fc3fe62b2e350d470d1fc5aac25ef721..0e3ae8c481007994a8904a322c8644cf4e408a6b 100644 (file)
 #ifndef OUTPUTPARAMS_H
 #define OUTPUTPARAMS_H
 
+#include <string>
+
 #include "support/types.h"
+#include <boost/shared_ptr.hpp>
 
 
 class ExportData;
 
 
-struct OutputParams {
+class OutputParams {
+public:
        //
        enum FLAVOR {
                LATEX,
@@ -26,11 +30,8 @@ struct OutputParams {
                XML
        };
 
-       OutputParams()
-               : flavor(LATEX), nice(false), moving_arg(false),
-                 free_spacing(false), use_babel(false),
-                 mixed_content(false), linelen(0), exportdata(0)
-       {}
+       OutputParams();
+       ~OutputParams();
 
        /** The latex that we export depends occasionally on what is to
            compile the file.
@@ -50,6 +51,20 @@ struct OutputParams {
        */
        bool moving_arg;
 
+       /** intitle == true means that the environment in which the
+           inset is typeset is part of a title (before a \maketitle).
+           Footnotes in such environments have moving arguments.
+       */
+       bool intitle;
+
+       /** the babel name of the language at the point where the inset is
+        */
+       std::string local_language;
+
+       /** Document language babel name
+        */
+       mutable std::string document_language;
+
        /** free_spacing == true means that the inset is in a free-spacing
            paragraph.
        */
@@ -59,21 +74,20 @@ struct OutputParams {
        */
        bool use_babel;
 
-       /** Used for docbook to see if inside a region of mixed content.
-           In that case all the white spaces are significant and can not appear
-           at the begin or end.
-       */
-       bool mixed_content;
-
-       /** Line length to use with ascii export.
+       /** Line length to use with plaintext export.
        */
        lyx::size_type linelen;
 
+       /** The depth of the current paragraph, set for plaintext
+        *  export and used by InsetTabular
+        */
+       int depth;
+
        /** Export data filled in by the latex(), docbook() etc methods.
            This is a hack: Make it possible to add stuff to constant
            OutputParams instances.
        */
-       ExportData *exportdata;
+       boost::shared_ptr<ExportData> exportdata;
 };
 
-#endif // LATEXRUNPARAMS_H
+#endif // NOT OUTPUTPARAMS_H