]> git.lyx.org Git - lyx.git/blobdiff - src/FuncStatus.h
Avoid full metrics computation with Update:FitCursor
[lyx.git] / src / FuncStatus.h
index c9629112de4b76f7cbc6671779190e5de40077e3..4a632dc870fa2345717a5deeac67d5807a4d77c1 100644 (file)
 #ifndef FUNC_STATUS_H
 #define FUNC_STATUS_H
 
+#include "support/docstring.h"
+
+
+namespace lyx {
+
 /// The status of a function.
 
 class FuncStatus
@@ -19,41 +24,56 @@ class FuncStatus
 private:
 
        enum StatusCodes {
-               ///
+               /// Command can be executed
                OK = 0,
-               ///
+               /// This command does not exist, possibly because it is not
+               /// compiled in (e.g. LFUN_THESAURUS) or the user mistyped
+               /// it in the minibuffer. UNKNOWN commands have no menu entry.
                UNKNOWN = 1,
-               ///
-               DISABLED = 2,  // Command cannot be executed
-               ///
+               /// Command cannot be executed
+               DISABLED = 2,
+               /// Command is on (i. e. the menu item has a checkmark
+               /// and the toolbar icon is pushed).
+               /// Not all commands use this
                ON = 4,
-               ///
+               /// Command is off (i. e. the menu item has no checkmark
+               /// and the toolbar icon is not pushed).
+               /// Not all commands use this
                OFF = 8
        };
 
        unsigned int v_;
 
+       docstring message_;
+
 public:
        ///
        FuncStatus();
-       //
-       void clear();
        ///
-       void operator|=(FuncStatus const & f);
+       void clear();
        ///
-       void unknown(bool b);
+       void setUnknown(bool b);
        ///
        bool unknown() const;
 
        ///
-       void enabled(bool b);
-       ///
+       void setEnabled(bool b);
+       /// tells whether it can be invoked (otherwise it will be grayed-out).
        bool enabled() const;
 
        ///
        void setOnOff(bool b);
+       /// tells whether the menu item should have a check mark
+       /// (or the toolbar icon should be pushed).
+       bool onOff(bool b) const;
+
+       ///
+       void message(docstring const & m);
        ///
-       bool onoff(bool b) const;
+       docstring const & message() const;
 };
 
+
+} // namespace lyx
+
 #endif