X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FExternalTemplate.h;h=e5b6755059700b009b756ea12edea6b70cc19a47;hb=9762ba5d388e8a81a6e58c464b635ca4cf48cbfa;hp=8c258d6a6433847040b63bf9d4e60a4690dd2370;hpb=3b9338a3a8ba33fbbdf2c77cbffb3ff50d8fad86;p=lyx.git diff --git a/src/insets/ExternalTemplate.h b/src/insets/ExternalTemplate.h index 8c258d6a64..e5b6755059 100644 --- a/src/insets/ExternalTemplate.h +++ b/src/insets/ExternalTemplate.h @@ -15,11 +15,20 @@ #include "ExternalTransforms.h" -#include - -class LyXLex; +#include namespace lyx { + +namespace support { class FileName; } + +class Lexer; + +enum PreviewMode { + PREVIEW_OFF = 0, + PREVIEW_GRAPHICS, + PREVIEW_INSTANT +}; + namespace external { class Template { @@ -27,7 +36,7 @@ public: /// We have to have default commands for safety reasons! Template(); /// - void readTemplate(LyXLex &); + void readTemplate(Lexer &); /// void dumpFormats(std::ostream &) const; @@ -44,7 +53,7 @@ public: /// What will the button in the GUI say? std::string guiName; /// A short help text - std::string helpText; + docstring helpText; /** The format of the input file. Can be "*", in which case we try and * ascertain the format from the contents of the file. */ @@ -53,6 +62,8 @@ public: std::string fileRegExp; /// Should we do automatic production of the output? bool automaticProduction; + /// How should we preview the data in LyX? + PreviewMode preview_mode; /// A collection of transforms that we can use to transform the data. std::vector transformIds; @@ -61,7 +72,7 @@ public: public: Format(); /// - void readFormat(LyXLex &); + void readFormat(Lexer &); /// The text that should be inserted into the exported file std::string product; @@ -94,14 +105,14 @@ public: /** * A singleton class that manages the external inset templates */ -class TemplateManager : boost::noncopyable { +class TemplateManager { public: /// Map from the LyX name of the template to the template structure typedef std::map Templates; /** Map from the LyX name of the preamble definition to the preamble * definition itself. */ - typedef std::map PreambleDefs; + typedef std::map PreambleDefs; static TemplateManager & get(); @@ -113,10 +124,14 @@ public: /** return the preamble definition by LyX name. * If it isn't found, return an empty std::string. */ - std::string const getPreambleDefByName(std::string const & name) const; + docstring getPreambleDefByName(std::string const & name) const; + /// noncopyable + TemplateManager(TemplateManager const &) = delete; + void operator=(TemplateManager const &) = delete; private: TemplateManager(); - void readTemplates(std::string const & path); + + void readTemplates(support::FileName const & path); void dumpTemplates(std::ostream &) const; void dumpPreambleDefs(std::ostream &) const;