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"
20 #include "support/std_string.h"
30 namespace CutAndPaste {
34 CutAndPaste::availableSelections(Buffer const & buffer);
37 PitPosPair cutSelection(BufferParams const & params,
39 ParagraphList::iterator startpit,
40 ParagraphList::iterator endpit,
41 int start, int end, lyx::textclass_type tc,
42 bool doclear = false);
44 PitPosPair eraseSelection(BufferParams const & params,
46 ParagraphList::iterator startpit,
47 ParagraphList::iterator endpit,
48 int start, int end, bool doclear = false);
50 bool copySelection(ParagraphList::iterator startpit,
51 ParagraphList::iterator endpit,
52 int start, int end, lyx::textclass_type tc);
54 std::pair<PitPosPair, ParagraphList::iterator>
55 pasteSelection(Buffer const & buffer,
57 ParagraphList::iterator pit, int pos,
58 lyx::textclass_type tc, ErrorList &);
61 std::pair<PitPosPair, ParagraphList::iterator>
62 pasteSelection(Buffer const & buffer,
64 ParagraphList::iterator pit, int pos,
65 lyx::textclass_type tc,
66 size_t cuts_indexm, ErrorList &);
71 /** Needed to switch between different classes this works
72 for a list of paragraphs beginning with the specified par
73 return value is the number of wrong conversions.
75 int SwitchLayoutsBetweenClasses(lyx::textclass_type c1,
76 lyx::textclass_type c2,
80 bool checkPastePossible();
82 } // end of CutAndPaste