mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-29 21:05:12 +00:00
Move setLabelWidthStringToSequence() to Text private member.
Move isFullyDeleted() to static function in CutAndPaste.cpp. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30956 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
2b9e44cb01
commit
5fd5cf41c0
@ -429,6 +429,21 @@ void putClipboard(ParagraphList const & paragraphs,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// return true if the whole ParagraphList is deleted
|
||||||
|
static bool isFullyDeleted(ParagraphList const & pars)
|
||||||
|
{
|
||||||
|
pit_type const pars_size = static_cast<pit_type>(pars.size());
|
||||||
|
|
||||||
|
// check all paragraphs
|
||||||
|
for (pit_type pit = 0; pit < pars_size; ++pit) {
|
||||||
|
if (!pars[pit].empty()) // prevent assertion failure
|
||||||
|
if (!pars[pit].isDeleted(0, pars[pit].size()))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void copySelectionHelper(Buffer const & buf, Text const & text,
|
void copySelectionHelper(Buffer const & buf, Text const & text,
|
||||||
pit_type startpit, pit_type endpit,
|
pit_type startpit, pit_type endpit,
|
||||||
int start, int end, DocumentClass const * const dc, CutStack & cutstack)
|
int start, int end, DocumentClass const * const dc, CutStack & cutstack)
|
||||||
|
40
src/Text.cpp
40
src/Text.cpp
@ -214,32 +214,6 @@ bool isFirstInSequence(pit_type par_offset, ParagraphList const & pars)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void setLabelWidthStringToSequence(pit_type const par_offset,
|
|
||||||
ParagraphList & pars, docstring const & s)
|
|
||||||
{
|
|
||||||
pit_type offset = par_offset;
|
|
||||||
// Find first of same layout in sequence
|
|
||||||
while (!isFirstInSequence(offset, pars)) {
|
|
||||||
offset = depthHook(offset, pars, pars[offset].getDepth());
|
|
||||||
}
|
|
||||||
|
|
||||||
// now apply label width string to every par
|
|
||||||
// in sequence
|
|
||||||
pit_type const end = pars.size();
|
|
||||||
depth_type const depth = pars[offset].getDepth();
|
|
||||||
Layout const & layout = pars[offset].layout();
|
|
||||||
for (pit_type pit = 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;
|
||||||
@ -289,20 +263,6 @@ Font const outerFont(pit_type par_offset, ParagraphList const & pars)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool isFullyDeleted(ParagraphList const & pars)
|
|
||||||
{
|
|
||||||
pit_type const pars_size = static_cast<pit_type>(pars.size());
|
|
||||||
|
|
||||||
// check all paragraphs
|
|
||||||
for (pit_type pit = 0; pit < pars_size; ++pit) {
|
|
||||||
if (!pars[pit].empty()) // prevent assertion failure
|
|
||||||
if (!pars[pit].isDeleted(0, pars[pit].size()))
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void acceptChanges(ParagraphList & pars, BufferParams const & bparams)
|
void acceptChanges(ParagraphList & pars, BufferParams const & bparams)
|
||||||
{
|
{
|
||||||
pit_type pars_size = static_cast<pit_type>(pars.size());
|
pit_type pars_size = static_cast<pit_type>(pars.size());
|
||||||
|
11
src/Text.h
11
src/Text.h
@ -347,6 +347,9 @@ private:
|
|||||||
Font & font, Change & change, ErrorList & errorList);
|
Font & font, Change & change, ErrorList & errorList);
|
||||||
///
|
///
|
||||||
void readParagraph(Paragraph & par, Lexer & lex, ErrorList & errorList);
|
void readParagraph(Paragraph & par, Lexer & lex, ErrorList & errorList);
|
||||||
|
/// Set Label Width string to all paragraphs of the same layout
|
||||||
|
/// and depth in a sequence.
|
||||||
|
void setLabelWidthStringToSequence(pit_type const par_offset, docstring const & s);
|
||||||
|
|
||||||
/// Owner Inset.
|
/// Owner Inset.
|
||||||
InsetText * owner_;
|
InsetText * owner_;
|
||||||
@ -382,11 +385,6 @@ 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 const 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);
|
||||||
@ -400,9 +398,6 @@ Font const outerFont(pit_type par_offset, ParagraphList const & pars);
|
|||||||
/// accept the changes within the complete ParagraphList
|
/// accept the changes within the complete ParagraphList
|
||||||
void acceptChanges(ParagraphList & pars, BufferParams const & bparams);
|
void acceptChanges(ParagraphList & pars, BufferParams const & bparams);
|
||||||
|
|
||||||
/// return true if the whole ParagraphList is deleted
|
|
||||||
bool isFullyDeleted(ParagraphList const & pars);
|
|
||||||
|
|
||||||
} // namespace lyx
|
} // namespace lyx
|
||||||
|
|
||||||
#endif // TEXT_H
|
#endif // TEXT_H
|
||||||
|
@ -431,6 +431,32 @@ docstring Text::getStringToIndex(Cursor const & cur)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Text::setLabelWidthStringToSequence(pit_type const par_offset,
|
||||||
|
docstring const & s)
|
||||||
|
{
|
||||||
|
pit_type offset = par_offset;
|
||||||
|
// Find first of same layout in sequence
|
||||||
|
while (!isFirstInSequence(offset, pars_)) {
|
||||||
|
offset = depthHook(offset, pars_, pars_[offset].getDepth());
|
||||||
|
}
|
||||||
|
|
||||||
|
// now apply label width string to every par
|
||||||
|
// in sequence
|
||||||
|
pit_type const end = pars_.size();
|
||||||
|
depth_type const depth = pars_[offset].getDepth();
|
||||||
|
Layout const & layout = pars_[offset].layout();
|
||||||
|
for (pit_type pit = 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void Text::setParagraphs(Cursor & cur, docstring arg, bool merge)
|
void Text::setParagraphs(Cursor & cur, docstring arg, bool merge)
|
||||||
{
|
{
|
||||||
LASSERT(cur.text(), /**/);
|
LASSERT(cur.text(), /**/);
|
||||||
@ -452,8 +478,7 @@ void Text::setParagraphs(Cursor & cur, docstring arg, bool merge)
|
|||||||
// Do this only once for a selected range of paragraphs
|
// Do this only once for a selected range of paragraphs
|
||||||
// of the same layout and depth.
|
// of the same layout and depth.
|
||||||
if (par.getDepth() != priordepth || par.layout() != priorlayout)
|
if (par.getDepth() != priordepth || par.layout() != priorlayout)
|
||||||
setLabelWidthStringToSequence(pit, pars_,
|
setLabelWidthStringToSequence(pit, params.labelWidthString());
|
||||||
params.labelWidthString());
|
|
||||||
par.params().apply(params, par.layout());
|
par.params().apply(params, par.layout());
|
||||||
priordepth = par.getDepth();
|
priordepth = par.getDepth();
|
||||||
priorlayout = par.layout();
|
priorlayout = par.layout();
|
||||||
@ -481,7 +506,7 @@ void Text::setParagraphs(Cursor & cur, ParagraphParameters const & p)
|
|||||||
// Do this only once for a selected range of paragraphs
|
// Do this only once for a selected range of paragraphs
|
||||||
// of the same layout and depth.
|
// of the same layout and depth.
|
||||||
if (par.getDepth() != priordepth || par.layout() != priorlayout)
|
if (par.getDepth() != priordepth || par.layout() != priorlayout)
|
||||||
setLabelWidthStringToSequence(pit, pars_,
|
setLabelWidthStringToSequence(pit,
|
||||||
par.params().labelWidthString());
|
par.params().labelWidthString());
|
||||||
par.params().apply(p, par.layout());
|
par.params().apply(p, par.layout());
|
||||||
priordepth = par.getDepth();
|
priordepth = par.getDepth();
|
||||||
|
Loading…
Reference in New Issue
Block a user