]> git.lyx.org Git - lyx.git/blobdiff - src/OutputParams.h
Make sure that UpdateLocker is used correctly in the future
[lyx.git] / src / OutputParams.h
index c9129eae3e9dd1d805ccb5d719c884e8d4a52d0d..87d8fcd122abebc74581f017b72ac615e37b6199 100644 (file)
@@ -28,15 +28,17 @@ class Language;
 class OutputParams {
 public:
        enum FLAVOR {
+               DVILUATEX,
                LATEX,
                LUATEX,
                PDFLATEX,
                XETEX,
                XML,
                HTML,
-               TEXT
+               TEXT,
+               LYX
        };
-       
+
        enum MathFlavor {
                NotApplicable,
                MathAsMathML,
@@ -68,10 +70,10 @@ public:
        bool isLaTeX() const;
        /// does this flavour support full unicode?
        bool isFullUnicode() const;
-       
+
        /// Same, but for math output, which only matter is XHTML output.
        MathFlavor math_flavor;
-       
+
        /** Are we to write a 'nice' LaTeX file or not.
            This esentially seems to mean whether InsetInclude, InsetGraphics
            and InsetExternal should add the absolute path to any external
@@ -79,6 +81,12 @@ public:
        */
        bool nice;
 
+       /** Is this a real child (i.e., compiled as a child)?
+           This depends on wherefrom we export the buffer. Even children
+           that have a master can be compiled standalone.
+       */
+       mutable bool is_child;
+
        /** moving_arg == true means that the environment in which the inset
            is typeset is a moving argument. The inset should take care about
            fragile commands by preceding the latex with \\protect.
@@ -91,13 +99,13 @@ public:
        */
        bool intitle;
 
-       /** inulemcmd == true means that the environment in which the
+       /** inulemcmd > 0 means that the environment in which the
            inset is typeset is part of a ulem command (\uline, \uuline,
            \uwave, or \sout). Insets that output latex commands relying
            on local assignments (such as \cite) should enclose such
            commands in \mbox{} in order to avoid breakage.
        */
-       mutable bool inulemcmd;
+       mutable int inulemcmd;
 
        /** the font at the point where the inset is
         */
@@ -108,6 +116,8 @@ public:
        mutable std::string document_language;
 
        /** The master language. Non-null only for child documents.
+           Note that this is not the language of the top level master, but
+           of the direct parent for nested includes.
         */
        mutable Language const * master_language;
 
@@ -197,6 +207,11 @@ public:
         */
        bool inIndexEntry;
 
+       /** Whether we are inside an IPA inset.
+        *  Needed for proper IPA output.
+        */
+       bool inIPA;
+
        /** Whether we are inside an inset that is logically deleted.
         *  A value > 0 indicates a deleted inset.
          */
@@ -204,7 +219,7 @@ public:
 
        /** The change information of the outermost logically deleted inset.
         *  changeOfDeletedInset shall only be evaluated if inDeletedInset > 0.
-         */ 
+         */
        Change changeOfDeletedInset;
 
        /** allow output of only part of the top-level paragraphs
@@ -218,32 +233,50 @@ public:
         */
        mutable pit_type par_end;
 
+       /// Id of the last paragraph before an inset
+       mutable int lastid;
+
+       /// Last position in the last paragraph before an inset
+       mutable int lastpos;
+
        /// is this the last paragraph in the current buffer/inset?
        bool isLastPar;
-       
+
 
        /** whether or not do actual file copying and image conversion
         *  This mode will be used to preview the source code
         */
        bool dryrun;
-       
+
+       /// whether to display output errors or not
+       bool silent;
+
        /// Should we output verbatim or escape LaTeX's special chars?
        bool pass_thru;
-       
+
        /// Should we output captions?
        bool html_disable_captions;
-       
+
        /// Are we already in a paragraph?
        bool html_in_par;
-       
+
        /// Does the present context even permit paragraphs?
        bool html_make_pars;
-       
+
        /// Are we generating this material for inclusion in a TOC-like entity?
        bool for_toc;
-       
+
+       /// Are we generating this material for inclusion in a tooltip?
+       bool for_tooltip;
+
+       /// Are we generating this material for use by advanced search?
+       bool for_search;
+
        /// Include all children notwithstanding the use of \includeonly
        bool includeall;
+
+       /// Explicit output folder, if any is desired
+       std::string export_folder;
 };