#ifndef LYXFUNC_H
#define LYXFUNC_H
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-
-#include "commandtags.h" // for kb_action enum
#include "FuncStatus.h"
#include "kbsequence.h"
+#include "lfuns.h"
#include "LString.h"
-#include "frontends/mouse_state.h"
-#include "frontends/key_state.h"
-#include "frontends/LyXKeySym.h"
-
#include <boost/signals/trackable.hpp>
class LyXView;
class LyXText;
+class FuncRequest;
+class BufferView;
/** This class encapsulates all the LyX command operations.
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(LyXKeySymPtr key, key_modifier::state state);
/// 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;
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;
///
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;
/** 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 &);
///
void closeBuffer();
///
- void reloadBuffer();
- ///
// This return or directly text (default) of getLyXText()
///
LyXText * TEXT(bool) const;