#endif
#include FORMS_H_LOCATION
+#include "LString.h"
#include "undo.h"
-#include "support/utility.hpp"
+#include "commandtags.h"
+#include <boost/utility.hpp>
class LyXView;
class LyXText;
class Buffer;
class LyXScreen;
class WorkArea;
+class Language;
///
-class BufferView : public noncopyable {
+class BufferView : public boost::noncopyable {
public:
///
enum UpdateCodes {
///
void redraw();
///
- void fitCursor();
+ void fitCursor(LyXText *);
///
void update();
//
- void update(UpdateCodes uc);
+ void update(LyXText *, UpdateCodes uc);
///
void updateScrollbar();
///
///
int resizeCurrentBuffer();
///
- void gotoError();
+ void gotoInset(std::vector<Inset::Code> const & codes,
+ bool same_content);
///
- void cursorPrevious();
+ void gotoInset(Inset::Code codes, bool same_content);
///
- void cursorNext();
+ void cursorPrevious(LyXText *);
+ ///
+ void cursorNext(LyXText *);
///
bool available() const;
///
LyXView * owner() const;
///
- void beforeChange();
+ void beforeChange(LyXText *);
///
- void savePosition();
+ void savePosition(unsigned int i);
///
- void restorePosition();
+ void restorePosition(unsigned int i);
///
- bool NoSavedPositions();
+ bool isSavedPosition(unsigned int i);
/** This holds the mapping between buffer paragraphs and screen rows.
This should be private...but not yet. (Lgb)
*/
LyXText * text;
///
+ LyXText * getLyXText() const;
+ ///
+ LyXText * getParentText(Inset * inset) const;
+ ///
+ Language const * getParentLanguage(Inset * inset) const;
+ ///
int workWidth() const;
///
- UpdatableInset * the_locking_inset;
+ UpdatableInset * theLockingInset() const;
+ ///
+ void theLockingInset(UpdatableInset * inset);
///
void updateInset(Inset * inset, bool mark_dirty);
///
///
void selectLastWord();
///
- char * nextWord(float & value);
+ string const nextWord(float & value);
///
void insertCorrectQuote();
///
- void gotoNote();
- ///
bool gotoLabel(string const & label);
///
void paste();
///
void hfill();
///
- void protectedBlank();
+ void protectedBlank(LyXText *);
///
void newline();
///
bool insertInset(Inset * inset, string const & lout = string(),
bool no_table = false);
/// open and lock an updatable inset
- bool open_new_inset(UpdatableInset * new_inset);
+ bool open_new_inset(UpdatableInset * new_inset, bool behind = false);
/** Inserts a lyx file at cursor position.
@return #false# if it fails.
*/
///
bool lockInset(UpdatableInset * inset);
///
- void showLockedInsetCursor(long x, long y, int asc, int desc);
+ void showLockedInsetCursor(int x, int y, int asc, int desc);
///
void hideLockedInsetCursor();
///
- void fitLockedInsetCursor(long x, long y, int asc, int desc);
+ void fitLockedInsetCursor(int x, int y, int asc, int desc);
///
int unlockInset(UpdatableInset * inset);
///
///
void pushIntoUpdateList(Inset * i);
///
- void workAreaExpose();
- ///
- void workAreaButtonPress(int x, int y, unsigned int button);
+ bool ChangeInsets(Inset::Code code, string const & from,
+ string const & to);
///
- void workAreaButtonRelease(int x, int y, unsigned int button);
+ bool ChangeRefsIfUnique(string const & from, string const & to);
///
- void workAreaMotionNotify(int x, int y, unsigned int state);
- ///
- void doubleClick(int x, int y, unsigned int button);
- ///
- void tripleClick(int x, int y, unsigned int button);
- ///
- void enterView();
- ///
- void leaveView();
- ///
- bool ChangeRefs(string const & from, string const & to);
+ bool ChangeCitationsIfUnique(string const & from, string const & to);
///
void pasteClipboard(bool asPara);
///
void stuffClipboard(string const &) const;
+ ///
+ bool Dispatch(kb_action action, string const & argument);
private:
struct Pimpl;
///