X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FExternalTemplate.h;h=45f1b348ff66f8307acbdd83a497247de8876d42;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=80452e3041f8357ad5a277b6e7371f68366bc0be;hpb=da61af2b8ef95ab206d02deb9c52f03335682d9e;p=lyx.git diff --git a/src/insets/ExternalTemplate.h b/src/insets/ExternalTemplate.h index 80452e3041..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; @@ -60,7 +58,8 @@ struct Template { std::vector transformIds; /// This is the information needed to support a specific output format - struct Format { + class Format { + public: Format(); /// void readFormat(LyXLex &); @@ -72,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. @@ -81,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; @@ -88,8 +92,6 @@ struct Template { Formats formats; }; -#include "ExternalTransforms.h" - /** * A singleton class that manages the external inset templates */