X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fconverter.h;h=b247d363a34521d3db6498e7404d451168e31690;hb=2e57f2ff0ae7cd4a6efbf634ffe6d2f4379d9cfc;hp=d9d823abcddd21f190ddd9fce500bbdd82e9012f;hpb=9a3176581dc3e9aee62d908faf8d48ddb43d4cc3;p=lyx.git diff --git a/src/converter.h b/src/converter.h index d9d823abcd..b247d363a3 100644 --- a/src/converter.h +++ b/src/converter.h @@ -1,148 +1,36 @@ // -*- C++ -*- -/* This file is part of - * ====================================================== - * - * LyX, The Document Processor - * - * Copyright 1995 Matthias Ettrich - * Copyright 1995-2000 The LyX Team. - * - * ====================================================== */ #ifndef CONVERTER_H #define CONVERTER_H -#ifdef __GNUG__ -#pragma interface -#endif - -#include -#include -#include "LString.h" -#include "support/lstrings.h" - -class Buffer; - -/// -class Format { -public: - /// - Format(string const & n, string const & e, string const & p, - string const & s, string const & v) : - name_(n), extension_(e), prettyname_(p), shortcut_(s), - viewer_(v) {}; - /// - bool dummy() const; - /// - bool IsChildFormat() const; - /// - string const ParentFormat() const; - /// - string const & name() const { - return name_; - } - /// - string const & extension() const { - return extension_; - } - /// - string const & prettyname() const { - return prettyname_; - } - /// - string const & shortcut() const { - return shortcut_; - } - /// - string const & viewer() const { - return viewer_; - } - /// - void setViewer(string const & v) { - viewer_ = v; - } -private: - string name_; - /// - string extension_; - /// - string prettyname_; - /// - string shortcut_; - /// - string viewer_; -}; +/** + * \file converter.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. + * + * \author Dekel Tsur + * + * Full author contact details are available in file CREDITS + */ +#include "latexrunparams.h" +#include "graph.h" -inline -bool operator<(Format const & a, Format const & b) -{ - return compare_no_case(a.prettyname(),b.prettyname()) < 0; -} +#include +class Format; +class Formats; -/// -class Formats { -public: - /// - typedef std::vector FormatList; - /// - typedef FormatList::const_iterator const_iterator; - /// - Format const & Get(int i) const { - return formatlist[i]; - } - /// - Format const * GetFormat(string const & name) const; - /// - int GetNumber(string const & name) const; - /// - void Add(string const & name); - /// - void Add(string const & name, string const & extension, - string const & prettyname, string const & shortcut); - /// - void Delete(string const & name); - /// - void Sort(); - /// - void SetViewer(string const & name, string const & command); - /// - bool View(Buffer const * buffer, string const & filename, - string const & format_name) const; - /// - string const PrettyName(string const & name) const; - /// - string const Extension(string const & name) const; - /// - const_iterator begin() const { - return formatlist.begin(); - } - /// - const_iterator end() const { - return formatlist.end(); - } - /// - FormatList::size_type size() const { - return formatlist.size(); - } -private: - /// - FormatList formatlist; -}; - -/////////////////////////////////////////////////////////////////////// +class Buffer; /// class Converter { public: /// Converter(string const & f, string const & t, string const & c, - string const & l) - : from(f), to(t), command(c), flags(l), From(0), To(0), - latex(false), original_dir(false), need_aux(false) {} + string const & l); /// - void ReadFlags(); + void readFlags(); /// string from; /// @@ -176,102 +64,86 @@ public: /// class Converters { public: - typedef std::vector ConverterList; /// - typedef ConverterList::const_iterator const_iterator; + typedef std::vector EdgePath; // to be removed SOON /// - typedef std::vector EdgePath; + typedef std::vector ConverterList; /// - Converter const & Get(int i) const { - return converterlist[i]; + typedef ConverterList::const_iterator const_iterator; + /// + Converter const & get(int i) const { + return converterlist_[i]; } /// - Converter const * GetConverter(string const & from, string const & to); + Converter const * getConverter(string const & from, string const & to); /// - int GetNumber(string const & from, string const & to); + int getNumber(string const & from, string const & to); /// - void Add(string const & from, string const & to, + void add(string const & from, string const & to, string const & command, string const & flags); // - void Delete(string const & from, string const & to); + void erase(string const & from, string const & to); /// - void Sort(); + void sort(); /// std::vector const - GetReachableTo(string const & target, bool clear_visited); + getReachableTo(string const & target, bool clear_visited); /// std::vector const - GetReachable(string const & from, bool only_viewable, + getReachable(string const & from, bool only_viewable, bool clear_visited); /// - bool IsReachable(string const & from, string const & to); + bool isReachable(string const & from, string const & to); /// - EdgePath const GetPath(string const & from, string const & to); + Graph::EdgePath const getPath(string const & from, string const & to); /// - bool UsePdflatex(EdgePath const & path); + bool usePdflatex(Graph::EdgePath const & path); /// - bool Convert(Buffer const * buffer, + bool convert(Buffer const * buffer, string const & from_file, string const & to_file_base, string const & from_format, string const & to_format, string & to_file); /// - bool Convert(Buffer const * buffer, + bool convert(Buffer const * buffer, string const & from_file, string const & to_file_base, string const & from_format, string const & to_format); /// - string const papersize(Buffer const * buffer); - /// - string const dvips_options(Buffer const * buffer); - /// - string const dvipdfm_options(Buffer const * buffer); + void update(Formats const & formats); /// - void Update(Formats const & formats); + void updateLast(Formats const & formats); /// - void UpdateLast(Formats const & formats); - /// - void BuildGraph(); - /// - bool FormatIsUsed(string const & format); + bool formatIsUsed(string const & format); /// const_iterator begin() const { - return converterlist.begin(); + return converterlist_.begin(); } const_iterator end() const { - return converterlist.end(); + return converterlist_.end(); } -private: - /// - bool scanLog(Buffer const * buffer, string const & command, - string const & filename); /// - bool runLaTeX(Buffer const * buffer, string const & command); - /// - ConverterList converterlist; + void buildGraph(); +private: /// - string latex_command; + std::vector const + Converters::intToFormat(std::vector const & input); /// - struct Vertex { - std::vector in_vertices; - std::vector out_vertices; - std::vector out_edges; - }; + bool scanLog(Buffer const * buffer, string const & command, + string const & filename); /// - static - std::vector vertices; + bool runLaTeX(Buffer const * buffer, string const & command, + LatexRunParams const &); /// - std::vector visited; + ConverterList converterlist_; /// - std::queue Q; + string latex_command_; /// - int BFS_init(string const & start, bool clear_visited = true); + bool move(string const & from, string const & to, bool copy); /// - bool Move(string const & from, string const & to, bool copy); + Graph G_; }; -extern Formats formats; extern Converters converters; -extern Formats system_formats; extern Converters system_converters; -#endif +#endif //CONVERTER_H