X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBufferView.h;h=fa89ca527c11461e7d96e22631fd0ac5cb083d17;hb=da1f3b8ac93b75cea98091e24d994d21e3811dbc;hp=a48fab0c842588b614c38370fd25d38c6f4053b7;hpb=691594432dd49a952c52e2540fc3993414f051a2;p=lyx.git diff --git a/src/BufferView.h b/src/BufferView.h index a48fab0c84..fa89ca527c 100644 --- a/src/BufferView.h +++ b/src/BufferView.h @@ -15,16 +15,18 @@ #ifndef BUFFER_VIEW_H #define BUFFER_VIEW_H +#include "support/types.h" + #include #include class Buffer; class Change; -class CursorSlice; class Encoding; class ErrorList; class FuncRequest; +class InsetBase; class InsetOld; class Language; class LCursor; @@ -32,34 +34,11 @@ class LyXText; class LyXScreen; class LyXView; class Painter; +class ParIterator; class PosIterator; -class Selection; class TeXErrors; class UpdatableInset; - -// The structure that keeps track of the selections set. -struct Selection { - Selection() - : set_(false), mark_(false) - {} - bool set() const { - return set_; - } - void set(bool s) { - set_ = s; - } - bool mark() const { - return mark_; - } - void mark(bool m) { - mark_ = m; - } -private: - bool set_; // former selection - bool mark_; // former mark_set -}; - /** * A buffer view encapsulates a view onto a particular * buffer, and allows access to operate upon it. A view @@ -165,7 +144,7 @@ public: * Insert an inset into the buffer. * Place it in a layout of lout, */ - bool insertInset(InsetOld * inset, std::string const & lout = std::string()); + bool insertInset(InsetBase * inset, std::string const & lout = std::string()); /// Inserts a lyx file at cursor position. return false if it fails bool insertLyXFile(std::string const & file); @@ -204,56 +183,20 @@ public: /// execute the given function bool dispatch(FuncRequest const & argument); - /// set target x position of cursor - void x_target(int x); - /// return target x position of cursor - int x_target() const; - /// clear the X selection void unsetXSel(); /// access to full cursor - LCursor & fullCursor(); + LCursor & cursor(); /// access to full cursor - void fullCursor(LCursor const &); - /// access to full cursor - LCursor const & fullCursor() const; - /// access to topmost cursor slice - CursorSlice & cursor(); - /// access to topmost cursor slice - CursorSlice const & cursor() const; - /// access to selection anchor - CursorSlice & anchor(); - /// access to selection anchor - CursorSlice const & anchor() const; - /// - UpdatableInset * innerInset() const; + LCursor const & cursor() const; /// LyXText * text() const; - /// - void resetAnchor(); - /// - Selection & selection(); - /// - Selection const & selection() const; - /// - CursorSlice & selStart(); /// - CursorSlice const & selStart() const; - /// - CursorSlice & selEnd(); - /// - CursorSlice const & selEnd() const; - /// - void setSelection(); - /// - void clearSelection(); + void setCursor(ParIterator const & par, lyx::pos_type pos); /// void putSelectionAt(PosIterator const & cur, int length, bool backwards); - /// - Selection selection_; - private: /// struct Pimpl; @@ -261,21 +204,6 @@ private: friend struct BufferView::Pimpl; /// Pimpl * pimpl_; - - /** - * The target x position of the cursor. This is used for when - * we have text like : - * - * blah blah blah blah| blah blah blah - * blah blah blah - * blah blah blah blah blah blah - * - * When we move onto row 3, we would like to be vertically aligned - * with where we were in row 1, despite the fact that row 2 is - * shorter than x() - */ - int x_target_; - }; #endif // BUFFERVIEW_H