row_type rs, re;
col_type cs, ce;
getSelection(cur, rs, re, cs, ce);
+ LCursor tmpcur = cur;
for (row_type i = rs; i <= re; ++i) {
for (col_type j = cs; j <= ce; ++j) {
// cursor follows cell:
- cur.idx() = tabular.getCellNumber(i, j);
+ tmpcur.idx() = tabular.getCellNumber(i, j);
// select this cell only:
- cur.pos() = 0;
- cur.resetAnchor();
- cur.pos() = cur.top().lastpos();
- cur.setCursor(cur);
- cur.setSelection();
- cell(cur.idx())->dispatch(cur, cmd);
+ tmpcur.pit() = 0;
+ tmpcur.pos() = 0;
+ tmpcur.resetAnchor();
+ tmpcur.pit() = tmpcur.lastpit();
+ tmpcur.pos() = tmpcur.top().lastpos();
+ tmpcur.setCursor(tmpcur);
+ tmpcur.setSelection();
+ cell(tmpcur.idx())->dispatch(tmpcur, cmd);
}
}
- // Restore original selection
- cur.idx() = tabular.getCellNumber(rs, cs);
- cur.pos() = 0;
- cur.resetAnchor();
- cur.idx() = tabular.getCellNumber(re, ce);
- cur.pos() = cur.top().lastpos();
- cur.setCursor(cur);
- cur.setSelection();
break;
} else {
cell(cur.idx())->dispatch(cur, cmd);