]> git.lyx.org Git - lyx.git/blobdiff - src/LyXAction.h
Fix crash when entering unhandled math objects in toolbar
[lyx.git] / src / LyXAction.h
index a5e65c895d3bc1832cdb085b4b2e8d58157d5b59..3ec318a596871b4cf4817c77cb0f31598a143d68 100644 (file)
@@ -7,47 +7,55 @@
 #endif
 
 #include <map>
+
 #include "commandtags.h"
 #include "LString.h"
+#include <boost/utility.hpp>
 
 /** This class encapsulates LyX action and user command operations.
  */
-class LyXAction {
+class LyXAction : public noncopyable {
 private:
        ///
        struct func_info {
+               ///
                string name;
+               ///
                unsigned int attrib;
+               ///
                string helpText;
        };
 
        ///
        struct pseudo_func {
+               ///
                kb_action action;
+               ///
                string arg;
        };
 public:
        ///
-       typedef map<string, kb_action, less<string> > func_map;
+       typedef std::map<string, kb_action> func_map;
        ///
-       typedef map<kb_action, func_info, less<kb_action> > info_map;
+       typedef std::map<kb_action, func_info> info_map;
        ///
-       typedef map<unsigned int, pseudo_func, less<unsigned int> > pseudo_map;
+       typedef std::map<unsigned int, pseudo_func> pseudo_map;
        ///
-       typedef map<string, unsigned int, less<string> > arg_item;
+       typedef std::map<string, unsigned int> arg_item;
        ///
-       typedef map<kb_action, arg_item, less<kb_action> > arg_map;
+       typedef std::map<kb_action, arg_item> arg_map;
 
        ///
        enum func_attrib {
                /// nothing special about this func
                Noop = 0,
-               /// can not be used in RO mode (perhaps this should change)
+               /// can be used in RO mode (perhaps this should change)
                ReadOnly = 1, // ,
                 /// Can be used when there is no document open
                 NoBuffer = 2,
                //Interactive = 2, // Is interactive (requires a GUI)
-               Argument=4      // Requires argument
+               ///
+               Argument = 4      // Requires argument
                //MathOnly = 8,    // Only math mode
                //EtcEtc = ...     // Or other attributes...
        };
@@ -66,7 +74,7 @@ public:
 
         /** Returns an action name the most similar to a string.
            Don't include arguments, they would be ignored. */
-        string getApproxFuncName(string const & func) const;
+        string const getApproxFuncName(string const & func) const;
 
        /// Returns a pseudo-action given an action and its argument.
        int getPseudoAction(kb_action action, string const & arg) const;
@@ -81,10 +89,10 @@ public:
        bool isPseudoAction(int) const;
     
        /// Return the name associated with command
-       string getActionName(int action) const;
+       string const getActionName(int action) const;
 
        /// Return one line help text associated with (pseudo)action
-       string helpText(int action) const;
+       string const helpText(int action) const;
 
        /// True if the command has `flag' set
        bool funcHasFlag(kb_action action, func_attrib flag) const;
@@ -125,5 +133,4 @@ bool LyXAction::isPseudoAction(int a) const
        return a > int(LFUN_LASTACTION); 
 }
      
-
 #endif