mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-27 22:41:09 +00:00
Merged Paragraph::stringify into asString().
This commit is contained in:
parent
ad6f96bf48
commit
13cb7da11d
@ -3347,7 +3347,7 @@ docstring Paragraph::asString(int options) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
docstring Paragraph::asString(pos_type beg, pos_type end, int options) const
|
docstring Paragraph::asString(pos_type beg, pos_type end, int options, const OutputParams *runparams) const
|
||||||
{
|
{
|
||||||
odocstringstream os;
|
odocstringstream os;
|
||||||
|
|
||||||
@ -3364,9 +3364,14 @@ docstring Paragraph::asString(pos_type beg, pos_type end, int options) const
|
|||||||
|| (c == '\n' && (options & AS_STR_NEWLINES)))
|
|| (c == '\n' && (options & AS_STR_NEWLINES)))
|
||||||
os.put(c);
|
os.put(c);
|
||||||
else if (c == META_INSET && (options & AS_STR_INSETS)) {
|
else if (c == META_INSET && (options & AS_STR_INSETS)) {
|
||||||
getInset(i)->toString(os);
|
if (c == META_INSET && (options & AS_STR_PLAINTEXT)) {
|
||||||
if (getInset(i)->asInsetMath())
|
LASSERT(runparams != 0, return docstring());
|
||||||
os << " ";
|
getInset(i)->plaintext(os, *runparams);
|
||||||
|
} else {
|
||||||
|
getInset(i)->toString(os);
|
||||||
|
if (getInset(i)->asInsetMath())
|
||||||
|
os << " ";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3392,33 +3397,6 @@ void Paragraph::forOutliner(docstring & os, size_t maxlen) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
docstring Paragraph::stringify(pos_type beg, pos_type end, int options,
|
|
||||||
OutputParams const & runparams) const
|
|
||||||
{
|
|
||||||
odocstringstream os;
|
|
||||||
|
|
||||||
if (beg == 0
|
|
||||||
&& options & AS_STR_LABEL
|
|
||||||
&& !d->params_.labelString().empty())
|
|
||||||
os << d->params_.labelString() << ' ';
|
|
||||||
|
|
||||||
OutputParams op = runparams;
|
|
||||||
op.for_search = true;
|
|
||||||
|
|
||||||
for (pos_type i = beg; i < end; ++i) {
|
|
||||||
char_type const c = d->text_[i];
|
|
||||||
if (isPrintable(c) || c == '\t'
|
|
||||||
|| (c == '\n' && (options & AS_STR_NEWLINES)))
|
|
||||||
os.put(c);
|
|
||||||
else if (c == META_INSET && (options & AS_STR_INSETS)) {
|
|
||||||
getInset(i)->plaintext(os, op);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return os.str();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void Paragraph::setInsetOwner(Inset const * inset)
|
void Paragraph::setInsetOwner(Inset const * inset)
|
||||||
{
|
{
|
||||||
d->inset_owner_ = inset;
|
d->inset_owner_ = inset;
|
||||||
|
@ -127,7 +127,8 @@ enum AsStringParameter
|
|||||||
AS_STR_LABEL = 1, ///< Prefix with paragraph label.
|
AS_STR_LABEL = 1, ///< Prefix with paragraph label.
|
||||||
AS_STR_INSETS = 2, ///< Go into insets.
|
AS_STR_INSETS = 2, ///< Go into insets.
|
||||||
AS_STR_NEWLINES = 4, ///< Get also newline characters.
|
AS_STR_NEWLINES = 4, ///< Get also newline characters.
|
||||||
AS_STR_SKIPDELETE = 8 ///< Skip deleted text in change tracking.
|
AS_STR_SKIPDELETE = 8, ///< Skip deleted text in change tracking.
|
||||||
|
AS_STR_PLAINTEXT = 16 ///< Don't export formatting when descending into insets.
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -173,17 +174,15 @@ public:
|
|||||||
/// asString(AS_STR_LABEL | AS_STR_INSETS)
|
/// asString(AS_STR_LABEL | AS_STR_INSETS)
|
||||||
/// asString(AS_STR_INSETS)
|
/// asString(AS_STR_INSETS)
|
||||||
docstring asString(int options = AS_STR_NONE) const;
|
docstring asString(int options = AS_STR_NONE) const;
|
||||||
///
|
|
||||||
|
/// Convert the paragraph to a string.
|
||||||
|
/// \note If options includes AS_STR_PLAINTEXT, then runparams must be != 0
|
||||||
docstring asString(pos_type beg, pos_type end,
|
docstring asString(pos_type beg, pos_type end,
|
||||||
int options = AS_STR_NONE) const;
|
int options = AS_STR_NONE,
|
||||||
|
const OutputParams *runparams = 0) const;
|
||||||
///
|
///
|
||||||
void forOutliner(docstring &, size_t maxlen) const;
|
void forOutliner(docstring &, size_t maxlen) const;
|
||||||
|
|
||||||
/// Extract only the explicitly visible text (without any formatting),
|
|
||||||
/// descending into insets
|
|
||||||
docstring stringify(pos_type beg, pos_type end, int options,
|
|
||||||
OutputParams const & runparams) const;
|
|
||||||
|
|
||||||
///
|
///
|
||||||
void write(std::ostream &, BufferParams const &,
|
void write(std::ostream &, BufferParams const &,
|
||||||
depth_type & depth) const;
|
depth_type & depth) const;
|
||||||
|
@ -782,14 +782,17 @@ static docstring stringifySearchBuffer(Buffer & buffer, FindAndReplaceOptions co
|
|||||||
runparams.flavor = OutputParams::LATEX;
|
runparams.flavor = OutputParams::LATEX;
|
||||||
runparams.linelen = 100000; //lyxrc.plaintext_linelen;
|
runparams.linelen = 100000; //lyxrc.plaintext_linelen;
|
||||||
runparams.dryrun = true;
|
runparams.dryrun = true;
|
||||||
|
runparams.for_search = true;
|
||||||
for (pos_type pit = pos_type(0); pit < (pos_type)buffer.paragraphs().size(); ++pit) {
|
for (pos_type pit = pos_type(0); pit < (pos_type)buffer.paragraphs().size(); ++pit) {
|
||||||
Paragraph const & par = buffer.paragraphs().at(pit);
|
Paragraph const & par = buffer.paragraphs().at(pit);
|
||||||
LYXERR(Debug::FIND, "Adding to search string: '"
|
LYXERR(Debug::FIND, "Adding to search string: '"
|
||||||
<< par.stringify(pos_type(0), par.size(),
|
<< par.asString(pos_type(0), par.size(),
|
||||||
AS_STR_INSETS, runparams)
|
AS_STR_INSETS | AS_STR_PLAINTEXT,
|
||||||
|
&runparams)
|
||||||
<< "'");
|
<< "'");
|
||||||
str += par.stringify(pos_type(0), par.size(),
|
str += par.asString(pos_type(0), par.size(),
|
||||||
AS_STR_INSETS, runparams);
|
AS_STR_INSETS | AS_STR_PLAINTEXT,
|
||||||
|
&runparams);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return str;
|
return str;
|
||||||
@ -1040,7 +1043,9 @@ docstring stringifyFromCursor(DocIterator const & cur, int len)
|
|||||||
runparams.dryrun = true;
|
runparams.dryrun = true;
|
||||||
LYXERR(Debug::FIND, "Stringifying with cur: "
|
LYXERR(Debug::FIND, "Stringifying with cur: "
|
||||||
<< cur << ", from pos: " << cur.pos() << ", end: " << end);
|
<< cur << ", from pos: " << cur.pos() << ", end: " << end);
|
||||||
return par.stringify(cur.pos(), end, AS_STR_INSETS, runparams);
|
return par.asString(cur.pos(), end,
|
||||||
|
AS_STR_INSETS | AS_STR_PLAINTEXT,
|
||||||
|
&runparams);
|
||||||
} else if (cur.inMathed()) {
|
} else if (cur.inMathed()) {
|
||||||
docstring s;
|
docstring s;
|
||||||
CursorSlice cs = cur.top();
|
CursorSlice cs = cur.top();
|
||||||
|
Loading…
Reference in New Issue
Block a user