]> git.lyx.org Git - lyx.git/blobdiff - src/LyXAction.h
Improved support for docbook export in inset text.
[lyx.git] / src / LyXAction.h
index 9e3bc6f346ee2853c624ccf403363441d2ba9c44..9c4d4c1d12a5453f9ae4cb42b02bbf905e6f02c9 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...
        };
@@ -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;
@@ -84,14 +89,17 @@ 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;
 
+       typedef func_map::const_iterator const_func_iterator;
+       const_func_iterator func_begin() const;
+       const_func_iterator func_end() const;
 private:
        ///
        void init();
@@ -128,5 +136,4 @@ bool LyXAction::isPseudoAction(int a) const
        return a > int(LFUN_LASTACTION); 
 }
      
-
 #endif