]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetTabular.h
Fix commented out code
[lyx.git] / src / insets / InsetTabular.h
index b91518112ece0b37bb1b4026efc3eaa7f1619e25..3e8a6bcfab5a711001dfc8defd949cb861d98582 100644 (file)
@@ -52,7 +52,7 @@ class InsetTableCell : public InsetText
 {
 public:
        ///
-       InsetTableCell(Buffer * buf);
+       explicit InsetTableCell(Buffer * buf);
        ///
        InsetCode lyxCode() const { return CELL_CODE; }
        ///
@@ -179,6 +179,22 @@ public:
                ///FIXME: remove
                TOGGLE_LINE_RIGHT,
                ///
+               SET_LTRIM_TOP,
+               ///
+               SET_RTRIM_TOP,
+               ///
+               SET_LTRIM_BOTTOM,
+               ///
+               SET_RTRIM_BOTTOM,
+               ///
+               TOGGLE_LTRIM_TOP,
+               ///
+               TOGGLE_RTRIM_TOP,
+               ///
+               TOGGLE_LTRIM_BOTTOM,
+               ///
+               TOGGLE_RTRIM_BOTTOM,
+               ///
                ALIGN_LEFT,
                ///
                ALIGN_RIGHT,
@@ -223,6 +239,8 @@ public:
                ///
                SET_ALL_LINES,
                ///
+               RESET_FORMAL_DEFAULT,
+               ///
                UNSET_ALL_LINES,
                ///
                TOGGLE_LONGTABULAR,
@@ -306,6 +324,8 @@ public:
                ///
                SET_TABULAR_WIDTH,
                ///
+               SET_INNER_LINES,
+               ///
                LAST_ACTION
        };
        ///
@@ -409,9 +429,17 @@ public:
        /// Returns true if there is a topline, returns false if not
        bool bottomLine(idx_type cell) const;
        /// Returns true if there is a topline, returns false if not
-       bool leftLine(idx_type cell) const;
+       /// If \p ignore_bt is true, we return the state as if booktabs was
+       /// not used
+       bool leftLine(idx_type cell, bool const ignore_bt = false) const;
        /// Returns true if there is a topline, returns false if not
-       bool rightLine(idx_type cell) const;
+       /// If \p ignore_bt is true, we return the state as if booktabs was
+       /// not used
+       bool rightLine(idx_type cell, bool const ignore_bt = false) const;
+       /// Returns whether the top line is trimmed left and/or right
+       std::pair<bool, bool> topLineTrim(idx_type const cell) const;
+       /// Returns whether the bottom line is trimmed left and/or right
+       std::pair<bool, bool> bottomLineTrim(idx_type const cell) const;
 
        /// return space occupied by the second horizontal line and
        /// interline space above row \p row in pixels
@@ -445,6 +473,18 @@ public:
        ///
        void setBottomLine(idx_type cell, bool line);
        ///
+       void setTopLineLTrim(idx_type cell, bool val);
+       ///
+       void setBottomLineLTrim(idx_type cell, bool val);
+       ///
+       void setTopLineRTrim(idx_type cell, bool val);
+       ///
+       void setBottomLineRTrim(idx_type cell, bool val);
+       ///
+       void setTopLineTrim(idx_type cell, std::pair<bool, bool>);
+       ///
+       void setBottomLineTrim(idx_type cell, std::pair<bool, bool>);
+       ///
        void setLeftLine(idx_type cell, bool line);
        ///
        void setRightLine(idx_type cell, bool line);
@@ -497,7 +537,7 @@ public:
        ///
        void appendRow(row_type row);
        ///
-       void deleteRow(row_type row);
+       void deleteRow(row_type row, bool const force = false);
        ///
        void copyRow(row_type row);
        ///
@@ -509,15 +549,19 @@ public:
        ///
        void appendColumn(col_type column);
        ///
-       void deleteColumn(col_type column);
+       void deleteColumn(col_type column, bool const force = false);
        ///
        void copyColumn(col_type column);
        ///
        void insertColumn(col_type column, bool copy);
        ///
-       idx_type getFirstCellInRow(row_type row) const;
+       idx_type getFirstCellInRow(row_type row, bool const ct = false) const;
+       ///
+       idx_type getLastCellInRow(row_type row, bool const ct = false) const;
+       ///
+       idx_type getFirstRow(bool const ct = false) const;
        ///
-       idx_type getLastCellInRow(row_type row) const;
+       idx_type getLastRow(bool const ct = false) const;
        ///
        idx_type numberOfCellsInRow(row_type row) const;
        ///
@@ -650,7 +694,7 @@ public:
        class CellData {
        public:
                ///
-               CellData(Buffer *);
+               explicit CellData(Buffer *);
                ///
                CellData(CellData const &);
                ///
@@ -684,6 +728,14 @@ public:
                ///
                bool right_line;
                ///
+               bool top_line_rtrimmed;
+               ///
+               bool top_line_ltrimmed;
+               ///
+               bool bottom_line_rtrimmed;
+               ///
+               bool bottom_line_ltrimmed;
+               ///
                BoxType usebox;
                ///
                int rotate;
@@ -737,6 +789,8 @@ public:
                bool newpage;
                /// caption
                bool caption;
+               ///
+               Change change;
        };
        ///
        typedef std::vector<RowData> row_vector;
@@ -760,6 +814,8 @@ public:
                docstring decimal_point;
                ///
                bool varwidth;
+               ///
+               Change change;
        };
        ///
        typedef std::vector<ColumnData> column_vector;
@@ -807,7 +863,7 @@ public:
        ///
        bool setFixedWidth(row_type r, col_type c);
        /// return true of update is needed
-       bool updateColumnWidths();
+       bool updateColumnWidths(MetricsInfo & mi);
        ///
        idx_type columnSpan(idx_type cell) const;
        ///
@@ -817,10 +873,10 @@ public:
        ///
        // helper function for Latex
        ///
-       void TeXTopHLine(otexstream &, row_type row, std::string const & lang,
+       void TeXTopHLine(otexstream &, row_type row, std::list<col_type>,
                         std::list<col_type>) const;
        ///
-       void TeXBottomHLine(otexstream &, row_type row, std::string const & lang,
+       void TeXBottomHLine(otexstream &, row_type row, std::list<col_type>,
                            std::list<col_type>) const;
        ///
        void TeXCellPreamble(otexstream &, idx_type cell, bool & ismulticol, bool & ismultirow,
@@ -828,12 +884,13 @@ public:
        ///
        void TeXCellPostamble(otexstream &, idx_type cell, bool ismulticol, bool ismultirow) const;
        ///
-       void TeXLongtableHeaderFooter(otexstream &, OutputParams const &, std::list<col_type>) const;
+       void TeXLongtableHeaderFooter(otexstream &, OutputParams const &, std::list<col_type>,
+                                     std::list<col_type>) const;
        ///
        bool isValidRow(row_type const row) const;
        ///
        void TeXRow(otexstream &, row_type const row,
-                   OutputParams const &, std::list<col_type>) const;
+                   OutputParams const &, std::list<col_type>, std::list<col_type>) const;
        ///
        // helper functions for plain text
        ///
@@ -950,6 +1007,8 @@ public:
        ///
        Text * getText(int) const;
 
+       /// does the inset contain changes ?
+       bool isChanged() const;
        /// set the change for the entire inset
        void setChange(Change const & change);
        /// accept the changes within the inset
@@ -978,7 +1037,7 @@ public:
        /// can we go further down on mouse click?
        bool descendable(BufferView const &) const { return true; }
        /// Update the counters of this inset and of its contents
-       void updateBuffer(ParIterator const &, UpdateType);
+       void updateBuffer(ParIterator const &, UpdateType, bool const deleted = false);
        ///
        void addToToc(DocIterator const & di, bool output_active,
                                  UpdateType utype, TocBackend & backend) const;