#include "ParagraphParameters.h"
#include "undo_funcs.h"
#include "WordLangTuple.h"
+#include "funcrequest.h"
#include "insets/insetbib.h"
#include "insets/insettext.h"
}
return;
} else if (startrow != row && endrow != row) {
- int w = p.width;
- int h = row->height();
if (p.y > starty && p.y < endy) {
+ int w = p.width;
+ int h = row->height();
p.pain->fillRectangle(p.xo, p.yo, w, h, LColor::selection);
}
return;
}
- if (!((startrow != row && !is_rtl) || (endrow != row && is_rtl))) {
- return;
- }
-
- float tmpx = p.x;
-
- p.pain->fillRectangle(p.xo, p.yo, int(p.x), row->height(), LColor::selection);
+ if ((startrow != row && !is_rtl) || (endrow != row && is_rtl))
+ p.pain->fillRectangle(p.xo, p.yo, int(p.x), row->height(), LColor::selection);
Buffer const * buffer = p.bv->buffer();
Paragraph * par = row->par();
pos_type main_body = beginningOfMainBody(buffer, par);
pos_type const last = rowLastPrintable(row);
+ float tmpx = p.x;
for (pos_type vpos = row->pos(); vpos <= last; ++vpos) {
pos_type pos = vis2log(vpos);
int(tmpx - old_tmpx + 1),
row->height(), LColor::selection);
}
+ }
- if ((startrow != row && is_rtl) || (endrow != row && !is_rtl)) {
- p.pain->fillRectangle(p.xo + int(tmpx),
- p.yo, int(p.bv->workWidth() - tmpx),
- row->height(), LColor::selection);
- }
+ if ((startrow != row && is_rtl) || (endrow != row && !is_rtl)) {
+ p.pain->fillRectangle(p.xo + int(tmpx),
+ p.yo, int(p.bv->workWidth() - tmpx),
+ row->height(), LColor::selection);
}
}
{
return cursor.par()->getDepth();
}
+
+
+Inset::RESULT LyXText::lfunAppendix(FuncRequest const & cmd)
+{
+ BufferView * bv = cmd.view();
+ // what is this good for?
+ if (!bv->available())
+ return Inset::UNDISPATCHED;
+
+ Paragraph * par = cursor.par();
+ bool start = !par->params().startOfAppendix();
+
+ // ensure that we have only one start_of_appendix in this document
+ Paragraph * tmp = ownerParagraph();
+ for (; tmp; tmp = tmp->next()) {
+ tmp->params().startOfAppendix(false);
+ }
+
+ par->params().startOfAppendix(start);
+
+ // we can set the refreshing parameters now
+ status(cmd.view(), LyXText::NEED_MORE_REFRESH);
+ refresh_y = 0;
+ refresh_row = 0; // not needed for full update
+ updateCounters(cmd.view());
+ setCursor(cmd.view(), cursor.par(), cursor.pos());
+ bv->update(this,
+ BufferView::SELECT
+ | BufferView::FITCUR
+ | BufferView::CHANGE);
+ return Inset::DISPATCHED;
+}
+
+
+Inset::RESULT LyXText::dispatch(FuncRequest const & cmd)
+{
+ switch (cmd.action) {
+ case LFUN_APPENDIX:
+ return lfunAppendix(cmd);
+
+ default:
+ return Inset::UNDISPATCHED;
+ }
+ // shut up compiler
+ return Inset::UNDISPATCHED;
+}