X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FExternalTemplate.h;h=45f1b348ff66f8307acbdd83a497247de8876d42;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=23667f4cc2fcabd6cbd3816b3825740cd588e217;hpb=8c96de553bc0850495e2e29469aa585ff95d3e0a;p=lyx.git diff --git a/src/insets/ExternalTemplate.h b/src/insets/ExternalTemplate.h index 23667f4cc2..45f1b348ff 100644 --- a/src/insets/ExternalTemplate.h +++ b/src/insets/ExternalTemplate.h @@ -17,17 +17,14 @@ #include -#include -#include -#include -#include +namespace lyx { class LyXLex; -namespace lyx { namespace external { -struct Template { +class Template { +public: /// We have to have default commands for safety reasons! Template(); /// @@ -35,7 +32,8 @@ struct Template { /// void dumpFormats(std::ostream &) const; - struct Option { + class Option { + public: Option(std::string const & name_, std::string const & opt_) : name(name_), option(opt_) {} std::string name; @@ -54,15 +52,14 @@ struct Template { std::string inputFormat; /// A file extension regular expression for the file browser std::string fileRegExp; - /// What command should be executed to edit the file? - std::string editCommand; /// Should we do automatic production of the output? bool automaticProduction; /// A collection of transforms that we can use to transform the data. std::vector transformIds; /// This is the information needed to support a specific output format - struct Format { + class Format { + public: Format(); /// void readFormat(LyXLex &); @@ -74,7 +71,7 @@ struct Template { /// The format of this file. std::string updateFormat; /// What features does this external inset require? - std::string requirement; + std::vector requirements; /// A collection of preamble snippets identified by name. std::vector preambleNames; /// A list of options to the basic command. @@ -83,6 +80,11 @@ struct Template { /// The factory functions for each supported transformation. std::map command_transformers; std::map option_transformers; + + typedef std::map > FileMap; + /// Referenced files for some formats + FileMap referencedFiles; }; /// typedef std::map Formats; @@ -90,8 +92,6 @@ struct Template { Formats formats; }; -#include "ExternalTransforms.h" - /** * A singleton class that manages the external inset templates */