]> git.lyx.org Git - lyx.git/blobdiff - src/BufferView.h
update the ACM SIGPLAN files to latest layout and fileformat
[lyx.git] / src / BufferView.h
index fe4eaa957fdb71fe4e397a682a40b1b640d7208b..d41826067128c4e037a6a2cb891e863a54a095e1 100644 (file)
@@ -36,7 +36,6 @@ class FuncRequest;
 class FuncStatus;
 class Intl;
 class Inset;
-class Menu;
 class ParIterator;
 class ParagraphMetrics;
 class Point;
@@ -52,6 +51,9 @@ enum CursorStatus {
 /// Scrollbar Parameters.
 struct ScrollbarParameters
 {
+       ScrollbarParameters()
+               : min(0), max(0), position(0), single_step(1), page_step(1)
+       {}
        /// Minimum scrollbar position in pixels.
        int min;
        /// Maximum scrollbar position in pixels.
@@ -96,6 +98,12 @@ public:
        /// left margin
        int leftMargin() const;
 
+       /// \return true if the BufferView is at the top of the document.
+       bool isTopScreen() const;
+
+       /// \return true if the BufferView is at the bottom of the document.
+       bool isBottomScreen() const;
+
        /// perform pending metrics updates.
        /** \c Update::FitCursor means first to do a FitCursor, and to
         * force an update if screen position changes.
@@ -136,6 +144,9 @@ public:
        /// set the cursor based on the given TeX source row.
        void setCursorFromRow(int row);
 
+       /// set cursor to the given inset. Return true if found.
+       bool setCursorFromInset(Inset const *);
+
        /// Ensure that the BufferView cursor is visible.
        /// This method will automatically scroll and update the BufferView
        /// if needed.
@@ -147,11 +158,11 @@ public:
        /// LFUN_SCROLL Helper.
        void lfunScroll(FuncRequest const & cmd);
        /// scroll down document by the given number of pixels.
-       void scrollDown(int pixels);
+       int scrollDown(int pixels);
        /// scroll up document by the given number of pixels.
-       void scrollUp(int pixels);
+       int scrollUp(int pixels);
        /// scroll document by the given number of pixels.
-       void scroll(int pixels);
+       int scroll(int pixels);
        /// Scroll the view by a number of pixels.
        void scrollDocView(int pixels);
        /// Set the cursor position based on the scrollbar one.
@@ -162,6 +173,16 @@ public:
        /// return the pixel height of the document view.
        int workHeight() const;
 
+       /// return the inline completion postfix.
+       docstring const & inlineCompletion() const;
+       /// return the number of unique characters in the inline completion.
+       size_t const & inlineCompletionUniqueChars() const;
+       /// return the position in the buffer of the inline completion postfix.
+       DocIterator const & inlineCompletionPos() const;
+       /// set the inline completion postfix and its position in the buffer.
+       /// Updates the updateFlags in \c cur.
+       void setInlineCompletion(Cursor & cur, DocIterator const & pos,
+               docstring const & completion, size_t uniqueChars = 0);
 
        /// translate and insert a character, using the correct keymap.
        void translateAndInsert(char_type c, Text * t, Cursor & cur);