#include <iosfwd>
#include <map>
#include "LString.h"
+#include <boost/utility.hpp>
class LyXLex;
+///
struct ExternalTemplate {
/// What is the name of this template in the LyX format?
string lyxName;
/// This constructor has to default a command for safety reasons!
FormatTemplate();
};
+ ///
void readTemplate(LyXLex &);
-
+ ///
typedef std::map<string, FormatTemplate> Formats;
-
+ ///
Formats formats;
-
+ ///
void dumpFormats(std::ostream &) const;
/// We have to have default commands for safety reasons!
/**
- * A singleton class that manages the external inset templates
- */
-class ExternalTemplateManager {
+ A singleton class that manages the external inset templates
+*/
+class ExternalTemplateManager : public noncopyable {
public:
/// Map from the LyX name of the template to the template structure
typedef std::map<string, ExternalTemplate> Templates;
static ExternalTemplateManager & get();
Templates & getTemplates();
Templates const & getTemplates() const;
+ /// return the template by LyX name
+ ExternalTemplate const & getTemplateByName(const string & name);
private:
ExternalTemplateManager();
void readTemplates(string const & path);
};
#endif
-