Minimise the ControlTabular interface in preparation for a move to the

Dialog-based scheme.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6396 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Angus Leeming 2003-03-09 10:08:22 +00:00
parent d94600a357
commit 8c2af0660c
10 changed files with 145 additions and 120 deletions

View File

@ -1,3 +1,10 @@
2003-03-09 Angus Leeming <leeming@lyx.org>
* ControlTabular.[Ch]: minimise the interface in preparation for
a move to the Dialog-based scheme.
(inset): removed; the views require only getActiveCell().
(tabular): return as a reference.
2003-03-07 Angus Leeming <leeming@lyx.org>
* ControlGraphics.[Ch]: rewrite to use the Dialog-based scheme.

View File

@ -124,17 +124,10 @@ void ControlTabular::connectInset(InsetTabular * inset)
}
InsetTabular * ControlTabular::inset() const
LyXTabular const & ControlTabular::tabular() const
{
lyx::Assert(inset_);
return inset_;
}
LyXTabular * ControlTabular::tabular() const
{
lyx::Assert(inset_);
return inset_->tabular.get();
return *inset_->tabular.get();
}
@ -145,13 +138,14 @@ void ControlTabular::set(LyXTabular::Feature f, string const & arg)
}
bool ControlTabular::metric() const
bool ControlTabular::useMetricUnits() const
{
return lyxrc.default_papersize > BufferParams::PAPER_EXECUTIVEPAPER;
}
bool ControlTabular::isMulticolumnCell() const
int ControlTabular::getActiveCell() const
{
int cell(inset()->getActCell());
return tabular()->IsMultiColumn(cell);
lyx::Assert(inset_);
return inset_->getActCell();
}

View File

@ -29,11 +29,14 @@ public:
ControlTabular(LyXView &, Dialogs &);
/// get the inset
InsetTabular * inset() const;
///
int getActiveCell() const;
/// get the contained tabular
LyXTabular * tabular() const;
LyXTabular const & tabular() const;
/// return true if units should default to metric
bool useMetricUnits() const;
/// set a parameter
void set(LyXTabular::Feature, string const & arg = string());
@ -44,12 +47,6 @@ public:
/// update inset
void updateInset(InsetTabular *);
/// return true if units should default to metric
bool metric() const;
/// return true if actual cell is multicolumn
bool isMulticolumnCell() const;
private:
/// we can't do this ...

View File

@ -1,3 +1,13 @@
2003-03-09 Angus Leeming <leeming@lyx.org>
* QDialogView.h: make controller methods of QController public to
enable the QXyzDialog classes to access the controller if need be.
* Qt2Base.h: ditto for the controller methods of Qt2CB.
* QTabular.C:
* QTabularDialog.C: changes due to the changed ControlTabular
interface.
2003-03-07 Dekel Tsur <dekelts@tau.ac.il>
* QPrefs.C:

View File

@ -155,6 +155,7 @@ class QController: public Base
protected:
///
QController(Dialog &, QString const &);
public:
/// The parent controller
Controller & controller();
/// The parent controller

View File

@ -85,36 +85,37 @@ bool QTabular::isValid()
void QTabular::update_borders()
{
LyXTabular * tabular(controller().tabular());
int cell(controller().inset()->getActCell());
LyXTabular const & tabular = controller().tabular();
int const cell = controller().getActiveCell();
bool const isMulticolumnCell = tabular.IsMultiColumn(cell);
if (!controller().isMulticolumnCell()) {
if (!isMulticolumnCell) {
dialog_->borders->setLeftEnabled(true);
dialog_->borders->setRightEnabled(true);
dialog_->borders->setTop(tabular->TopLine(cell, true));
dialog_->borders->setBottom(tabular->BottomLine(cell, true));
dialog_->borders->setLeft(tabular->LeftLine(cell, true));
dialog_->borders->setRight(tabular->RightLine(cell, true));
dialog_->borders->setTop(tabular.TopLine(cell, true));
dialog_->borders->setBottom(tabular.BottomLine(cell, true));
dialog_->borders->setLeft(tabular.LeftLine(cell, true));
dialog_->borders->setRight(tabular.RightLine(cell, true));
// repaint the setborder widget
dialog_->borders->repaint();
return;
}
dialog_->borders->setTop(tabular->TopLine(cell));
dialog_->borders->setBottom(tabular->BottomLine(cell));
dialog_->borders->setTop(tabular.TopLine(cell));
dialog_->borders->setBottom(tabular.BottomLine(cell));
// pay attention to left/right lines: they are only allowed
// to set if we are in first/last cell of row or if the left/right
// cell is also a multicolumn.
if (tabular->IsFirstCellInRow(cell) || tabular->IsMultiColumn(cell - 1)) {
if (tabular.IsFirstCellInRow(cell) || tabular.IsMultiColumn(cell - 1)) {
dialog_->borders->setLeftEnabled(true);
dialog_->borders->setLeft(tabular->LeftLine(cell));
dialog_->borders->setLeft(tabular.LeftLine(cell));
} else {
dialog_->borders->setLeft(false);
dialog_->borders->setLeftEnabled(false);
}
if (tabular->IsLastCellInRow(cell) || tabular->IsMultiColumn(cell + 1)) {
if (tabular.IsLastCellInRow(cell) || tabular.IsMultiColumn(cell + 1)) {
dialog_->borders->setRightEnabled(true);
dialog_->borders->setRight(tabular->RightLine(cell));
dialog_->borders->setRight(tabular.RightLine(cell));
} else {
dialog_->borders->setRight(false);
dialog_->borders->setRightEnabled(false);
@ -126,23 +127,23 @@ void QTabular::update_borders()
void QTabular::update_contents()
{
LyXTabular * tabular(controller().tabular());
int cell(controller().inset()->getActCell());
LyXTabular const & tabular(controller().tabular());
int const cell = controller().getActiveCell();
int const row(tabular->row_of_cell(cell));
int const col(tabular->column_of_cell(cell));
int const row(tabular.row_of_cell(cell));
int const col(tabular.column_of_cell(cell));
dialog_->tabularRowED->setText(toqstr(tostr(row + 1)));
dialog_->tabularColumnED->setText(toqstr(tostr(col + 1)));
bool const multicol(controller().isMulticolumnCell());
bool const multicol(tabular.IsMultiColumn(cell));
dialog_->multicolumnCB->setChecked(multicol);
dialog_->rotateCellCB->setChecked(tabular->GetRotateCell(cell));
dialog_->rotateTabularCB->setChecked(tabular->GetRotateTabular());
dialog_->rotateCellCB->setChecked(tabular.GetRotateCell(cell));
dialog_->rotateTabularCB->setChecked(tabular.GetRotateTabular());
dialog_->longTabularCB->setChecked(tabular->IsLongTabular());
dialog_->longTabularCB->setChecked(tabular.IsLongTabular());
update_borders();
@ -150,11 +151,11 @@ void QTabular::update_contents()
string special;
if (multicol) {
special = tabular->GetAlignSpecial(cell, LyXTabular::SET_SPECIAL_MULTI);
pwidth = tabular->GetMColumnPWidth(cell);
special = tabular.GetAlignSpecial(cell, LyXTabular::SET_SPECIAL_MULTI);
pwidth = tabular.GetMColumnPWidth(cell);
} else {
special = tabular->GetAlignSpecial(cell, LyXTabular::SET_SPECIAL_COLUMN);
pwidth = tabular->GetColumnPWidth(cell);
special = tabular.GetAlignSpecial(cell, LyXTabular::SET_SPECIAL_COLUMN);
pwidth = tabular.GetColumnPWidth(cell);
}
dialog_->specialAlignmentED->setText(toqstr(special));
@ -162,7 +163,7 @@ void QTabular::update_contents()
bool const isReadonly = bc().bp().isReadOnly();
dialog_->specialAlignmentED->setEnabled(!isReadonly);
LyXLength::UNIT default_unit = controller().metric() ? LyXLength::CM : LyXLength::IN;
LyXLength::UNIT default_unit = controller().useMetricUnits() ? LyXLength::CM : LyXLength::IN;
if (!pwidth.zero()) {
dialog_->widthED->setText(toqstr(tostr(pwidth.value())));
dialog_->widthUnit->setCurrentItem(pwidth.unit());
@ -181,7 +182,7 @@ void QTabular::update_contents()
dialog_->hAlignCB->insertItem(qt_("Block"));
int align = 0;
switch (tabular->GetAlignment(cell)) {
switch (tabular.GetAlignment(cell)) {
case LYX_ALIGN_LEFT:
align = 0;
break;
@ -204,7 +205,7 @@ void QTabular::update_contents()
dialog_->hAlignCB->setCurrentItem(align);
int valign = 0;
switch (tabular->GetVAlignment(cell)) {
switch (tabular.GetVAlignment(cell)) {
case LyXTabular::LYX_VALIGN_TOP:
valign = 0;
break;
@ -225,7 +226,7 @@ void QTabular::update_contents()
dialog_->hAlignCB->setEnabled(true);
dialog_->vAlignCB->setEnabled(!pwidth.zero());
if (!tabular->IsLongTabular()) {
if (!tabular.IsLongTabular()) {
dialog_->headerStatusCB->setChecked(false);
dialog_->headerBorderAboveCB->setChecked(false);
dialog_->headerBorderBelowCB->setChecked(false);
@ -246,7 +247,7 @@ void QTabular::update_contents()
LyXTabular::ltType ltt;
bool use_empty;
bool row_set = tabular->GetRowOfLTHead(row, ltt);
bool row_set = tabular.GetRowOfLTHead(row, ltt);
dialog_->headerStatusCB->setChecked(row_set);
if (ltt.set) {
dialog_->headerBorderAboveCB->setChecked(ltt.topDL);
@ -262,7 +263,7 @@ void QTabular::update_contents()
use_empty = false;
}
row_set = tabular->GetRowOfLTFirstHead(row, ltt);
row_set = tabular.GetRowOfLTFirstHead(row, ltt);
dialog_->firstheaderStatusCB->setChecked(row_set);
if (ltt.set && (!ltt.empty || !use_empty)) {
dialog_->firstheaderBorderAboveCB->setChecked(ltt.topDL);
@ -279,7 +280,7 @@ void QTabular::update_contents()
}
}
row_set = tabular->GetRowOfLTFoot(row, ltt);
row_set = tabular.GetRowOfLTFoot(row, ltt);
dialog_->footerStatusCB->setChecked(row_set);
if (ltt.set) {
dialog_->footerBorderAboveCB->setChecked(ltt.topDL);
@ -295,7 +296,7 @@ void QTabular::update_contents()
use_empty = false;
}
row_set = tabular->GetRowOfLTLastFoot(row, ltt);
row_set = tabular.GetRowOfLTLastFoot(row, ltt);
dialog_->lastfooterStatusCB->setChecked(row_set);
if (ltt.set && (!ltt.empty || !use_empty)) {
dialog_->lastfooterBorderAboveCB->setChecked(ltt.topDL);
@ -311,7 +312,7 @@ void QTabular::update_contents()
dialog_->lastfooterStatusCB->setEnabled(false);
}
}
dialog_->newpageCB->setChecked(tabular->GetLTNewPage(row));
dialog_->newpageCB->setChecked(tabular.GetLTNewPage(row));
}
@ -320,17 +321,16 @@ void QTabular::closeGUI()
// ugly hack to auto-apply the stuff that hasn't been
// yet. don't let this continue to exist ...
InsetTabular * inset(controller().inset());
LyXTabular * tabular(controller().tabular());
LyXTabular const & tabular(controller().tabular());
// apply the fixed width values
int cell = inset->getActCell();
bool const multicol(controller().isMulticolumnCell());
int const cell = controller().getActiveCell();
bool const multicol(tabular.IsMultiColumn(cell));
string str1 = widgetsToLength(dialog_->widthED, dialog_->widthUnit);
string str2;
LyXLength llen(tabular->GetColumnPWidth(cell));
LyXLength llenMulti(tabular->GetMColumnPWidth(cell));
LyXLength llen(tabular.GetColumnPWidth(cell));
LyXLength llenMulti(tabular.GetMColumnPWidth(cell));
if (multicol && !llenMulti.zero())
str2 = llenMulti.asString();
@ -347,9 +347,9 @@ void QTabular::closeGUI()
// apply the special alignment
str1 = fromqstr(dialog_->specialAlignmentED->text());
if (multicol)
str2 = tabular->GetAlignSpecial(cell, LyXTabular::SET_SPECIAL_MULTI);
str2 = tabular.GetAlignSpecial(cell, LyXTabular::SET_SPECIAL_MULTI);
else
str2 = tabular->GetAlignSpecial(cell, LyXTabular::SET_SPECIAL_COLUMN);
str2 = tabular.GetAlignSpecial(cell, LyXTabular::SET_SPECIAL_COLUMN);
if (str1 != str2) {
if (multicol)

View File

@ -92,9 +92,21 @@ void QTabularDialog::borderUnset_clicked()
}
namespace {
bool isMulticolumnCell(QTabular * form)
{
LyXTabular const & tabular = form->controller().tabular();
int const cell = form->controller().getActiveCell();
return tabular.IsMultiColumn(cell);
}
}
void QTabularDialog::leftBorder_changed()
{
if (form_->controller().isMulticolumnCell())
if (isMulticolumnCell(form_))
form_->controller().set(LyXTabular::M_TOGGLE_LINE_LEFT);
else
form_->controller().set(LyXTabular::TOGGLE_LINE_LEFT);
@ -104,7 +116,7 @@ void QTabularDialog::leftBorder_changed()
void QTabularDialog::rightBorder_changed()
{
if (form_->controller().isMulticolumnCell())
if (isMulticolumnCell(form_))
form_->controller().set(LyXTabular::M_TOGGLE_LINE_RIGHT);
else
form_->controller().set(LyXTabular::TOGGLE_LINE_RIGHT);
@ -114,7 +126,7 @@ void QTabularDialog::rightBorder_changed()
void QTabularDialog::topBorder_changed()
{
if (form_->controller().isMulticolumnCell())
if (isMulticolumnCell(form_))
form_->controller().set(LyXTabular::M_TOGGLE_LINE_TOP);
else
form_->controller().set(LyXTabular::TOGGLE_LINE_TOP);
@ -124,7 +136,7 @@ void QTabularDialog::topBorder_changed()
void QTabularDialog::bottomBorder_changed()
{
if (form_->controller().isMulticolumnCell())
if (isMulticolumnCell(form_))
form_->controller().set(LyXTabular::M_TOGGLE_LINE_BOTTOM);
else
form_->controller().set(LyXTabular::TOGGLE_LINE_BOTTOM);
@ -135,7 +147,7 @@ void QTabularDialog::bottomBorder_changed()
void QTabularDialog::specialAlignment_changed()
{
string special = fromqstr(specialAlignmentED->text());
if (form_->controller().isMulticolumnCell())
if (isMulticolumnCell(form_))
form_->controller().set(LyXTabular::SET_SPECIAL_MULTI, special);
else
form_->controller().set(LyXTabular::SET_SPECIAL_COLUMN, special);
@ -147,7 +159,7 @@ void QTabularDialog::width_changed()
string const width =
LyXLength(widthED->text().toDouble(),
widthUnit->currentLengthItem()).asString();
if (form_->controller().isMulticolumnCell())
if (isMulticolumnCell(form_))
form_->controller().set(LyXTabular::SET_MPWIDTH, width);
else
form_->controller().set(LyXTabular::SET_PWIDTH, width);
@ -227,7 +239,7 @@ void QTabularDialog::hAlign_changed(int align)
}
}
}
if (form_->controller().isMulticolumnCell())
if (isMulticolumnCell(form_))
form_->controller().set(multi_num);
else
form_->controller().set(num);
@ -259,7 +271,7 @@ void QTabularDialog::vAlign_changed(int align)
break;
}
}
if (form_->controller().isMulticolumnCell())
if (isMulticolumnCell(form_))
form_->controller().set(multi_num);
else
form_->controller().set(num);

View File

@ -152,13 +152,14 @@ public:
return controller().bufferIsReadonly();
}
protected:
///
Qt2CB(QString const &);
/// The parent controller
Controller & controller();
/// The parent controller
Controller const & controller() const;
protected:
///
Qt2CB(QString const &);
};

View File

@ -1,3 +1,8 @@
2003-03-09 Angus Leeming <leeming@lyx.org>
* FormTabular.C: changes due to the changed ControlTabular
interface.
2003-03-07 Angus Leeming <leeming@lyx.org>
* Dialogs.C:

View File

@ -131,17 +131,16 @@ void FormTabular::update()
if (closing_)
return;
LyXTabular * tabular = controller().tabular();
InsetTabular * inset = controller().inset();
LyXTabular const & tabular = controller().tabular();
int align;
char buf[12];
LyXLength pwidth;
string special;
int cell = inset->getActCell();
int const cell = controller().getActiveCell();
actCell_ = cell;
int column = tabular->column_of_cell(cell) + 1;
int column = tabular.column_of_cell(cell) + 1;
clearMessage();
fl_activate_object(column_options_->input_special_alignment);
fl_activate_object(cell_options_->input_special_multialign);
@ -150,41 +149,41 @@ void FormTabular::update()
sprintf(buf, "%d", column);
fl_set_input(dialog_->input_tabular_column, buf);
fl_deactivate_object(dialog_->input_tabular_column);
int row = tabular->row_of_cell(cell);
int row = tabular.row_of_cell(cell);
sprintf(buf, "%d", row + 1);
fl_set_input(dialog_->input_tabular_row, buf);
fl_deactivate_object(dialog_->input_tabular_row);
if (tabular->IsMultiColumn(cell)) {
if (tabular.IsMultiColumn(cell)) {
fl_set_button(cell_options_->check_multicolumn, 1);
fl_set_button(cell_options_->check_border_top,
tabular->TopLine(cell)?1:0);
tabular.TopLine(cell)?1:0);
setEnabled(cell_options_->check_border_top, true);
fl_set_button(cell_options_->check_border_bottom,
tabular->BottomLine(cell)?1:0);
tabular.BottomLine(cell)?1:0);
setEnabled(cell_options_->check_border_bottom, true);
// pay attention to left/right lines they are only allowed
// to set if we are in first/last cell of row or if the left/right
// cell is also a multicolumn.
if (tabular->IsFirstCellInRow(cell) ||
tabular->IsMultiColumn(cell-1)) {
if (tabular.IsFirstCellInRow(cell) ||
tabular.IsMultiColumn(cell-1)) {
fl_set_button(cell_options_->check_border_left,
tabular->LeftLine(cell)?1:0);
tabular.LeftLine(cell)?1:0);
setEnabled(cell_options_->check_border_left, true);
} else {
fl_set_button(cell_options_->check_border_left, 0);
setEnabled(cell_options_->check_border_left, false);
}
if (tabular->IsLastCellInRow(cell) ||
tabular->IsMultiColumn(cell+1)) {
if (tabular.IsLastCellInRow(cell) ||
tabular.IsMultiColumn(cell+1)) {
fl_set_button(cell_options_->check_border_right,
tabular->RightLine(cell)?1:0);
tabular.RightLine(cell)?1:0);
setEnabled(cell_options_->check_border_right, true);
} else {
fl_set_button(cell_options_->check_border_right, 0);
setEnabled(cell_options_->check_border_right, false);
}
pwidth = tabular->GetMColumnPWidth(cell);
align = tabular->GetAlignment(cell);
pwidth = tabular.GetMColumnPWidth(cell);
align = tabular.GetAlignment(cell);
// set the horiz. alignment, default is left here
fl_set_button(cell_options_->radio_align_left, 0);
fl_set_button(cell_options_->radio_align_right, 0);
@ -196,7 +195,7 @@ void FormTabular::update()
else
fl_set_button(cell_options_->radio_align_left, 1);
align = tabular->GetVAlignment(cell);
align = tabular.GetVAlignment(cell);
fl_set_button(cell_options_->radio_valign_top, 0);
fl_set_button(cell_options_->radio_valign_bottom, 0);
fl_set_button(cell_options_->radio_valign_center, 0);
@ -207,9 +206,9 @@ void FormTabular::update()
else
fl_set_button(cell_options_->radio_valign_top, 1);
special = tabular->GetAlignSpecial(cell, LyXTabular::SET_SPECIAL_MULTI);
special = tabular.GetAlignSpecial(cell, LyXTabular::SET_SPECIAL_MULTI);
fl_set_input(cell_options_->input_special_multialign, special.c_str());
bool const metric(controller().metric());
bool const metric(controller().useMetricUnits());
string const default_unit = metric ? "cm" : "in";
updateWidgetsFromLength(cell_options_->input_mcolumn_width,
cell_options_->choice_value_mcolumn_width,
@ -268,34 +267,34 @@ void FormTabular::update()
setEnabled(cell_options_->input_mcolumn_width, false);
setEnabled(cell_options_->choice_value_mcolumn_width, false);
}
if (tabular->GetRotateCell(cell))
if (tabular.GetRotateCell(cell))
fl_set_button(cell_options_->check_rotate_cell, 1);
else
fl_set_button(cell_options_->check_rotate_cell, 0);
if (tabular->TopLine(cell, true))
if (tabular.TopLine(cell, true))
fl_set_button(column_options_->check_border_top, 1);
else
fl_set_button(column_options_->check_border_top, 0);
if (tabular->BottomLine(cell, true))
if (tabular.BottomLine(cell, true))
fl_set_button(column_options_->check_border_bottom, 1);
else
fl_set_button(column_options_->check_border_bottom, 0);
if (tabular->LeftLine(cell, true))
if (tabular.LeftLine(cell, true))
fl_set_button(column_options_->check_border_left, 1);
else
fl_set_button(column_options_->check_border_left, 0);
if (tabular->RightLine(cell, true))
if (tabular.RightLine(cell, true))
fl_set_button(column_options_->check_border_right, 1);
else
fl_set_button(column_options_->check_border_right, 0);
special = tabular->GetAlignSpecial(cell, LyXTabular::SET_SPECIAL_COLUMN);
special = tabular.GetAlignSpecial(cell, LyXTabular::SET_SPECIAL_COLUMN);
fl_set_input(column_options_->input_special_alignment, special.c_str());
bool const isReadonly = bc().bp().isReadOnly();
setEnabled(column_options_->input_special_alignment, !isReadonly);
pwidth = tabular->GetColumnPWidth(cell);
bool const metric = lyxrc.default_papersize > BufferParams::PAPER_EXECUTIVEPAPER;
pwidth = tabular.GetColumnPWidth(cell);
bool const metric = controller().useMetricUnits();
string const default_unit = metric ? "cm" : "in";
updateWidgetsFromLength(column_options_->input_column_width,
column_options_->choice_value_column_width,
@ -305,14 +304,14 @@ void FormTabular::update()
setEnabled(cell_options_->check_useminipage, !pwidth.zero());
if (!pwidth.zero()) {
if (tabular->GetUsebox(cell) == 2)
if (tabular.GetUsebox(cell) == 2)
fl_set_button(cell_options_->check_useminipage, 1);
else
fl_set_button(cell_options_->check_useminipage, 0);
} else {
fl_set_button(cell_options_->check_useminipage, 0);
}
align = tabular->GetAlignment(cell, true);
align = tabular.GetAlignment(cell, true);
fl_set_button(column_options_->radio_align_left, 0);
fl_set_button(column_options_->radio_align_right, 0);
fl_set_button(column_options_->radio_align_center, 0);
@ -325,7 +324,7 @@ void FormTabular::update()
fl_set_button(column_options_->radio_align_center, 1);
else
fl_set_button(column_options_->radio_align_block, 1);
align = tabular->GetVAlignment(cell, true);
align = tabular.GetVAlignment(cell, true);
fl_set_button(column_options_->radio_valign_top, 0);
fl_set_button(column_options_->radio_valign_bottom, 0);
fl_set_button(column_options_->radio_valign_center, 0);
@ -345,9 +344,9 @@ void FormTabular::update()
setEnabled(column_options_->radio_valign_center, !pwidth.zero());
fl_set_button(tabular_options_->check_longtable,
tabular->IsLongTabular());
tabular.IsLongTabular());
bool const enable = tabular->IsLongTabular();
bool const enable = tabular.IsLongTabular();
setEnabled(longtable_options_->check_lt_firsthead, enable);
setEnabled(longtable_options_->check_1head_2border_above, enable);
@ -368,7 +367,7 @@ void FormTabular::update()
if (enable) {
LyXTabular::ltType ltt;
bool use_empty;
bool row_set = tabular->GetRowOfLTHead(row, ltt);
bool row_set = tabular.GetRowOfLTHead(row, ltt);
fl_set_button(longtable_options_->check_lt_head, row_set);
if (ltt.set) {
fl_set_button(longtable_options_->check_head_2border_above,
@ -386,7 +385,7 @@ void FormTabular::update()
use_empty = false;
}
//
row_set = tabular->GetRowOfLTFirstHead(row, ltt);
row_set = tabular.GetRowOfLTFirstHead(row, ltt);
fl_set_button(longtable_options_->check_lt_firsthead, row_set);
if (ltt.set && (!ltt.empty || !use_empty)) {
fl_set_button(longtable_options_->check_1head_2border_above,
@ -405,7 +404,7 @@ void FormTabular::update()
}
}
//
row_set = tabular->GetRowOfLTFoot(row, ltt);
row_set = tabular.GetRowOfLTFoot(row, ltt);
fl_set_button(longtable_options_->check_lt_foot, row_set);
if (ltt.set) {
fl_set_button(longtable_options_->check_foot_2border_above,
@ -423,7 +422,7 @@ void FormTabular::update()
use_empty = false;
}
//
row_set = tabular->GetRowOfLTLastFoot(row, ltt);
row_set = tabular.GetRowOfLTLastFoot(row, ltt);
fl_set_button(longtable_options_->check_lt_lastfoot, row_set);
if (ltt.set && (!ltt.empty || !use_empty)) {
fl_set_button(longtable_options_->check_lastfoot_2border_above,
@ -443,7 +442,7 @@ void FormTabular::update()
}
}
fl_set_button(longtable_options_->check_lt_newpage,
tabular->GetLTNewPage(row));
tabular.GetLTNewPage(row));
} else {
fl_set_button(longtable_options_->check_lt_firsthead, 0);
fl_set_button(longtable_options_->check_1head_2border_above, 0);
@ -462,7 +461,7 @@ void FormTabular::update()
fl_set_button(longtable_options_->check_lt_newpage, 0);
}
fl_set_button(tabular_options_->check_rotate_tabular,
tabular->GetRotateTabular());
tabular.GetRotateTabular());
}
@ -472,10 +471,9 @@ ButtonPolicy::SMInput FormTabular::input(FL_OBJECT * ob, long)
LyXTabular::Feature num = LyXTabular::LAST_ACTION;
string special;
InsetTabular * inset(controller().inset());
LyXTabular * tabular(controller().tabular());
LyXTabular const & tabular = controller().tabular();
int cell = inset->getActCell();
int const cell = controller().getActiveCell();
// ugly hack to auto-apply the stuff that hasn't been
// yet. don't let this continue to exist ...
@ -485,14 +483,14 @@ ButtonPolicy::SMInput FormTabular::input(FL_OBJECT * ob, long)
getLengthFromWidgets(column_options_->input_column_width,
column_options_->choice_value_column_width);
string str2;
LyXLength llen = tabular->GetColumnPWidth(cell);
LyXLength llen = tabular.GetColumnPWidth(cell);
if (!llen.zero())
str2 = llen.asString();
if (str1 != str2)
input(column_options_->input_column_width, 0);
str1 = getLengthFromWidgets(cell_options_->input_mcolumn_width,
cell_options_->choice_value_mcolumn_width);
llen = tabular->GetMColumnPWidth(cell);
llen = tabular.GetMColumnPWidth(cell);
if (llen.zero())
str2 = "";
else
@ -500,11 +498,11 @@ ButtonPolicy::SMInput FormTabular::input(FL_OBJECT * ob, long)
if (str1 != str2)
input(cell_options_->input_mcolumn_width, 0);
str1 = getString(column_options_->input_special_alignment);
str2 = tabular->GetAlignSpecial(cell, LyXTabular::SET_SPECIAL_COLUMN);
str2 = tabular.GetAlignSpecial(cell, LyXTabular::SET_SPECIAL_COLUMN);
if (str1 != str2)
input(column_options_->input_special_alignment, 0);
str1 = getString(cell_options_->input_special_multialign);
str2 = tabular->GetAlignSpecial(cell, LyXTabular::SET_SPECIAL_MULTI);
str2 = tabular.GetAlignSpecial(cell, LyXTabular::SET_SPECIAL_MULTI);
if (str1 != str2)
input(cell_options_->input_special_multialign, 0);