X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fparagraph_funcs.h;h=bf7a6429fea07885c218203e509a83dc16ec6b14;hb=2455bc258f3b62c29ec4a41cb88070ff8518e842;hp=cac2d988b033574d6edf616dd4babea4be4e7e30;hpb=63e1ebc3127c87e02c9a2060e5c7adceda1f44c2;p=lyx.git diff --git a/src/paragraph_funcs.h b/src/paragraph_funcs.h index cac2d988b0..bf7a6429fe 100644 --- a/src/paragraph_funcs.h +++ b/src/paragraph_funcs.h @@ -6,69 +6,74 @@ * * \author Lars Gullik Bjønnes * - * Full author contact details are available in file CREDITS + * Full author contact details are available in file CREDITS. */ #ifndef PARAGRAPH_FUNCS_H #define PARAGRAPH_FUNCS_H -#include "ParagraphList.h" #include "support/types.h" + +namespace lyx { + class Buffer; class BufferParams; +class Inset; +class Font; class Paragraph; -class TexRow; +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, - Paragraph *, - lyx::pos_type pos, - int flag); + ParagraphList & paragraphs, + pit_type par, + pos_type pos, + bool keep_layout); /// void breakParagraphConservative(BufferParams const & bparams, - Paragraph *, - lyx::pos_type pos); + 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, Paragraph *); +void mergeParagraph(BufferParams const & bparams, + ParagraphList & paragraphs, pit_type par); -#if 0 /// for the environments -Paragraph * depthHook(Paragraph * par, Paragraph::depth_type depth); +pit_type depthHook(pit_type par, + ParagraphList const & plist, depth_type depth); -Paragraph * outerHook(Paragraph * par); +pit_type outerHook(pit_type par, ParagraphList const & plist); /// Is it the first par with same depth and layout? -bool isFirstInSequence(Paragraph * par); +bool isFirstInSequence(pit_type par, ParagraphList const & plist); /** Check if the current paragraph is the last paragraph in a proof environment */ -int getEndLabel(Paragraph * para, BufferParams const & bparams); -#endif - -ParagraphList::iterator -TeXDeeper(Buffer const * buf, - BufferParams const & bparams, - ParagraphList::iterator pit, - std::ostream & os, TexRow & texrow); - -ParagraphList::iterator -TeXEnvironment(Buffer const * buf, - BufferParams const & bparams, - ParagraphList::iterator pit, - std::ostream & os, TexRow & texrow); - -ParagraphList::iterator -TeXOnePar(Buffer const * buf, - BufferParams const & bparams, - ParagraphList::iterator pit, - std::ostream & os, TexRow & texrow, - bool moving_arg); +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); + + +} // namespace lyx #endif // PARAGRAPH_FUNCS_H