]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetTabular.h
New attempt on #9906: allow following hyperlinks via context menu.
[lyx.git] / src / insets / InsetTabular.h
index 355a2520e998921648e57e5863c25623f5176ee7..fd942049ba6d07c53d86acfb84610443196ca07b 100644 (file)
@@ -25,7 +25,8 @@
 #define INSET_TABULAR_H
 
 #include "InsetText.h"
-#include "Length.h"
+
+#include "support/Length.h"
 
 #include <climits>
 #include <iosfwd>
@@ -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<unsigned int> 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;