]> git.lyx.org Git - lyx.git/blobdiff - src/lyxfunc.h
multicol; small stuff
[lyx.git] / src / lyxfunc.h
index b394f0de57598639ff2c9d1872bcf002d44f7e1b..1482b175cb5cd591c24f3bbab848f1500391a76d 100644 (file)
@@ -2,22 +2,17 @@
 #ifndef LYXFUNC_H
 #define LYXFUNC_H
 
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-#include <X11/Xlib.h>
-#include <sigc++/signal_system.h>
-
-#include "frontends/mouse_state.h"
-#include "frontends/key_state.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.
@@ -26,42 +21,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());
+       void dispatch(FuncRequest const &, bool verbose = false);
 
-       /// 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);
+       /// Dispatch via a string argument
+       void dispatch(string const & s, bool verbose = false);
 
-       /// Same as above, using a pseudoaction as argument
-       void verboseDispatch(int ac, bool show_sc);
+       /// 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);
-
-       ///
-       void miniDispatch(string const & s);
-
-       ///
-       void initMiniBuffer();
+       /// return the status bar state string
+       string const view_status_message();
 
        ///
-       void processKeySym(KeySym key, key_modifier::state 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;
@@ -78,14 +63,19 @@ 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:
        ///
-       LyXView * owner;
+       BufferView * view() const;
+
        ///
-       static int psd_idx;
+       LyXView * owner;
+
+       /// the last character added to the key sequence, in ISO encoded form
+       char encoded_last_key;
+
        ///
        kb_sequence keyseq;
        ///
@@ -96,10 +86,6 @@ private:
        void moveCursorUpdate(bool flag = true, bool selecting = false);
        ///
        void setupLocalKeymap();
-       ///
-       kb_action lyx_dead_action;
-       ///
-       kb_action lyx_calling_dead_action;
        /// Error status, only Dispatch can change this flag
        mutable bool errorstat;
 
@@ -110,13 +96,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 &);