#define INSET_TABULAR_H
#include "InsetText.h"
-#include "Length.h"
+
+#include "support/Length.h"
#include <climits>
#include <iosfwd>
class Lexer;
class OutputParams;
class Paragraph;
-class XHTMLStream;
+class XMLStream;
///
/// descending into insets
docstring asString(bool intoInsets = true);
///
- docstring xhtml(XHTMLStream &, OutputParams const &) const;
+ docstring xhtml(XMLStream &, OutputParams const &) const;
+ ///
+ void docbook(XMLStream &, OutputParams const &) const;
///
void addToToc(DocIterator const & di, bool output_active,
UpdateType utype, TocBackend & backend) const;
///
void metrics(MetricsInfo &, Dimension &) const;
+ /// Needs to be same as InsetTabular
+ bool inheritFont() const { return false; }
+ /// Can the cell contain several paragraphs?
+ bool allowMultiPar() const { return !isMultiRow && (!isMultiColumn || isFixedWidth); }
private:
/// unimplemented
InsetTableCell();
// FIXME: Here the thoughts from the comment above also apply.
///
LyXAlignment contentAlign;
- /// should paragraph indendation be omitted in any case?
+ /// should paragraph indentation be omitted in any case?
bool neverIndent() const { return true; }
///
LyXAlignment contentAlignment() const { return contentAlign; }
virtual bool forceLocalFontSwitch() const;
/// Is the width forced to some value?
bool hasFixedWidth() const { return isFixedWidth; }
- /// Can the cell contain several paragraphs?
- bool allowMultiPar() const { return !isMultiRow && (!isMultiColumn || isFixedWidth); }
};
void read(Lexer &);
///
void latex(otexstream &, OutputParams const &) const;
+ /// serialise the table in DocBook, according to buffer parameters
+ void docbook(XMLStream &, OutputParams const &) const;
///
- int docbook(odocstream & os, OutputParams const &) const;
- ///
- docstring xhtml(XHTMLStream & os, OutputParams const &) const;
+ docstring xhtml(XMLStream &, OutputParams const &) const;
///
void plaintext(odocstringstream &,
OutputParams const & runparams, int const depth,
idx_type cell, row_type row, col_type column,
std::vector<unsigned int> const &,
bool onlydata, size_t max_length) const;
- /// auxiliary function for docbook
- int docbookRow(odocstream & os, row_type, OutputParams const &) const;
- ///
- docstring xhtmlRow(XHTMLStream & xs, row_type, OutputParams const &,
+ /// auxiliary function for DocBook
+ void docbookRow(XMLStream &, row_type, OutputParams const &,
+ bool header = false) const;
+ /// auxiliary function for DocBook: export this row as HTML
+ void docbookRowAsHTML(XMLStream &, row_type, OutputParams const &,
+ bool header) const;
+ /// auxiliary function for DocBook: export this row as CALS
+ void docbookRowAsCALS(XMLStream &, row_type, OutputParams const &) const;
+ ///
+ docstring xhtmlRow(XMLStream & xs, row_type, OutputParams const &,
bool header = false) const;
/// change associated Buffer
bool canTrackChanges() const { return true; }
///
bool canPaintChange(BufferView const &) const { return true; }
- /** returns false if, when outputing LaTeX, font changes should
+ /** returns false if, when outputting LaTeX, font changes should
be closed before generating this inset. This is needed for
insets that may contain several paragraphs */
bool inheritFont() const { return false; }
///
+ bool allowMultiPar() const;
+ ///
bool allowsCaptionVariation(std::string const &) const;
//
bool isTable() const { return true; }
///
- DisplayType display() const;
+ RowFlags rowFlags() const;
///
void latex(otexstream &, OutputParams const &) const;
///
int plaintext(odocstringstream & ods, OutputParams const & op,
size_t max_length = INT_MAX) const;
///
- int docbook(odocstream &, OutputParams const &) const;
+ void docbook(XMLStream &, OutputParams const &) const;
///
- docstring xhtml(XHTMLStream &, OutputParams const &) const;
+ docstring xhtml(XMLStream &, OutputParams const &) const;
///
void validate(LaTeXFeatures & features) const;
///
/// writes the cells between stidx and enidx as a string, optionally
/// descending into the insets
docstring asString(idx_type stidx, idx_type enidx, bool intoInsets = true);
+ ///
+ ParagraphList asParList(idx_type stidx, idx_type enidx);
/// Returns whether the cell in the specified row and column is selected.
bool isCellSelected(Cursor & cur, row_type row, col_type col) const;