///
void toggleFixedWidth(bool fw) { isFixedWidth = fw; }
///
+ void toggleVarWidth(bool vw) { isVarwidth = vw; }
+ ///
void toggleMultiCol(bool m) { isMultiColumn = m; }
///
void toggleMultiRow(bool m) { isMultiRow = m; }
///
- void setContentAlignment(LyXAlignment al) {contentAlign = al; }
+ void setContentAlignment(LyXAlignment al) { contentAlign = al; }
/// writes the contents of the cell as a string, optionally
/// descending into insets
docstring asString(bool intoInsets = true);
bool allowMultiPar() const override { return !isMultiRow && (!isMultiColumn || isFixedWidth); }
///
bool canPaintChange(BufferView const &) const override { return false; }
+ /// This assures we never output \maketitle in table cells
+ bool isInTitle() const override { return true; }
private:
///
InsetTableCell() = delete;
///
bool isFixedWidth;
///
+ bool isVarwidth;
+ ///
bool isMultiColumn;
///
bool isMultiRow;
///
bool usePlainLayout() const override { return true; }
///
- bool forcePlainLayout(idx_type = 0) const override;
- ///
bool allowParagraphCustomization(idx_type = 0) const override;
///
bool forceLocalFontSwitch() const override;
///
SET_INNER_LINES,
///
+ TOGGLE_INNER_LINES,
+ ///
+ TOGGLE_BORDER_LINES,
+ ///
+ TOGGLE_ALL_LINES,
+ ///
LAST_ACTION
};
///
/// 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 true if there is an outside border around the selection
+ bool outsideBorders(row_type sel_row_start, row_type sel_row_end,
+ col_type sel_col_start, col_type sel_col_end) const;
+ /// Returns true if there are inside lines in the selection
+ bool innerBorders(row_type sel_row_start, row_type sel_row_end,
+ col_type sel_col_start, col_type sel_col_end) const;
+ /// Sets the grid lines in the selection
+ /// if \p setLinesInnerOnly is true, outside borders are excluded
+ /// if \p setLines is true the lines are set otherwise they are unset
+ void setLines(row_type const sel_row_start, row_type const sel_row_end,
+ col_type const sel_col_start, col_type const sel_col_end,
+ bool setLinesInnerOnly, bool setLines);
/// 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
///
void insertRow(row_type row, bool copy);
///
- void moveColumn(col_type col, ColDirection direction);
+ void moveColumn(col_type col_start, col_type col_end,
+ ColDirection direction);
///
- void moveRow(row_type row, RowDirection direction);
+ void moveRow(row_type row_start, row_type row_end,
+ RowDirection direction);
///
void appendColumn(col_type column);
///
docstring xhtmlRow(XMLStream & xs, row_type, OutputParams const &,
bool header = false) const;
+ /// Transforms the vertical alignment of the given cell as a prebaked XML attribute (for HTML and CALS).
+ std::string getVAlignAsXmlAttribute(idx_type cell) const;
+
/// change associated Buffer
void setBuffer(Buffer & buffer);
/// retrieve associated Buffer
bool canTrackChanges() const override { return true; }
///
bool canPaintChange(BufferView const &) const override { return true; }
- /** returns false if, when outputting LaTeX, font changes should
- be closed before generating this inset. This is needed for
- insets that may contain several paragraphs */
+ ///
bool inheritFont() const override { return false; }
///
bool allowMultiPar() const override;
//
bool isTable() const override { return true; }
///
- RowFlags rowFlags() const override;
+ int rowFlags() const override;
///
void latex(otexstream &, OutputParams const &) const override;
///
/// should all paragraphs be output with "Standard" layout?
bool allowParagraphCustomization(idx_type cell = 0) const override;
///
- bool forcePlainLayout(idx_type cell = 0) const override;
- ///
void addPreview(DocIterator const & inset_pos,
graphics::PreviewLoader &) const override;