+ /// 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;
+ /// 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 const & 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);
+
+ /// \return true if we've made a decision
+ bool getStatus(FuncRequest const & cmd, FuncStatus & flag);
+ /// execute the given function.
+ void dispatch(FuncRequest const & cmd, DispatchResult & dr);
+
+ /// request an X11 selection.
+ /// \return the selected string.
+ docstring const requestSelection();
+ /// clear the X11 selection.
+ void clearSelection();
+
+ /// resize the BufferView.
+ /// \sa WorkArea
+ void resize(int width, int height);
+
+ /// dispatch method helper for \c WorkArea
+ /// \sa WorkArea
+ void mouseEventDispatch(FuncRequest const & ev);
+
+ /// access to anchor.
+ pit_type anchor_ref() const;
+
+ ///
+ CursorStatus cursorStatus(DocIterator const & dit) const;
+ /// access to full cursor.
+ Cursor & cursor();
+ /// access to full cursor.
+ Cursor const & cursor() const;
+ /// sets cursor.
+ /// This will also open all relevant collapsable insets.
+ void setCursor(DocIterator const &);
+ /// Check deleteEmptyParagraphMechanism and update metrics if needed.
+ /// \retval true if an update was needed.
+ bool checkDepm(Cursor & cur, Cursor & old);
+ /// sets cursor.
+ /// This is used when handling LFUN_MOUSE_PRESS.
+ bool mouseSetCursor(Cursor & cur, bool select = false);
+
+ /// sets the selection.
+ /* When \c backwards == false, set anchor
+ * to \c cur and cursor to \c cur + \c length. When \c
+ * backwards == true, set anchor to \c cur and cursor to \c
+ * cur + \c length.
+ */
+ 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();
+
+ ///
+ TextMetrics const & textMetrics(Text const * t) const;
+ TextMetrics & textMetrics(Text const * t);
+ ///
+ ParagraphMetrics const & parMetrics(Text const *, pit_type) const;
+
+ ///
+ CoordCache & coordCache();
+ ///
+ CoordCache const & coordCache() 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
+ bool cursorInView(Point const & p, int h) const;
+ /// get the position and height of the cursor
+ void cursorPosAndHeight(Point & p, int & h) const;
+
+
+ ///
+ void draw(frontend::Painter & pain);
+
+ /// get this view's keyboard map handler.
+ Intl & getIntl();
+ ///
+ Intl const & getIntl() const;
+
+ //
+ // Messages to the GUI
+ //
+ /// This signal is emitted when some message shows up.
+ void message(docstring const & msg);
+
+ /// This signal is emitted when some dialog needs to be shown.
+ void showDialog(std::string const & name);
+
+ /// This signal is emitted when some dialog needs to be shown with
+ /// some data.
+ void showDialog(std::string const & name, std::string const & data,
+ Inset * inset = 0);
+
+ /// This signal is emitted when some dialogs needs to be updated.
+ void updateDialog(std::string const & name, std::string const & data);
+
+ ///
+ void setGuiDelegate(frontend::GuiBufferViewDelegate *);
+
+ ///
+ docstring contentsOfPlaintextFile(support::FileName const & f);
+ // Insert plain text file (if filename is empty, prompt for one)
+ void insertPlaintextFile(support::FileName const & f, bool asParagraph);
+ ///
+ void insertLyXFile(support::FileName const & f);
+ /// save temporary bookmark for jump back navigation
+ void bookmarkEditPosition();
+ /// Find and return the inset associated with given dialog name.
+ 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;
+ ///
+ void makeDocumentClass();