#include <vector>
class InsetTabular;
+class LCursor;
class OutputParams;
/* The features the text class offers for tables */
///
SET_SPECIAL_MULTI,
///
+ SET_BOOKTABS,
+ ///
+ UNSET_BOOKTABS,
+ ///
+ SET_TOP_SPACE,
+ ///
+ SET_BOTTOM_SPACE,
+ ///
+ SET_INTERLINE_SPACE,
+ ///
LAST_ACTION
};
///
/// constructor
LyXTabular(BufferParams const &, col_type columns_arg,
- row_type rows_arg);
+ 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 isLastRow(idx_type cell) const;
- ///
+ /// return space occupied by the second horizontal line and
+ /// interline space above row \p row in pixels
int getAdditionalHeight(row_type row) const;
///
int getAdditionalWidth(idx_type cell) const;
void setVAlignment(idx_type cell, VAlignment align,
bool onlycolumn = false);
///
- void setColumnPWidth(idx_type cell, LyXLength const & width);
+ void setColumnPWidth(LCursor &, idx_type, LyXLength const &);
///
- bool setMColumnPWidth(idx_type cell, LyXLength const & width);
+ bool setMColumnPWidth(LCursor &, idx_type, LyXLength const &);
///
void setAlignSpecial(idx_type cell, std::string const & special,
- Feature what);
+ Feature what);
///
LyXAlignment getAlignment(idx_type cell,
- bool onlycolumn = false) const;
+ bool onlycolumn = false) const;
///
VAlignment getVAlignment(idx_type cell,
- bool onlycolumn = false) const;
+ bool onlycolumn = false) const;
///
LyXLength const getPWidth(idx_type cell) const;
///
///
col_type right_column_of_cell(idx_type cell) const;
///
+ void setBookTabs(bool);
+ ///
+ bool useBookTabs() const;
+ ///
void setLongTabular(bool);
///
bool isLongTabular() const;
boost::shared_ptr<InsetText> getCellInset(idx_type cell) const;
///
boost::shared_ptr<InsetText> getCellInset(row_type row,
- col_type column) const;
+ col_type column) const;
///
void setCellInset(row_type row, col_type column,
boost::shared_ptr<InsetText>) const;
col_type columns() const { return columns_;}
///
void validate(LaTeXFeatures &) const;
- /// Appends \c list with all labels found within this inset.
- void getLabelList(Buffer const &, std::vector<std::string> & list) const;
///
//private:
///
bool top_line;
///
bool bottom_line;
+ /// Extra space between the top line and this row
+ LyXLength top_space;
+ /// Ignore top_space if true and use the default top space
+ bool top_space_default;
+ /// Extra space between this row and the bottom line
+ LyXLength bottom_space;
+ /// Ignore bottom_space if true and use the default bottom space
+ bool bottom_space_default;
+ /// Extra space between the bottom line and the next top line
+ LyXLength interline_space;
+ /// Ignore interline_space if true and use the default interline space
+ bool interline_space_default;
/// This are for longtabulars only
/// a row of endhead
bool endhead;
///
int width_of_tabular;
///
+ bool use_booktabs;
+ ///
bool rotate;
//
// for long tabulars
///
void init(BufferParams const &, row_type rows_arg,
- col_type columns_arg);
+ col_type columns_arg);
///
void set_row_column_number_info();
/// Returns true if a complete update is necessary, otherwise false