namespace frontend {
GuiTabular::GuiTabular(QWidget * parent)
- : InsetParamsWidget(parent)
+ : InsetParamsWidget(parent), firstheader_suppressable_(false),
+ lastfooter_suppressable_(false)
+
{
setupUi(this);
multirowOffsetLA->setEnabled(enable_mr);
multirowOffsetED->setEnabled(enable_mr);
multirowOffsetUnitLC->setEnabled(enable_mr);
+
+ // Vertical lines cannot be set in formal tables
+ borders->setLeftEnabled(!booktabsRB->isChecked());
+ borders->setRightEnabled(!booktabsRB->isChecked());
}
docstring GuiTabular::dialogToParams() const
{
- // FIXME: We should use Tabular directly.
- string param_str = "tabular from-dialog";
+ string param_str = "tabular";
// table width
string tabwidth = widgetsToLength(tabularWidthED, tabularWidthUnitLC);
// Set width and alignment
Length const tabwidth = tabular.tabularWidth();
- if (tabwidth.zero())
+ if (tabwidth.zero()
+ && !(tabularWidthED->hasFocus() && tabularWidthED->text() == "0"))
tabularWidthED->clear();
else
lengthToWidgets(tabularWidthED, tabularWidthUnitLC,
pwidth = getColumnPWidth(tabular, cell);
}
string colwidth;
- if (pwidth.zero())
+ if (pwidth.zero()
+ && !(columnWidthED->hasFocus() && columnWidthED->text() == "0"))
columnWidthED->clear();
else {
colwidth = pwidth.asString();
if (multirow)
mroffset = getMROffset(tabular, cell);
string offset;
- if (mroffset.zero())
+ if (mroffset.zero()
+ && !(multirowOffsetED->hasFocus() && multirowOffsetED->text() == "0"))
multirowOffsetED->clear();
else {
offset = mroffset.asString();
bool GuiTabular::funcEnabled(Tabular::Feature f) const
{
- string cmd = "tabular " + featureAsString(f);
- return getStatus(FuncRequest(LFUN_INSET_MODIFY, cmd)).enabled();
+ FuncRequest r(LFUN_INSET_MODIFY, "tabular for-dialog" + featureAsString(f));
+ return getStatus(r).enabled();
}