X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fparagraph_funcs.h;h=067ba94ba1e115c76ada49bd422638d34413e2b6;hb=70a24259f8e3eb75677178ef5e28ecbb51c2935b;hp=3686b36c8429da962807f522ca8bcc50b02bcad1;hpb=e22c5f4d97b53a5d2adcbf7bbc7ba2dd40ef40de;p=lyx.git diff --git a/src/paragraph_funcs.h b/src/paragraph_funcs.h index 3686b36c84..067ba94ba1 100644 --- a/src/paragraph_funcs.h +++ b/src/paragraph_funcs.h @@ -4,7 +4,7 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author Lars Gullik Bjønnes + * \author Lars Gullik Bjønnes * * Full author contact details are available in file CREDITS. */ @@ -12,60 +12,76 @@ #ifndef PARAGRAPH_FUNCS_H #define PARAGRAPH_FUNCS_H +#include "support/strfwd.h" #include "support/types.h" + +namespace lyx { + class Buffer; class BufferParams; -class InsetBase; -class LyXFont; +class Inset; +class Font; class Paragraph; class ParagraphList; /** * 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. + * - 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, - lyx::pit_type par, - lyx::pos_type pos, - int flag); + pit_type par, + pos_type pos, + bool keep_layout); /// void breakParagraphConservative(BufferParams const & bparams, ParagraphList & paragraphs, - lyx::pit_type par, - lyx::pos_type pos); + 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, lyx::pit_type par); + ParagraphList & paragraphs, pit_type par); /// for the environments -lyx::pit_type depthHook(lyx::pit_type par, - ParagraphList const & plist, lyx::depth_type depth); +pit_type depthHook(pit_type par, + ParagraphList const & plist, depth_type depth); -lyx::pit_type outerHook(lyx::pit_type par, ParagraphList const & plist); +pit_type outerHook(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); +bool isFirstInSequence(pit_type par, ParagraphList const & plist); + +/** Set Label Width string to all paragraphs of the same layout + and depth in a sequence */ +void setLabelWidthStringToSequence(pit_type par_offset, + ParagraphList & pars, docstring const & s); /** Check if the current paragraph is the last paragraph in a proof environment */ -int getEndLabel(lyx::pit_type par, ParagraphList const & plist); +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); -LyXFont const outerFont(lyx::pit_type par_offset, ParagraphList const & pars); +/// return true if the whole ParagraphList is deleted +bool isFullyDeleted(ParagraphList const & pars); -/// return the number of InsetOptArg in a paragraph -int numberOfOptArgs(Paragraph const & par); +} // namespace lyx #endif // PARAGRAPH_FUNCS_H