#include "Cursor.h"
#include "FuncRequest.h"
#include "FuncStatus.h"
-#include "LyXFunc.h"
+#include "LyX.h"
#include "LyXRC.h"
#include "Paragraph.h"
#include "TextClass.h"
}
+LayoutBox::~LayoutBox() {
+ delete d;
+}
+
+
void LayoutBox::Private::countCategories()
{
int n = filterModel_->rowCount();
if (!d->text_class_)
return;
+ if (!(*d->text_class_).hasLayout(layout))
+ return;
+
Layout const & lay = (*d->text_class_)[layout];
QString newLayout = toqstr(lay.name());
void LayoutBox::updateContents(bool reset)
{
d->resetFilter();
-
- Buffer const * buffer = d->owner_.buffer();
- if (!buffer) {
+ BufferView const * bv = d->owner_.currentBufferView();
+ if (!bv) {
d->model_->clear();
setEnabled(false);
d->text_class_ = 0;
d->inset_ = 0;
return;
}
-
// we'll only update the layout list if the text class has changed
// or we've moved from one inset to another
- DocumentClass const * text_class = &buffer->params().documentClass();
- Inset const * inset =
- &(d->owner_.currentBufferView()->cursor().innerText()->inset());
+ DocumentClass const * text_class = &(bv->buffer().params().documentClass());
+ Inset const * inset = &(bv->cursor().innerText()->inset());
if (!reset && d->text_class_ == text_class && d->inset_ == inset) {
- set(d->owner_.currentBufferView()->cursor().innerParagraph().layout().name());
+ set(bv->cursor().innerParagraph().layout().name());
return;
}
// needed to recalculate size hint
hide();
setMinimumWidth(sizeHint().width());
- setEnabled(!buffer->isReadonly() &&
+ setEnabled(!bv->buffer().isReadonly() &&
lyx::getStatus(FuncRequest(LFUN_LAYOUT)).enabled());
show();
}
// find corresponding text class
if (d->text_class_->hasLayout(layoutName)) {
FuncRequest const func(LFUN_LAYOUT, layoutName, FuncRequest::TOOLBAR);
- theLyXFunc().setLyXView(&d->owner_);
lyx::dispatch(func);
updateContents(false);
d->resetFilter();