X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FCutAndPaste.h;h=bb12c2d9dd241f142dd4f2d378267aa140af4b8a;hb=c544107e324090c6eafb4c56749da2624b9b1122;hp=3835d553fe8969e53c153679350a2ac275f55ed9;hpb=63de5b908f640f7e454be7d4dc34f0961c081f24;p=lyx.git diff --git a/src/CutAndPaste.h b/src/CutAndPaste.h index 3835d553fe..bb12c2d9dd 100644 --- a/src/CutAndPaste.h +++ b/src/CutAndPaste.h @@ -1,54 +1,81 @@ // -*- C++ -*- -/* This file is part of - * ====================================================== - * - * LyX, The Document Processor - * - * Copyright 1995-2000 the LyX Team. +/* \file CutAndPaste.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * - * ====================================================== */ + * \author Juergen Vigna + * \author Lars Gullik Bjønnes + * \author Alfredo Braunstein + * + * Full author contact details are available in file CREDITS + */ #ifndef CUTANDPASTE_H #define CUTANDPASTE_H -#ifdef __GNUG__ -#pragma interface -#endif +#include "support/types.h" +#include "ParagraphList.h" + +#include + +class Paragraph; +class BufferParams; +class LyXTextClass; +class ErrorList; + +/// +namespace CutAndPaste { + +/// +std::vector +CutAndPaste::availableSelections(Buffer const & buffer); + +/// +PitPosPair cutSelection(BufferParams const & params, + ParagraphList & pars, + ParagraphList::iterator startpit, + ParagraphList::iterator endpit, + int start, int end, lyx::textclass_type tc, + bool doclear = false); +/// +PitPosPair eraseSelection(BufferParams const & params, + ParagraphList & pars, + ParagraphList::iterator startpit, + ParagraphList::iterator endpit, + int start, int end, bool doclear = false); +/// +bool copySelection(ParagraphList::iterator startpit, + ParagraphList::iterator endpit, + int start, int end, lyx::textclass_type tc); +/// +std::pair +pasteSelection(Buffer const & buffer, + ParagraphList & pars, + ParagraphList::iterator pit, int pos, + lyx::textclass_type tc, ErrorList &); + +/// +std::pair +pasteSelection(Buffer const & buffer, + ParagraphList & pars, + ParagraphList::iterator pit, int pos, + lyx::textclass_type tc, + size_t cuts_indexm, ErrorList &); + +/// +int nrOfParagraphs(); + +/** Needed to switch between different classes this works + for a list of paragraphs beginning with the specified par + return value is the number of wrong conversions. +*/ +int SwitchLayoutsBetweenClasses(lyx::textclass_type c1, + lyx::textclass_type c2, + ParagraphList & par, + ErrorList &); +/// +bool checkPastePossible(); -#include "layout.h" - -class LyXParagraph; - -/// -class CutAndPaste { -public: - /// - static - bool cutSelection(LyXParagraph * startpar, LyXParagraph ** endpar, - int start, int & end, - char tc, bool doclear = false); - /// - static - bool copySelection(LyXParagraph * startpar, LyXParagraph * endpar, - int start, int end, char tc); - /// - static - bool pasteSelection(LyXParagraph ** par, LyXParagraph ** endpar, - int & pos, char tc); - /// - static - int nrOfParagraphs(); - /** needed to switch between different classes this works - for a list of paragraphs beginning with the specified par - return value is the number of wrong conversions - */ - static - int SwitchLayoutsBetweenClasses(LyXTextClassList::size_type class1, - LyXTextClassList::size_type class2, - LyXParagraph * par); - /// - static - bool checkPastePossible(LyXParagraph *); -}; +} // end of CutAndPaste #endif