// takes absolute x,y coordinates
-InsetBase * LyXText::checkInsetHit(int x, int y) const
+InsetBase * LyXText::checkInsetHit(int x, int y) const
{
par_type pit;
par_type end;
// set the counter of a paragraph. This includes the labels
void LyXText::setCounter(Buffer const & buf, par_type pit)
{
+ Paragraph & par = pars_[pit];
BufferParams const & bufparams = buf.params();
LyXTextClass const & textclass = bufparams.getLyXTextClass();
- LyXLayout_ptr const & layout = pars_[pit].layout();
- par_type first_pit = 0;
+ LyXLayout_ptr const & layout = par.layout();
Counters & counters = textclass.counters();
// Always reset
- pars_[pit].itemdepth = 0;
+ par.itemdepth = 0;
- if (pit == first_pit) {
- pars_[pit].params().appendix(pars_[pit].params().startOfAppendix());
+ if (pit == 0) {
+ par.params().appendix(par.params().startOfAppendix());
} else {
- pars_[pit].params().appendix(pars_[pit - 1].params().appendix());
- if (!pars_[pit].params().appendix() &&
- pars_[pit].params().startOfAppendix()) {
- pars_[pit].params().appendix(true);
+ par.params().appendix(pars_[pit - 1].params().appendix());
+ if (!par.params().appendix() &&
+ par.params().startOfAppendix()) {
+ par.params().appendix(true);
textclass.counters().reset();
}
// Maybe we have to increment the item depth.
- incrementItemDepth(pars_, pit, first_pit);
+ incrementItemDepth(pars_, pit, 0);
}
// erase what was there before
- pars_[pit].params().labelString(string());
+ par.params().labelString(string());
if (layout->margintype == MARGIN_MANUAL) {
- if (pars_[pit].params().labelWidthString().empty())
- pars_[pit].setLabelWidthString(layout->labelstring());
+ if (par.params().labelWidthString().empty())
+ par.setLabelWidthString(layout->labelstring());
} else {
- pars_[pit].setLabelWidthString(string());
+ par.setLabelWidthString(string());
}
// is it a layout that has an automatic label?
BufferParams const & bufparams = buf.params();
LyXTextClass const & textclass = bufparams.getLyXTextClass();
counters.step(layout->counter);
- string label = expandLabel(textclass, layout, pars_[pit].params().appendix());
- pars_[pit].params().labelString(label);
+ string label = expandLabel(textclass, layout, par.params().appendix());
+ par.params().labelString(label);
} else if (layout->labeltype == LABEL_ITEMIZE) {
// At some point of time we should do something more
// clever here, like:
- // pars_[pit].params().labelString(
- // bufparams.user_defined_bullet(pars_[pit].itemdepth).getText());
+ // par.params().labelString(
+ // bufparams.user_defined_bullet(par.itemdepth).getText());
// for now, use a simple hardcoded label
string itemlabel;
- switch (pars_[pit].itemdepth) {
+ switch (par.itemdepth) {
case 0:
itemlabel = "*";
break;
break;
}
- pars_[pit].params().labelString(itemlabel);
+ par.params().labelString(itemlabel);
} else if (layout->labeltype == LABEL_ENUMERATE) {
// Maybe we have to reset the enumeration counter.
- resetEnumCounterIfNeeded(pars_, pit, first_pit, counters);
+ resetEnumCounterIfNeeded(pars_, pit, 0, counters);
// FIXME
// Yes I know this is a really, really! bad solution
// (Lgb)
string enumcounter = "enum";
- switch (pars_[pit].itemdepth) {
+ switch (par.itemdepth) {
case 2:
enumcounter += 'i';
case 1:
counters.step(enumcounter);
- pars_[pit].params().labelString(counters.enumLabel(enumcounter));
+ par.params().labelString(counters.enumLabel(enumcounter));
} else if (layout->labeltype == LABEL_BIBLIO) {// ale970302
counters.step("bibitem");
int number = counters.value("bibitem");
- if (pars_[pit].bibitem()) {
- pars_[pit].bibitem()->setCounter(number);
- pars_[pit].params().labelString(layout->labelstring());
+ if (par.bibitem()) {
+ par.bibitem()->setCounter(number);
+ par.params().labelString(layout->labelstring());
}
// In biblio should't be following counters but...
} else {
in->lyxCode() == InsetBase::WRAP_CODE) {
isOK = true;
break;
- } else {
+ }
+#ifdef WITH_WARNINGS
+#warning replace this code by something that works
+// This code does not work because we have currently no way to move up
+// in the hierarchy of insets (JMarc 16/08/2004)
+#endif
+#if 0
+/* I think this code is supposed to be useful when one has a caption
+ * in a minipage in a figure inset. We need to go up to be able to see
+ * that the caption sould use "Figure" as label
+ */
+ else {
Paragraph const * owner = &ownerPar(buf, in);
- tmppit = first_pit;
+ tmppit = 0;
for ( ; tmppit != end; ++tmppit)
if (&pars_[tmppit] == owner)
break;
}
+#endif
}
if (isOK) {
s = _("Senseless: ");
}
}
- pars_[pit].params().labelString(s);
+ par.params().labelString(s);
}
}
}
-// this really should just inset the inset and not move the cursor.
+// this really should just insert the inset and not move the cursor.
void LyXText::insertInset(LCursor & cur, InsetBase * inset)
{
BOOST_ASSERT(this == cur.text());