]> git.lyx.org Git - lyx.git/blobdiff - src/tabular.h
* support/qstring_helpers.h: erase ucs4_to_qstring() method.
[lyx.git] / src / tabular.h
index 6b2fb6afde9a3be5e239dc8f14314500a46f90ae..b972d0aa3c7bc4b5330790c1e45e74048625bd95 100644 (file)
@@ -23,6 +23,9 @@
 #include <iosfwd>
 #include <vector>
 
+
+namespace lyx {
+
 class InsetTabular;
 class LCursor;
 class OutputParams;
@@ -43,6 +46,10 @@ public:
                ///
                DELETE_COLUMN,
                ///
+               COPY_ROW,
+               ///
+               COPY_COLUMN,
+               ///
                TOGGLE_LINE_TOP,
                ///
                TOGGLE_LINE_BOTTOM,
@@ -198,13 +205,13 @@ public:
                   row_type rows_arg);
 
        /// Returns true if there is a topline, returns false if not
-       bool topLine(idx_type cell, bool onlycolumn = false) const;
+       bool topLine(idx_type cell, bool wholerow = false) const;
        /// Returns true if there is a topline, returns false if not
-       bool bottomLine(idx_type cell, bool onlycolumn = false) const;
+       bool bottomLine(idx_type cell, bool wholerow = false) const;
        /// Returns true if there is a topline, returns false if not
-       bool leftLine(idx_type cell, bool onlycolumn = false) const;
+       bool leftLine(idx_type cell, bool wholecolumn = false) const;
        /// Returns true if there is a topline, returns false if not
-       bool rightLine(idx_type cell, bool onlycolumn = false) const;
+       bool rightLine(idx_type cell, bool wholecolumn = false) const;
 
        ///
        bool topAlreadyDrawn(idx_type cell) const;
@@ -239,13 +246,13 @@ public:
        ///
        void setAllLines(idx_type cell, bool line);
        ///
-       void setTopLine(idx_type cell, bool line, bool onlycolumn = false);
+       void setTopLine(idx_type cell, bool line, bool wholerow = false);
        ///
-       void setBottomLine(idx_type cell, bool line, bool onlycolumn = false);
+       void setBottomLine(idx_type cell, bool line, bool wholerow = false);
        ///
-       void setLeftLine(idx_type cell, bool line, bool onlycolumn = false);
+       void setLeftLine(idx_type cell, bool line, bool wholecolumn = false);
        ///
-       void setRightLine(idx_type cell, bool line, bool onlycolumn = false);
+       void setRightLine(idx_type cell, bool line, bool wholecolumn = false);
        ///
        void setAlignment(idx_type cell, LyXAlignment align,
                          bool onlycolumn = false);
@@ -257,7 +264,7 @@ public:
        ///
        bool setMColumnPWidth(LCursor &, idx_type, LyXLength const &);
        ///
-       void setAlignSpecial(idx_type cell, std::string const & special,
+       void setAlignSpecial(idx_type cell, docstring const & special,
                             Feature what);
        ///
        LyXAlignment getAlignment(idx_type cell,
@@ -272,7 +279,7 @@ public:
        ///
        LyXLength const getMColumnPWidth(idx_type cell) const;
        ///
-       std::string const getAlignSpecial(idx_type cell, int what) const;
+       docstring const getAlignSpecial(idx_type cell, int what) const;
        ///
        int getWidthOfCell(idx_type cell) const;
        ///
@@ -282,10 +289,14 @@ public:
        ///
        void deleteRow(row_type row);
        ///
+       void copyRow(BufferParams const &, row_type);
+       ///
        void appendColumn(BufferParams const &, idx_type cell);
        ///
        void deleteColumn(col_type column);
        ///
+       void copyColumn(BufferParams const &, col_type);
+       ///
        bool isFirstCellInRow(idx_type cell) const;
        ///
        idx_type getFirstCellInRow(row_type row) const;
@@ -302,16 +313,13 @@ public:
        ///
        void read(Buffer const &, LyXLex &);
        ///
-       int latex(Buffer const &, std::ostream &,
-                 OutputParams const &) const;
+       int latex(Buffer const &, odocstream &, OutputParams const &) const;
        //
-       int docbook(Buffer const & buf, std::ostream & os,
-                   OutputParams const &) const;
+       int docbook(Buffer const & buf, odocstream & os, OutputParams const &) const;
        ///
-       int plaintext(Buffer const &, std::ostream &,
-                 OutputParams const & runparams,
-                 int const depth,
-                 bool onlydata, unsigned char delim) const;
+       void plaintext(Buffer const &, odocstream &,
+                      OutputParams const & runparams, int const depth,
+                      bool onlydata, unsigned char delim) const;
        ///
        bool isMultiColumn(idx_type cell) const;
        ///
@@ -445,7 +453,7 @@ public:
                ///
                bool rotate;
                ///
-               std::string align_special;
+               docstring align_special;
                ///
                LyXLength p_width; // this is only set for multicolumn!!!
                ///
@@ -515,7 +523,7 @@ public:
                ///
                LyXLength p_width;
                ///
-               std::string align_special;
+               docstring align_special;
        };
        ///
        typedef std::vector<columnstruct> column_vector;
@@ -579,37 +587,37 @@ public:
        ///
        // helper function for Latex returns number of newlines
        ///
-       int TeXTopHLine(std::ostream &, row_type row) const;
+       int TeXTopHLine(odocstream &, row_type row) const;
        ///
-       int TeXBottomHLine(std::ostream &, row_type row) const;
+       int TeXBottomHLine(odocstream &, row_type row) const;
        ///
-       int TeXCellPreamble(std::ostream &, idx_type cell) const;
+       int TeXCellPreamble(odocstream &, idx_type cell) const;
        ///
-       int TeXCellPostamble(std::ostream &, idx_type cell) const;
+       int TeXCellPostamble(odocstream &, idx_type cell) const;
        ///
-       int TeXLongtableHeaderFooter(std::ostream &, Buffer const & buf,
+       int TeXLongtableHeaderFooter(odocstream &, Buffer const & buf,
                                     OutputParams const &) const;
        ///
        bool isValidRow(row_type const row) const;
        ///
-       int TeXRow(std::ostream &, row_type const row, Buffer const & buf,
+       int TeXRow(odocstream &, row_type const row, Buffer const & buf,
                   OutputParams const &) const;
        ///
-       // helper function for ASCII returns number of newlines
+       // helper functions for plain text
        ///
-       int asciiTopHLine(std::ostream &, row_type row,
-                         std::vector<unsigned int> const &) const;
+       bool plaintextTopHLine(odocstream &, row_type row,
+                              std::vector<unsigned int> const &) const;
        ///
-       int asciiBottomHLine(std::ostream &, row_type row,
-                            std::vector<unsigned int> const &) const;
+       bool plaintextBottomHLine(odocstream &, row_type row,
+                                 std::vector<unsigned int> const &) const;
        ///
-       int asciiPrintCell(Buffer const &, std::ostream &,
-                          OutputParams const &,
-                          idx_type cell, row_type row, col_type column,
-                          std::vector<unsigned int> const &,
-                                          bool onlydata) const;
+       void plaintextPrintCell(Buffer const &, odocstream &,
+                               OutputParams const &,
+                               idx_type cell, row_type row, col_type column,
+                               std::vector<unsigned int> const &,
+                               bool onlydata) const;
        /// auxiliary function for docbook
-       int docbookRow(Buffer const & buf, std::ostream & os, row_type,
+       int docbookRow(Buffer const & buf, odocstream & os, row_type,
                       OutputParams const &) const;
 
 private:
@@ -617,4 +625,7 @@ private:
        void fixCellNums();
 };
 
+
+} // namespace lyx
+
 #endif