X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetTabular.h;h=fd942049ba6d07c53d86acfb84610443196ca07b;hb=48b1e8a0aca2f3f3faa8f1f800568e47792ba9a0;hp=355a2520e998921648e57e5863c25623f5176ee7;hpb=a6b07608d8e9de24383d3ebaec20b6b265ed9314;p=lyx.git diff --git a/src/insets/InsetTabular.h b/src/insets/InsetTabular.h index 355a2520e9..fd942049ba 100644 --- a/src/insets/InsetTabular.h +++ b/src/insets/InsetTabular.h @@ -25,7 +25,8 @@ #define INSET_TABULAR_H #include "InsetText.h" -#include "Length.h" + +#include "support/Length.h" #include #include @@ -74,10 +75,16 @@ public: /// 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(); @@ -116,7 +123,7 @@ private: // 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; } @@ -130,8 +137,6 @@ private: 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); } }; @@ -570,8 +575,8 @@ public: void read(Lexer &); /// void latex(otexstream &, OutputParams const &) const; - /// - int docbook(odocstream & os, OutputParams const &) const; + /// serialise the table in DocBook, according to buffer parameters + void docbook(XMLStream &, OutputParams const &) const; /// docstring xhtml(XMLStream &, OutputParams const &) const; /// @@ -905,8 +910,14 @@ public: idx_type cell, row_type row, col_type column, std::vector const &, bool onlydata, size_t max_length) const; - /// auxiliary function for docbook - int docbookRow(odocstream & os, row_type, OutputParams const &) 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; @@ -963,23 +974,25 @@ public: 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(XMLStream &, OutputParams const &) const; /// @@ -1075,6 +1088,8 @@ public: /// 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;