]> git.lyx.org Git - lyx.git/blobdiff - src/lyxfunc.h
remove noload/don't typeset
[lyx.git] / src / lyxfunc.h
index ec8898c242102c5607fd1a27bf6d83bb6475184f..3d3aab4cfd6b4a51c02fb6b4dbb6dca24718070b 100644 (file)
@@ -6,16 +6,18 @@
 #pragma interface
 #endif
 
-#include <X11/Xlib.h>
-#include <sigc++/signal_system.h>
 
-#include "commandtags.h" // for kb_action enum
 #include "FuncStatus.h"
 #include "kbsequence.h"
+#include "commandtags.h"
 #include "LString.h"
 
+#include <boost/signals/trackable.hpp>
+
 class LyXView;
 class LyXText;
+class FuncRequest;
+class BufferView;
 
 
 /** This class encapsulates all the LyX command operations.
@@ -24,42 +26,32 @@ class LyXText;
     keyboard or from the GUI. All GUI objects, including buttons and
     menus should use this class and never call kernel functions directly.
 */
-class LyXFunc : public SigC::Object {
+class LyXFunc : public boost::signals::trackable {
 public:
        ///
        explicit
        LyXFunc(LyXView *);
 
        /// LyX dispatcher, executes lyx actions.
-       string const dispatch(kb_action ac, string argument = string());
-
-       /// The same as dispatch, but also shows shortcuts and command
-       /// name in minibuffer if show_sc is true (more to come?)
-       void verboseDispatch(kb_action action,
-                            string const & argument,
-                            bool show_sc);
+       void dispatch(FuncRequest const &, bool verbose = false);
 
-       /// Same as above, using a pseudoaction as argument
-       void verboseDispatch(int ac, bool show_sc);
+       /// Dispatch via a string argument
+       void dispatch(string const & s, bool verbose = false);
+       /// Dispatch via a pseudo action, also displaying shortcut/command name
+       void dispatch(int ac, bool verbose = false);
 
-       /// Same as above, when the command is provided as a string
-       void verboseDispatch(string const & s, bool show_sc);
+       /// return the status bar state string
+       string const view_status_message();
 
        ///
-       void miniDispatch(string const & s);
-
-       ///
-       void initMiniBuffer();
-
-       ///
-       void processKeySym(KeySym k, unsigned int state);
+       void processKeySym(LyXKeySymPtr key, key_modifier::state state);
 
        /// we need one internal which is called from inside LyXAction and
        /// can contain the string argument.
        FuncStatus getStatus(int ac) const;
        ///
-       FuncStatus getStatus(kb_action action,
-                            string const & argument = string()) const;
+       FuncStatus getStatus(FuncRequest const & action) const;
 
        /// The last key was meta
        bool wasMetaKey() const;
@@ -76,10 +68,13 @@ public:
        string const getMessage() const { return dispatch_buffer; }
        /// Buffer to store result messages
        string const getStatusMessage() const { return status_buffer; }
-       /// Handle a accented char keysequenze
+       /// Handle a accented char key sequence
        void handleKeyFunc(kb_action action);
 
 private:
+       ///
+       BufferView * view() const;
+
        ///
        LyXView * owner;
        ///
@@ -89,7 +84,7 @@ private:
        ///
        kb_sequence cancel_meta_seq;
        ///
-       unsigned meta_fake_bit;
+       key_modifier::state meta_fake_bit;
        ///
        void moveCursorUpdate(bool flag = true, bool selecting = false);
        ///
@@ -108,13 +103,14 @@ private:
        /** Buffer to store messages and result data from getStatus
        */
        mutable string status_buffer;
-       /// Command name and shortcut information
-       string commandshortcut;
+
+       /// send a post-dispatch status message
+       void sendDispatchMessage(string const & msg, FuncRequest const & ev, bool verbose);
 
        // I think the following should be moved to BufferView. (Asger)
 
        ///
-       void menuNew(bool fromTemplate);
+       void menuNew(string const & argument, bool fromTemplate);
 
        ///
        void open(string const &);
@@ -139,7 +135,7 @@ private:
 inline
 bool LyXFunc::wasMetaKey() const
 {
-       return (meta_fake_bit != 0);
+       return (meta_fake_bit != key_modifier::none);
 }