mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-23 21:40:19 +00:00
* paragraph_funcs.{cpp,h}:
- new member setLabelWidthStringToSequence * Text2.cpp (setParagraphs): - use that. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29839 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
eb9151060d
commit
e38ca152a4
@ -449,6 +449,10 @@ void Text::setParagraphs(Cursor & cur, docstring arg, bool merge)
|
|||||||
Paragraph & par = pars_[pit];
|
Paragraph & par = pars_[pit];
|
||||||
ParagraphParameters params = par.params();
|
ParagraphParameters params = par.params();
|
||||||
params.read(argument, merge);
|
params.read(argument, merge);
|
||||||
|
// changes to label width string apply to all
|
||||||
|
// paragraph with same layout in a sequence
|
||||||
|
setLabelWidthStringToSequence(pit, pars_,
|
||||||
|
params.labelWidthString());
|
||||||
par.params().apply(params, par.layout());
|
par.params().apply(params, par.layout());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -467,6 +471,10 @@ void Text::setParagraphs(Cursor & cur, ParagraphParameters const & p)
|
|||||||
for (pit_type pit = cur.selBegin().pit(), end = cur.selEnd().pit();
|
for (pit_type pit = cur.selBegin().pit(), end = cur.selEnd().pit();
|
||||||
pit <= end; ++pit) {
|
pit <= end; ++pit) {
|
||||||
Paragraph & par = pars_[pit];
|
Paragraph & par = pars_[pit];
|
||||||
|
// changes to label width string apply to all
|
||||||
|
// paragraph with same layout in a sequence
|
||||||
|
setLabelWidthStringToSequence(pit, pars_,
|
||||||
|
par.params().labelWidthString());
|
||||||
par.params().apply(p, par.layout());
|
par.params().apply(p, par.layout());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -256,6 +256,33 @@ bool isFirstInSequence(pit_type par_offset, ParagraphList const & pars)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void setLabelWidthStringToSequence(pit_type par_offset,
|
||||||
|
ParagraphList & pars, docstring const & s)
|
||||||
|
{
|
||||||
|
Paragraph & par = pars[par_offset];
|
||||||
|
// Find first of same layout in sequence
|
||||||
|
while (!isFirstInSequence(par_offset, pars)) {
|
||||||
|
par_offset = depthHook(par_offset, pars, par.getDepth());
|
||||||
|
par = pars[par_offset];
|
||||||
|
}
|
||||||
|
|
||||||
|
// now apply label width string to every par
|
||||||
|
// in sequence
|
||||||
|
pit_type const end = pars.size();
|
||||||
|
depth_type const depth = par.getDepth();
|
||||||
|
Layout const & layout = par.layout();
|
||||||
|
for (pit_type pit = par_offset; pit != end; ++pit) {
|
||||||
|
while (pars[pit].getDepth() > depth)
|
||||||
|
++pit;
|
||||||
|
if (pars[pit].getDepth() < depth)
|
||||||
|
return;
|
||||||
|
if (pars[pit].layout() != layout)
|
||||||
|
return;
|
||||||
|
pars[pit].setLabelWidthString(s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int getEndLabel(pit_type p, ParagraphList const & pars)
|
int getEndLabel(pit_type p, ParagraphList const & pars)
|
||||||
{
|
{
|
||||||
pit_type pit = p;
|
pit_type pit = p;
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
#ifndef PARAGRAPH_FUNCS_H
|
#ifndef PARAGRAPH_FUNCS_H
|
||||||
#define PARAGRAPH_FUNCS_H
|
#define PARAGRAPH_FUNCS_H
|
||||||
|
|
||||||
|
#include "support/docstring.h"
|
||||||
#include "support/types.h"
|
#include "support/types.h"
|
||||||
|
|
||||||
|
|
||||||
@ -60,6 +61,11 @@ pit_type outerHook(pit_type par, ParagraphList const & plist);
|
|||||||
/// Is it the first par with same depth and layout?
|
/// Is it the first par with same depth and layout?
|
||||||
bool isFirstInSequence(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
|
/** Check if the current paragraph is the last paragraph in a
|
||||||
proof environment */
|
proof environment */
|
||||||
int getEndLabel(pit_type par, ParagraphList const & plist);
|
int getEndLabel(pit_type par, ParagraphList const & plist);
|
||||||
|
Loading…
Reference in New Issue
Block a user