]> git.lyx.org Git - lyx.git/blobdiff - src/tabular.h
clone NVI, other small stuff
[lyx.git] / src / tabular.h
index ea50c3cf902a544572f86dadf13067c39f3a84df..62de87e810e8818f7315327bf58d0e52f9569b3a 100644 (file)
 #include "lyxlength.h"
 #include "insets/insettext.h"
 
+#include <boost/shared_ptr.hpp>
+
 #include <iosfwd>
 #include <vector>
 
 class InsetTabular;
-class LatexRunParams;
+class OutputParams;
 
 /* The features the text class offers for tables */
 
@@ -172,8 +174,6 @@ public:
 
        /// constructor
        LyXTabular(BufferParams const &, int columns_arg, int rows_arg);
-       ///
-       void setOwner(InsetTabular * inset);
 
        /// Returns true if there is a topline, returns false if not
        bool topLine(int cell, bool onlycolumn = false) const;
@@ -207,11 +207,11 @@ public:
        int getDescentOfRow(int row) const;
        ///
        int getHeightOfTabular() const;
-       /// Returns true if a complete update is necessary, otherwise false
+       ///
        void setAscentOfRow(int row, int height);
-       /// Returns true if a complete update is necessary, otherwise false
+       ///
        void setDescentOfRow(int row, int height);
-       /// Returns true if a complete update is necessary, otherwise false
+       ///
        void setWidthOfCell(int cell, int new_width);
        ///
        void setAllLines(int cell, bool line);
@@ -277,13 +277,17 @@ public:
        void read(Buffer const &, LyXLex &);
        ///
        int latex(Buffer const &, std::ostream &,
-                 LatexRunParams const &) const;
+                 OutputParams const &) const;
        //
-       int linuxdoc(Buffer const & buf, std::ostream & os) const;
+       int linuxdoc(Buffer const & buf, std::ostream & os,
+                    OutputParams const &) const;
        ///
-       int docbook(Buffer const & buf, std::ostream & os, bool mixcont) const;
+       int docbook(Buffer const & buf, std::ostream & os,
+                   OutputParams const &) const;
        ///
-       int ascii(Buffer const &, std::ostream &, int const depth,
+       int plaintext(Buffer const &, std::ostream &,
+                 OutputParams const & runparams,
+                 int const depth,
                  bool onlydata, unsigned char delim) const;
        ///
        bool isMultiColumn(int cell) const;
@@ -362,12 +366,12 @@ public:
        ///
        // end longtable support
        ///
-       InsetText & getCellInset(int cell) const;
+       boost::shared_ptr<InsetText> getCellInset(int cell) const;
        ///
-       InsetText & getCellInset(int row, int column) const;
+       boost::shared_ptr<InsetText> getCellInset(int row, int column) const;
        /// Search for \param inset in the tabular, with the
        ///
-       int getCellFromInset(InsetOld const * inset) const;
+       int getCellFromInset(InsetBase const * inset) const;
        ///
        int rows() const { return rows_; }
        ///
@@ -383,6 +387,12 @@ public:
                ///
                cellstruct(BufferParams const &);
                ///
+               cellstruct(cellstruct const &);
+               ///
+               cellstruct & operator=(cellstruct);
+               ///
+               void swap(cellstruct & rhs);
+               ///
                int cellno;
                ///
                int width_of_cell;
@@ -409,7 +419,7 @@ public:
                ///
                LyXLength p_width; // this is only set for multicolumn!!!
                ///
-               InsetText inset;
+               boost::shared_ptr<InsetText> inset;
        };
        cellstruct & cellinfo_of_cell(int cell) const;
        ///
@@ -533,12 +543,12 @@ public:
        int TeXCellPostamble(std::ostream &, int cell) const;
        ///
        int TeXLongtableHeaderFooter(std::ostream &, Buffer const & buf,
-                                    LatexRunParams const &) const;
+                                    OutputParams const &) const;
        ///
        bool isValidRow(int const row) const;
        ///
        int TeXRow(std::ostream &, int const row, Buffer const & buf,
-                  LatexRunParams const &) const;
+                  OutputParams const &) const;
        ///
        // helper function for ASCII returns number of newlines
        ///
@@ -549,11 +559,13 @@ public:
                             std::vector<unsigned int> const &) const;
        ///
        int asciiPrintCell(Buffer const &, std::ostream &,
+                          OutputParams const &,
                           int cell, int row, int column,
                           std::vector<unsigned int> const &,
                                           bool onlydata) const;
        /// auxiliary function for docbook
-       int docbookRow(Buffer const & buf, std::ostream & os, int row) const;
+       int docbookRow(Buffer const & buf, std::ostream & os, int,
+                      OutputParams const &) const;
 
 private:
        /// renumber cells after structural changes