using std::ostringstream;
+// FIXME Would it now be possible to use the InsetCode in
+// place of the mailer name and recover that information?
InsetCommand::InsetCommand(InsetCommandParams const & p,
string const & mailer_name)
: p_(p),
break;
case LFUN_INSET_MODIFY: {
- InsetCommandParams p(p_.insetType());
+ InsetCommandParams p(p_.code());
InsetCommandMailer::string2params(mailer_name_, to_utf8(cmd.argument()), p);
if (p.getCmdName().empty())
cur.noUpdate();
}
-void InsetCommand::replaceContents(std::string const & from, string const & to)
-{
- if (getContents() == from)
- setContents(to);
-}
-
-
InsetCommandMailer::InsetCommandMailer(
string const & name, InsetCommand & inset)
: name_(name), inset_(inset)
}
-void InsetCommandMailer::string2params(
+//FIXME This could take an InsetCode instead of a string
+bool InsetCommandMailer::string2params(
string const & name, string const & in, InsetCommandParams & params)
{
params.clear();
if (in.empty())
- return;
+ return false;
istringstream data(in);
Lexer lex(0,0);
string n;
lex >> n;
- if (!lex || n != name)
- return print_mailer_error("InsetCommandMailer", in, 1, name);
+ if (!lex || n != name) {
+ print_mailer_error("InsetCommandMailer", in, 1, name);
+ return false;
+ }
// This is part of the inset proper that is usually swallowed
// by Text::readInset
string id;
lex >> id;
- if (!lex || id != "CommandInset")
- return print_mailer_error("InsetCommandMailer", in, 2, "LatexCommand");
+ if (!lex || id != "CommandInset") {
+ print_mailer_error("InsetCommandMailer", in, 2, "LatexCommand");
+ return false;
+ }
params.read(lex);
+ return true;
}
+//FIXME This could take an InsetCode instead of a string
string const
InsetCommandMailer::params2string(string const & name,
InsetCommandParams const & params)