*
* \author Asger Alstrup Nielsen
*
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
*/
#ifndef EXTERNALTEMPLATE_H
#include <iosfwd>
#include <map>
-#include "LString.h"
+#include "support/std_string.h"
#include <boost/utility.hpp>
class LyXLex;
string updateFormat;
/// What features does this external inset require?
string requirement;
- /// What should be inserted into the preamble
- string preamble;
+ /// Identify the preamble snippet using \c preambleName.
+ string preambleName;
///
void readFormat(LyXLex &);
/// This constructor has to default a command for safety reasons!
public:
/// Map from the LyX name of the template to the template structure
typedef std::map<string, ExternalTemplate> Templates;
+ /** Map from the LyX name of the preamble definition to the preamble
+ * definition itself.
+ */
+ typedef std::map<string, string> PreambleDefs;
static ExternalTemplateManager & get();
Templates & getTemplates();
Templates const & getTemplates() const;
/// return the template by LyX name
ExternalTemplate const & getTemplateByName(string const & name);
+ string const getPreambleDefByName(string const & name) const;
private:
ExternalTemplateManager();
void readTemplates(string const & path);
- void dumpTemplates() const;
+ void dumpTemplates(std::ostream &) const;
+ void dumpPreambleDefs(std::ostream &) const;
+
Templates templates;
+ PreambleDefs preambledefs;
};
#endif