FuncStatus & status) const
{
switch (cmd.action) {
- case LFUN_LAYOUT:
- status.setEnabled(!forcePlainLayout());
- return true;
-
- case LFUN_LAYOUT_PARAGRAPH:
- case LFUN_PARAGRAPH_PARAMS:
- case LFUN_PARAGRAPH_PARAMS_APPLY:
- case LFUN_PARAGRAPH_UPDATE:
- status.setEnabled(allowParagraphCustomization());
- return true;
-
case LFUN_INSET_DISSOLVE: {
bool const main_inset = &buffer().inset() == this;
bool const target_inset = cmd.argument().empty()
if ((opts & WriteLabel) && !il.counter().empty()) {
BufferParams const & bp = buffer().masterBuffer()->params();
Counters & cntrs = bp.documentClass().counters();
- cntrs.step(il.counter());
+ cntrs.step(il.counter(), OutputUpdate);
// FIXME: translate to paragraph language
if (!il.htmllabel().empty()) {
docstring const lbl =
}
-bool InsetText::showInsetDialog(BufferView *) const
-{
- return false;
-}
-
-
void InsetText::setText(docstring const & data, Font const & font, bool trackChanges)
{
clear();
}
-void InsetText::updateLabels(ParIterator const & it, bool out)
+void InsetText::updateBuffer(ParIterator const & it, UpdateType utype)
{
ParIterator it2 = it;
it2.forwardPos();
LASSERT(&it2.inset() == this && it2.pit() == 0, return);
- if (producesOutput())
- buffer().updateLabels(it2, out);
- else {
+ if (producesOutput()) {
+ InsetLayout const & il = getLayout();
+ bool const save_layouts = utype == OutputUpdate && il.htmlisblock();
+ Counters & cnt = buffer().masterBuffer()->params().documentClass().counters();
+ if (save_layouts) {
+ // LYXERR0("Entering " << name());
+ cnt.clearLastLayout();
+ // FIXME cnt.saveLastCounter()?
+ }
+ buffer().updateBuffer(it2, utype);
+ if (save_layouts) {
+ // LYXERR0("Exiting " << name());
+ cnt.restoreLastLayout();
+ // FIXME cnt.restoreLastCounter()?
+ }
+ } else {
DocumentClass const & tclass = buffer().masterBuffer()->params().documentClass();
+ // Note that we do not need to call:
+ // tclass.counters().clearLastLayout()
+ // since we are saving and restoring the existing counters, etc.
Counters const savecnt = tclass.counters();
- buffer().updateLabels(it2, out);
+ buffer().updateBuffer(it2, utype);
tclass.counters() = savecnt;
}
}