]> git.lyx.org Git - lyx.git/blobdiff - src/BufferParams.h
Set svn:eol-style.
[lyx.git] / src / BufferParams.h
index 2606e6fc3148de89ccd0198c85b09b331bef000b..2c4828e1c48ecae4a03a6813da4ce6f1579940cf 100644 (file)
@@ -16,7 +16,9 @@
 #define BUFFERPARAMS_H
 
 #include "Citation.h"
+#include "Format.h"
 #include "LayoutModuleList.h"
+#include "OutputParams.h"
 #include "paper.h"
 
 #include "insets/InsetQuotes.h"
@@ -24,6 +26,7 @@
 #include "support/copied_ptr.h"
 
 #include <map>
+#include <vector>
 
 namespace lyx {
 
@@ -82,7 +85,7 @@ public:
         *  the BufferParams, a LyXRC variable, and the document class).
         *  This returned value can then be passed to the insets...
         */
-       bool writeLaTeX(odocstream &, LaTeXFeatures &, TexRow &,
+       bool writeLaTeX(otexstream &, LaTeXFeatures &,
                        support::FileName const &) const;
 
        ///
@@ -153,6 +156,29 @@ public:
        /// Clear the removed module list
        void clearRemovedModules() { removed_modules_.clear(); }
 
+       /// returns \c true if the buffer contains a LaTeX document
+       bool isLatex() const;
+       /// returns \c true if the buffer contains a DocBook document
+       bool isDocBook() const;
+       /// returns \c true if the buffer contains a Wed document
+       bool isLiterate() const;
+
+       /// return the format of the buffer on a string
+       std::string bufferFormat() const;
+       /// return the default output format of the current backend
+       std::string getDefaultOutputFormat() const;
+       /// return the output flavor of \p format or the default
+       OutputParams::FLAVOR getOutputFlavor(
+                 std::string const format = std::string()) const;
+       ///
+       bool isExportable(std::string const & format) const;
+       ///
+       std::vector<Format const *> exportableFormats(bool only_viewable) const;
+       ///
+       bool isExportableFormat(std::string const & format) const;
+       ///
+       std::vector<std::string> backends() const;
+
        /// List of included children (for includeonly)
        std::list<std::string> const & getIncludedChildren() const 
                        { return included_children_; }
@@ -236,6 +262,8 @@ public:
        int tocdepth;
        ///
        Language const * language;
+       /// language package
+       std::string lang_package;
        /// BranchList:
        BranchList & branchlist();
        BranchList const & branchlist() const;
@@ -365,8 +393,7 @@ public:
        /// return supported drivers for specific packages
        docstring getGraphicsDriver(std::string const & package) const;
        /// handle inputenc etc.
-       void writeEncodingPreamble(odocstream & os, LaTeXFeatures & features,
-                                             TexRow & texrow) const;
+       void writeEncodingPreamble(otexstream & os, LaTeXFeatures & features) const;
        ///
        std::string const parseFontName(std::string const & name) const;
        /// set up the document fonts
@@ -404,6 +431,8 @@ public:
        std::string html_latex_start;
        ///
        std::string html_latex_end;
+       ///
+       bool html_css_as_file;
        /// generate output usable for reverse/forward search
        bool output_sync;
        /// custom LaTeX macro from user instead our own
@@ -411,6 +440,10 @@ public:
        /// use refstyle? or prettyref?
        bool use_refstyle;
 
+       /// Return true if language could be set to lang,
+       /// otherwise return false and do not change language
+       bool setLanguage(std::string const & lang);
+
 private:
        ///
        void readPreamble(Lexer &);
@@ -430,6 +463,10 @@ private:
        void readRemovedModules(Lexer &);
        ///
        void readIncludeonly(Lexer &);
+       /// A cache for the default flavors
+       typedef std::map<std::string, OutputParams::FLAVOR> DefaultFlavorCache;
+       ///
+       mutable DefaultFlavorCache default_flavors_;
        /// for use with natbib
        CiteEngine cite_engine_;
        ///