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 "ParagraphList_fwd.h"
18 #include "support/types.h"
30 namespace CutAndPaste {
33 std::vector<std::string> const availableSelections(Buffer const & buffer);
36 PitPosPair cutSelection(BufferParams const & params,
38 ParagraphList::iterator startpit,
39 ParagraphList::iterator endpit,
40 int start, int end, lyx::textclass_type tc,
41 bool doclear = false);
43 PitPosPair eraseSelection(BufferParams const & params,
45 ParagraphList::iterator startpit,
46 ParagraphList::iterator endpit,
47 int start, int end, bool doclear = false);
49 bool copySelection(ParagraphList::iterator startpit,
50 ParagraphList::iterator endpit,
51 int start, int end, lyx::textclass_type tc);
53 std::pair<PitPosPair, ParagraphList::iterator>
54 pasteSelection(Buffer const & buffer,
56 ParagraphList::iterator pit, int pos,
57 lyx::textclass_type tc, ErrorList &);
60 std::pair<PitPosPair, ParagraphList::iterator>
61 pasteSelection(Buffer const & buffer,
63 ParagraphList::iterator pit, int pos,
64 lyx::textclass_type tc,
65 size_t cuts_indexm, ErrorList &);
70 /** Needed to switch between different classes this works
71 for a list of paragraphs beginning with the specified par
72 return value is the number of wrong conversions.
74 int SwitchLayoutsBetweenClasses(lyx::textclass_type c1,
75 lyx::textclass_type c2,
79 bool checkPastePossible();
81 } // end of CutAndPaste