* LyX, The Document Processor
*
* Copyright 1995 Matthias Ettrich
- * Copyright 1995-2000 The LyX Team.
+ * Copyright 1995-2001 The LyX Team.
*
* ====================================================== */
// We have to have dummy default commands for security reasons!
ExternalTemplate::ExternalTemplate()
- : viewCommand("true"), editCommand("true")
{}
ExternalTemplate::FormatTemplate::FormatTemplate()
- : updateCommand("true") {}
+{}
ExternalTemplateManager::ExternalTemplateManager()
class dumpTemplate {
public:
- dumpTemplate(std::ostream & o)
+ dumpTemplate(ostream & o)
: ost(o) {}
void operator()(ExternalTemplateManager::Templates::value_type const & vt) {
ExternalTemplate const & et = vt.second;
ost << "\tFormat " << vt.first << "\n"
<< "\t\tProduct " << ft.product << "\n"
<< "\t\tUpdateCommand " << ft.updateCommand << "\n"
+ << "\t\tUpdateResult " << ft.updateResult << "\n"
<< "\t\tRequirement " << ft.requirement << "\n"
<< "\t\tPreamble\n"
<< ft.preamble
}
+ExternalTemplate const & ExternalTemplateManager::getTemplateByName(string const & name)
+{
+ return templates[name];
+}
+
+
void ExternalTemplateManager::readTemplates(string const & path)
{
Path p(path);
return;
}
- while (lex.IsOK()) {
+ while (lex.isOK()) {
switch (lex.lex()) {
case TM_TEMPLATE: {
lex.next();
- string temp = lex.GetString();
+ string const temp = lex.getString();
ExternalTemplate & tmp = templates[temp];
tmp.lyxName = temp;
tmp.readTemplate(lex);
pushpophelper pph(lex, templateoptiontags, TO_END);
- while (lex.IsOK()) {
+ while (lex.isOK()) {
switch (lex.lex()) {
case TO_GUINAME:
lex.next(true);
- guiName = lex.GetString();
+ guiName = lex.getString();
break;
case TO_HELPTEXT:
case TO_FILTER:
lex.next(true);
- fileRegExp = lex.GetString();
+ fileRegExp = lex.getString();
break;
case TO_VIEWCMD:
lex.next(true);
- viewCommand = lex.GetString();
- // For security reasons, a command may not be empty!
- if (viewCommand.empty())
- viewCommand = "true";
+ viewCommand = lex.getString();
break;
case TO_EDITCMD:
lex.next(true);
- editCommand = lex.GetString();
- // For security reasons, a command may not be empty!
- if (editCommand.empty())
- editCommand = "true";
+ editCommand = lex.getString();
break;
case TO_AUTOMATIC:
lex.next();
- automaticProduction = lex.GetBool();
+ automaticProduction = lex.getBool();
break;
case TO_FORMAT:
lex.next(true);
- formats[lex.GetString()].readFormat(lex);
+ formats[lex.getString()].readFormat(lex);
break;
case TO_END:
default:
lex.printError("ExternalTemplate::readTemplate: "
"Wrong tag: $$Token");
- Assert(false);
+ lyx::Assert(false);
break;
}
}
enum FormatTags {
FO_PRODUCT = 1,
FO_UPDATECMD,
+ FO_UPDATERESULT,
FO_REQUIREMENT,
FO_PREAMBLE,
FO_END
{ "preamble", FO_PREAMBLE },
{ "product", FO_PRODUCT },
{ "requirement", FO_REQUIREMENT },
- { "updatecommand", FO_UPDATECMD }
+ { "updatecommand", FO_UPDATECMD },
+ { "updateresult", FO_UPDATERESULT }
};
pushpophelper pph(lex, formattags, FO_END);
- while (lex.IsOK()) {
+ while (lex.isOK()) {
switch (lex.lex()) {
case FO_PRODUCT:
lex.next(true);
- product = lex.GetString();
+ product = lex.getString();
break;
case FO_UPDATECMD:
lex.next(true);
- updateCommand = lex.GetString();
- // For security reasons, a command may not be empty!
- if (updateCommand.empty())
- updateCommand = "true";
+ updateCommand = lex.getString();
+ break;
+
+ case FO_UPDATERESULT:
+ lex.next(true);
+ updateResult = lex.getString();
break;
case FO_REQUIREMENT:
lex.next(true);
- requirement = lex.GetString();
+ requirement = lex.getString();
break;
case FO_PREAMBLE: