242 void commitCellEvent( sal_Int16
const i_eventID,
const css::uno::Any& i_newValue,
const css::uno::Any& i_oldValue );
243 void commitTableEvent( sal_Int16
const i_eventID,
const css::uno::Any& i_newValue,
const css::uno::Any& i_oldValue );
282 css::uno::Reference< css::accessibility::XAccessible >
301 sal_Int16
const i_eventID,
302 css::uno::Any
const & i_newValue
376 ColPos const i_assumeInflexibleColumnsUpToIncluding,
377 bool const i_assumeVerticalScrollbar,
378 ::std::vector< tools::Long >& o_newColWidthsPixel
385 bool const i_verticalScrollbar,
386 bool const i_horizontalScrollbar
defines a callback interface to be implemented by a concrete table control
declares an interface to be implemented by components interested in changes in an ->ITableModel
bool markAllRowsAsSelected()
marks all rows as selected
void impl_getCellRect(ColPos _nColumn, RowPos _nRow, tools::Rectangle &_rCellRect) const
determines the rectangle occupied by the given cell
RowPos getRowAtPoint(const Point &rPoint) const
virtual void invalidate(TableArea const i_what) override
invalidates the table window
void checkCursorPosition()
TableSize impl_getVisibleColumns(bool _bAcceptPartialCol) const
returns the number of visible columns
void invalidateRowRange(RowPos const i_firstRow, RowPos const i_lastRow)
invalidates the part of the data window which is covered by the given rows
tools::Long m_nRowHeightPixel
the height of a single row in the table, measured in pixels
tools::Long m_nRowHeaderWidthPixel
the width of the row header column in the table, measured in pixels
ScrollBar * getVertScrollbar()
bool hasRowSelection() const
TableSize impl_ni_ScrollColumns(TableSize _nColumnDelta)
scrolls the view by the given number of columns
virtual TableCell hitTest(const Point &rPoint) const override
does a hit test for the given pixel coordinates
void commitAccessibleEvent(sal_Int16 const i_eventID)
ScrollBar * getHorzScrollbar()
tools::Rectangle calcHeaderCellRect(bool bColHeader, sal_Int32 nPos)
tools::Rectangle calcCellRect(sal_Int32 nRow, sal_Int32 nCol) const
PTableInputHandler m_pInputHandler
the input handler to use, usually the input handler as provided by ->m_pModel
DECL_LINK(OnScroll, ScrollBar *, void)
TableDataWindow & getDataWindow()
virtual void columnChanged(ColPos const i_column, ColumnAttributeGroup const i_attributeGroup) override
notifies the listener that attributes of a given column changed
TableSize impl_getVisibleRows(bool _bAcceptPartialRow) const
returns the number of visible rows.
virtual void allColumnsRemoved() override
notifies the listener that all columns have been removed from the model
static int getRowSelectedNumber(const ::std::vector< RowPos > &selectedRows, RowPos current)
returns the position of the current row in the selection vector
const TableDataWindow & getDataWindow() const
virtual void tableMetricsChanged() override
notifies the listener that the metrics of the table changed.
virtual void columnInserted() override
notifies the listener that one or more columns have been inserted into the table
virtual void rowsInserted(RowPos first, RowPos last) override
notifies the listener that one or more rows have been inserted into the table
const PTableInputHandler & getInputHandler() const
virtual void columnRemoved() override
notifies the listener that one or more columns have been removed from the table
void invalidateSelectedRows()
invalidates all selected rows
OUString getCellContentAsString(RowPos const i_row, ColPos const i_col)
retrieves the content of the given cell, converted to a string
TableSize impl_ni_ScrollRows(TableSize _nRowDelta)
scrolls the view by the given number of rows
ColumnPositions m_aColumnWidths
info about the widths of our columns
void setModel(const PTableModel &_pModel)
void setAnchor(RowPos const i_anchor)
void invalidateRect(const tools::Rectangle &rInvalidateRect)
ColPos getColAtPoint(const Point &rPoint) const
virtual void showTracking(tools::Rectangle const &i_location, ShowTrackFlags const i_flags) override
shows a tracking rectangle
virtual void setPointer(PointerStyle i_pointer) override
sets a new mouse pointer for the table window
const TableControl & getAntiImpl() const
bool m_bUpdatingColWidths
void commitCellEvent(sal_Int16 const i_eventID, const css::uno::Any &i_newValue, const css::uno::Any &i_oldValue)
tools::Long m_nColHeaderHeightPixel
the height of the column header row in the table, measured in pixels
tools::Long appFontWidthToPixel(tools::Long const i_appFontUnits) const
tools::Rectangle impl_getAllVisibleDataCellArea() const
retrieves the area occupied by all (at least partially) visible data cells.
virtual void hideTracking() override
hides a previously shown tracking rectangle
virtual ~TableControl_Impl() override
virtual ColPos getCurrentColumn() const override
returns the index of the currently active column
RowPos impl_getRowForAbscissa(tools::Long const i_abscissa) const
retrieves the row which covers the given abscissa
void invalidateSelectedRegion(RowPos _nPrevRow, RowPos _nCurRow)
???
virtual tools::Long pixelWidthToAppFont(tools::Long const i_pixels) const override
calculates a width, given in pixels, into an AppFont-based width
void impl_ni_relayout(ColPos const i_assumeInflexibleColumnsUpToIncluding=COL_INVALID)
does a relayout of the table control
VclPtr< ScrollBar > m_pVScroll
the vertical scrollbar, if any
ColPos impl_getColumnForOrdinate(tools::Long const i_ordinate) const
retrieves the column which covers the given ordinate
std::vector< RowPos > m_aSelectedRows
VclPtr< TableDataWindow > m_pDataWindow
the window to contain all data content, including header bars
css::uno::Reference< css::accessibility::XAccessible > getAccessible(vcl::Window &i_parentWindow)
void doPaintContent(vcl::RenderContext &rRenderContext, const tools::Rectangle &_rUpdateRect)
paints the table control content which intersects with the given rectangle
virtual RowPos getCurrentRow() const override
returns the index of the currently active row
virtual PTableModel getModel() const override
returns the table model
TableControl & m_rAntiImpl
the control whose impl-instance we implement
VclPtr< ScrollBarBox > m_pScrollCorner
tools::Rectangle calcTableRect() const
bool markRowAsDeselected(RowPos const i_rowIndex)
removes the given row index from m_aSelectedRows
std::unique_ptr< SelectionEngine > m_pSelEngine
virtual bool isRowSelected(RowPos i_row) const override
determines whether a given row is selected
virtual void hideCursor() override
hides the cell cursor
void invalidateRow(RowPos const i_row)
invalidates the part of the data window which is covered by the given row
friend class SuspendInvariants
void impl_ni_updateCachedTableMetrics()
updates the cached table metrics (row height etc.)
PTableModel m_pModel
the model of the table control
virtual ::Size getTableSizePixel() const override
retrieves the size of the table window, in pixels
std::unique_ptr< TableFunctionSet > m_pTableFunctionSet
TableSize m_nRowCount
the number of rows in the table control. Cached model value.
TableSize m_nColumnCount
the number of columns in the table control. Cached model value.
virtual void captureMouse() override
captures the mouse to the table window
void impl_commitAccessibleEvent(sal_Int16 const i_eventID, css::uno::Any const &i_newValue)
VclPtr< ScrollBar > m_pHScroll
the horizontal scrollbar, if any
bool markAllRowsAsDeselected()
marks all rows as deselected
void onResize()
to be called when the anti-impl instance has been resized
tools::Rectangle impl_getAllVisibleCellsArea() const
retrieves the area occupied by the totality of (at least partially) visible cells
virtual void rowsRemoved(RowPos first, RowPos last) override
notifies the listener that one or more rows have been removed from the table
virtual void showCursor() override
shows the cell cursor
void impl_ni_positionChildWindows(tools::Rectangle const &i_dataCellPlayground, bool const i_verticalScrollbar, bool const i_horizontalScrollbar)
positions all child windows, e.g.
sal_Int32 m_nCursorHidden
vcl::AccessibleFactoryAccess m_aFactoryAccess
virtual void releaseMouse() override
releases the mouse, after it had previously been captured
void commitTableEvent(sal_Int16 const i_eventID, const css::uno::Any &i_newValue, const css::uno::Any &i_oldValue)
TableControl_Impl(TableControl &_rAntiImpl)
void impl_ni_doSwitchCursor(bool _bOn)
toggles the cursor visibility
size_t getSelectedRowCount() const
DECL_LINK(OnUpdateScrollbars, void *, void)
tools::Rectangle calcHeaderRect(bool bColHeader)
bool markRowAsSelected(RowPos const i_rowIndex)
marks the given row as selected, by putting it into m_aSelectedRows
virtual SelectionEngine * getSelEngine() override
returns selection engine
TableSize impl_scrollColumns(TableSize const i_columnDelta)
equivalent to impl_ni_ScrollColumns, but checks the instances invariants beforehand (in a non-product...
void impl_invalidateColumn(ColPos const i_column)
invalidates the window area occupied by the given column
bool impl_isAccessibleAlive() const
RowPos getSelectedRowIndex(size_t const i_selectionIndex) const
virtual void activateCell(ColPos const i_col, RowPos const i_row) override
activates the given cell
TableControl & getAntiImpl()
virtual bool dispatchAction(TableControlAction _eAction) override
dispatches an action to the table control
tools::Long impl_ni_calculateColumnWidths(ColPos const i_assumeInflexibleColumnsUpToIncluding, bool const i_assumeVerticalScrollbar, ::std::vector< tools::Long > &o_newColWidthsPixel) const
calculates the new width of our columns, taking into account their min and max widths,...
virtual void cellsUpdated(RowPos const i_firstRow, RowPos const i_lastRow) override
notifies the listener that a rectangular cell range in the table has been updated
TableSize impl_scrollRows(TableSize const i_rowDelta)
equivalent to impl_ni_ScrollRows, but checks the instances invariants beforehand (in a non-product bu...
vcl::table::IAccessibleTableControl * m_pAccessibleTable
void impl_ni_updateCachedModelValues()
updates all cached model values
bool goTo(ColPos _nColumn, RowPos _nRow)
moves the cursor to the cell with the given coordinates
virtual ColumnMetrics getColumnMetrics(ColPos const i_column) const override
retrieves the metrics for a given column
ColPos getLeftColumn() const
bool isAccessibleAlive() const
void ensureVisible(ColPos _nColumn, RowPos _nRow)
ensures that the given coordinate is visible
a basic control which manages table-like data, i.e.
the window containing the content area (including headers) of a table control
virtual void SetCursorAtPoint(const Point &rPoint, bool bDontSelectAtCursor=false) override
virtual void DeselectAtPoint(const Point &rPoint) override
virtual ~TableFunctionSet() override
virtual void DestroyAnchor() override
virtual bool IsSelectionAtPoint(const Point &rPoint) override
virtual void DeselectAll() override
virtual void CreateAnchor() override
virtual void BeginDrag() override
TableControl_Impl * m_pTableControl
TableFunctionSet(TableControl_Impl *_pTableControl)
void SAL_CALL last(const css::awt::SpinEvent &rEvent) override
void SAL_CALL first(const css::awt::SpinEvent &rEvent) override
sal_Int32 TableSize
a value denoting the size of a table
sal_Int32 RowPos
a value denoting a row position within a table
std::shared_ptr< ITableModel > PTableModel
sal_Int32 ColPos
a value denoting a column position within a table
std::shared_ptr< ITableInputHandler > PTableInputHandler
::std::vector< MutableColumnMetrics > ColumnPositions
bool operator()(MutableColumnMetrics const &i_lhs, MutableColumnMetrics const &i_rhs)
tools::Long nEndPixel
the end of the column, in pixels, plus 1.
tools::Long nStartPixel
the start of the column, in pixels.
tools::Long getStart() const
tools::Long getEnd() const
tools::Long getWidth() const
void move(tools::Long const i_offset)
MutableColumnMetrics(tools::Long const i_startPixel, tools::Long const i_endPixel)
#define COL_INVALID
denotes an invalid column index