screen_->update(bv_->text, bv_);
bool fitc = false;
while (bv_->text->status() == LyXText::CHANGED_IN_DRAW) {
- if (bv_->text->fullRebreak(bv_)) {
- st = LyXText::NEED_MORE_REFRESH;
- bv_->text->setCursor(bv_, bv_->text->cursor.par(),
- bv_->text->cursor.pos());
- if (bv_->text->selection.set()) {
- bv_->text->setCursor(bv_, bv_->text->selection.start,
- bv_->text->selection.start.par(),
- bv_->text->selection.start.pos());
- bv_->text->setCursor(bv_, bv_->text->selection.end,
- bv_->text->selection.end.par(),
- bv_->text->selection.end.pos());
- }
- fitc = true;
+ bv_->text->fullRebreak(bv_);
+ st = LyXText::NEED_MORE_REFRESH;
+ bv_->text->setCursor(bv_, bv_->text->cursor.par(),
+ bv_->text->cursor.pos());
+ if (bv_->text->selection.set()) {
+ bv_->text->setCursor(bv_, bv_->text->selection.start,
+ bv_->text->selection.start.par(),
+ bv_->text->selection.start.pos());
+ bv_->text->setCursor(bv_, bv_->text->selection.end,
+ bv_->text->selection.end.par(),
+ bv_->text->selection.end.pos());
}
+ fitc = true;
bv_->text->status(bv_, st);
screen_->update(bv_->text, bv_);
}
lyxerr[Debug::ACTION] << "BufferView::Pimpl::Dispatch: action["
<< action <<"] arg[" << argument << "]" << endl;
+ LyXTextClass const & tclass = textclasslist[buffer_->params.textclass];
+
switch (action) {
// --- Misc -------------------------------------------
case LFUN_APPENDIX:
InsetCommandParams p;
p.setCmdName("tableofcontents");
Inset * inset = new InsetTOC(p);
- if (!insertInset(inset, "Standard"))
+ if (!insertInset(inset, tclass.defaultLayoutName()))
delete inset;
break;
}
// Derive layout number from given argument (string)
// and current buffer's textclass (number). */
- textclass_type tclass = buffer_->params.textclass;
- bool hasLayout =
- textclasslist[tclass].hasLayout(argument);
+ bool hasLayout = tclass.hasLayout(argument);
string layout = argument;
// If the entry is obsolete, use the new one instead.
if (hasLayout) {
- string const & obs = textclasslist[tclass][layout]
- .obsoleted_by();
+ string const & obs = tclass[layout].obsoleted_by();
if (!obs.empty())
layout = obs;
}
{
LyXText * lt = bv_->getLyXText();
- LyXLayout const & style = textclasslist[buffer_->params.textclass][lt->cursor.par()->layout()];
+ LyXLayout const & style = tclass[lt->cursor.par()->layout()];
if (style.free_spacing) {
lt->insertChar(bv_, ' ');
break;
case LFUN_INSET_WIDE_FLOAT:
- {
// check if the float type exist
if (floatList.typeExist(argument)) {
InsetFloat * new_inset =
new InsetFloat(buffer_->params, argument);
new_inset->wide(true);
- if (insertInset(new_inset))
- new_inset->edit(bv_);
- else
- delete new_inset;
+ insertAndEditInset(new_inset);
} else {
lyxerr << "Non-existent float type: "
<< argument << endl;
}
-
- }
- break;
+ break;
#if 0
case LFUN_INSET_LIST:
{
InsetCommandParams p("printindex");
Inset * inset = new InsetPrintIndex(p);
- if (!insertInset(inset, "Standard"))
+ if (!insertInset(inset, tclass.defaultLayoutName()))
delete inset;
}
break;
{
InsetCommandParams p("lyxparent", argument);
Inset * inset = new InsetParent(p, *buffer_);
- if (!insertInset(inset, "Standard"))
+ if (!insertInset(inset, tclass.defaultLayoutName()))
delete inset;
}
break;
case LFUN_FLOAT_LIST:
- {
- // We should check the argument for validity. (Lgb)
- Inset * inset = new InsetFloatList(argument);
- if (!insertInset(inset, "Standard"))
- delete inset;
- }
- break;
+ if (floatList.typeExist(argument)) {
+ Inset * inset = new InsetFloatList(argument);
+ if (!insertInset(inset, tclass.defaultLayoutName()))
+ delete inset;
+ } else {
+ lyxerr << "Non-existent float type: "
+ << argument << endl;
+ }
+ break;
case LFUN_THESAURUS_ENTRY:
{