4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
8 * \author Lars Gullik Bjønnes
9 * \author Alfredo Braunstein
11 * Full author contact details are available in file CREDITS.
17 #include "support/types.h"
33 std::vector<std::string> const availableSelections(Buffer const & buffer);
35 std::string getSelection(Buffer const & buffer, size_t sel_index);
38 void cutSelection(LCursor & cur, bool doclear, bool realcut);
41 * Sets the selection from the current cursor position to length
42 * characters to the right. No safety checks.
44 void setSelectionRange(LCursor & cur, lyx::pos_type length);
45 /// simply replace using the font of the first selected character
46 void replaceSelectionWithString(LCursor & cur, std::string const & str);
47 /// replace selection helper
48 void replaceSelection(LCursor & cur);
51 void cutSelection(LCursor & cur, bool doclear = true, bool realcut = true);
53 void copySelection(LCursor & cur);
55 void pasteSelection(LCursor & cur, size_t sel_index = 0);
57 /** Needed to switch between different classes. This works
58 * for a list of paragraphs beginning with the specified par
59 * return value is the number of wrong conversions.
61 int SwitchLayoutsBetweenClasses(lyx::textclass_type c1,
62 lyx::textclass_type c2,
66 // only used by the spellchecker
67 void replaceWord(LCursor & cur, std::string const & replacestring);
70 std::string grabSelection(LCursor & cur);
72 void eraseSelection(LCursor & cur);
74 std::string grabAndEraseSelection(LCursor & cur);
75 // other selection methods
77 void selCut(LCursor & cur);
79 void selDel(LCursor & cur);
80 /// clears or deletes selection depending on lyxrc setting
81 void selClearOrDel(LCursor & cur);
82 /// pastes n-th element of cut buffer
83 void selPaste(LCursor & cur, size_t n);