X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ftabular.C;h=00dbed5f197745582287b880a90cb3f13eab7901;hb=5d3718cad2a2ef6a4d6a495054ab0705ba27b6b5;hp=74c9caa17e6be5cca6050245954a404530892c25;hpb=1c090286feaab81e446c36d0a1b98612b2f0ad09;p=lyx.git diff --git a/src/tabular.C b/src/tabular.C index 74c9caa17e..00dbed5f19 100644 --- a/src/tabular.C +++ b/src/tabular.C @@ -12,10 +12,6 @@ #include -#ifdef __GNUG__ -#pragma implementation -#endif - // temporary until verified (08/08/2001 Jug) #define SPECIAL_COLUM_HANDLING 1 @@ -101,7 +97,7 @@ LyXTabular::columnstruct::columnstruct() } -LyXTabular::lttype::lttype() +LyXTabular::ltType::ltType() { topDL = false; bottomDL = false; @@ -157,7 +153,7 @@ LyXTabular::LyXTabular(Buffer const * buf, InsetTabular * inset, LyXLex & lex) LyXTabular & LyXTabular::operator=(LyXTabular const & lt) { #if 0 -#warning This while method should look like this: (Lgb) +#warning This whole method should look like this: (Lgb) LyXTabular tmp(lt); tmp.swap(*this); @@ -270,7 +266,9 @@ void LyXTabular::AppendRow(BufferParams const & bp, int cell) cell_info = c_info; ++row; for (int j = 0; j < columns_; ++j) { - cell_info[row][j].inset.clear(); + cell_info[row][j].inset.clear(false); + if (bp.tracking_changes) + cell_info[row][j].inset.markNew(true); } #endif Reinit(); @@ -321,8 +319,9 @@ void LyXTabular::AppendColumn(BufferParams const & bp, int cell) cell_info = c_info; //++column; for (int i = 0; i < rows_; ++i) { - //cell_info[i][column].inset.clear(); - cell_info[i][column + 1].inset.clear(); + cell_info[i][column + 1].inset.clear(false); + if (bp.tracking_changes) + cell_info[i][column + 1].inset.markNew(true); } Reinit(); } @@ -510,7 +509,7 @@ bool LyXTabular::RightLine(int cell, bool onlycolumn) const } -bool LyXTabular::TopAlreadyDrawed(int cell) const +bool LyXTabular::topAlreadyDrawn(int cell) const { int row = row_of_cell(cell); if ((row > 0) && !GetAdditionalHeight(row)) { @@ -529,7 +528,7 @@ bool LyXTabular::TopAlreadyDrawed(int cell) const } -bool LyXTabular::LeftAlreadyDrawed(int cell) const +bool LyXTabular::leftAlreadyDrawn(int cell) const { int column = column_of_cell(cell); if (column > 0) { @@ -1206,8 +1205,8 @@ void LyXTabular::ReadNew(Buffer const * buf, istream & is, Init(buf->params, rows_arg, columns_arg); l_getline(is, line); if (!prefixIs(line, " got" << - line << ")" << endl; + lyxerr << "Wrong tabular format (expected got" + << line << ')' << endl; return; } getTokenValue(line, "rotate", rotate); @@ -1246,8 +1245,8 @@ void LyXTabular::ReadNew(Buffer const * buf, istream & is, for (int j = 0; j < columns_; ++j) { l_getline(is,line); if (!prefixIs(line," got" << - line << ")" << endl; + lyxerr << "Wrong tabular format (expected got" + << line << ')' << endl; return; } getTokenValue(line, "alignment", column_info[j].alignment); @@ -1261,8 +1260,8 @@ void LyXTabular::ReadNew(Buffer const * buf, istream & is, for (int i = 0; i < rows_; ++i) { l_getline(is, line); if (!prefixIs(line, " got" << - line << ")" << endl; + lyxerr << "Wrong tabular format (expected got" + << line << ')' << endl; return; } getTokenValue(line, "topline", row_info[i].top_line); @@ -1275,8 +1274,8 @@ void LyXTabular::ReadNew(Buffer const * buf, istream & is, for (int j = 0; j < columns_; ++j) { l_getline(is, line); if (!prefixIs(line, " got" << - line << ")" << endl; + lyxerr << "Wrong tabular format (expected got" + << line << ')' << endl; return; } getTokenValue(line, "multicolumn", cell_info[i][j].multicolumn); @@ -1296,15 +1295,15 @@ void LyXTabular::ReadNew(Buffer const * buf, istream & is, l_getline(is, line); } if (!prefixIs(line, "")) { - lyxerr << "Wrong tabular format (expected got" << - line << ")" << endl; + lyxerr << "Wrong tabular format (expected got" + << line << ')' << endl; return; } } l_getline(is, line); if (!prefixIs(line, "")) { - lyxerr << "Wrong tabular format (expected got" << - line << ")" << endl; + lyxerr << "Wrong tabular format (expected got" + << line << ')' << endl; return; } } @@ -1555,7 +1554,7 @@ void LyXTabular::SetMultiColumn(Buffer const * buffer, int cell, int number) cellinfo_of_cell(cell+i)->multicolumn = CELL_PART_OF_MULTICOLUMN; cellinfo_of_cell(cell)->inset.appendParagraphs(buffer->params, cellinfo_of_cell(cell+i)->inset.paragraph()); - cellinfo_of_cell(cell+i)->inset.clear(); + cellinfo_of_cell(cell+i)->inset.clear(false); } #else for (number--; number > 0; --number) { @@ -1997,16 +1996,18 @@ int LyXTabular::TeXCellPreamble(ostream & os, int cell) const if (!GetPWidth(cell).zero()) { switch (GetVAlignment(cell)) { case LYX_VALIGN_TOP: - os << "p"; + os << 'p'; break; case LYX_VALIGN_CENTER: - os << "m"; + os << 'm'; break; case LYX_VALIGN_BOTTOM: - os << "b"; + os << 'b'; break; } - os << "{" << GetPWidth(cell).asLatexString() << '}'; + os << '{' + << GetPWidth(cell).asLatexString() + << '}'; } else { switch (GetAlignment(cell)) { case LYX_ALIGN_LEFT: @@ -2032,13 +2033,13 @@ int LyXTabular::TeXCellPreamble(ostream & os, int cell) const os << "\\parbox["; switch (GetVAlignment(cell)) { case LYX_VALIGN_TOP: - os << "t"; + os << 't'; break; case LYX_VALIGN_CENTER: - os << "c"; + os << 'c'; break; case LYX_VALIGN_BOTTOM: - os << "b"; + os << 'b'; break; } os << "]{" << GetPWidth(cell).asLatexString() << "}{"; @@ -2046,13 +2047,13 @@ int LyXTabular::TeXCellPreamble(ostream & os, int cell) const os << "\\begin{minipage}["; switch (GetVAlignment(cell)) { case LYX_VALIGN_TOP: - os << "t"; + os << 't'; break; case LYX_VALIGN_CENTER: - os << "m"; + os << 'm'; break; case LYX_VALIGN_BOTTOM: - os << "b"; + os << 'b'; break; } os << "]{" << GetPWidth(cell).asLatexString() << "}\n"; @@ -2068,7 +2069,7 @@ int LyXTabular::TeXCellPostamble(ostream & os, int cell) const // usual cells if (GetUsebox(cell) == BOX_PARBOX) - os << "}"; + os << '}'; else if (GetUsebox(cell) == BOX_MINIPAGE) { os << "%\n\\end{minipage}"; ret += 2; @@ -2204,7 +2205,7 @@ int LyXTabular::TeXRow(ostream & os, int const i, Buffer const * buf, os << "\\R{"; ret += inset->latex(buf, os, fragile, fp); if (rtl) - os << "}"; + os << '}'; ret += TeXCellPostamble(os, cell); if (!IsLastCellInRow(cell)) { // not last cell in row @@ -2244,32 +2245,35 @@ int LyXTabular::latex(Buffer const * buf, if (column_info[i].left_line) os << '|'; if (!column_info[i].p_width.zero()) { - os << ">{"; - switch (column_info[i].alignment) { - case LYX_ALIGN_LEFT: - os << "\\raggedright"; - break; - case LYX_ALIGN_RIGHT: - os << "\\raggedleft"; - break; - case LYX_ALIGN_CENTER: - os << "\\centering"; - break; - } - os << "}"; - + switch (column_info[i].alignment) { + case LYX_ALIGN_LEFT: + os << ">{\\raggedright}"; + break; + case LYX_ALIGN_RIGHT: + os << ">{\\raggedleft}"; + break; + case LYX_ALIGN_CENTER: + os << ">{\\centering}"; + break; + case LYX_ALIGN_NONE: + case LYX_ALIGN_BLOCK: + case LYX_ALIGN_LAYOUT: + case LYX_ALIGN_SPECIAL: + break; + } + switch (column_info[i].valignment) { case LYX_VALIGN_TOP: - os << "p"; + os << 'p'; break; case LYX_VALIGN_CENTER: - os << "m"; + os << 'm'; break; case LYX_VALIGN_BOTTOM: - os << "b"; + os << 'b'; break; } - os << "{" + os << '{' << column_info[i].p_width.asLatexString() << '}'; } else { @@ -2278,8 +2282,8 @@ int LyXTabular::latex(Buffer const * buf, os << 'l'; break; case LYX_ALIGN_RIGHT: - os << 'r'; - break; + os << 'r'; + break; default: os << 'c'; break; @@ -2359,14 +2363,14 @@ int LyXTabular::docbookRow(Buffer const * buf, ostream & os, int row) const case LYX_VALIGN_CENTER: os << "middle"; } - os << "\""; + os << '"'; if (IsMultiColumn(cell)) { os << " namest=\"col" << j << "\" "; - os << "nameend=\"col" << j + cells_in_multicolumn(cell) - 1<< "\""; + os << "nameend=\"col" << j + cells_in_multicolumn(cell) - 1<< '"'; } - os << ">"; + os << '>'; ret += GetCellInset(cell)->docbook(buf, os, true); os << "\n"; ++cell; @@ -2593,11 +2597,9 @@ int LyXTabular::asciiPrintCell(Buffer const * buf, ostream & os, break; } - for (unsigned int i = 0; i < len1; ++i) - os << " "; - os << sstr.str(); - for (unsigned int i = 0; i < len2; ++i) - os << " "; + os << string(len1, ' ') + << sstr.str() + << string(len2, ' '); if (RightLine(cell)) os << " |"; else @@ -2737,7 +2739,7 @@ int LyXTabular::GetCellFromInset(Inset const * inset, int maybe_cell) const void LyXTabular::Validate(LaTeXFeatures & features) const { - features.require("NeedTabularnewline"); + features.require("NeedTabularnewline"); if (IsLongTabular()) features.require("longtable"); if (NeedRotating())