X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetTabular.h;h=067141edd12c74c1fbf8fa9d8aca05d49b5321c6;hb=9176e60b7bcab3e355521a86ddb4c2778cd9b29e;hp=182b419bdd84ba8eeac53f7eaea08f5878f46a3e;hpb=00de6c4be7db826e0035a412b0e19ffe940a5a44;p=lyx.git diff --git a/src/insets/InsetTabular.h b/src/insets/InsetTabular.h index 182b419bdd..067141edd1 100644 --- a/src/insets/InsetTabular.h +++ b/src/insets/InsetTabular.h @@ -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, @@ -420,6 +436,10 @@ public: /// 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 topLineTrim(idx_type const cell) const; + /// Returns whether the bottom line is trimmed left and/or right + std::pair bottomLineTrim(idx_type const cell) const; /// return space occupied by the second horizontal line and /// interline space above row \p row in pixels @@ -453,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); + /// + void setBottomLineTrim(idx_type cell, std::pair); + /// void setLeftLine(idx_type cell, bool line); /// void setRightLine(idx_type cell, bool line); @@ -505,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); /// @@ -517,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) const; + idx_type getLastCellInRow(row_type row, bool const ct = false) const; + /// + idx_type getFirstRow(bool const ct = false) const; + /// + idx_type getLastRow(bool const ct = false) const; /// idx_type numberOfCellsInRow(row_type row) const; /// @@ -658,7 +694,7 @@ public: class CellData { public: /// - CellData(Buffer *); + explicit CellData(Buffer *); /// CellData(CellData const &); /// @@ -692,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; @@ -745,6 +789,8 @@ public: bool newpage; /// caption bool caption; + /// + Change change; }; /// typedef std::vector row_vector; @@ -768,6 +814,8 @@ public: docstring decimal_point; /// bool varwidth; + /// + Change change; }; /// typedef std::vector column_vector; @@ -825,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, std::list) const; /// - void TeXBottomHLine(otexstream &, row_type row, std::string const & lang, + void TeXBottomHLine(otexstream &, row_type row, std::list, std::list) const; /// void TeXCellPreamble(otexstream &, idx_type cell, bool & ismulticol, bool & ismultirow, @@ -836,12 +884,13 @@ public: /// void TeXCellPostamble(otexstream &, idx_type cell, bool ismulticol, bool ismultirow) const; /// - void TeXLongtableHeaderFooter(otexstream &, OutputParams const &, std::list) const; + void TeXLongtableHeaderFooter(otexstream &, OutputParams const &, std::list, + std::list) const; /// bool isValidRow(row_type const row) const; /// void TeXRow(otexstream &, row_type const row, - OutputParams const &, std::list) const; + OutputParams const &, std::list, std::list) const; /// // helper functions for plain text /// @@ -958,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