]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetCommand.cpp
pimpl not needed here
[lyx.git] / src / insets / InsetCommand.cpp
index f50d33c124e6d1ed806fb36482a58fc782c5fbec..d14d68c530229faaaec38a7e32bbbd20754059d9 100644 (file)
@@ -32,6 +32,8 @@ using std::istringstream;
 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),
@@ -112,7 +114,7 @@ void InsetCommand::doDispatch(Cursor & cur, FuncRequest & cmd)
                break;
 
        case LFUN_INSET_MODIFY: {
-               InsetCommandParams p(p_.getCmdName());
+               InsetCommandParams p(p_.code());
                InsetCommandMailer::string2params(mailer_name_, to_utf8(cmd.argument()), p);
                if (p.getCmdName().empty())
                        cur.noUpdate();
@@ -168,15 +170,8 @@ void InsetCommand::edit(Cursor & cur, bool)
 }
 
 
-void InsetCommand::replaceContents(std::string const & from, string const & to)
-{
-       if (getContents() == from)
-               setContents(to);
-}
-
-
-InsetCommandMailer::InsetCommandMailer(string const & name,
-                                      InsetCommand & inset)
+InsetCommandMailer::InsetCommandMailer(
+       string const & name, InsetCommand & inset)
        : name_(name), inset_(inset)
 {}
 
@@ -187,13 +182,13 @@ string const InsetCommandMailer::inset2string(Buffer const &) const
 }
 
 
-void InsetCommandMailer::string2params(string const & name,
-                                      string const & in,
-                                      InsetCommandParams & params)
+//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);
@@ -201,20 +196,26 @@ void InsetCommandMailer::string2params(string const & name,
 
        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)