X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBufferView.h;h=ad725f2121861a598cc5c724758c4bc214035302;hb=96d9e748cf25dc704edba7fe07efd3d9ea274f11;hp=830c2d738d1d3d52e2b411839b279a3df8b2f420;hpb=a476cc483945bdb3126602443ab9a1068bbb8397;p=lyx.git diff --git a/src/BufferView.h b/src/BufferView.h index 830c2d738d..ad725f2121 100644 --- a/src/BufferView.h +++ b/src/BufferView.h @@ -15,6 +15,7 @@ #ifndef BUFFER_VIEW_H #define BUFFER_VIEW_H +#include "CoordCache.h" #include "DocumentClassPtr.h" #include "TexRow.h" #include "update_flags.h" @@ -32,7 +33,6 @@ namespace frontend { class GuiBufferViewDelegate; } class Buffer; class Change; -class CoordCache; class Cursor; class CursorSlice; class Dimension; @@ -42,6 +42,7 @@ class FuncRequest; class FuncStatus; class Intl; class Inset; +class InsetMathNest; class Length; class MathData; class MathRow; @@ -100,6 +101,8 @@ public: /// void setFullScreen(bool full_screen) { full_screen_ = full_screen; } + /// default value for the margins + int defaultMargin() const; /// right margin int rightMargin() const; /// left margin @@ -152,14 +155,20 @@ public: int horizScrollOffset(Text const * text, pit_type pit, pos_type pos) const; - /// reset the scrollbar to reflect current view position. - void updateScrollbar(); + /// reset the scrollbar parameters to reflect current view position. + void updateScrollbarParameters(); /// return the Scrollbar Parameters. ScrollbarParameters const & scrollbarParameters() const; /// \return Tool tip for the given position. docstring toolTip(int x, int y) const; /// \return the context menu for the given position. std::string contextMenu(int x, int y) const; + /// \return the math inset with a context menu for the given position + Inset const * mathContextMenu(InsetMathNest const * inset, + CoordCache::Insets const & inset_cache, int x, int y) const; + /// \return the clickable math inset for the given position + Inset const * clickableMathInset(InsetMathNest const * inset, + CoordCache::Insets const & inset_cache, int x, int y) const; /// Save the current position as bookmark. /// if idx == 0, save to temp_bookmark @@ -196,13 +205,13 @@ public: /// This method will automatically scroll and update the BufferView /// (metrics+drawing) if needed. /// \param recenter Whether the cursor should be centered on screen - void showCursor(DocIterator const & dit, bool recenter, + /// \param force If true, disregard current position + void showCursor(DocIterator const & dit, bool recenter, bool force, bool update); /// Scroll to the cursor. - void scrollToCursor(); - /// Scroll to the cursor. /// \param recenter Whether the cursor should be centered on screen - bool scrollToCursor(DocIterator const & dit, bool recenter); + /// \param force If true, disregard current position + bool scrollToCursor(DocIterator const & dit, bool recenter, bool force); /// scroll down document by the given number of pixels. int scrollDown(int pixels); /// scroll up document by the given number of pixels. @@ -366,6 +375,8 @@ public: bool clickableInset() const; /// void makeDocumentClass(); + /// Are we currently performing a selection with the mouse? + bool mouseSelecting() const; private: /// noncopyable