mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 10:00:33 +00:00
Whitespace
This commit is contained in:
parent
5e126d2920
commit
7f7dc5d314
@ -542,7 +542,7 @@ InsetTableCell splitCell(InsetTableCell & head, docstring const & align_d, bool
|
|||||||
if (hassep) {
|
if (hassep) {
|
||||||
pit_type const psize = head.paragraphs().front().size();
|
pit_type const psize = head.paragraphs().front().size();
|
||||||
head.paragraphs().front().eraseChars(dit.pos(), psize, false);
|
head.paragraphs().front().eraseChars(dit.pos(), psize, false);
|
||||||
tail.paragraphs().front().eraseChars(0,
|
tail.paragraphs().front().eraseChars(0,
|
||||||
dit.pos() < psize ? dit.pos() + 1 : psize, false);
|
dit.pos() < psize ? dit.pos() + 1 : psize, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -738,9 +738,9 @@ void Tabular::appendRow(row_type row)
|
|||||||
void Tabular::insertRow(row_type const row, bool copy)
|
void Tabular::insertRow(row_type const row, bool copy)
|
||||||
{
|
{
|
||||||
row_info.insert(row_info.begin() + row + 1, RowData(row_info[row]));
|
row_info.insert(row_info.begin() + row + 1, RowData(row_info[row]));
|
||||||
cell_info.insert(cell_info.begin() + row + 1,
|
cell_info.insert(cell_info.begin() + row + 1,
|
||||||
cell_vector(0, CellData(buffer_)));
|
cell_vector(0, CellData(buffer_)));
|
||||||
|
|
||||||
for (col_type c = 0; c < ncols(); ++c) {
|
for (col_type c = 0; c < ncols(); ++c) {
|
||||||
cell_info[row + 1].insert(cell_info[row + 1].begin() + c,
|
cell_info[row + 1].insert(cell_info[row + 1].begin() + c,
|
||||||
copy ? CellData(cell_info[row][c]) : CellData(buffer_));
|
copy ? CellData(cell_info[row][c]) : CellData(buffer_));
|
||||||
@ -749,7 +749,7 @@ void Tabular::insertRow(row_type const row, bool copy)
|
|||||||
if (cell_info[row][c].multirow == CELL_BEGIN_OF_MULTIROW)
|
if (cell_info[row][c].multirow == CELL_BEGIN_OF_MULTIROW)
|
||||||
cell_info[row + 1][c].multirow = CELL_PART_OF_MULTIROW;
|
cell_info[row + 1][c].multirow = CELL_PART_OF_MULTIROW;
|
||||||
}
|
}
|
||||||
|
|
||||||
updateIndexes();
|
updateIndexes();
|
||||||
for (col_type c = 0; c < ncols(); ++c) {
|
for (col_type c = 0; c < ncols(); ++c) {
|
||||||
if (isPartOfMultiRow(row, c))
|
if (isPartOfMultiRow(row, c))
|
||||||
@ -846,7 +846,7 @@ void Tabular::copyColumn(col_type const col)
|
|||||||
|
|
||||||
|
|
||||||
void Tabular::appendColumn(col_type col)
|
void Tabular::appendColumn(col_type col)
|
||||||
{
|
{
|
||||||
insertColumn(col, false);
|
insertColumn(col, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1029,7 +1029,7 @@ bool Tabular::updateColumnWidths()
|
|||||||
if (columnSpan(i) == 1) {
|
if (columnSpan(i) == 1) {
|
||||||
if (getAlignment(i) == LYX_ALIGN_DECIMAL
|
if (getAlignment(i) == LYX_ALIGN_DECIMAL
|
||||||
&& cell_info[r][c].decimal_width!=0)
|
&& cell_info[r][c].decimal_width!=0)
|
||||||
new_width = max(new_width, cellInfo(i).width
|
new_width = max(new_width, cellInfo(i).width
|
||||||
+ max_dwidth[c] - cellInfo(i).decimal_width);
|
+ max_dwidth[c] - cellInfo(i).decimal_width);
|
||||||
else
|
else
|
||||||
new_width = max(new_width, cellInfo(i).width);
|
new_width = max(new_width, cellInfo(i).width);
|
||||||
@ -1098,8 +1098,8 @@ void Tabular::setAlignment(idx_type cell, LyXAlignment align,
|
|||||||
if (align == LYX_ALIGN_DECIMAL && dpoint.empty())
|
if (align == LYX_ALIGN_DECIMAL && dpoint.empty())
|
||||||
dpoint = from_utf8(lyxrc.default_decimal_point);
|
dpoint = from_utf8(lyxrc.default_decimal_point);
|
||||||
} else {
|
} else {
|
||||||
cellInfo(cell).alignment = align;
|
cellInfo(cell).alignment = align;
|
||||||
cellInset(cell).get()->setContentAlignment(align);
|
cellInset(cell).get()->setContentAlignment(align);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1289,7 +1289,7 @@ bool Tabular::columnRightLine(col_type c) const
|
|||||||
idx_type i = cellIndex(r, c);
|
idx_type i = cellIndex(r, c);
|
||||||
if (c == cellColumn(i) + columnSpan(i) - 1) {
|
if (c == cellColumn(i) + columnSpan(i) - 1) {
|
||||||
++total;
|
++total;
|
||||||
bool left = (c + 1 < ncols()
|
bool left = (c + 1 < ncols()
|
||||||
&& cellInfo(cellIndex(r, c + 1)).left_line)
|
&& cellInfo(cellIndex(r, c + 1)).left_line)
|
||||||
|| c + 1 == ncols();
|
|| c + 1 == ncols();
|
||||||
if (cellInfo(i).right_line && left)
|
if (cellInfo(i).right_line && left)
|
||||||
@ -1304,7 +1304,7 @@ LyXAlignment Tabular::getAlignment(idx_type cell, bool onlycolumn) const
|
|||||||
{
|
{
|
||||||
if (!onlycolumn && (isMultiColumn(cell) || isMultiRow(cell)))
|
if (!onlycolumn && (isMultiColumn(cell) || isMultiRow(cell)))
|
||||||
return cellInfo(cell).alignment;
|
return cellInfo(cell).alignment;
|
||||||
|
|
||||||
return column_info[cellColumn(cell)].alignment;
|
return column_info[cellColumn(cell)].alignment;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1376,7 +1376,7 @@ int Tabular::textVOffset(idx_type cell) const
|
|||||||
int voffset = cellInfo(cell).voffset;
|
int voffset = cellInfo(cell).voffset;
|
||||||
if (isMultiRow(cell)) {
|
if (isMultiRow(cell)) {
|
||||||
row_type const row = cellRow(cell);
|
row_type const row = cellRow(cell);
|
||||||
voffset += (cellHeight(cell) - rowAscent(row) - rowDescent(row))/2;
|
voffset += (cellHeight(cell) - rowAscent(row) - rowDescent(row))/2;
|
||||||
}
|
}
|
||||||
return voffset;
|
return voffset;
|
||||||
}
|
}
|
||||||
@ -1651,7 +1651,7 @@ void Tabular::read(Lexer & lex)
|
|||||||
|
|
||||||
bool Tabular::isMultiColumn(idx_type cell) const
|
bool Tabular::isMultiColumn(idx_type cell) const
|
||||||
{
|
{
|
||||||
return (cellInfo(cell).multicolumn == CELL_BEGIN_OF_MULTICOLUMN
|
return (cellInfo(cell).multicolumn == CELL_BEGIN_OF_MULTICOLUMN
|
||||||
|| cellInfo(cell).multicolumn == CELL_PART_OF_MULTICOLUMN);
|
|| cellInfo(cell).multicolumn == CELL_PART_OF_MULTICOLUMN);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1769,7 +1769,7 @@ Tabular::idx_type Tabular::rowSpan(idx_type cell) const
|
|||||||
col_type row = cellRow(cell) + 1;
|
col_type row = cellRow(cell) + 1;
|
||||||
while (row < nrows() && isPartOfMultiRow(row, column))
|
while (row < nrows() && isPartOfMultiRow(row, column))
|
||||||
++row;
|
++row;
|
||||||
|
|
||||||
return row - cellRow(cell);
|
return row - cellRow(cell);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1849,7 +1849,7 @@ Tabular::idx_type Tabular::cellAbove(idx_type cell) const
|
|||||||
{
|
{
|
||||||
if (cellRow(cell) == 0)
|
if (cellRow(cell) == 0)
|
||||||
return cell;
|
return cell;
|
||||||
|
|
||||||
col_type const col = cellColumn(cell);
|
col_type const col = cellColumn(cell);
|
||||||
row_type r = cellRow(cell) - 1;
|
row_type r = cellRow(cell) - 1;
|
||||||
while (r > 0 && cell_info[r][col].multirow == CELL_PART_OF_MULTIROW)
|
while (r > 0 && cell_info[r][col].multirow == CELL_PART_OF_MULTIROW)
|
||||||
@ -2178,22 +2178,22 @@ void Tabular::TeXTopHLine(otexstream & os, row_type row, string const & lang) co
|
|||||||
for (col_type j = 0 ; j < c; ++j)
|
for (col_type j = 0 ; j < c; ++j)
|
||||||
if (column_info[j].alignment == LYX_ALIGN_DECIMAL)
|
if (column_info[j].alignment == LYX_ALIGN_DECIMAL)
|
||||||
++offset;
|
++offset;
|
||||||
|
|
||||||
//babel makes the "-" character an active one, so we have to suppress this here
|
//babel makes the "-" character an active one, so we have to suppress this here
|
||||||
//see http://groups.google.com/group/comp.text.tex/browse_thread/thread/af769424a4a0f289#
|
//see http://groups.google.com/group/comp.text.tex/browse_thread/thread/af769424a4a0f289#
|
||||||
if (lang == "slovak" || lang == "czech")
|
if (lang == "slovak" || lang == "czech")
|
||||||
os << "\\expandafter" << (use_booktabs ? "\\cmidrule" : "\\cline")
|
os << "\\expandafter" << (use_booktabs ? "\\cmidrule" : "\\cline")
|
||||||
<< "\\expandafter{\\expandafter" << c + 1 + offset << "\\string-";
|
<< "\\expandafter{\\expandafter" << c + 1 + offset << "\\string-";
|
||||||
else
|
else
|
||||||
os << (use_booktabs ? "\\cmidrule{" : "\\cline{") << c + 1 + offset << '-';
|
os << (use_booktabs ? "\\cmidrule{" : "\\cline{") << c + 1 + offset << '-';
|
||||||
|
|
||||||
col_type cstart = c;
|
col_type cstart = c;
|
||||||
for ( ; c < ncols() && topline[c]; ++c) {}
|
for ( ; c < ncols() && topline[c]; ++c) {}
|
||||||
|
|
||||||
for (col_type j = cstart ; j < c ; ++j)
|
for (col_type j = cstart ; j < c ; ++j)
|
||||||
if (column_info[j].alignment == LYX_ALIGN_DECIMAL)
|
if (column_info[j].alignment == LYX_ALIGN_DECIMAL)
|
||||||
++offset;
|
++offset;
|
||||||
|
|
||||||
os << c + offset << "} ";
|
os << c + offset << "} ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2251,7 +2251,7 @@ void Tabular::TeXBottomHLine(otexstream & os, row_type row, string const & lang)
|
|||||||
for (col_type j = 0 ; j < c; ++j)
|
for (col_type j = 0 ; j < c; ++j)
|
||||||
if (column_info[j].alignment == LYX_ALIGN_DECIMAL)
|
if (column_info[j].alignment == LYX_ALIGN_DECIMAL)
|
||||||
++offset;
|
++offset;
|
||||||
|
|
||||||
//babel makes the "-" character an active one, so we have to suppress this here
|
//babel makes the "-" character an active one, so we have to suppress this here
|
||||||
//see http://groups.google.com/group/comp.text.tex/browse_thread/thread/af769424a4a0f289#
|
//see http://groups.google.com/group/comp.text.tex/browse_thread/thread/af769424a4a0f289#
|
||||||
if (lang == "slovak" || lang == "czech")
|
if (lang == "slovak" || lang == "czech")
|
||||||
@ -2259,14 +2259,14 @@ void Tabular::TeXBottomHLine(otexstream & os, row_type row, string const & lang)
|
|||||||
<< "\\expandafter{\\expandafter" << c + 1 + offset << "\\string-";
|
<< "\\expandafter{\\expandafter" << c + 1 + offset << "\\string-";
|
||||||
else
|
else
|
||||||
os << (use_booktabs ? "\\cmidrule{" : "\\cline{") << c + 1 + offset << '-';
|
os << (use_booktabs ? "\\cmidrule{" : "\\cline{") << c + 1 + offset << '-';
|
||||||
|
|
||||||
col_type cstart = c;
|
col_type cstart = c;
|
||||||
for ( ; c < ncols() && bottomline[c]; ++c) {}
|
for ( ; c < ncols() && bottomline[c]; ++c) {}
|
||||||
|
|
||||||
for (col_type j = cstart ; j < c ; ++j)
|
for (col_type j = cstart ; j < c ; ++j)
|
||||||
if (column_info[j].alignment == LYX_ALIGN_DECIMAL)
|
if (column_info[j].alignment == LYX_ALIGN_DECIMAL)
|
||||||
++offset;
|
++offset;
|
||||||
|
|
||||||
os << c + offset << "} ";
|
os << c + offset << "} ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2291,7 +2291,7 @@ void Tabular::TeXCellPreamble(otexstream & os, idx_type cell,
|
|||||||
bool colright = columnRightLine(c);
|
bool colright = columnRightLine(c);
|
||||||
bool colleft = columnLeftLine(c);
|
bool colleft = columnLeftLine(c);
|
||||||
bool nextcolleft = nextcol < ncols() && columnLeftLine(nextcol);
|
bool nextcolleft = nextcol < ncols() && columnLeftLine(nextcol);
|
||||||
bool nextcellleft = nextcol < ncols()
|
bool nextcellleft = nextcol < ncols()
|
||||||
&& leftLine(cellIndex(r, nextcol));
|
&& leftLine(cellIndex(r, nextcol));
|
||||||
bool coldouble = colright && nextcolleft;
|
bool coldouble = colright && nextcolleft;
|
||||||
bool celldouble = rightLine(cell) && nextcellleft;
|
bool celldouble = rightLine(cell) && nextcellleft;
|
||||||
@ -2564,7 +2564,7 @@ void Tabular::TeXRow(otexstream & os, row_type row,
|
|||||||
if (isPartOfMultiRow(row, c)
|
if (isPartOfMultiRow(row, c)
|
||||||
&& column_info[c].alignment != LYX_ALIGN_DECIMAL) {
|
&& column_info[c].alignment != LYX_ALIGN_DECIMAL) {
|
||||||
if (cell != getLastCellInRow(row))
|
if (cell != getLastCellInRow(row))
|
||||||
os << " & ";
|
os << " & ";
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2713,7 +2713,7 @@ void Tabular::latex(otexstream & os, OutputParams const & runparams) const
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
os << "{";
|
os << "{";
|
||||||
|
|
||||||
if (is_tabular_star)
|
if (is_tabular_star)
|
||||||
@ -3414,7 +3414,7 @@ bool InsetTableCell::getStatus(Cursor & cur, FuncRequest const & cmd,
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
docstring InsetTableCell::asString(bool intoInsets)
|
docstring InsetTableCell::asString(bool intoInsets)
|
||||||
{
|
{
|
||||||
docstring retval;
|
docstring retval;
|
||||||
if (paragraphs().empty())
|
if (paragraphs().empty())
|
||||||
@ -3456,7 +3456,7 @@ docstring InsetTableCell::xhtml(XHTMLStream & xs, OutputParams const & rp) const
|
|||||||
|
|
||||||
InsetTabular::InsetTabular(Buffer * buf, row_type rows,
|
InsetTabular::InsetTabular(Buffer * buf, row_type rows,
|
||||||
col_type columns)
|
col_type columns)
|
||||||
: Inset(buf), tabular(buf, max(rows, row_type(1)), max(columns, col_type(1))), scx_(0),
|
: Inset(buf), tabular(buf, max(rows, row_type(1)), max(columns, col_type(1))), scx_(0),
|
||||||
rowselect_(false), colselect_(false)
|
rowselect_(false), colselect_(false)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -3594,11 +3594,11 @@ void InsetTabular::metrics(MetricsInfo & mi, Dimension & dim) const
|
|||||||
tabular.cellInset(cell)->metrics(m, dim);
|
tabular.cellInset(cell)->metrics(m, dim);
|
||||||
if (!p_width.zero())
|
if (!p_width.zero())
|
||||||
dim.wid = m.base.textwidth;
|
dim.wid = m.base.textwidth;
|
||||||
tabular.cellInfo(cell).width = dim.wid + 2 * WIDTH_OF_LINE
|
tabular.cellInfo(cell).width = dim.wid + 2 * WIDTH_OF_LINE
|
||||||
+ tabular.interColumnSpace(cell);
|
+ tabular.interColumnSpace(cell);
|
||||||
|
|
||||||
// FIXME(?): do we need a second metrics call?
|
// FIXME(?): do we need a second metrics call?
|
||||||
TextMetrics const & tm =
|
TextMetrics const & tm =
|
||||||
mi.base.bv->textMetrics(tabular.cellInset(cell)->getText(0));
|
mi.base.bv->textMetrics(tabular.cellInset(cell)->getText(0));
|
||||||
|
|
||||||
// determine horizontal offset because of decimal align (if necessary)
|
// determine horizontal offset because of decimal align (if necessary)
|
||||||
@ -3635,14 +3635,14 @@ void InsetTabular::metrics(MetricsInfo & mi, Dimension & dim) const
|
|||||||
int const lastpardes = tm.last().second->descent()
|
int const lastpardes = tm.last().second->descent()
|
||||||
+ TEXT_TO_INSET_OFFSET;
|
+ TEXT_TO_INSET_OFFSET;
|
||||||
int offset = 0;
|
int offset = 0;
|
||||||
switch (tabular.getVAlignment(cell)) {
|
switch (tabular.getVAlignment(cell)) {
|
||||||
case Tabular::LYX_VALIGN_TOP:
|
case Tabular::LYX_VALIGN_TOP:
|
||||||
break;
|
break;
|
||||||
case Tabular::LYX_VALIGN_MIDDLE:
|
case Tabular::LYX_VALIGN_MIDDLE:
|
||||||
offset = -(dim.des - lastpardes)/2;
|
offset = -(dim.des - lastpardes)/2;
|
||||||
break;
|
break;
|
||||||
case Tabular::LYX_VALIGN_BOTTOM:
|
case Tabular::LYX_VALIGN_BOTTOM:
|
||||||
offset = -(dim.des - lastpardes);
|
offset = -(dim.des - lastpardes);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
tabular.cell_info[r][c].voffset = offset;
|
tabular.cell_info[r][c].voffset = offset;
|
||||||
@ -3675,13 +3675,13 @@ void InsetTabular::metrics(MetricsInfo & mi, Dimension & dim) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
tabular.updateColumnWidths();
|
tabular.updateColumnWidths();
|
||||||
dim.asc = tabular.rowAscent(0) - offset_valign_;
|
dim.asc = tabular.rowAscent(0) - offset_valign_;
|
||||||
dim.des = tabular.height() - dim.asc;
|
dim.des = tabular.height() - dim.asc;
|
||||||
dim.wid = tabular.width() + 2 * ADD_TO_TABULAR_WIDTH;
|
dim.wid = tabular.width() + 2 * ADD_TO_TABULAR_WIDTH;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool InsetTabular::isCellSelected(Cursor & cur, row_type row, col_type col)
|
bool InsetTabular::isCellSelected(Cursor & cur, row_type row, col_type col)
|
||||||
const
|
const
|
||||||
{
|
{
|
||||||
if (&cur.inset() == this && cur.selection()) {
|
if (&cur.inset() == this && cur.selection()) {
|
||||||
@ -3689,15 +3689,15 @@ bool InsetTabular::isCellSelected(Cursor & cur, row_type row, col_type col)
|
|||||||
row_type rs, re;
|
row_type rs, re;
|
||||||
col_type cs, ce;
|
col_type cs, ce;
|
||||||
getSelection(cur, rs, re, cs, ce);
|
getSelection(cur, rs, re, cs, ce);
|
||||||
|
|
||||||
idx_type const cell = tabular.cellIndex(row, col);
|
idx_type const cell = tabular.cellIndex(row, col);
|
||||||
col_type const cspan = tabular.columnSpan(cell);
|
col_type const cspan = tabular.columnSpan(cell);
|
||||||
row_type const rspan = tabular.rowSpan(cell);
|
row_type const rspan = tabular.rowSpan(cell);
|
||||||
if (col + cspan - 1 >= cs && col <= ce
|
if (col + cspan - 1 >= cs && col <= ce
|
||||||
&& row + rspan - 1 >= rs && row <= re)
|
&& row + rspan - 1 >= rs && row <= re)
|
||||||
return true;
|
return true;
|
||||||
} else
|
} else
|
||||||
if (col == tabular.cellColumn(cur.idx())
|
if (col == tabular.cellColumn(cur.idx())
|
||||||
&& row == tabular.cellRow(cur.idx())) {
|
&& row == tabular.cellRow(cur.idx())) {
|
||||||
CursorSlice const & beg = cur.selBegin();
|
CursorSlice const & beg = cur.selBegin();
|
||||||
CursorSlice const & end = cur.selEnd();
|
CursorSlice const & end = cur.selEnd();
|
||||||
@ -3735,9 +3735,9 @@ void InsetTabular::draw(PainterInfo & pi, int x, int y) const
|
|||||||
for (col_type c = 0; c < tabular.ncols(); ++c) {
|
for (col_type c = 0; c < tabular.ncols(); ++c) {
|
||||||
if (tabular.isPartOfMultiColumn(r, c))
|
if (tabular.isPartOfMultiColumn(r, c))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
idx = tabular.cellIndex(r, c);
|
idx = tabular.cellIndex(r, c);
|
||||||
|
|
||||||
if (tabular.isPartOfMultiRow(r, c)) {
|
if (tabular.isPartOfMultiRow(r, c)) {
|
||||||
nx += tabular.cellWidth(idx);
|
nx += tabular.cellWidth(idx);
|
||||||
continue;
|
continue;
|
||||||
@ -3758,7 +3758,7 @@ void InsetTabular::draw(PainterInfo & pi, int x, int y) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (r + 1 < tabular.nrows())
|
if (r + 1 < tabular.nrows())
|
||||||
yy += tabular.rowDescent(r) + tabular.rowAscent(r + 1)
|
yy += tabular.rowDescent(r) + tabular.rowAscent(r + 1)
|
||||||
+ tabular.interRowSpace(r + 1);
|
+ tabular.interRowSpace(r + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3815,7 +3815,7 @@ void InsetTabular::drawSelection(PainterInfo & pi, int x, int y) const
|
|||||||
+ tabular.interRowSpace(r + 1);
|
+ tabular.interRowSpace(r + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
// FIXME: This code has no effect because InsetTableCell does not handle
|
// FIXME: This code has no effect because InsetTableCell does not handle
|
||||||
// drawSelection other than the trivial implementation in Inset.
|
// drawSelection other than the trivial implementation in Inset.
|
||||||
//else {
|
//else {
|
||||||
@ -3859,7 +3859,7 @@ void InsetTabular::drawCellLines(PainterInfo & pi, int x, int y,
|
|||||||
// Right
|
// Right
|
||||||
x -= tabular.interColumnSpace(cell);
|
x -= tabular.interColumnSpace(cell);
|
||||||
col_type next_cell_col = col + 1;
|
col_type next_cell_col = col + 1;
|
||||||
while (next_cell_col < tabular.ncols()
|
while (next_cell_col < tabular.ncols()
|
||||||
&& tabular.isMultiColumn(tabular.cellIndex(row, next_cell_col)))
|
&& tabular.isMultiColumn(tabular.cellIndex(row, next_cell_col)))
|
||||||
next_cell_col++;
|
next_cell_col++;
|
||||||
drawline = tabular.rightLine(cell)
|
drawline = tabular.rightLine(cell)
|
||||||
@ -3943,7 +3943,7 @@ void InsetTabular::doDispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
Cursor & bvcur = cur.bv().cursor();
|
Cursor & bvcur = cur.bv().cursor();
|
||||||
|
|
||||||
FuncCode const act = cmd.action();
|
FuncCode const act = cmd.action();
|
||||||
|
|
||||||
switch (act) {
|
switch (act) {
|
||||||
|
|
||||||
case LFUN_MOUSE_PRESS: {
|
case LFUN_MOUSE_PRESS: {
|
||||||
@ -3958,13 +3958,13 @@ void InsetTabular::doDispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
cur.idx() = tabular.getLastCellInRow(r);
|
cur.idx() = tabular.getLastCellInRow(r);
|
||||||
cur.pos() = cur.lastpos();
|
cur.pos() = cur.lastpos();
|
||||||
cur.setSelection(true);
|
cur.setSelection(true);
|
||||||
bvcur = cur;
|
bvcur = cur;
|
||||||
rowselect_ = true;
|
rowselect_ = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// select column
|
// select column
|
||||||
int const y0 = yo(cur.bv()) - tabular.rowAscent(0) + offset_valign_;
|
int const y0 = yo(cur.bv()) - tabular.rowAscent(0) + offset_valign_;
|
||||||
if (cmd.y() < y0 + ADD_TO_TABULAR_WIDTH
|
if (cmd.y() < y0 + ADD_TO_TABULAR_WIDTH
|
||||||
|| cmd.y() > y0 + tabular.height()) {
|
|| cmd.y() > y0 + tabular.height()) {
|
||||||
col_type c = columnFromX(cur, cmd.x());
|
col_type c = columnFromX(cur, cmd.x());
|
||||||
cur.idx() = tabular.cellIndex(0, c);
|
cur.idx() = tabular.cellIndex(0, c);
|
||||||
@ -3973,15 +3973,15 @@ void InsetTabular::doDispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
cur.idx() = tabular.cellIndex(tabular.nrows() - 1, c);
|
cur.idx() = tabular.cellIndex(tabular.nrows() - 1, c);
|
||||||
cur.pos() = cur.lastpos();
|
cur.pos() = cur.lastpos();
|
||||||
cur.setSelection(true);
|
cur.setSelection(true);
|
||||||
bvcur = cur;
|
bvcur = cur;
|
||||||
colselect_ = true;
|
colselect_ = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// do not reset cursor/selection if we have selected
|
// do not reset cursor/selection if we have selected
|
||||||
// some cells (bug 2715).
|
// some cells (bug 2715).
|
||||||
if (cmd.button() == mouse_button::button3
|
if (cmd.button() == mouse_button::button3
|
||||||
&& &bvcur.selBegin().inset() == this
|
&& &bvcur.selBegin().inset() == this
|
||||||
&& bvcur.selIsMultiCell())
|
&& bvcur.selIsMultiCell())
|
||||||
;
|
;
|
||||||
else
|
else
|
||||||
// Let InsetTableCell do it
|
// Let InsetTableCell do it
|
||||||
@ -4058,7 +4058,7 @@ void InsetTabular::doDispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
case LFUN_CHAR_RIGHT_SELECT:
|
case LFUN_CHAR_RIGHT_SELECT:
|
||||||
case LFUN_CHAR_RIGHT:
|
case LFUN_CHAR_RIGHT:
|
||||||
case LFUN_CHAR_LEFT_SELECT:
|
case LFUN_CHAR_LEFT_SELECT:
|
||||||
case LFUN_CHAR_LEFT:
|
case LFUN_CHAR_LEFT:
|
||||||
case LFUN_WORD_FORWARD:
|
case LFUN_WORD_FORWARD:
|
||||||
case LFUN_WORD_FORWARD_SELECT:
|
case LFUN_WORD_FORWARD_SELECT:
|
||||||
case LFUN_WORD_BACKWARD:
|
case LFUN_WORD_BACKWARD:
|
||||||
@ -4067,14 +4067,14 @@ void InsetTabular::doDispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
case LFUN_WORD_RIGHT_SELECT:
|
case LFUN_WORD_RIGHT_SELECT:
|
||||||
case LFUN_WORD_LEFT:
|
case LFUN_WORD_LEFT:
|
||||||
case LFUN_WORD_LEFT_SELECT: {
|
case LFUN_WORD_LEFT_SELECT: {
|
||||||
// determine whether we move to next or previous cell, where to enter
|
// determine whether we move to next or previous cell, where to enter
|
||||||
// the new cell from, and which command to "finish" (i.e., exit the
|
// the new cell from, and which command to "finish" (i.e., exit the
|
||||||
// inset) with:
|
// inset) with:
|
||||||
bool next_cell;
|
bool next_cell;
|
||||||
EntryDirection entry_from = ENTRY_DIRECTION_IGNORE;
|
EntryDirection entry_from = ENTRY_DIRECTION_IGNORE;
|
||||||
FuncCode finish_lfun;
|
FuncCode finish_lfun;
|
||||||
|
|
||||||
if (act == LFUN_CHAR_FORWARD
|
if (act == LFUN_CHAR_FORWARD
|
||||||
|| act == LFUN_CHAR_FORWARD_SELECT
|
|| act == LFUN_CHAR_FORWARD_SELECT
|
||||||
|| act == LFUN_WORD_FORWARD
|
|| act == LFUN_WORD_FORWARD
|
||||||
|| act == LFUN_WORD_FORWARD_SELECT) {
|
|| act == LFUN_WORD_FORWARD_SELECT) {
|
||||||
@ -4088,7 +4088,7 @@ void InsetTabular::doDispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
next_cell = false;
|
next_cell = false;
|
||||||
finish_lfun = LFUN_FINISHED_BACKWARD;
|
finish_lfun = LFUN_FINISHED_BACKWARD;
|
||||||
}
|
}
|
||||||
// LEFT or RIGHT commands --- the interpretation will depend on the
|
// LEFT or RIGHT commands --- the interpretation will depend on the
|
||||||
// table's direction.
|
// table's direction.
|
||||||
else {
|
else {
|
||||||
bool const right = act == LFUN_CHAR_RIGHT
|
bool const right = act == LFUN_CHAR_RIGHT
|
||||||
@ -4096,14 +4096,14 @@ void InsetTabular::doDispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
|| act == LFUN_WORD_RIGHT
|
|| act == LFUN_WORD_RIGHT
|
||||||
|| act == LFUN_WORD_RIGHT_SELECT;
|
|| act == LFUN_WORD_RIGHT_SELECT;
|
||||||
next_cell = isRightToLeft(cur) != right;
|
next_cell = isRightToLeft(cur) != right;
|
||||||
|
|
||||||
if (lyxrc.visual_cursor)
|
if (lyxrc.visual_cursor)
|
||||||
entry_from = right ? ENTRY_DIRECTION_LEFT:ENTRY_DIRECTION_RIGHT;
|
entry_from = right ? ENTRY_DIRECTION_LEFT:ENTRY_DIRECTION_RIGHT;
|
||||||
|
|
||||||
finish_lfun = right ? LFUN_FINISHED_RIGHT : LFUN_FINISHED_LEFT;
|
finish_lfun = right ? LFUN_FINISHED_RIGHT : LFUN_FINISHED_LEFT;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool const select = act == LFUN_CHAR_FORWARD_SELECT
|
bool const select = act == LFUN_CHAR_FORWARD_SELECT
|
||||||
|| act == LFUN_CHAR_BACKWARD_SELECT
|
|| act == LFUN_CHAR_BACKWARD_SELECT
|
||||||
|| act == LFUN_CHAR_RIGHT_SELECT
|
|| act == LFUN_CHAR_RIGHT_SELECT
|
||||||
|| act == LFUN_CHAR_LEFT_SELECT
|
|| act == LFUN_CHAR_LEFT_SELECT
|
||||||
@ -4112,15 +4112,15 @@ void InsetTabular::doDispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
|| act == LFUN_WORD_BACKWARD_SELECT
|
|| act == LFUN_WORD_BACKWARD_SELECT
|
||||||
|| act == LFUN_WORD_LEFT_SELECT;
|
|| act == LFUN_WORD_LEFT_SELECT;
|
||||||
|
|
||||||
// If we have a multicell selection or we're
|
// If we have a multicell selection or we're
|
||||||
// not doing some LFUN_*_SELECT thing anyway...
|
// not doing some LFUN_*_SELECT thing anyway...
|
||||||
if (!cur.selIsMultiCell() || !select) {
|
if (!cur.selIsMultiCell() || !select) {
|
||||||
col_type const c = tabular.cellColumn(cur.idx());
|
col_type const c = tabular.cellColumn(cur.idx());
|
||||||
row_type const r = tabular.cellRow(cur.idx());
|
row_type const r = tabular.cellRow(cur.idx());
|
||||||
// Are we trying to select the whole cell and is the whole cell
|
// Are we trying to select the whole cell and is the whole cell
|
||||||
// not yet selected?
|
// not yet selected?
|
||||||
bool const select_whole = select && !isCellSelected(cur, r, c) &&
|
bool const select_whole = select && !isCellSelected(cur, r, c) &&
|
||||||
((next_cell && cur.pit() == cur.lastpit()
|
((next_cell && cur.pit() == cur.lastpit()
|
||||||
&& cur.pos() == cur.lastpos())
|
&& cur.pos() == cur.lastpos())
|
||||||
|| (!next_cell && cur.pit() == 0 && cur.pos() == 0));
|
|| (!next_cell && cur.pit() == 0 && cur.pos() == 0));
|
||||||
|
|
||||||
@ -4138,7 +4138,7 @@ void InsetTabular::doDispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME: When we support the selection of an empty cell, remove
|
// FIXME: When we support the selection of an empty cell, remove
|
||||||
// the !empty_cell from this condition. For now we jump to the next
|
// the !empty_cell from this condition. For now we jump to the next
|
||||||
// cell if the current cell is empty.
|
// cell if the current cell is empty.
|
||||||
if (cur.result().dispatched() && !empty_cell)
|
if (cur.result().dispatched() && !empty_cell)
|
||||||
@ -4169,7 +4169,7 @@ void InsetTabular::doDispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
case LFUN_DOWN:
|
case LFUN_DOWN:
|
||||||
if (!(cur.selection() && cur.selIsMultiCell()))
|
if (!(cur.selection() && cur.selIsMultiCell()))
|
||||||
cell(cur.idx())->dispatch(cur, cmd);
|
cell(cur.idx())->dispatch(cur, cmd);
|
||||||
|
|
||||||
cur.dispatched(); // override the cell's decision
|
cur.dispatched(); // override the cell's decision
|
||||||
if (sl == cur.top()) {
|
if (sl == cur.top()) {
|
||||||
// if our Text didn't do anything to the cursor
|
// if our Text didn't do anything to the cursor
|
||||||
@ -4334,7 +4334,7 @@ void InsetTabular::doDispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
docstring::const_iterator const end = cmd.argument().end();
|
docstring::const_iterator const end = cmd.argument().end();
|
||||||
for (; cit != end; ++cit)
|
for (; cit != end; ++cit)
|
||||||
bv->translateAndInsert(*cit, getText(cur.idx()), cur);
|
bv->translateAndInsert(*cit, getText(cur.idx()), cur);
|
||||||
|
|
||||||
cur.resetAnchor();
|
cur.resetAnchor();
|
||||||
bv->bookmarkEditPosition();
|
bv->bookmarkEditPosition();
|
||||||
} else
|
} else
|
||||||
@ -4466,7 +4466,7 @@ bool InsetTabular::getStatus(Cursor & cur, FuncRequest const & cmd,
|
|||||||
{
|
{
|
||||||
switch (cmd.action()) {
|
switch (cmd.action()) {
|
||||||
case LFUN_INSET_MODIFY: {
|
case LFUN_INSET_MODIFY: {
|
||||||
if (&cur.inset() != this || cmd.getArg(0) != "tabular")
|
if (&cur.inset() != this || cmd.getArg(0) != "tabular")
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// FIXME: We only check for the very first argument...
|
// FIXME: We only check for the very first argument...
|
||||||
@ -4646,7 +4646,7 @@ bool InsetTabular::getStatus(Cursor & cur, FuncRequest const & cmd,
|
|||||||
case Tabular::M_ALIGN_RIGHT:
|
case Tabular::M_ALIGN_RIGHT:
|
||||||
flag = false;
|
flag = false;
|
||||||
case Tabular::ALIGN_RIGHT:
|
case Tabular::ALIGN_RIGHT:
|
||||||
status.setEnabled(!(tabular.isMultiRow(cur.idx())
|
status.setEnabled(!(tabular.isMultiRow(cur.idx())
|
||||||
&& !tabular.getPWidth(cur.idx()).zero()));
|
&& !tabular.getPWidth(cur.idx()).zero()));
|
||||||
status.setOnOff(tabular.getAlignment(cur.idx(), flag) == LYX_ALIGN_RIGHT);
|
status.setOnOff(tabular.getAlignment(cur.idx(), flag) == LYX_ALIGN_RIGHT);
|
||||||
break;
|
break;
|
||||||
@ -4654,7 +4654,7 @@ bool InsetTabular::getStatus(Cursor & cur, FuncRequest const & cmd,
|
|||||||
case Tabular::M_ALIGN_CENTER:
|
case Tabular::M_ALIGN_CENTER:
|
||||||
flag = false;
|
flag = false;
|
||||||
case Tabular::ALIGN_CENTER:
|
case Tabular::ALIGN_CENTER:
|
||||||
status.setEnabled(!(tabular.isMultiRow(cur.idx())
|
status.setEnabled(!(tabular.isMultiRow(cur.idx())
|
||||||
&& !tabular.getPWidth(cur.idx()).zero()));
|
&& !tabular.getPWidth(cur.idx()).zero()));
|
||||||
status.setOnOff(tabular.getAlignment(cur.idx(), flag) == LYX_ALIGN_CENTER);
|
status.setOnOff(tabular.getAlignment(cur.idx(), flag) == LYX_ALIGN_CENTER);
|
||||||
break;
|
break;
|
||||||
@ -4666,7 +4666,7 @@ bool InsetTabular::getStatus(Cursor & cur, FuncRequest const & cmd,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case Tabular::ALIGN_DECIMAL:
|
case Tabular::ALIGN_DECIMAL:
|
||||||
status.setEnabled(!tabular.isMultiRow(cur.idx())
|
status.setEnabled(!tabular.isMultiRow(cur.idx())
|
||||||
&& !tabular.isMultiColumn(cur.idx()));
|
&& !tabular.isMultiColumn(cur.idx()));
|
||||||
status.setOnOff(tabular.getAlignment(cur.idx(), true) == LYX_ALIGN_DECIMAL);
|
status.setOnOff(tabular.getAlignment(cur.idx(), true) == LYX_ALIGN_DECIMAL);
|
||||||
break;
|
break;
|
||||||
@ -4719,30 +4719,30 @@ bool InsetTabular::getStatus(Cursor & cur, FuncRequest const & cmd,
|
|||||||
|
|
||||||
case Tabular::TABULAR_VALIGN_TOP:
|
case Tabular::TABULAR_VALIGN_TOP:
|
||||||
status.setEnabled(tabular.tabular_width.zero());
|
status.setEnabled(tabular.tabular_width.zero());
|
||||||
status.setOnOff(tabular.tabular_valignment
|
status.setOnOff(tabular.tabular_valignment
|
||||||
== Tabular::LYX_VALIGN_TOP);
|
== Tabular::LYX_VALIGN_TOP);
|
||||||
break;
|
break;
|
||||||
case Tabular::TABULAR_VALIGN_MIDDLE:
|
case Tabular::TABULAR_VALIGN_MIDDLE:
|
||||||
status.setEnabled(tabular.tabular_width.zero());
|
status.setEnabled(tabular.tabular_width.zero());
|
||||||
status.setOnOff(tabular.tabular_valignment
|
status.setOnOff(tabular.tabular_valignment
|
||||||
== Tabular::LYX_VALIGN_MIDDLE);
|
== Tabular::LYX_VALIGN_MIDDLE);
|
||||||
break;
|
break;
|
||||||
case Tabular::TABULAR_VALIGN_BOTTOM:
|
case Tabular::TABULAR_VALIGN_BOTTOM:
|
||||||
status.setEnabled(tabular.tabular_width.zero());
|
status.setEnabled(tabular.tabular_width.zero());
|
||||||
status.setOnOff(tabular.tabular_valignment
|
status.setOnOff(tabular.tabular_valignment
|
||||||
== Tabular::LYX_VALIGN_BOTTOM);
|
== Tabular::LYX_VALIGN_BOTTOM);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Tabular::LONGTABULAR_ALIGN_LEFT:
|
case Tabular::LONGTABULAR_ALIGN_LEFT:
|
||||||
status.setOnOff(tabular.longtabular_alignment
|
status.setOnOff(tabular.longtabular_alignment
|
||||||
== Tabular::LYX_LONGTABULAR_ALIGN_LEFT);
|
== Tabular::LYX_LONGTABULAR_ALIGN_LEFT);
|
||||||
break;
|
break;
|
||||||
case Tabular::LONGTABULAR_ALIGN_CENTER:
|
case Tabular::LONGTABULAR_ALIGN_CENTER:
|
||||||
status.setOnOff(tabular.longtabular_alignment
|
status.setOnOff(tabular.longtabular_alignment
|
||||||
== Tabular::LYX_LONGTABULAR_ALIGN_CENTER);
|
== Tabular::LYX_LONGTABULAR_ALIGN_CENTER);
|
||||||
break;
|
break;
|
||||||
case Tabular::LONGTABULAR_ALIGN_RIGHT:
|
case Tabular::LONGTABULAR_ALIGN_RIGHT:
|
||||||
status.setOnOff(tabular.longtabular_alignment
|
status.setOnOff(tabular.longtabular_alignment
|
||||||
== Tabular::LYX_LONGTABULAR_ALIGN_RIGHT);
|
== Tabular::LYX_LONGTABULAR_ALIGN_RIGHT);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -4954,7 +4954,7 @@ bool InsetTabular::getStatus(Cursor & cur, FuncRequest const & cmd,
|
|||||||
getSelection(cur, rs, re, cs, ce);
|
getSelection(cur, rs, re, cs, ce);
|
||||||
if (paste_tabular && paste_tabular->ncols() == ce - cs + 1
|
if (paste_tabular && paste_tabular->ncols() == ce - cs + 1
|
||||||
&& paste_tabular->nrows() == re - rs + 1)
|
&& paste_tabular->nrows() == re - rs + 1)
|
||||||
status.setEnabled(true);
|
status.setEnabled(true);
|
||||||
else {
|
else {
|
||||||
status.setEnabled(false);
|
status.setEnabled(false);
|
||||||
status.message(_("Selection size should match clipboard content."));
|
status.message(_("Selection size should match clipboard content."));
|
||||||
@ -5158,7 +5158,7 @@ int InsetTabular::cellYPos(idx_type const cell) const
|
|||||||
row_type row = tabular.cellRow(cell);
|
row_type row = tabular.cellRow(cell);
|
||||||
int ly = 0;
|
int ly = 0;
|
||||||
for (row_type r = 0; r < row; ++r)
|
for (row_type r = 0; r < row; ++r)
|
||||||
ly += tabular.rowDescent(r) + tabular.rowAscent(r + 1)
|
ly += tabular.rowDescent(r) + tabular.rowAscent(r + 1)
|
||||||
+ tabular.interRowSpace(r + 1);
|
+ tabular.interRowSpace(r + 1);
|
||||||
return ly;
|
return ly;
|
||||||
}
|
}
|
||||||
@ -5246,7 +5246,7 @@ void InsetTabular::moveNextCell(Cursor & cur, EntryDirection entry_from)
|
|||||||
cur.pos() = 0;
|
cur.pos() = 0;
|
||||||
|
|
||||||
// in visual mode, place cursor at extreme left or right
|
// in visual mode, place cursor at extreme left or right
|
||||||
|
|
||||||
switch(entry_from) {
|
switch(entry_from) {
|
||||||
|
|
||||||
case ENTRY_DIRECTION_RIGHT:
|
case ENTRY_DIRECTION_RIGHT:
|
||||||
@ -5304,7 +5304,7 @@ void InsetTabular::movePrevCell(Cursor & cur, EntryDirection entry_from)
|
|||||||
cur.pos() = cur.lastpos();
|
cur.pos() = cur.lastpos();
|
||||||
|
|
||||||
// in visual mode, place cursor at extreme left or right
|
// in visual mode, place cursor at extreme left or right
|
||||||
|
|
||||||
switch(entry_from) {
|
switch(entry_from) {
|
||||||
|
|
||||||
case ENTRY_DIRECTION_RIGHT:
|
case ENTRY_DIRECTION_RIGHT:
|
||||||
@ -5386,7 +5386,7 @@ static void checkLongtableSpecial(Tabular::ltType & ltt,
|
|||||||
|
|
||||||
bool InsetTabular::oneCellHasRotationState(bool rotated,
|
bool InsetTabular::oneCellHasRotationState(bool rotated,
|
||||||
row_type row_start, row_type row_end,
|
row_type row_start, row_type row_end,
|
||||||
col_type col_start, col_type col_end) const
|
col_type col_start, col_type col_end) const
|
||||||
{
|
{
|
||||||
for (row_type r = row_start; r <= row_end; ++r)
|
for (row_type r = row_start; r <= row_end; ++r)
|
||||||
for (col_type c = col_start; c <= col_end; ++c)
|
for (col_type c = col_start; c <= col_end; ++c)
|
||||||
@ -5833,7 +5833,7 @@ void InsetTabular::tabularFeatures(Cursor & cur,
|
|||||||
tabular.longtabular_alignment = Tabular::LYX_LONGTABULAR_ALIGN_RIGHT;
|
tabular.longtabular_alignment = Tabular::LYX_LONGTABULAR_ALIGN_RIGHT;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
case Tabular::SET_ROTATE_CELL:
|
case Tabular::SET_ROTATE_CELL:
|
||||||
for (row_type r = sel_row_start; r <= sel_row_end; ++r)
|
for (row_type r = sel_row_start; r <= sel_row_end; ++r)
|
||||||
@ -5924,7 +5924,7 @@ void InsetTabular::tabularFeatures(Cursor & cur,
|
|||||||
lyx::dispatch(FuncRequest(LFUN_CAPTION_INSERT));
|
lyx::dispatch(FuncRequest(LFUN_CAPTION_INSERT));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case Tabular::UNSET_LTCAPTION: {
|
case Tabular::UNSET_LTCAPTION: {
|
||||||
if (!tabular.ltCaption(row))
|
if (!tabular.ltCaption(row))
|
||||||
break;
|
break;
|
||||||
@ -6149,7 +6149,7 @@ bool InsetTabular::isRightToLeft(Cursor & cur) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
docstring InsetTabular::asString(idx_type stidx, idx_type enidx,
|
docstring InsetTabular::asString(idx_type stidx, idx_type enidx,
|
||||||
bool intoInsets)
|
bool intoInsets)
|
||||||
{
|
{
|
||||||
LASSERT(stidx <= enidx, return docstring());
|
LASSERT(stidx <= enidx, return docstring());
|
||||||
@ -6396,7 +6396,7 @@ bool InsetTabular::insertCompletion(Cursor & cur, docstring const & s, bool fini
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void InsetTabular::completionPosAndDim(Cursor const & cur, int & x, int & y,
|
void InsetTabular::completionPosAndDim(Cursor const & cur, int & x, int & y,
|
||||||
Dimension & dim) const
|
Dimension & dim) const
|
||||||
{
|
{
|
||||||
TextMetrics const & tm = cur.bv().textMetrics(cur.text());
|
TextMetrics const & tm = cur.bv().textMetrics(cur.text());
|
||||||
|
@ -81,8 +81,8 @@ private:
|
|||||||
// This boolean is supposed to track whether the cell has had its
|
// This boolean is supposed to track whether the cell has had its
|
||||||
// width explicitly set. We need to know this to determine whether
|
// width explicitly set. We need to know this to determine whether
|
||||||
// layout changes and paragraph customization are allowed---that is,
|
// layout changes and paragraph customization are allowed---that is,
|
||||||
// we need it in forcePlainLayout() and allowParagraphCustomization().
|
// we need it in forcePlainLayout() and allowParagraphCustomization().
|
||||||
// Unfortunately, that information is not readily available in
|
// Unfortunately, that information is not readily available in
|
||||||
// InsetTableCell. In the case of multicolumn cells, it is present
|
// InsetTableCell. In the case of multicolumn cells, it is present
|
||||||
// in CellData, and so would be available here if CellData were to
|
// in CellData, and so would be available here if CellData were to
|
||||||
// become a member of InsetTableCell. But in the other case, it isn't
|
// become a member of InsetTableCell. But in the other case, it isn't
|
||||||
@ -92,10 +92,10 @@ private:
|
|||||||
// but the other solutions are no better. These are:
|
// but the other solutions are no better. These are:
|
||||||
// (i) Keep a pointer in InsetTableCell to the table;
|
// (i) Keep a pointer in InsetTableCell to the table;
|
||||||
// (ii) Find the table by iterating over the Buffer's insets.
|
// (ii) Find the table by iterating over the Buffer's insets.
|
||||||
// Solution (i) raises the problem of updating the pointer when an
|
// Solution (i) raises the problem of updating the pointer when an
|
||||||
// InsetTableCell is copied, and we'd therefore need a copy constructor
|
// InsetTableCell is copied, and we'd therefore need a copy constructor
|
||||||
// in InsetTabular and then in Tabular, which seems messy, given how
|
// in InsetTabular and then in Tabular, which seems messy, given how
|
||||||
// complicated those classes are. Solution (ii) involves a lot of
|
// complicated those classes are. Solution (ii) involves a lot of
|
||||||
// iterating, since this information is needed quite often, and so may
|
// iterating, since this information is needed quite often, and so may
|
||||||
// be quite slow.
|
// be quite slow.
|
||||||
// So, well, if someone can do better, please do!
|
// So, well, if someone can do better, please do!
|
||||||
@ -111,9 +111,9 @@ private:
|
|||||||
LyXAlignment contentAlignment() const { return contentAlign; }
|
LyXAlignment contentAlignment() const { return contentAlign; }
|
||||||
///
|
///
|
||||||
virtual bool usePlainLayout() const { return true; }
|
virtual bool usePlainLayout() const { return true; }
|
||||||
///
|
///
|
||||||
virtual bool forcePlainLayout(idx_type = 0) const;
|
virtual bool forcePlainLayout(idx_type = 0) const;
|
||||||
///
|
///
|
||||||
virtual bool allowParagraphCustomization(idx_type = 0) const;
|
virtual bool allowParagraphCustomization(idx_type = 0) const;
|
||||||
/// Is the width forced to some value?
|
/// Is the width forced to some value?
|
||||||
bool hasFixedWidth() const { return isFixedWidth; }
|
bool hasFixedWidth() const { return isFixedWidth; }
|
||||||
@ -309,7 +309,7 @@ public:
|
|||||||
LYX_VALIGN_MIDDLE = 1,
|
LYX_VALIGN_MIDDLE = 1,
|
||||||
///
|
///
|
||||||
LYX_VALIGN_BOTTOM = 2
|
LYX_VALIGN_BOTTOM = 2
|
||||||
|
|
||||||
};
|
};
|
||||||
///
|
///
|
||||||
enum HAlignment {
|
enum HAlignment {
|
||||||
@ -472,7 +472,7 @@ public:
|
|||||||
void deleteRow(row_type row);
|
void deleteRow(row_type row);
|
||||||
///
|
///
|
||||||
void copyRow(row_type row);
|
void copyRow(row_type row);
|
||||||
///
|
///
|
||||||
void insertRow(row_type row, bool copy);
|
void insertRow(row_type row, bool copy);
|
||||||
///
|
///
|
||||||
void moveColumn(col_type col, ColDirection direction);
|
void moveColumn(col_type col, ColDirection direction);
|
||||||
@ -599,7 +599,7 @@ public:
|
|||||||
//private:
|
//private:
|
||||||
// FIXME Now that cells have an InsetTableCell as their insets, rather
|
// FIXME Now that cells have an InsetTableCell as their insets, rather
|
||||||
// than an InsetText, it'd be possible to reverse the relationship here,
|
// than an InsetText, it'd be possible to reverse the relationship here,
|
||||||
// so that cell_vector was a vector<InsetTableCell> rather than a
|
// so that cell_vector was a vector<InsetTableCell> rather than a
|
||||||
// vector<CellData>, and an InsetTableCell had a CellData as a member,
|
// vector<CellData>, and an InsetTableCell had a CellData as a member,
|
||||||
// or perhaps just had its members as members.
|
// or perhaps just had its members as members.
|
||||||
///
|
///
|
||||||
@ -979,7 +979,7 @@ private:
|
|||||||
void setCursorFromCoordinates(Cursor & cur, int x, int y) const;
|
void setCursorFromCoordinates(Cursor & cur, int x, int y) const;
|
||||||
|
|
||||||
///
|
///
|
||||||
void moveNextCell(Cursor & cur,
|
void moveNextCell(Cursor & cur,
|
||||||
EntryDirection entry_from = ENTRY_DIRECTION_IGNORE);
|
EntryDirection entry_from = ENTRY_DIRECTION_IGNORE);
|
||||||
///
|
///
|
||||||
void movePrevCell(Cursor & cur,
|
void movePrevCell(Cursor & cur,
|
||||||
|
Loading…
Reference in New Issue
Block a user