2002-08-20 19:41:13 +00:00
|
|
|
|
// -*- C++ -*-
|
2002-09-12 14:58:06 +00:00
|
|
|
|
/**
|
|
|
|
|
* \file paragraph_funcs.h
|
|
|
|
|
* This file is part of LyX, the document processor.
|
|
|
|
|
* Licence details can be found in the file COPYING.
|
2002-08-21 17:35:24 +00:00
|
|
|
|
*
|
2002-09-12 14:58:06 +00:00
|
|
|
|
* \author Lars Gullik Bj<EFBFBD>nnes
|
2002-08-21 17:35:24 +00:00
|
|
|
|
*
|
2003-08-23 00:17:00 +00:00
|
|
|
|
* Full author contact details are available in file CREDITS.
|
2002-09-12 14:58:06 +00:00
|
|
|
|
*/
|
2002-08-20 19:41:13 +00:00
|
|
|
|
|
|
|
|
|
#ifndef PARAGRAPH_FUNCS_H
|
|
|
|
|
#define PARAGRAPH_FUNCS_H
|
|
|
|
|
|
2006-03-23 20:11:06 +00:00
|
|
|
|
#include "ParagraphList_fwd.h"
|
|
|
|
|
|
2002-08-20 19:41:13 +00:00
|
|
|
|
#include "support/types.h"
|
|
|
|
|
|
2003-03-03 21:15:49 +00:00
|
|
|
|
class Buffer;
|
2002-08-20 19:41:13 +00:00
|
|
|
|
class BufferParams;
|
2004-01-26 10:13:15 +00:00
|
|
|
|
class InsetBase;
|
2004-03-25 09:16:36 +00:00
|
|
|
|
class LyXFont;
|
|
|
|
|
class Paragraph;
|
2002-08-20 19:41:13 +00:00
|
|
|
|
|
2005-01-31 16:29:48 +00:00
|
|
|
|
/**
|
|
|
|
|
* This breaks a paragraph at the specified position.
|
|
|
|
|
* The new paragraph will:
|
|
|
|
|
* get the default layout, when flag == 0
|
|
|
|
|
* will inherit the existing one, except for depth, when flag == 1
|
|
|
|
|
* will inherit the existing one, including depth, when flag == 2
|
|
|
|
|
* Be aware that the old or new paragraph does not contain any rows
|
|
|
|
|
* after this.
|
|
|
|
|
*/
|
2003-03-06 10:02:40 +00:00
|
|
|
|
void breakParagraph(BufferParams const & bparams,
|
|
|
|
|
ParagraphList & paragraphs,
|
2004-11-24 21:53:46 +00:00
|
|
|
|
lyx::pit_type par,
|
2002-08-20 19:41:13 +00:00
|
|
|
|
lyx::pos_type pos,
|
|
|
|
|
int flag);
|
|
|
|
|
|
|
|
|
|
///
|
2003-03-06 10:02:40 +00:00
|
|
|
|
void breakParagraphConservative(BufferParams const & bparams,
|
|
|
|
|
ParagraphList & paragraphs,
|
2004-11-24 21:53:46 +00:00
|
|
|
|
lyx::pit_type par,
|
2002-08-20 19:41:13 +00:00
|
|
|
|
lyx::pos_type pos);
|
|
|
|
|
|
2002-10-21 16:21:56 +00:00
|
|
|
|
/**
|
|
|
|
|
* Append the next paragraph onto the tail of this one.
|
|
|
|
|
* Be careful, this doesent make any check at all.
|
|
|
|
|
*/
|
2003-03-06 10:02:40 +00:00
|
|
|
|
void mergeParagraph(BufferParams const & bparams,
|
2004-11-24 21:53:46 +00:00
|
|
|
|
ParagraphList & paragraphs, lyx::pit_type par);
|
2002-08-20 19:41:13 +00:00
|
|
|
|
|
2003-04-16 08:12:22 +00:00
|
|
|
|
|
2002-08-20 19:41:13 +00:00
|
|
|
|
/// for the environments
|
2004-11-24 21:53:46 +00:00
|
|
|
|
lyx::pit_type depthHook(lyx::pit_type par,
|
2004-03-25 09:16:36 +00:00
|
|
|
|
ParagraphList const & plist, lyx::depth_type depth);
|
2002-08-20 19:41:13 +00:00
|
|
|
|
|
2004-11-24 21:53:46 +00:00
|
|
|
|
lyx::pit_type outerHook(lyx::pit_type par, ParagraphList const & plist);
|
2002-08-20 19:41:13 +00:00
|
|
|
|
|
|
|
|
|
/// Is it the first par with same depth and layout?
|
2004-11-24 21:53:46 +00:00
|
|
|
|
bool isFirstInSequence(lyx::pit_type par, ParagraphList const & plist);
|
2002-08-20 19:41:13 +00:00
|
|
|
|
|
|
|
|
|
/** Check if the current paragraph is the last paragraph in a
|
|
|
|
|
proof environment */
|
2004-11-24 21:53:46 +00:00
|
|
|
|
int getEndLabel(lyx::pit_type par, ParagraphList const & plist);
|
2003-03-12 11:52:23 +00:00
|
|
|
|
|
2004-11-30 01:59:49 +00:00
|
|
|
|
LyXFont const outerFont(lyx::pit_type par_offset, ParagraphList const & pars);
|
2003-08-26 14:50:16 +00:00
|
|
|
|
|
2004-11-19 16:17:52 +00:00
|
|
|
|
/// return the number of InsetOptArg in a paragraph
|
|
|
|
|
int numberOfOptArgs(Paragraph const & par);
|
|
|
|
|
|
2002-09-12 14:58:06 +00:00
|
|
|
|
#endif // PARAGRAPH_FUNCS_H
|