+ switch (action) {
+ case LyXTabular::SET_PWIDTH:
+ case LyXTabular::SET_MPWIDTH:
+ case LyXTabular::SET_SPECIAL_COLUMN:
+ case LyXTabular::SET_SPECIAL_MULTI:
+ status |= LyXFunc::Disabled;
+ return status;
+
+ case LyXTabular::APPEND_ROW:
+ case LyXTabular::APPEND_COLUMN:
+ case LyXTabular::DELETE_ROW:
+ case LyXTabular::DELETE_COLUMN:
+ case LyXTabular::SET_ALL_LINES:
+ case LyXTabular::UNSET_ALL_LINES:
+ status |= LyXFunc::OK;
+ return status;
+
+ case LyXTabular::MULTICOLUMN:
+ if (tabular->IsMultiColumn(actcell))
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::M_TOGGLE_LINE_TOP:
+ flag = false;
+ case LyXTabular::TOGGLE_LINE_TOP:
+ if (tabular->TopLine(actcell, flag))
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::M_TOGGLE_LINE_BOTTOM:
+ flag = false;
+ case LyXTabular::TOGGLE_LINE_BOTTOM:
+ if (tabular->BottomLine(actcell, flag))
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::M_TOGGLE_LINE_LEFT:
+ flag = false;
+ case LyXTabular::TOGGLE_LINE_LEFT:
+ if (tabular->LeftLine(actcell, flag))
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::M_TOGGLE_LINE_RIGHT:
+ flag = false;
+ case LyXTabular::TOGGLE_LINE_RIGHT:
+ if (tabular->RightLine(actcell, flag))
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::M_ALIGN_LEFT:
+ flag = false;
+ case LyXTabular::ALIGN_LEFT:
+ if (tabular->GetAlignment(actcell, flag) == LYX_ALIGN_LEFT)
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::M_ALIGN_RIGHT:
+ flag = false;
+ case LyXTabular::ALIGN_RIGHT:
+ if (tabular->GetAlignment(actcell, flag) == LYX_ALIGN_RIGHT)
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::M_ALIGN_CENTER:
+ flag = false;
+ case LyXTabular::ALIGN_CENTER:
+ if (tabular->GetAlignment(actcell, flag) == LYX_ALIGN_CENTER)
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::M_VALIGN_TOP:
+ flag = false;
+ case LyXTabular::VALIGN_TOP:
+ if (tabular->GetVAlignment(actcell, flag) == LyXTabular::LYX_VALIGN_TOP)
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::M_VALIGN_BOTTOM:
+ flag = false;
+ case LyXTabular::VALIGN_BOTTOM:
+ if (tabular->GetVAlignment(actcell, flag) == LyXTabular::LYX_VALIGN_BOTTOM)
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::M_VALIGN_CENTER:
+ flag = false;
+ case LyXTabular::VALIGN_CENTER:
+ if (tabular->GetVAlignment(actcell, flag) == LyXTabular::LYX_VALIGN_CENTER)
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::SET_LONGTABULAR:
+ if (tabular->IsLongTabular())
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::UNSET_LONGTABULAR:
+ if (!tabular->IsLongTabular())
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::SET_ROTATE_TABULAR:
+ if (tabular->GetRotateTabular())
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::UNSET_ROTATE_TABULAR:
+ if (!tabular->GetRotateTabular())
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::SET_ROTATE_CELL:
+ if (tabular->GetRotateCell(actcell))
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::UNSET_ROTATE_CELL:
+ if (!tabular->GetRotateCell(actcell))
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::SET_USEBOX:
+ if (strToInt(argument) == tabular->GetUsebox(actcell))
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::SET_LTFIRSTHEAD:
+ if (tabular->GetRowOfLTHead(actcell, dummy))
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::SET_LTHEAD:
+ if (tabular->GetRowOfLTHead(actcell, dummy))
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::SET_LTFOOT:
+ if (tabular->GetRowOfLTFoot(actcell, dummy))
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::SET_LTLASTFOOT:
+ if (tabular->GetRowOfLTFoot(actcell, dummy))
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ case LyXTabular::SET_LTNEWPAGE:
+ if (tabular->GetLTNewPage(actcell))
+ status |= LyXFunc::ToggleOn;
+ else
+ status |= LyXFunc::ToggleOff;
+ break;
+ default:
+ status = LyXFunc::Disabled;
+ break;
+ }