X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fcursor.h;h=557ceae7e12b8270190220e3b7f6afa1f136bb96;hb=e53e4d06726919c0fbf386bbe8f9d62a640b74d7;hp=817cdd481714f67ff6cac4767163136a8b5aeac4;hpb=41ecabf5197a74719dd125e974b062184208c96b;p=lyx.git diff --git a/src/cursor.h b/src/cursor.h index 817cdd4817..557ceae7e1 100644 --- a/src/cursor.h +++ b/src/cursor.h @@ -18,15 +18,18 @@ #include #include + +namespace lyx { + class Buffer; class BufferView; class FuncStatus; class FuncRequest; -class Point; class LyXFont; +class Row; // these should go -class MathUnknownInset; +class InsetMathUnknown; class Encoding; @@ -72,7 +75,7 @@ public: /// void setSelection(); /// set selection at given position - void setSelection(DocIterator const & where, size_t n); + void setSelection(DocIterator const & where, int n); /// void clearSelection(); /// access start of selection @@ -84,13 +87,11 @@ public: /// access start of selection DocIterator selectionEnd() const; /// - void selHandle(bool selecting); + bool selHandle(bool selecting); // - std::string selectionAsString(bool label) const; - /// - void paste(std::string const & data); + docstring selectionAsString(bool label) const; /// - std::string currentState(); + docstring currentState(); /// auto-correct mode bool autocorrect() const { return autocorrect_; } @@ -102,6 +103,8 @@ public: bool & macromode() { return macromode_; } /// returns x,y position void getPos(int & x, int & y) const; + /// the row in the paragraph we're in + Row const & textRow() const; // // common part @@ -114,9 +117,9 @@ public: /// insert an inset void insert(InsetBase *); /// insert a single char - void insert(char c); + void insert(char_type c); /// insert a string - void insert(std::string const & str); + void insert(docstring const & str); /// in pixels from left of screen int targetX() const; @@ -138,7 +141,7 @@ public: /// access to owning Buffer Buffer & buffer() const; /// get some interesting description of top position - void info(std::ostream & os) const; + void info(odocstream & os) const; /// are we in math mode (2), text mode (1) or unsure (0)? int currentMode(); /// reset cursor bottom to the beginning of the given inset @@ -158,8 +161,8 @@ public: void undispatched(); /// the event was already dispatched void dispatched(); - /// call update() when done - void needsUpdate(); + /// Set which update should be done + void updateFlags(Update::flags f); /** * don't call update() when done * @@ -251,17 +254,19 @@ public: /// void niceInsert(MathAtom const & at); /// - void niceInsert(std::string const & str); + void niceInsert(docstring 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(); + + /// interpret name a name of a macro. Returns true if + /// something got inserted. + bool macroModeClose(); /// are we currently typing the name of a macro? bool inMacroMode() const; /// get access to the macro we are currently typing - MathUnknownInset * activeMacro(); + InsetMathUnknown * activeMacro(); /// replace selected stuff with at, placing the former // selection in given cell of atom @@ -283,17 +288,17 @@ public: void handleFont(std::string const & font); /// display a message - void message(std::string const & msg) const; + void message(docstring const & msg) const; /// display an error message - void errorMessage(std::string const & msg) const; + void errorMessage(docstring const & msg) const; /// - std::string getPossibleLabel(); + docstring getPossibleLabel(); /// moves position somehow up or down bool goUpDown(bool up); /// the name of the macro we are currently inputting - std::string macroName(); + docstring macroName(); /// where in the curent cell does the macro name start? int macroNamePos(); /// can we enter the inset? @@ -305,4 +310,7 @@ public: }; + +} // namespace lyx + #endif // LYXCURSOR_H