]> git.lyx.org Git - lyx.git/blobdiff - src/BufferView.h
Replace boost::shared_ptr<TextClass> with a global cache of sorts of the TextClass...
[lyx.git] / src / BufferView.h
index faac2f6c62b423cb1804709f71578266a8a5fea0..a79c7bbb62e6b9da5c663fcb7bdfbdc8995362ab 100644 (file)
@@ -79,7 +79,7 @@ struct ScrollbarParameters
 class BufferView {
 public:
        ///
-       BufferView(Buffer & buffer);
+       explicit BufferView(Buffer & buffer);
        ///
        ~BufferView();
 
@@ -87,6 +87,15 @@ public:
        Buffer & buffer();
        Buffer const & buffer() const;
 
+       ///
+       void setFullScreen(bool full_screen) { full_screen_ = full_screen; }
+
+       /// right margin
+       int rightMargin() const;
+
+       /// left margin
+       int leftMargin() const;
+
        /// perform pending metrics updates.
        /** \c Update::FitCursor means first to do a FitCursor, and to
         * force an update if screen position changes.
@@ -127,10 +136,14 @@ public:
        /// set the cursor based on the given TeX source row.
        void setCursorFromRow(int row);
 
-       /// Ensure the cursor is visible.
-       /// This method will automatically scroll and update the BufferView and updated 
+       /// Ensure that the BufferView cursor is visible.
+       /// This method will automatically scroll and update the BufferView
        /// if needed.
        void showCursor();
+       /// Ensure the passed cursor \p dit is visible.
+       /// This method will automatically scroll and update the BufferView
+       /// if needed.
+       void showCursor(DocIterator const & dit);
        /// LFUN_SCROLL Helper.
        void lfunScroll(FuncRequest const & cmd);
        /// scroll down document by the given number of pixels.
@@ -149,6 +162,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);
@@ -278,6 +301,8 @@ private:
        ///
        int height_;
        ///
+       bool full_screen_;
+       ///
        Buffer & buffer_;
 
        struct Private;
@@ -290,9 +315,6 @@ inline int nestMargin() { return 15; }
 /// margin for changebar
 inline int changebarMargin() { return 12; }
 
-/// right margin
-inline int rightMargin() { return 10; }
-
 } // namespace lyx
 
 #endif // BUFFERVIEW_H