docstring Tabular::xhtmlRow(XHTMLStream & xs, row_type row,
OutputParams const & runparams) const
{
- /* for (col_type i = 0; i < column_info.size(); ++i) {
- os << "<colspec colname=\"col" << i << "\" align=\"";
- switch (column_info[i].alignment) {
- case LYX_ALIGN_LEFT:
- os << "left";
- break;
- case LYX_ALIGN_RIGHT:
- os << "right";
- break;
- default:
- os << "center";
- break;
- }
- os << '"';
- if (runparams.flavor == OutputParams::XML)
- os << '/';
- os << ">\n";
- ++ret;
- } */
-
docstring ret;
idx_type cell = getFirstCellInRow(row);
attr << "'";
if (isMultiColumn(cell))
- attr << " colspan='" << j + columnSpan(cell) - 1<< "'";
+ attr << " colspan='" << columnSpan(cell) << "'";
xs << StartTag("td", attr.str());
ret += cellInset(cell)->xhtml(xs, runparams);
docstring Tabular::xhtml(XHTMLStream & xs, OutputParams const & runparams) const
{
docstring ret;
- xs << StartTag("table");
-
// It's unclear to me if we need to mess with the long table stuff.
// We can borrow that too from docbook, if so.
}
}
xs << EndTag("tbody");
- xs << EndTag("table");
-
return ret;
}
cur.pit() = 0;
cur.pos() = cur.lastpos(); // FIXME crude guess
}
+ cur.setCurrentFont();
// FIXME: this accesses the position cache before it is initialized
//resetPos(cur);
//cur.bv().fitCursor();
TextMetrics const & tm =
cur.bv().textMetrics(cell(cur.idx())->getText(0));
cur.pos() = tm.x2pos(cur.pit(), 0, cur.targetX());
+ cur.setCurrentFont();
}
}
if (sl == cur.top()) {
if (cur.selIsMultiCell()) {
cur.pit() = cur.lastpit();
cur.pos() = cur.lastpos();
+ cur.setCurrentFont();
return;
}
break;
ParagraphMetrics const & pm =
tm.parMetrics(cur.lastpit());
cur.pos() = tm.x2pos(cur.pit(), pm.rows().size()-1, cur.targetX());
+ cur.setCurrentFont();
}
}
if (sl == cur.top()) {
if (cur.selIsMultiCell()) {
cur.pit() = 0;
cur.pos() = cur.lastpos();
+ cur.setCurrentFont();
return;
}
break;
docstring InsetTabular::xhtml(XHTMLStream & xs, OutputParams const & rp) const
{
- return tabular.xhtml(xs, rp);
+ // FIXME XHTML
+ // It'd be better to be able to get this from an InsetLayout, but at present
+ // InsetLayouts do not seem really to work for things that aren't InsetTexts.
+ xs << StartTag("table");
+ docstring ret = tabular.xhtml(xs, rp);
+ xs << EndTag("table");
+ return ret;
}
void InsetTabular::validate(LaTeXFeatures & features) const
{
tabular.validate(features);
+ // FIXME XHTML
+ // It'd be better to be able to get this from an InsetLayout, but at present
+ // InsetLayouts do not seem really to work for things that aren't InsetTexts.
+ if (features.runparams().flavor == OutputParams::HTML)
+ features.addPreambleSnippet("<style type=\"text/css\">\n"
+ "table { border: 1px solid black; display: inline-block; }\n"
+ "td { border: 1px solid black; padding: 0.5ex; }\n"
+ "</style>");
}
break;
}
-
+ cur.setCurrentFont();
resetPos(cur);
}
break;
}
-
+ cur.setCurrentFont();
resetPos(cur);
}