class Cursor;
class OutputParams;
+typedef InsetText InsetTableCell;
+
//
// A helper struct for tables
//
///
VALIGN_MIDDLE,
///
- M_TOGGLE_LINE_TOP,
- ///
- M_TOGGLE_LINE_BOTTOM,
- ///
- M_TOGGLE_LINE_LEFT,
- ///
- M_TOGGLE_LINE_RIGHT,
- ///
M_ALIGN_LEFT,
///
M_ALIGN_RIGHT,
///
SET_INTERLINE_SPACE,
///
+ SET_BORDER_LINES,
+ ///
LAST_ACTION
};
///
Tabular(Buffer const &, col_type columns_arg, row_type rows_arg);
/// Returns true if there is a topline, returns false if not
- bool topLine(idx_type cell, bool wholerow = false) const;
+ bool topLine(idx_type cell) const;
/// Returns true if there is a topline, returns false if not
- bool bottomLine(idx_type cell, bool wholerow = false) const;
+ bool bottomLine(idx_type cell) const;
/// Returns true if there is a topline, returns false if not
- bool leftLine(idx_type cell, bool wholecolumn = false) const;
+ bool leftLine(idx_type cell) const;
/// Returns true if there is a topline, returns false if not
- bool rightLine(idx_type cell, bool wholecolumn = false) const;
+ bool rightLine(idx_type cell) const;
///
bool topAlreadyDrawn(idx_type cell) const;
///
void setAllLines(idx_type cell, bool line);
///
- void setTopLine(idx_type cell, bool line, bool wholerow = false);
+ void setTopLine(idx_type cell, bool line);
+ ///
+ void setBottomLine(idx_type cell, bool line);
///
- void setBottomLine(idx_type cell, bool line, bool wholerow = false);
+ void setLeftLine(idx_type cell, bool line);
///
- void setLeftLine(idx_type cell, bool line, bool wholecolumn = false);
+ void setRightLine(idx_type cell, bool line);
///
- void setRightLine(idx_type cell, bool line, bool wholecolumn = false);
+ bool rowTopLine(row_type row) const;
///
+ bool rowBottomLine(row_type row) const;
+ ///
+ bool columnLeftLine(col_type column) const;
+ ///
+ bool columnRightLine(col_type column) const;
+
void setAlignment(idx_type cell, LyXAlignment align,
bool onlycolumn = false);
///
///
idx_type getCellBelow(idx_type cell) const;
///
- idx_type getLastCellAbove(idx_type cell) const;
- ///
- idx_type getLastCellBelow(idx_type cell) const;
- ///
idx_type cellIndex(row_type row, col_type column) const;
///
void setUsebox(idx_type cell, BoxType);
///
// end longtable support
///
- boost::shared_ptr<InsetText> getCellInset(idx_type cell) const;
+ boost::shared_ptr<InsetTableCell> getCellInset(idx_type cell) const;
///
- boost::shared_ptr<InsetText> getCellInset(row_type row,
+ boost::shared_ptr<InsetTableCell> getCellInset(row_type row,
col_type column) const;
///
void setCellInset(row_type row, col_type column,
- boost::shared_ptr<InsetText>) const;
+ boost::shared_ptr<InsetTableCell>) const;
/// Search for \param inset in the tabular, with the
///
idx_type getCellFromInset(Inset const * inset) const;
///
Length p_width; // this is only set for multicolumn!!!
///
- boost::shared_ptr<InsetText> inset;
+ boost::shared_ptr<InsetTableCell> inset;
};
CellData & cellinfo_of_cell(idx_type cell) const;
///
///
bool calculate_width_of_column_NMC(col_type column); // no multi cells
///
- idx_type cells_in_multicolumn(idx_type cell) const;
+ idx_type columnSpan(idx_type cell) const;
///
BoxType useParbox(idx_type cell) const;
///
/// number of cells
size_t nargs() const { return tabular.cellCount(); }
///
- boost::shared_ptr<InsetText const> cell(idx_type) const;
+ boost::shared_ptr<InsetTableCell const> cell(idx_type) const;
///
- boost::shared_ptr<InsetText> cell(idx_type);
+ boost::shared_ptr<InsetTableCell> cell(idx_type);
///
Text * getText(int) const;
/// should all paragraphs be output with "Standard" layout?
virtual bool allowParagraphCustomization(idx_type cell = 0) const;
///
- virtual bool forceEmptyLayout() { return true; }
+ virtual bool forceEmptyLayout(idx_type cell = 0) const;
+ ///
+ virtual bool useEmptyLayout() { return true; }
///
void addPreview(graphics::PreviewLoader &) const;
/// lock cell with given index
void edit(Cursor & cur, bool front, EntryDirection entry_from);
+ /// get table row from x coordinate
+ int rowFromY(Cursor & cur, int y) const;
+ /// get table column from y coordinate
+ int columnFromX(Cursor & cur, int x) const;
///
Inset * editXY(Cursor & cur, int x, int y);
/// can we go further down on mouse click?
///
bool automaticPopupCompletion() const;
///
+ bool showCompletionCursor() const;
+ ///
CompletionList const * createCompletionList(Cursor const & cur) const;
///
docstring completionPrefix(Cursor const & cur) const;