Paragraph::Paragraph()
: pimpl_(new Paragraph::Pimpl(this))
{
+#ifndef NO_NEXT
next_ = 0;
previous_ = 0;
+#endif
enumdepth = 0;
itemdepth = 0;
bibkey = 0; // ale970302
}
+#ifndef NO_NEXT
// This constructor inserts the new paragraph in a list.
Paragraph::Paragraph(Paragraph * par)
: pimpl_(new Paragraph::Pimpl(this))
bibkey = 0; // ale970302
params().clear();
}
+#endif
Paragraph::Paragraph(Paragraph const & lp, bool same_ids)
{
enumdepth = 0;
itemdepth = 0;
+#ifndef NO_NEXT
next_ = 0;
previous_ = 0;
-
+#endif
// this is because of the dummy layout of the paragraphs that
// follow footnotes
layout_ = lp.layout();
// copy everything behind the break-position to the new paragraph
insetlist = lp.insetlist;
- for (InsetList::iterator it = insetlist.begin();
- it != insetlist.end(); ++it)
- {
- it.setInset(it.getInset()->clone(*current_view->buffer(), same_ids));
+ InsetList::iterator it = insetlist.begin();
+ InsetList::iterator end = insetlist.end();
+ for (; it != end; ++it) {
+ it.setInset(it.getInset()->clone(*current_view->buffer(),
+ same_ids));
// tell the new inset who is the boss now
it.getInset()->parOwner(this);
}
// the destructor removes the new paragraph from the list
Paragraph::~Paragraph()
{
+#ifndef NO_NEXT
if (previous_)
previous_->next_ = next_;
if (next_)
next_->previous_ = previous_;
+#endif
// ale970302
delete bibkey;
minibuffer_inset = 0;
if (minibuffer_char == Paragraph::META_INSET) {
if (getInset(pos)) {
- minibuffer_inset = getInset(pos);
- // This is a little hack since I want exactly
- // the inset, not just a clone. Otherwise
- // the inset would be deleted when calling Erase(pos)
- // find the entry
- InsetList::iterator it = insetlist.begin();
- InsetList::iterator end = insetlist.end();
- for (; it != end; ++it) {
- if (it.getPos() == pos)
- break;
- }
-
- if (it != end && it.getPos() == pos)
- it.setInset(0);
// the inset is not in a paragraph anymore
+ minibuffer_inset = insetlist.release(pos);
minibuffer_inset->parOwner(0);
} else {
minibuffer_inset = 0;
{
lyx::Assert(pos < size());
- // Find the inset.
- InsetList::iterator it = insetlist.begin();
- InsetList::iterator end = insetlist.end();
- for (; it != end; ++it) {
- if (it.getPos() == pos)
- break;
- }
-
- if (it != end && it.getPos() == pos)
- return it.getInset();
-
- lyxerr << "ERROR (Paragraph::getInset): "
- << "Inset does not exist: " << pos << endl;
- //::raise(SIGSTOP);
-
- // text[pos] = ' '; // WHY!!! does this set the pos to ' '????
- // Did this commenting out introduce a bug? So far I have not
- // see any, please enlighten me. (Lgb)
- // My guess is that since the inset does not exist, we might
- // as well replace it with a space to prevent craches. (Asger)
- return 0;
+ return insetlist.get(pos);
}
}
-
+#ifndef NO_NEXT
void Paragraph::next(Paragraph * p)
{
next_ = p;
{
return previous_;
}
+#endif
void Paragraph::breakParagraph(BufferParams const & bparams,
return newpar;
}
+
Paragraph * Paragraph::outerHook()
{
if (!getDepth())
return depthHook(depth_type(getDepth() - 1));
}
+
Paragraph const * Paragraph::outerHook() const
{
if (!getDepth())
return next_;
}
+
// This could go to ParagraphParameters if we want to
int Paragraph::startTeXParParams(BufferParams const & bparams,
ostream & os, bool moving_arg) const
return column;
}
+
// This could go to ParagraphParameters if we want to
int Paragraph::endTeXParParams(BufferParams const & bparams,
ostream & os, bool moving_arg) const
return (pimpl_->inset_owner->owner()->lyxCode() == Inset::ERT_CODE);
return false;
}
-
-
-Counters & Paragraph::counters()
-{
- return pimpl_->ctrs;
-}