+ bool dispatch(FuncRequest const & ev);
+private:
+ /**
+ * Return the on-screen dimensions of the inset at the cursor.
+ * Pre-condition: the cursor must be at an inset.
+ */
+ Box insetDimensions(LyXText const & text, LyXCursor const & cursor) const;
+ /**
+ * check if the given co-ordinates are inside an inset at the
+ * given cursor, if one exists. If so, the inset is returned,
+ * and the co-ordinates are made relative. Otherwise, 0 is returned.
+ */
+ Inset * checkInset(LyXText const & text, LyXCursor const & cursor,
+ int & x, int & y) const;
+ ///
+ friend class BufferView;
+ /// open and lock an updatable inset
+ bool open_new_inset(UpdatableInset * new_inset, bool behind = false);
+ ///
+ void specialChar(InsetSpecialChar::Kind);
+ ///
+ void hfill();
+ ///
+ void smartQuote();