#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());
-
- /// 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);
-
- /// Same as above, using a pseudoaction as argument
- void verboseDispatch(int ac, bool show_sc);
+ void dispatch(FuncRequest const &, bool verbose = false);
- /// Same as above, when the command is provided as a string
- void verboseDispatch(string const & s, bool show_sc);
+ /// Dispatch via a string argument
+ void dispatch(string const & s, bool verbose = false);
- ///
- void miniDispatch(string const & s);
+ /// Dispatch via a pseudo action, also displaying shortcut/command name
+ void dispatch(int ac, bool verbose = false);
- ///
- 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;
///
///
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;
/** 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;
- ///
};
-
-/*-------------------- inlines --------------------------*/
-
-inline
-bool LyXFunc::wasMetaKey() const
-{
- return (meta_fake_bit != key_modifier::none);
-}
-
-
#endif