#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 <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.
- void dispatch(kb_action ac, string argument = string(), bool verbose = false);
+ void dispatch(FuncRequest const &, bool verbose = false);
/// 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);
/// 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;
///
///
key_modifier::state meta_fake_bit;
///
- void moveCursorUpdate(bool flag = true, bool selecting = false);
+ void moveCursorUpdate();
///
void setupLocalKeymap();
- ///
- kb_action lyx_dead_action;
- ///
- kb_action lyx_calling_dead_action;
/// Error status, only Dispatch can change this flag
mutable bool errorstat;
mutable string status_buffer;
/// send a post-dispatch status message
- void sendDispatchMessage(string const & msg, kb_action ac, string const & arg, bool verbose);
+ void sendDispatchMessage(string const & msg, FuncRequest const & ev, bool verbose);
// I think the following should be moved to BufferView. (Asger)
///
void closeBuffer();
- ///
- void reloadBuffer();
- ///
- // This return or directly text (default) of getLyXText()
- ///
- LyXText * TEXT(bool) const;
- ///
};
-
-/*-------------------- inlines --------------------------*/
-
-inline
-bool LyXFunc::wasMetaKey() const
-{
- return (meta_fake_bit != key_modifier::none);
-}
-
-
#endif