X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetTabular.h;h=5602984b3339be79d73199034f71ebdb36436489;hb=8124e6c02ea1fd6779bb6c47ffe2bca2c8bd2d97;hp=1bd49f11190be94183a2cda7860b0d26c42f2e5e;hpb=ff9f3c774edb513dab96e33fbc18a6856e3ab323;p=lyx.git diff --git a/src/insets/InsetTabular.h b/src/insets/InsetTabular.h index 1bd49f1119..5602984b33 100644 --- a/src/insets/InsetTabular.h +++ b/src/insets/InsetTabular.h @@ -702,7 +702,7 @@ public: /// can return different things. this is because cellIndex(r,c) /// returns the VISIBLE cell at r,c, which may be the same as the /// cell at the previous row or column, if we're dealing with some - /// multirow or multicell. + /// multirow or multicolumn. std::shared_ptr cellInset(idx_type cell); std::shared_ptr cellInset(row_type row, col_type column); InsetTableCell const * cellInset(idx_type cell) const; @@ -919,40 +919,12 @@ public: /// BoxType useBox(idx_type cell) const; /// - // helper function for Latex - /// - void TeXTopHLine(otexstream &, row_type row, std::list, - std::list) const; - /// - void TeXBottomHLine(otexstream &, row_type row, std::list, - std::list) const; - /// - void TeXCellPreamble(otexstream &, idx_type cell, bool & ismulticol, bool & ismultirow, - bool const bidi) const; - /// - void TeXCellPostamble(otexstream &, idx_type cell, bool ismulticol, bool ismultirow) const; - /// - void TeXLongtableHeaderFooter(otexstream &, OutputParams const &, std::list, - std::list) const; + bool hasNewlines(idx_type cell) const; /// bool isValidRow(row_type const row) const; /// void TeXRow(otexstream &, row_type const row, OutputParams const &, std::list, std::list) const; - /// - // helper functions for plain text - /// - bool plaintextTopHLine(odocstringstream &, row_type row, - std::vector const &) const; - /// - bool plaintextBottomHLine(odocstringstream &, row_type row, - std::vector const &) const; - /// - void plaintextPrintCell(odocstringstream &, - OutputParams const &, - idx_type cell, row_type row, col_type column, - std::vector const &, - bool onlydata, size_t max_length) const; /// change associated Buffer void setBuffer(Buffer & buffer); @@ -964,21 +936,66 @@ public: private: Buffer * buffer_; - /// Transforms the vertical alignment of the given cell as a prebaked XML attribute (for HTML and CALS). - std::string getHAlignAsXmlAttribute(idx_type cell, XmlOutputFormat output_format) const; - /// Transforms the vertical alignment of the given cell as a prebaked XML attribute (for HTML and CALS). + /// + // helper function for DocBook + /// + /// Determines whether the tabular item should be generated as DocBook or XHTML. + enum class XmlOutputFormat : bool { + XHTML = true, + DOCBOOK = false + }; + + /// Transforms the vertical alignment of the given cell as prebaked CSS (for HTML tables in HTML output). + std::string getHAlignAsXmlAttribute(idx_type cell) const; + /// Transforms the vertical alignment of the given cell as a prebaked XML attribute (for CALS or HTML tables in DocBook). + std::string getHAlignAsCssAttribute(idx_type cell) const; + /// Transforms the vertical alignment of the given cell as prebaked CSS (for HTML tables in HTML output). + std::string getVAlignAsCssAttribute(idx_type cell) const; + /// Transforms the vertical alignment of the given cell as a prebaked XML attribute (for CALS or HTML tables in DocBook). std::string getVAlignAsXmlAttribute(idx_type cell) const; /// Helpers for XML tables (XHTML or DocBook). docstring xmlRow(XMLStream & xs, row_type row, OutputParams const &, - bool header = false, bool is_xhtml = true, + bool header, XmlOutputFormat output_format, BufferParams::TableOutput docbook_table_output = BufferParams::TableOutput::HTMLTable) const; - void xmlHeader(XMLStream & xs, OutputParams const &, bool is_xhtml) const; - void xmlFooter(XMLStream & xs, OutputParams const &, bool is_xhtml) const; - void xmlBody(XMLStream & xs, OutputParams const &, bool is_xhtml) const; + void xmlHeader(XMLStream & xs, OutputParams const &, XmlOutputFormat output_format) const; + void xmlFooter(XMLStream & xs, OutputParams const &, XmlOutputFormat output_format) const; + void xmlBody(XMLStream & xs, OutputParams const &, XmlOutputFormat output_format) const; XmlRowWiseBorders computeXmlBorders(row_type row) const; std::vector computeCssStylePerCell(row_type row, col_type col, idx_type cell) const; + /// + // helper functions for plain text + /// + bool plaintextTopHLine(odocstringstream &, row_type row, + std::vector const &) const; + /// + bool plaintextBottomHLine(odocstringstream &, row_type row, + std::vector const &) const; + /// + void plaintextPrintCell(odocstringstream &, + OutputParams const &, + idx_type cell, row_type row, col_type column, + std::vector const &, + bool onlydata, size_t max_length) const; + + /// + // helper function for LaTeX + /// + void TeXTopHLine(otexstream &, row_type row, std::list, + std::list) const; + /// + void TeXBottomHLine(otexstream &, row_type row, std::list, + std::list) const; + /// + void TeXCellPreamble(otexstream &, idx_type cell, bool & ismulticol, bool & ismultirow, + bool const bidi) const; + /// + void TeXCellPostamble(otexstream &, idx_type cell, bool ismulticol, bool ismultirow) const; + /// + void TeXLongtableHeaderFooter(otexstream &, OutputParams const &, std::list, + std::list) const; + }; // Tabular @@ -1113,7 +1130,7 @@ public: /// docstring completionPrefix(Cursor const & cur) const override; /// - bool insertCompletion(Cursor & cur, docstring const & s, bool finished) override; + bool insertCompletion(Cursor & cur, docstring const & s, bool /*finished*/) override; /// void completionPosAndDim(Cursor const &, int & x, int & y, Dimension & dim) const override; /// @@ -1133,7 +1150,8 @@ public: docstring asString(idx_type stidx, idx_type enidx, bool intoInsets = true); /// ParagraphList asParList(idx_type stidx, idx_type enidx); - + /// + bool confirmDeletion() const override { return true; } /// Returns whether the cell in the specified row and column is selected. bool isCellSelected(Cursor & cur, row_type row, col_type col) const; ///