X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FConverter.h;h=9a72d8c708c9c68602650083446671ee0cb88954;hb=74c9165190133af19c95584e4922ed749db0f9fe;hp=c5a752004ad09be0e91b1ec9a8a2034420b2fc5b;hpb=bd47bb4fd56593589027cbf7647f5cf5d4540450;p=lyx.git diff --git a/src/Converter.h b/src/Converter.h index c5a752004a..9a72d8c708 100644 --- a/src/Converter.h +++ b/src/Converter.h @@ -14,8 +14,10 @@ #include "Graph.h" #include "OutputParams.h" +#include "support/trivstring.h" #include +#include #include @@ -39,32 +41,73 @@ public: /// void readFlags(); /// - std::string from; + std::string const from() const { return from_; } /// - std::string to; + std::string const to() const { return to_; } /// - std::string command; + std::string const command() const { return command_; } /// - std::string flags; + void setCommand(std::string const & command) { command_ = command; } /// - Format const * From; + std::string const flags() const { return flags_; } /// - Format const * To; + void setFlags(std::string const & flags) { flags_ = flags; } + /// + Format const * From() const { return From_; } + /// + void setFrom(Format const * From) { From_ = From; } + /// + void setTo(Format const * To) { To_ = To; } + /// + Format const * To() const { return To_; } + /// + bool latex() const { return latex_; } + /// + std::string const latex_flavor() const { return latex_flavor_; } + /// + bool xml() const { return xml_; } + /// + bool need_aux() const { return need_aux_; } + /// + bool nice() const { return nice_; } + /// + std::string const result_dir() const { return result_dir_; } + /// + std::string const result_file() const { return result_file_; } + /// + std::string const parselog() const { return parselog_; } +private: + /// + trivstring from_; + /// + trivstring to_; + /// + trivstring command_; + /// + trivstring flags_; + /// + Format const * From_; + /// + Format const * To_; /// The converter is latex or its derivatives - bool latex; + bool latex_; + /// The latex derivate + trivstring latex_flavor_; /// The converter is xml - bool xml; + bool xml_; /// This converter needs the .aux files - bool need_aux; + bool need_aux_; + /// we need a "nice" file from the backend, c.f. OutputParams.nice. + bool nice_; /// If the converter put the result in a directory, then result_dir /// is the name of the directory - std::string result_dir; + trivstring result_dir_; /// If the converter put the result in a directory, then result_file /// is the name of the main file in that directory - std::string result_file; + trivstring result_file_; /// Command to convert the program output to a LaTeX log file format - std::string parselog; + trivstring parselog_; }; @@ -75,6 +118,7 @@ public: typedef std::vector ConverterList; /// typedef ConverterList::const_iterator const_iterator; + /// Converter const & get(int i) const { return converterlist_[i]; } /// @@ -88,14 +132,13 @@ public: // void erase(std::string const & from, std::string const & to); /// - void sort(); - /// std::vector const getReachableTo(std::string const & target, bool clear_visited); /// std::vector const getReachable(std::string const & from, bool only_viewable, - bool clear_visited); + bool clear_visited, + std::set const & excludes = std::set()); std::vector importableFormats(); std::vector exportableFormats(bool only_viewable); @@ -108,7 +151,8 @@ public: /// Graph::EdgePath getPath(std::string const & from, std::string const & to); /// - OutputParams::FLAVOR getFlavor(Graph::EdgePath const & path); + OutputParams::FLAVOR getFlavor(Graph::EdgePath const & path, + Buffer const * buffer = 0); /// Flags for converting files enum ConversionFlags { /// No special flags @@ -149,7 +193,15 @@ private: /// ConverterList converterlist_; /// - std::string latex_command_; + trivstring latex_command_; + /// + trivstring dvilualatex_command_; + /// + trivstring lualatex_command_; + /// + trivstring pdflatex_command_; + /// + trivstring xelatex_command_; /// If \p from = /path/file.ext and \p to = /path2/file2.ext2 then /// this method moves each /path/file*.ext file to /path2/file2*.ext2 bool move(std::string const & fmt,