X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBufferView.h;h=901d05522382c1a473b01d30f857b592a393c54d;hb=981e958b9d63930c83b1adced65b75b3d857ac97;hp=c3e184bd4e4ec43b7b2384d34467701eabd10d1c;hpb=dfaab2f50d28feb36ab83098c3f5c45e2da6df02;p=lyx.git diff --git a/src/BufferView.h b/src/BufferView.h index c3e184bd4e..901d055223 100644 --- a/src/BufferView.h +++ b/src/BufferView.h @@ -159,7 +159,8 @@ public: /// This method will automatically scroll and update the BufferView /// if needed. /// \param recenter Whether the cursor should be centered on screen - void showCursor(DocIterator const & dit, bool recenter = false); + void showCursor(DocIterator const & dit, bool recenter, + bool update); /// Scroll to the cursor. void scrollToCursor(); /// Scroll to the cursor. @@ -174,7 +175,7 @@ public: /// scroll document by the given number of pixels. int scroll(int pixels); /// Scroll the view by a number of pixels. - void scrollDocView(int pixels); + void scrollDocView(int pixels, bool update); /// Set the cursor position based on the scrollbar one. void setCursorFromScrollbar(); @@ -189,6 +190,8 @@ public: size_t const & inlineCompletionUniqueChars() const; /// return the position in the buffer of the inline completion postfix. DocIterator const & inlineCompletionPos() const; + /// make sure inline completion position is OK + void resetInlineCompletionPos(); /// set the inline completion postfix and its position in the buffer. /// Updates the updateFlags in \c cur. void setInlineCompletion(Cursor & cur, DocIterator const & pos, @@ -244,6 +247,9 @@ public: void putSelectionAt(DocIterator const & cur, int length, bool backwards); + /// selects the item at cursor if its paragraph is empty. + bool selectIfEmpty(DocIterator & cur); + /// update the internal \c ViewMetricsInfo. void updateMetrics(); @@ -259,7 +265,7 @@ public: CoordCache const & coordCache() const; /// - Point getPos(DocIterator const & dit, bool boundary) const; + Point getPos(DocIterator const & dit) const; /// is the paragraph of the cursor visible ? bool paragraphVisible(DocIterator const & dit) const; /// is the cursor currently visible in the view @@ -308,14 +314,18 @@ public: Inset * editedInset(std::string const & name) const; /// Associate an inset associated with given dialog name. void editInset(std::string const & name, Inset * inset); + /// + void clearLastInset(Inset * inset) const; + /// Is the mouse hovering a clickable inset or element? + bool clickableInset() const; private: /// noncopyable BufferView(BufferView const &); void operator=(BufferView const &); - // the position relative to (0, baseline) of outermost paragraph - Point coordOffset(DocIterator const & dit, bool boundary) const; + /// the position relative to (0, baseline) of outermost paragraph + Point coordOffset(DocIterator const & dit) const; /// Update current paragraph metrics. /// \return true if no further update is needed. bool singleParUpdate();