+ void insert(MathAtom const &);
+ ///
+ void insert(MathArray const &);
+ /// return false for empty math insets
+ bool erase();
+ /// return false for empty math insets
+ bool backspace();
+ /// called for LFUN_UP etc
+ bool up();
+ /// called for LFUN_DOWN etc
+ bool down();
+ ///
+ void plainErase();
+ ///
+ void plainInsert(MathAtom const & at);
+ ///
+ void niceInsert(MathAtom const & at);
+ ///
+ void niceInsert(std::string const & str);
+
+ /// in pixels from top of screen
+ void setScreenPos(int x, int y);
+ /// current offset in the top cell
+ /// interpret name a name of a macro
+ void macroModeClose();
+ /// are we currently typing the name of a macro?
+ bool inMacroMode() const;
+ /// get access to the macro we are currently typing
+ MathUnknownInset * activeMacro();
+
+ /// replace selected stuff with at, placing the former
+ // selection in given cell of atom
+ void handleNest(MathAtom const & at, int cell = 0);
+ ///
+ bool isInside(InsetBase const *);
+
+ /// make sure cursor position is valid
+ void normalize();
+ /// mark current cursor trace for redraw
+ void touch();