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
|
|
|
|
|
|
|
|
|
|
#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;
|
|
|
|
|
class ParagraphList;
|
2002-08-20 19:41:13 +00:00
|
|
|
|
|
2004-01-30 11:41:12 +00:00
|
|
|
|
|
2002-08-20 19:41:13 +00:00
|
|
|
|
///
|
2003-03-06 10:02:40 +00:00
|
|
|
|
void breakParagraph(BufferParams const & bparams,
|
|
|
|
|
ParagraphList & paragraphs,
|
2004-03-25 09:16:36 +00:00
|
|
|
|
lyx::par_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-03-25 09:16:36 +00:00
|
|
|
|
lyx::par_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-03-25 09:16:36 +00:00
|
|
|
|
ParagraphList & paragraphs, lyx::par_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-03-25 09:16:36 +00:00
|
|
|
|
lyx::par_type depthHook(lyx::par_type par,
|
|
|
|
|
ParagraphList const & plist, lyx::depth_type depth);
|
2002-08-20 19:41:13 +00:00
|
|
|
|
|
2004-03-25 09:16:36 +00:00
|
|
|
|
lyx::par_type outerHook(lyx::par_type par, ParagraphList const & plist);
|
2002-08-20 19:41:13 +00:00
|
|
|
|
|
|
|
|
|
/// Is it the first par with same depth and layout?
|
2004-03-25 09:16:36 +00:00
|
|
|
|
bool isFirstInSequence(lyx::par_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-03-25 09:16:36 +00:00
|
|
|
|
int getEndLabel(lyx::par_type par, ParagraphList const & plist);
|
2003-03-12 11:52:23 +00:00
|
|
|
|
|
2004-03-25 09:16:36 +00:00
|
|
|
|
LyXFont const outerFont(lyx::par_type par, ParagraphList const & plist);
|
2003-04-14 18:35:29 +00:00
|
|
|
|
|
2003-08-26 14:50:16 +00:00
|
|
|
|
/// find outermost paragraph containing an inset
|
2004-03-25 09:16:36 +00:00
|
|
|
|
lyx::par_type outerPar(Buffer const & buf, InsetBase const * inset);
|
2003-08-26 16:36:53 +00:00
|
|
|
|
|
2004-04-03 08:37:12 +00:00
|
|
|
|
/// return the range of pars [beg, end[ owning the range of y [ystart, yend]
|
2004-03-25 09:16:36 +00:00
|
|
|
|
void getParsInRange(ParagraphList & plist,
|
2004-01-30 11:41:12 +00:00
|
|
|
|
int ystart, int yend,
|
2004-03-25 09:16:36 +00:00
|
|
|
|
lyx::par_type & beg,
|
|
|
|
|
lyx::par_type & end);
|
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
|