lyx_mirror/src/paragraph_funcs.h
Georg Baum 5822df009a Merge Abdel's ParagraphList from trunk
* output_latex.h:
        * buffer.h:
        * CutAndPaste.h:
        * pariterator.h:
        * paragraph_funcs.h:
        * output_linuxdoc.h:
        * output_docbook.h:
        * insets/insettext.h: get forward declaration of ParagraphList

        * output_plaintext.C:
        * bufferlist.C:
        * undo.C:
        * lyxtext.h:
        * undo.h:
        * buffer_funcs.C:
        * insets/insetbibitem.C: get proper ParagraphList decls

        * output_linuxdoc.C (linuxdocParagraphs):
        * output_latex.C (TeXOnePar):
        * insets/insettext.C (appendParagraphs):
        * insets/insetcharstyle.C (docbook): use std::distance

        * CutAndPaste.C (pasteSelectionHelper, copySelectionHelper):
        * paragraph_funcs.C (breakParagraph,
        breakParagraphConservative, mergeParagraph):
        * text.C (acceptChange, rejectChange):
        * text2.C (deleteEmptyParagraphMechanism): use boost::next

        * output_docbook.C (several places): use boost::next and
        std::distance

        * ParagraphList_fwd.h: modify to provid a forward declaratoin
        of the new ParagraphList.

        * RandomAccessList.h: New container for Paragraphs from
        Abdelrazak Younes

        * ParagraphList.h: new file, setup user of RandomAccessList

        * paragraph.C: remove ParagraphList constructor from this file


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_4_X@13487 a592a061-630c-0410-9148-cb99ea01b6c8
2006-03-24 17:37:15 +00:00

73 lines
1.9 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 "ParagraphList_fwd.h"
#include "support/types.h"
class Buffer;
class BufferParams;
class InsetBase;
class LyXFont;
class Paragraph;
/**
* 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.
*/
void breakParagraph(BufferParams const & bparams,
ParagraphList & paragraphs,
lyx::pit_type par,
lyx::pos_type pos,
int flag);
///
void breakParagraphConservative(BufferParams const & bparams,
ParagraphList & paragraphs,
lyx::pit_type par,
lyx::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, lyx::pit_type par);
/// for the environments
lyx::pit_type depthHook(lyx::pit_type par,
ParagraphList const & plist, lyx::depth_type depth);
lyx::pit_type outerHook(lyx::pit_type par, ParagraphList const & plist);
/// Is it the first par with same depth and layout?
bool isFirstInSequence(lyx::pit_type par, ParagraphList const & plist);
/** Check if the current paragraph is the last paragraph in a
proof environment */
int getEndLabel(lyx::pit_type par, ParagraphList const & plist);
LyXFont const outerFont(lyx::pit_type par_offset, ParagraphList const & pars);
/// return the number of InsetOptArg in a paragraph
int numberOfOptArgs(Paragraph const & par);
#endif // PARAGRAPH_FUNCS_H