]> git.lyx.org Git - lyx.git/blobdiff - src/FuncRequest.cpp
More requires --> required, for C++2a.
[lyx.git] / src / FuncRequest.cpp
index c9761609e98168836dc593bb6b7c25a00abcab78..a2c975c6ef6aebf82727529998f7d93ab1ac9c9f 100644 (file)
@@ -13,6 +13,7 @@
 #include "FuncRequest.h"
 #include "LyXAction.h"
 
+#include "support/debug.h"
 #include "support/lstrings.h"
 
 #include <climits>
@@ -29,54 +30,51 @@ FuncRequest const FuncRequest::unknown(LFUN_UNKNOWN_ACTION);
 FuncRequest const FuncRequest::noaction(LFUN_NOACTION);
 
 FuncRequest::FuncRequest(Origin o)
-       : argument_(0), action_(LFUN_NOACTION), origin_(o), x_(0), y_(0),
-         button_(mouse_button::none)
+       : action_(LFUN_NOACTION), origin_(o), view_origin_(0), x_(0), y_(0),
+         button_(mouse_button::none), modifier_(NoModifier), allow_async_(true)
 {}
 
 
 FuncRequest::FuncRequest(FuncCode act, Origin o)
-       : argument_(0), action_(act), origin_(o), x_(0), y_(0),
-       button_(mouse_button::none)
+       : action_(act), origin_(o), view_origin_(0), x_(0), y_(0),
+       button_(mouse_button::none), modifier_(NoModifier), allow_async_(true)
 {}
 
 
 FuncRequest::FuncRequest(FuncCode act, docstring const & arg, Origin o)
-       : argument_(arg), action_(act), origin_(o), x_(0), y_(0),
-         button_(mouse_button::none)
+       : action_(act), argument_(arg), origin_(o), view_origin_(0), x_(0), y_(0),
+         button_(mouse_button::none), modifier_(NoModifier), allow_async_(true)
 {}
 
 
 FuncRequest::FuncRequest(FuncCode act, string const & arg, Origin o)
-       : argument_(from_utf8(arg)), action_(act), origin_(o), x_(0), y_(0),
-         button_(mouse_button::none)
+       : action_(act), argument_(from_utf8(arg)),
+         origin_(o), view_origin_(0), x_(0), y_(0),
+         button_(mouse_button::none), modifier_(NoModifier), allow_async_(true)
 {}
 
 
 FuncRequest::FuncRequest(FuncCode act, int ax, int ay,
-                        mouse_button::state but, Origin o)
-       : argument_(0), action_(act), origin_(o), x_(ax), y_(ay), button_(but)
+                        mouse_button::state but, KeyModifier modifier, Origin o)
+       : action_(act), origin_(o), view_origin_(0), x_(ax), y_(ay),
+         button_(but), modifier_(modifier), allow_async_(true)
 {}
 
 
 FuncRequest::FuncRequest(FuncRequest const & cmd, docstring const & arg, Origin o)
-       : argument_(arg), action_(cmd.action()), origin_(o),
-         x_(cmd.x_), y_(cmd.y_), button_(cmd.button_)
-{}
-
-
-FuncRequest::FuncRequest(FuncRequest const & cmd, string const & arg, Origin o)
-       : argument_(from_utf8(arg)), action_(cmd.action()), origin_(o),
-         x_(cmd.x_), y_(cmd.y_), button_(cmd.button_)
+       : action_(cmd.action()), argument_(arg),
+         origin_(o), view_origin_(0), x_(cmd.x_), y_(cmd.y_),
+         button_(cmd.button_), modifier_(NoModifier), allow_async_(true)
 {}
 
 
 namespace {
 
-// Extracts arguments from str into args. Arguments are delimted by
+// Extracts arguments from str into args. Arguments are delimited by
 // whitespace or by double quotes.
-// We extract at most max + 1 arguments, treating args[max] as 
+// We extract at most max + 1 arguments, treating args[max] as
 // continuing to eol.
-void splitArg(vector<string> & args, string const & str, 
+void splitArg(vector<string> & args, string const & str,
                unsigned int max = UINT_MAX)
 {
        istringstream is(str);
@@ -86,7 +84,7 @@ void splitArg(vector<string> & args, string const & str,
                        getline(is, s);
                        args.push_back(trim(s));
                        return;
-               }               
+               }
 
                char c;
                string s;
@@ -105,7 +103,7 @@ void splitArg(vector<string> & args, string const & str,
        }
 }
 
-}
+} // namespace
 
 string FuncRequest::getArg(unsigned int i) const
 {
@@ -122,7 +120,6 @@ string FuncRequest::getLongArg(unsigned int i) const
        return i < args.size() ? args[i] : string();
 }
 
-
 bool operator==(FuncRequest const & lhs, FuncRequest const & rhs)
 {
        return lhs.action() == rhs.action() && lhs.argument() == rhs.argument();
@@ -132,12 +129,19 @@ bool operator==(FuncRequest const & lhs, FuncRequest const & rhs)
 ostream & operator<<(ostream & os, FuncRequest const & cmd)
 {
        return os
-               << " action: " << cmd.action() 
-               << " [" << lyxaction.getActionName(cmd.action()) << "] " 
+               << " action: " << cmd.action()
+               << " [" << lyxaction.getActionName(cmd.action()) << "] "
                << " arg: '" << to_utf8(cmd.argument()) << "'"
                << " x: " << cmd.x()
                << " y: " << cmd.y();
 }
 
 
+LyXErr & operator<<(LyXErr &l, FuncRequest const &fr)
+{
+       ostringstream oss;
+       oss << fr;
+       return l << oss.str();
+}
+
 } // namespace lyx