#include "KeySequence.h"
#include "lfuns.h"
-#include "TextClass.h"
#include "support/docstring.h"
-#include <boost/signals/trackable.hpp>
-
namespace lyx {
class Buffer;
class BufferView;
+class DocumentClass;
class FuncRequest;
class FuncStatus;
class KeySymbol;
class Text;
+namespace support {
+class FileName;
+}
+
namespace frontend {
class LyXView;
}
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 boost::signals::trackable {
+class LyXFunc
+{
public:
///
explicit LyXFunc();
/// not the current buffer
void gotoBookmark(unsigned int idx, bool openFile, bool switchToBuffer);
+ /// cursor x position before dispatch started
+ int cursorBeforeDispatchX() const {
+ return cursorPosBeforeDispatchX_;
+ }
+ /// cursor y position before dispatch started
+ int cursorBeforeDispatchY() const {
+ return cursorPosBeforeDispatchY_;
+ }
+
private:
///
BufferView * view() const;
///
KeyModifier meta_fake_bit;
+ /// cursor position before dispatch started
+ int cursorPosBeforeDispatchX_;
+ int cursorPosBeforeDispatchY_;
+
/// Error status, only Dispatch can change this flag
mutable bool errorstat;
void sendDispatchMessage(docstring const & msg,
FuncRequest const & ev);
- // I think the following should be moved to BufferView. (Asger)
- ///
- void menuNew(std::string const & argument, bool fromTemplate);
- ///
- void open(std::string const &);
- ///
- void doImport(std::string const &);
- ///
- void closeBuffer();
///
void reloadBuffer();
///
bool ensureBufferClean(BufferView * bv);
///
- void updateLayout(TextClassPtr const & oldlayout, Buffer * buffer);
+ void updateLayout(DocumentClass * oldlayout, Buffer * buffer);
};
/// Implementation is in LyX.cpp