lyx_mirror/src/paragraph_funcs.h
Vincent van Ravesteijn f05504f5ef Fix bug #5390. Copy from a deleted section with change tracking.
Do not accept the changes in the selection, if it is completely deleted.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29672 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-14 22:21:05 +00:00

82 lines
2.1 KiB
C++

// -*- C++ -*-
/**
* \file paragraph_funcs.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Lars Gullik Bjønnes
*
* Full author contact details are available in file CREDITS.
*/
#ifndef PARAGRAPH_FUNCS_H
#define PARAGRAPH_FUNCS_H
#include "support/types.h"
namespace lyx {
class Buffer;
class BufferParams;
class Inset;
class Font;
class Paragraph;
class ParagraphList;
/**
* This breaks a paragraph at the specified position.
* The new paragraph will:
* - Decrease depth by one (or change layout to default layout) when
* keep_layout == false
* - keep current depth and layout when keep_layout == true
*/
void breakParagraph(BufferParams const & bparams,
ParagraphList & paragraphs,
pit_type par,
pos_type pos,
bool keep_layout);
///
void breakParagraphConservative(BufferParams const & bparams,
ParagraphList & paragraphs,
pit_type par,
pos_type pos);
/**
* Append the next paragraph onto the tail of this one.
* Be careful, this doesent make any check at all.
*/
void mergeParagraph(BufferParams const & bparams,
ParagraphList & paragraphs, pit_type par);
/// for the environments
pit_type depthHook(pit_type par,
ParagraphList const & plist, depth_type depth);
pit_type outerHook(pit_type par, ParagraphList const & plist);
/// Is it the first par with same depth and layout?
bool isFirstInSequence(pit_type par, ParagraphList const & plist);
/** Check if the current paragraph is the last paragraph in a
proof environment */
int getEndLabel(pit_type par, ParagraphList const & plist);
/**
* Get the font of the "environment" of paragraph \p par_offset in \p pars.
* All font changes of the paragraph are relative to this font.
*/
Font const outerFont(pit_type par_offset, ParagraphList const & pars);
/// accept the changes within the complete ParagraphList
void acceptChanges(ParagraphList & pars, BufferParams const & bparams);
/// return true if the whole ParagraphList is deleted
bool isFullyDeleted(ParagraphList const & pars);
} // namespace lyx
#endif // PARAGRAPH_FUNCS_H