{ Tabular::UNSET_LONGTABULAR, "unset-longtabular", false },
{ Tabular::SET_PWIDTH, "set-pwidth", true },
{ Tabular::SET_MPWIDTH, "set-mpwidth", true },
- { Tabular::SET_ROTATE_TABULAR, "set-rotate-tabular", false },
- { Tabular::UNSET_ROTATE_TABULAR, "unset-rotate-tabular", false },
- { Tabular::TOGGLE_ROTATE_TABULAR, "toggle-rotate-tabular", false },
+ { Tabular::SET_ROTATE_TABULAR, "set-rotate-tabular", true },
+ { Tabular::UNSET_ROTATE_TABULAR, "unset-rotate-tabular", true },
+ { Tabular::TOGGLE_ROTATE_TABULAR, "toggle-rotate-tabular", true },
{ Tabular::SET_ROTATE_CELL, "set-rotate-cell", true },
{ Tabular::UNSET_ROTATE_CELL, "unset-rotate-cell", true },
{ Tabular::TOGGLE_ROTATE_CELL, "toggle-rotate-cell", true },
tabular_valignment = LYX_VALIGN_MIDDLE;
tabular_width = Length();
longtabular_alignment = LYX_LONGTABULAR_ALIGN_CENTER;
- rotate = false;
+ rotate = 0;
use_booktabs = false;
// set silly default lines
for (row_type r = 0; r < nrows(); ++r)
<< ">\n";
// global longtable options
os << "<features"
- << write_attribute("rotate", rotate)
+ << write_attribute("rotate", convert<string>(rotate))
<< write_attribute("booktabs", use_booktabs)
<< write_attribute("islongtable", is_long_tabular)
<< write_attribute("firstHeadTopDL", endfirsthead.topDL)
if (runparams.lastid != -1)
os.texrow().start(runparams.lastid, runparams.lastpos);
- if (rotate)
- os << "\\begin{sideways}\n";
+ if (rotate != 0)
+ os << "\\begin{turn}" << convert<string>(rotate) << "\n";
if (is_long_tabular) {
os << "\\begin{longtable}";
os << "\\end{tabular}";
}
- if (rotate)
- os << breakln << "\\end{sideways}";
+ if (rotate != 0)
+ os << breakln << "\\end{turn}";
}
case Tabular::TOGGLE_ROTATE_TABULAR:
case Tabular::SET_ROTATE_TABULAR:
status.setEnabled(tabular.tabular_width.zero());
- status.setOnOff(tabular.rotate);
+ status.setOnOff(tableIsRotated());
break;
case Tabular::TABULAR_VALIGN_TOP:
break;
case Tabular::UNSET_ROTATE_TABULAR:
- status.setOnOff(!tabular.rotate);
+ status.setOnOff(!tableIsRotated());
break;
case Tabular::TOGGLE_ROTATE_CELL:
return false;
}
+bool InsetTabular::tableIsRotated() const
+{
+ if (tabular.rotate != 0)
+ return true;
+ else
+ return false;
+}
+
void InsetTabular::tabularFeatures(Cursor & cur,
Tabular::Feature feature, string const & value)
{
break;
case Tabular::SET_ROTATE_TABULAR:
- tabular.rotate = true;
+ tabular.rotate = convert<int>(value);
break;
case Tabular::UNSET_ROTATE_TABULAR:
- tabular.rotate = false;
+ tabular.rotate = 0;
break;
case Tabular::TOGGLE_ROTATE_TABULAR:
- tabular.rotate = !tabular.rotate;
+ // when pressing the rotate button we default to 90° rotation
+ if (tableIsRotated())
+ tabular.rotate = 90;
+ else
+ tabular.rotate = 0;
break;
case Tabular::TABULAR_VALIGN_TOP: