]> git.lyx.org Git - lyx.git/blobdiff - src/LyXAction.h
whichFont down to 5.3%
[lyx.git] / src / LyXAction.h
index 9e3bc6f346ee2853c624ccf403363441d2ba9c44..c5fbf527cea2d1ec638ce5f3ab0655037fb66bd0 100644 (file)
@@ -7,50 +7,55 @@
 #endif
 
 #include <map>
-using std::map;
-using std::less;
 
 #include "commandtags.h"
 #include "LString.h"
+#include <boost/utility.hpp>
 
 /** This class encapsulates LyX action and user command operations.
  */
-class LyXAction {
+class LyXAction : boost::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...
        };
@@ -58,9 +63,9 @@ public:
        ///
        LyXAction();
     
-       /** Returns an action tag from a string. Returns kb_action.
-         Include arguments in func_name ONLY if you
-         want to create new pseudo actions. */
+       /** Returns an pseudoaction from a string
+         If you include arguments in func_name, a new psedoaction will be 
+         created if needed. */
        int LookupFunc(string const & func_name) const; 
 
         /** Returns an action tag which name is the most similar to a string.
@@ -69,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;
@@ -80,18 +85,18 @@ public:
        /// Search for an existent pseudoaction, return -1 if it doesn't exist.
        int searchActionArg(kb_action action, string const & arg) const;
 
-       /// Check if a value is a pseudo-action. 
-       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;
 
+       typedef func_map::const_iterator const_func_iterator;
+       const_func_iterator func_begin() const;
+       const_func_iterator func_end() const;
 private:
        ///
        void init();
@@ -118,15 +123,4 @@ private:
        mutable arg_map lyx_arg_map;
 };
      
-
-/* --------------------   Inlines  ------------------ */
-    
-     
-inline
-bool LyXAction::isPseudoAction(int a) const
-{ 
-       return a > int(LFUN_LASTACTION); 
-}
-     
-
 #endif