mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-07 12:32:26 +00:00
r33506: better fix for table borders.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33507 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
15e19deed3
commit
addba25b98
@ -377,14 +377,14 @@ docstring GuiTabular::dialogToParams() const
|
|||||||
&& !borders->getRight())
|
&& !borders->getRight())
|
||||||
setParam(param_str, Tabular::UNSET_ALL_LINES);
|
setParam(param_str, Tabular::UNSET_ALL_LINES);
|
||||||
else {
|
else {
|
||||||
if (borders->getLeft() != left_border_set_)
|
setParam(param_str, Tabular::SET_LINE_LEFT,
|
||||||
setParam(param_str, Tabular::TOGGLE_LINE_LEFT);
|
borders->getLeft() ? "true" : "false");
|
||||||
if (borders->getRight() != right_border_set_)
|
setParam(param_str, Tabular::SET_LINE_RIGHT,
|
||||||
setParam(param_str, Tabular::TOGGLE_LINE_RIGHT);
|
borders->getRight() ? "true" : "false");
|
||||||
if (borders->getTop() != top_border_set_)
|
setParam(param_str, Tabular::SET_LINE_TOP,
|
||||||
setParam(param_str, Tabular::TOGGLE_LINE_TOP);
|
borders->getTop() ? "true" : "false");
|
||||||
if (borders->getBottom() != bottom_border_set_)
|
setParam(param_str, Tabular::SET_LINE_BOTTOM,
|
||||||
setParam(param_str, Tabular::TOGGLE_LINE_BOTTOM);
|
borders->getBottom() ? "true" : "false");
|
||||||
}
|
}
|
||||||
|
|
||||||
// apply the special alignment
|
// apply the special alignment
|
||||||
@ -554,15 +554,10 @@ void GuiTabular::paramsToDialog(Inset const * inset)
|
|||||||
|
|
||||||
longTabularCB->setChecked(tabular.is_long_tabular);
|
longTabularCB->setChecked(tabular.is_long_tabular);
|
||||||
|
|
||||||
//
|
borders->setTop(tabular.topLine(cell));
|
||||||
top_border_set_ = tabular.topLine(cell);
|
borders->setBottom(tabular.bottomLine(cell));
|
||||||
bottom_border_set_ = tabular.bottomLine(cell);
|
borders->setLeft(tabular.leftLine(cell));
|
||||||
left_border_set_ = tabular.leftLine(cell);
|
borders->setRight(tabular.rightLine(cell));
|
||||||
right_border_set_ = tabular.rightLine(cell);
|
|
||||||
borders->setTop(top_border_set_);
|
|
||||||
borders->setBottom(bottom_border_set_);
|
|
||||||
borders->setLeft(left_border_set_);
|
|
||||||
borders->setRight(right_border_set_);
|
|
||||||
// repaint the setborder widget
|
// repaint the setborder widget
|
||||||
borders->update();
|
borders->update();
|
||||||
|
|
||||||
|
@ -48,11 +48,6 @@ private:
|
|||||||
void setVAlign(std::string & param_str) const;
|
void setVAlign(std::string & param_str) const;
|
||||||
///
|
///
|
||||||
void setTableAlignment(std::string & param_str) const;
|
void setTableAlignment(std::string & param_str) const;
|
||||||
///
|
|
||||||
bool left_border_set_;
|
|
||||||
bool right_border_set_;
|
|
||||||
bool top_border_set_;
|
|
||||||
bool bottom_border_set_;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace frontend
|
} // namespace frontend
|
||||||
|
@ -113,6 +113,11 @@ TabularFeature tabularFeature[] =
|
|||||||
{ Tabular::DELETE_COLUMN, "delete-column", false },
|
{ Tabular::DELETE_COLUMN, "delete-column", false },
|
||||||
{ Tabular::COPY_ROW, "copy-row", false },
|
{ Tabular::COPY_ROW, "copy-row", false },
|
||||||
{ Tabular::COPY_COLUMN, "copy-column", false },
|
{ Tabular::COPY_COLUMN, "copy-column", false },
|
||||||
|
{ Tabular::SET_LINE_TOP, "set-line-top", true },
|
||||||
|
{ Tabular::SET_LINE_BOTTOM, "set-line-bottom", true },
|
||||||
|
{ Tabular::SET_LINE_LEFT, "set-line-left", true },
|
||||||
|
{ Tabular::SET_LINE_RIGHT, "set-line-right", true },
|
||||||
|
//FIXME: get rid of those 4 TOGGLE actions in favor of the 4 above.
|
||||||
{ Tabular::TOGGLE_LINE_TOP, "toggle-line-top", false },
|
{ Tabular::TOGGLE_LINE_TOP, "toggle-line-top", false },
|
||||||
{ Tabular::TOGGLE_LINE_BOTTOM, "toggle-line-bottom", false },
|
{ Tabular::TOGGLE_LINE_BOTTOM, "toggle-line-bottom", false },
|
||||||
{ Tabular::TOGGLE_LINE_LEFT, "toggle-line-left", false },
|
{ Tabular::TOGGLE_LINE_LEFT, "toggle-line-left", false },
|
||||||
@ -4095,6 +4100,13 @@ bool InsetTabular::getStatus(Cursor & cur, FuncRequest const & cmd,
|
|||||||
status.setEnabled(!tabular.ltCaption(tabular.cellRow(cur.idx())));
|
status.setEnabled(!tabular.ltCaption(tabular.cellRow(cur.idx())));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case Tabular::SET_LINE_TOP:
|
||||||
|
case Tabular::SET_LINE_BOTTOM:
|
||||||
|
case Tabular::SET_LINE_LEFT:
|
||||||
|
case Tabular::SET_LINE_RIGHT:
|
||||||
|
status.setEnabled(!tabular.ltCaption(tabular.cellRow(cur.idx())));
|
||||||
|
break;
|
||||||
|
|
||||||
case Tabular::TOGGLE_LINE_TOP:
|
case Tabular::TOGGLE_LINE_TOP:
|
||||||
status.setEnabled(!tabular.ltCaption(tabular.cellRow(cur.idx())));
|
status.setEnabled(!tabular.ltCaption(tabular.cellRow(cur.idx())));
|
||||||
status.setOnOff(tabular.topLine(cur.idx()));
|
status.setOnOff(tabular.topLine(cur.idx()));
|
||||||
@ -4925,32 +4937,40 @@ void InsetTabular::tabularFeatures(Cursor & cur,
|
|||||||
cur.idx() = tabular.cellIndex(row, column);
|
cur.idx() = tabular.cellIndex(row, column);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case Tabular::SET_LINE_TOP:
|
||||||
case Tabular::TOGGLE_LINE_TOP: {
|
case Tabular::TOGGLE_LINE_TOP: {
|
||||||
bool lineSet = !tabular.topLine(cur.idx());
|
bool lineSet = (feature == Tabular::SET_LINE_TOP)
|
||||||
|
? (value == "true") : !tabular.topLine(cur.idx());
|
||||||
for (row_type i = sel_row_start; i <= sel_row_end; ++i)
|
for (row_type i = sel_row_start; i <= sel_row_end; ++i)
|
||||||
for (col_type j = sel_col_start; j <= sel_col_end; ++j)
|
for (col_type j = sel_col_start; j <= sel_col_end; ++j)
|
||||||
tabular.setTopLine(tabular.cellIndex(i, j), lineSet);
|
tabular.setTopLine(tabular.cellIndex(i, j), lineSet);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case Tabular::SET_LINE_BOTTOM:
|
||||||
case Tabular::TOGGLE_LINE_BOTTOM: {
|
case Tabular::TOGGLE_LINE_BOTTOM: {
|
||||||
bool lineSet = !tabular.bottomLine(cur.idx());
|
bool lineSet = (feature == Tabular::SET_LINE_BOTTOM)
|
||||||
|
? (value == "true") : !tabular.bottomLine(cur.idx());
|
||||||
for (row_type i = sel_row_start; i <= sel_row_end; ++i)
|
for (row_type i = sel_row_start; i <= sel_row_end; ++i)
|
||||||
for (col_type j = sel_col_start; j <= sel_col_end; ++j)
|
for (col_type j = sel_col_start; j <= sel_col_end; ++j)
|
||||||
tabular.setBottomLine(tabular.cellIndex(i, j), lineSet);
|
tabular.setBottomLine(tabular.cellIndex(i, j), lineSet);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case Tabular::SET_LINE_LEFT:
|
||||||
case Tabular::TOGGLE_LINE_LEFT: {
|
case Tabular::TOGGLE_LINE_LEFT: {
|
||||||
bool lineSet = !tabular.leftLine(cur.idx());
|
bool lineSet = (feature == Tabular::SET_LINE_LEFT)
|
||||||
|
? (value == "true") : !tabular.leftLine(cur.idx());
|
||||||
for (row_type i = sel_row_start; i <= sel_row_end; ++i)
|
for (row_type i = sel_row_start; i <= sel_row_end; ++i)
|
||||||
for (col_type j = sel_col_start; j <= sel_col_end; ++j)
|
for (col_type j = sel_col_start; j <= sel_col_end; ++j)
|
||||||
tabular.setLeftLine(tabular.cellIndex(i, j), lineSet);
|
tabular.setLeftLine(tabular.cellIndex(i, j), lineSet);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case Tabular::SET_LINE_RIGHT:
|
||||||
case Tabular::TOGGLE_LINE_RIGHT: {
|
case Tabular::TOGGLE_LINE_RIGHT: {
|
||||||
bool lineSet = !tabular.rightLine(cur.idx());
|
bool lineSet = (feature == Tabular::SET_LINE_RIGHT)
|
||||||
|
? (value == "true") : !tabular.rightLine(cur.idx());
|
||||||
for (row_type i = sel_row_start; i <= sel_row_end; ++i)
|
for (row_type i = sel_row_start; i <= sel_row_end; ++i)
|
||||||
for (col_type j = sel_col_start; j <= sel_col_end; ++j)
|
for (col_type j = sel_col_start; j <= sel_col_end; ++j)
|
||||||
tabular.setRightLine(tabular.cellIndex(i, j), lineSet);
|
tabular.setRightLine(tabular.cellIndex(i, j), lineSet);
|
||||||
|
@ -72,12 +72,20 @@ public:
|
|||||||
///
|
///
|
||||||
COPY_COLUMN,
|
COPY_COLUMN,
|
||||||
///
|
///
|
||||||
|
SET_LINE_TOP,
|
||||||
|
///
|
||||||
|
SET_LINE_BOTTOM,
|
||||||
|
///
|
||||||
|
SET_LINE_LEFT,
|
||||||
|
///
|
||||||
|
SET_LINE_RIGHT,
|
||||||
|
///FIXME: remove
|
||||||
TOGGLE_LINE_TOP,
|
TOGGLE_LINE_TOP,
|
||||||
///
|
///FIXME: remove
|
||||||
TOGGLE_LINE_BOTTOM,
|
TOGGLE_LINE_BOTTOM,
|
||||||
///
|
///FIXME: remove
|
||||||
TOGGLE_LINE_LEFT,
|
TOGGLE_LINE_LEFT,
|
||||||
///
|
///FIXME: remove
|
||||||
TOGGLE_LINE_RIGHT,
|
TOGGLE_LINE_RIGHT,
|
||||||
///
|
///
|
||||||
ALIGN_LEFT,
|
ALIGN_LEFT,
|
||||||
|
Loading…
Reference in New Issue
Block a user