+ /// 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();