+ /// return true for events that will handle.
+ FuncStatus getStatus(FuncRequest const & cmd);
+ /// execute the given function.
+ /// \return the Update::flags for further metrics update.
+ Update::flags dispatch(FuncRequest const & argument);
+
+ /// request an X11 selection.
+ /// \return the selected string.
+ docstring const requestSelection();
+ /// clear the X11 selection.
+ void clearSelection();
+
+ /// resize method helper for \c WorkArea
+ /// \sa WorkArea
+ /// \sa resise
+ void workAreaResize(int width, int height);
+
+ /// dispatch method helper for \c WorkArea
+ /// \sa WorkArea
+ /// \retval true if a redraw is needed
+ bool workAreaDispatch(FuncRequest const & ev);
+
+ /// access to anchor.
+ pit_type anchor_ref() const;
+
+ /// access to full cursor.
+ LCursor & cursor();
+ /// access to full cursor.
+ LCursor 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(LCursor & cur, LCursor & old);
+ /// sets cursor.
+ /// This is used when handling LFUN_MOUSE_PRESS.
+ bool mouseSetCursor(LCursor & cur);
+
+ /// 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);