#include <iosfwd>
#include <vector>
+
+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;
///
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
/// 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();
bool & macromode() { return macromode_; }
/// returns x,y position
void getPos(int & x, int & y) const;
+ /// the row in the paragraph we're in
+ Row & textRow();
+ /// the row in the paragraph we're in
+ Row const & textRow() const;
//
// common part
/// 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;
/// 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
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
*
///
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
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?
};
+
+} // namespace lyx
+
#endif // LYXCURSOR_H