]> git.lyx.org Git - features.git/blobdiff - src/insets/insetcommand.C
change "support/std_sstream.h" to <sstream>
[features.git] / src / insets / insetcommand.C
index 80d5ae8d12b2270f51ea265516f3ec5462b7685e..77a357b05eec3321777c47dfed2bf7bf1fa9bed6 100644 (file)
@@ -19,7 +19,7 @@
 #include "lyxlex.h"
 #include "metricsinfo.h"
 
-#include "support/std_sstream.h"
+#include <sstream>
 
 
 using std::string;
@@ -30,7 +30,7 @@ using std::ostringstream;
 
 InsetCommand::InsetCommand(InsetCommandParams const & p,
                           string const & mailer_name)
-       : p_(p.getCmdName(), p.getContents(), p.getOptions()),
+       : p_(p.getCmdName(), p.getContents(), p.getOptions(), p.getSecOptions()),
          mailer_name_(mailer_name),
          set_label_(false)
 {}
@@ -57,8 +57,7 @@ void InsetCommand::metrics(MetricsInfo & mi, Dimension & dim) const
 
 void InsetCommand::draw(PainterInfo & pi, int x, int y) const
 {
-       xo_ = x;
-       yo_ = y;
+       setPosCache(pi, x, y);
        button_.draw(pi, x, y);
 }
 
@@ -99,35 +98,39 @@ int InsetCommand::docbook(Buffer const &, ostream &,
 }
 
 
-DispatchResult
-InsetCommand::priv_dispatch(FuncRequest const & cmd, idx_type &, pos_type &)
+void InsetCommand::priv_dispatch(LCursor & cur, FuncRequest & cmd)
 {
        switch (cmd.action) {
+       case LFUN_INSET_REFRESH:
+               set_label_ = false;
+               break;
+
        case LFUN_INSET_MODIFY: {
                InsetCommandParams p;
                InsetCommandMailer::string2params(mailer_name_, cmd.argument, p);
-               if (p.getCmdName().empty())
-                       return DispatchResult(false);
-
-               setParams(p);
-               cmd.view()->update();
-               return DispatchResult(true, true);
+               if (p.getCmdName().empty()) {
+                       cur.undispatched();
+               } else {
+                       setParams(p);
+                       cur.bv().update();
+               }
+               break;
        }
 
        case LFUN_INSET_DIALOG_UPDATE:
-               InsetCommandMailer(cmd.argument, *this).updateDialog(cmd.view());
-               return DispatchResult(true, true);
+               InsetCommandMailer(cmd.argument, *this).updateDialog(&cur.bv());
+               break;
 
        case LFUN_INSET_DIALOG_SHOW:
        case LFUN_MOUSE_RELEASE: {
                if (!mailer_name_.empty())
-                       InsetCommandMailer(mailer_name_, *this).
-                               showDialog(cmd.view());
-               return DispatchResult(true);
+                       InsetCommandMailer(mailer_name_, *this).showDialog(&cur.bv());
+               break;
        }
 
        default:
-               return DispatchResult(false);
+               InsetOld::priv_dispatch(cur, cmd);
+               break;
        }
 
 }