int InsetMathGrid::RowInfo::skipPixels(MetricsInfo const & mi) const
{
- return crskip_.inPixels(mi.base);
+ return mi.base.inPixels(crskip_);
}
for (idx_type i = 0; i < nargs(); ++i) {
if (cellinfo_[i].multi_ != CELL_PART_OF_MULTICOLUMN) {
Dimension dimc;
- cell(i).metrics(mi, dimc);
+ // the 'false' is to make sure that the cell is tall enough
+ cell(i).metrics(mi, dimc, false);
}
}
}
*/
dim.wid += leftMargin() + rightMargin();
- metricsMarkers2(dim);
- // Cache the inset dimension.
- setDimCache(mi, dim);
}
pi.pain.line(xx1, yy, xx2, yy, Color_foreground);
}
}
-
- drawMarkers2(pi, x, y);
}
}
-bool InsetMathGrid::idxFirst(Cursor & cur) const
+idx_type InsetMathGrid::firstIdx() const
{
+ size_type idx = 0;
switch (v_align_) {
case 't':
- cur.idx() = 0;
+ //idx = 0;
break;
case 'b':
- cur.idx() = (nrows() - 1) * ncols();
+ idx = (nrows() - 1) * ncols();
break;
default:
- cur.idx() = ((nrows() - 1) / 2) * ncols();
+ idx = ((nrows() - 1) / 2) * ncols();
}
// If we are in a multicolumn cell, move to the "real" cell
- while (cellinfo_[cur.idx()].multi_ == CELL_PART_OF_MULTICOLUMN) {
- LASSERT(cur.idx() > 0, return false);
- --cur.idx();
+ while (cellinfo_[idx].multi_ == CELL_PART_OF_MULTICOLUMN) {
+ LASSERT(idx > 0, return 0);
+ --idx;
}
- cur.pos() = 0;
- return true;
+ return idx;
}
-bool InsetMathGrid::idxLast(Cursor & cur) const
+idx_type InsetMathGrid::lastIdx() const
{
+ size_type idx = 0;
switch (v_align_) {
case 't':
- cur.idx() = ncols() - 1;
+ idx = ncols() - 1;
break;
case 'b':
- cur.idx() = nargs() - 1;
+ idx = nargs() - 1;
break;
default:
- cur.idx() = ((nrows() - 1) / 2 + 1) * ncols() - 1;
+ idx = ((nrows() - 1) / 2 + 1) * ncols() - 1;
}
// If we are in a multicolumn cell, move to the "real" cell
- while (cellinfo_[cur.idx()].multi_ == CELL_PART_OF_MULTICOLUMN) {
- LASSERT(cur.idx() > 0, return false);
- --cur.idx();
+ while (cellinfo_[idx].multi_ == CELL_PART_OF_MULTICOLUMN) {
+ LASSERT(idx > 0, return false);
+ --idx;
}
- cur.pos() = cur.lastpos();
- return true;
+ return idx;
}
for (col_type col = beg_col; col < end_col;) {
int nccols = 1;
idx_type const idx = index(row, col);
- RowEntry entry = TexRow::mathEntry(id(),idx);
+ TexRow::RowEntry entry = TexRow::mathEntry(id(),idx);
os.texrow().start(entry);
if (col >= lastcol) {
++col;
parseflg |= Parse::VERBATIM;
// fall through
case LFUN_PASTE: {
- if (cur.currentMode() <= TEXT_MODE)
+ if (cur.currentMode() != MATH_MODE)
parseflg |= Parse::TEXTMODE;
cur.message(_("Paste"));
cap::replaceSelection(cur);
}
case LFUN_LINE_BEGIN:
- case LFUN_WORD_BACKWARD:
- case LFUN_WORD_LEFT:
cur.screenUpdateFlags(Update::Decoration | Update::FitCursor);
// fall through
case LFUN_LINE_BEGIN_SELECT:
- case LFUN_WORD_BACKWARD_SELECT:
- case LFUN_WORD_LEFT_SELECT:
cur.selHandle(act == LFUN_WORD_BACKWARD_SELECT ||
act == LFUN_WORD_LEFT_SELECT ||
act == LFUN_LINE_BEGIN_SELECT);
}
break;
- case LFUN_WORD_FORWARD:
- case LFUN_WORD_RIGHT:
case LFUN_LINE_END:
cur.screenUpdateFlags(Update::Decoration | Update::FitCursor);
// fall through
- case LFUN_WORD_FORWARD_SELECT:
- case LFUN_WORD_RIGHT_SELECT:
case LFUN_LINE_END_SELECT:
cur.selHandle(act == LFUN_WORD_FORWARD_SELECT ||
act == LFUN_WORD_RIGHT_SELECT ||