* \author John Levon
* \author André Pönitz
* \author Jürgen Vigna
+ * \author Uwe Stöhr
*
* Full author contact details are available in file CREDITS.
*/
#include "LyXRC.h"
#include "MetricsInfo.h"
#include "OutputParams.h"
-#include "paragraph_funcs.h"
#include "Paragraph.h"
#include "ParagraphParameters.h"
#include "ParIterator.h"
// reset layout
cur.push(*inset);
// undo information has already been recorded
- inset->getText(0)->setLayout(cur.bv().buffer(), 0, cur.lastpit() + 1,
+ inset->getText(0)->setLayout(0, cur.lastpit() + 1,
bp.documentClass().plainLayoutName());
cur.pop();
}
<< write_attribute("rotate", rotate)
<< write_attribute("booktabs", use_booktabs)
<< write_attribute("islongtable", is_long_tabular)
- << write_attribute("tabularvalignment", tabular_valignment)
- << write_attribute("longtabularalignment", longtabular_alignment)
<< write_attribute("firstHeadTopDL", endfirsthead.topDL)
<< write_attribute("firstHeadBottomDL", endfirsthead.bottomDL)
<< write_attribute("firstHeadEmpty", endfirsthead.empty)
<< write_attribute("footBottomDL", endfoot.bottomDL)
<< write_attribute("lastFootTopDL", endlastfoot.topDL)
<< write_attribute("lastFootBottomDL", endlastfoot.bottomDL)
- << write_attribute("lastFootEmpty", endlastfoot.empty)
- << ">\n";
+ << write_attribute("lastFootEmpty", endlastfoot.empty);
+ // longtables cannot be aligned vertically
+ if (!is_long_tabular)
+ os << write_attribute("tabularvalignment", tabular_valignment);
+ if (is_long_tabular)
+ os << write_attribute("longtabularalignment",
+ longtabular_alignment);
+ os << ">\n";
for (col_type j = 0; j < column_info.size(); ++j) {
os << "<column"
<< write_attribute("alignment", column_info[j].alignment)
int ret = 0;
// caption handling
- // the caption must be output befrore the headers
+ // the caption must be output before the headers
if (haveLTCaption()) {
for (row_type i = 0; i < row_info.size(); ++i) {
if (row_info[i].caption) {
}
++cell;
}
- os << "\\tabularnewline";
+ if (row_info[i].caption && !endfirsthead.empty && !haveLTFirstHead())
+ // if no first header and no empty first header is used,
+ // the caption needs to be terminated by \endfirsthead
+ // (bug 6057)
+ os << "\\endfirsthead";
+ else
+ os << "\\tabularnewline";
if (row_info[i].bottom_space_default) {
if (use_booktabs)
os << "\\addlinespace";
}
-docstring InsetTabular::editMessage() const
-{
- return _("Opened table");
-}
-
-
void InsetTabular::edit(Cursor & cur, bool front, EntryDirection)
{
//lyxerr << "InsetTabular::edit: " << this << endl;
if (cur.selIsMultiCell()) {
cur.recordUndoInset(DELETE_UNDO);
cutSelection(cur);
- }
- else
+ } else
cell(cur.idx())->dispatch(cur, cmd);
break;
return AlignCenter;
case Tabular::LYX_LONGTABULAR_ALIGN_RIGHT:
return AlignRight;
+ default:
+ return AlignCenter;
}
} else
return Inline;
}
-void InsetTabular::acceptChanges(BufferParams const & bparams)
+void InsetTabular::acceptChanges()
{
for (idx_type idx = 0; idx < nargs(); ++idx)
- cell(idx)->acceptChanges(bparams);
+ cell(idx)->acceptChanges();
}
-void InsetTabular::rejectChanges(BufferParams const & bparams)
+void InsetTabular::rejectChanges()
{
for (idx_type idx = 0; idx < nargs(); ++idx)
- cell(idx)->rejectChanges(bparams);
+ cell(idx)->rejectChanges();
}