// -*- C++ -*-
+/**
+ * \file lyxfunc.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Lars Gullik Bjønnes
+ * \author Jean-Marc Lasgouttes
+ * \author John Levon
+ * \author André Pönitz
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
#ifndef LYXFUNC_H
#define LYXFUNC_H
-#include "FuncStatus.h"
#include "kbsequence.h"
#include "lfuns.h"
-#include "LString.h"
+#include "support/types.h"
+
+#include <boost/shared_ptr.hpp>
#include <boost/signals/trackable.hpp>
-class LyXView;
-class LyXText;
-class FuncRequest;
+
class BufferView;
+class FuncRequest;
+class FuncStatus;
+class LyXKeySym;
+class LyXText;
+class LyXView;
/** This class encapsulates all the LyX command operations.
class LyXFunc : public boost::signals::trackable {
public:
///
- explicit
- LyXFunc(LyXView *);
+ explicit LyXFunc(LyXView *);
/// LyX dispatcher, executes lyx actions.
- 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);
+ void dispatch(FuncRequest const &);
/// return the status bar state string
- string const view_status_message();
+ std::string const viewStatusMessage();
///
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(FuncRequest const & action) const;
/// True if lyxfunc reports an error
bool errorStat() const { return errorstat; }
/// Buffer to store result messages
- void setMessage(string const & m) const;
- /// Buffer to store result messages
- void setErrorMessage(string const &) const;
- /// Buffer to store result messages from getStatus
- void setStatusMessage(string const &) const;
+ void setMessage(std::string const & m) const;
/// Buffer to store result messages
- string const getMessage() const { return dispatch_buffer; }
+ void setErrorMessage(std::string const &) const;
/// Buffer to store result messages
- string const getStatusMessage() const { return status_buffer; }
+ std::string const getMessage() const { return dispatch_buffer; }
/// Handle a accented char key sequence
void handleKeyFunc(kb_action action);
LyXView * owner;
/// the last character added to the key sequence, in ISO encoded form
- char encoded_last_key;
+ lyx::char_type encoded_last_key;
///
kb_sequence keyseq;
///
key_modifier::state meta_fake_bit;
///
- void moveCursorUpdate();
- ///
void setupLocalKeymap();
/// Error status, only Dispatch can change this flag
mutable bool errorstat;
/** Buffer to store messages and result data. Is there a
good reason to have this one as static in Dispatch? (Ale)
*/
- mutable string dispatch_buffer;
- /** Buffer to store messages and result data from getStatus
- */
- mutable string status_buffer;
+ mutable std::string dispatch_buffer;
/// send a post-dispatch status message
- void sendDispatchMessage(string const & msg, FuncRequest const & ev, bool verbose);
+ void sendDispatchMessage(std::string const & msg,
+ FuncRequest const & ev);
// I think the following should be moved to BufferView. (Asger)
-
///
- void menuNew(string const & argument, bool fromTemplate);
-
+ void menuNew(std::string const & argument, bool fromTemplate);
///
- void open(string const &);
-
+ void open(std::string const &);
///
- void doImport(string const &);
-
+ void doImport(std::string const &);
///
void closeBuffer();
};