struct FuncInfo {
/// the action name
std::string name;
- /// the func_attrib values set
+ /// the FuncAttribs values set
unsigned int attrib;
/// the category of this func
FuncType type;
/// type for map between an action and its info
typedef std::map<FuncCode, FuncInfo> InfoMap;
-
public:
- /// noncopyable
- LyXAction(LyXAction const &);
- void operator=(LyXAction const &);
-
/// possible "permissions" for an action
enum FuncAttribs {
Noop = 0, //< Nothing special about this func
/// True if the command has `flag' set
bool funcHasFlag(FuncCode action, FuncAttribs flag) const;
- /// iterator across all real actions
+ /// iterator across all LFUNs
typedef FuncMap::const_iterator const_iterator;
- /// return an iterator to the start of all real actions
+ /// return an iterator to the start of the list of LFUNs
const_iterator func_begin() const;
- /// return an iterator to the end of all real actions
+ /// return an iterator to one past the end of the list of LFUNs
const_iterator func_end() const;
private:
+ /// noncopyable
+ LyXAction(LyXAction const &);
+ void operator=(LyXAction const &);
+
/// populate the action container with our actions
void init();
/// add the given action
void newFunc(FuncCode, std::string const & name, unsigned int attrib, FuncType type);
/**
- * This is a list of all the LyXFunc names with the
- * coresponding action number. It is usually only used by the
- * minibuffer or when assigning commands to keys during init.
+ * This maps LyX function names to function codes, e.g.:
+ * lyx_func_map["ert-insert"] == LFUN_ERT_INSERT
*/
FuncMap lyx_func_map;
/**
- * This is a mapping from action number to an object holding
- * info about this action. f.ex. command name (string),
- * command attributes (ro)
+ * This maps function codes to objects holding info about the corresponding
+ * action. E.g., if
+ * FuncInfo const & ert = lyx_info_map[LFUN_ERT_INSERT];
+ * then:
+ * ert.name == "ert-insert"'
+ * ert.attrib == Noop
+ * ert.type == Edit
*/
InfoMap lyx_info_map;
};