diff options
Diffstat (limited to 'svtools/source/table/tablegeometry.hxx')
-rw-r--r-- | svtools/source/table/tablegeometry.hxx | 44 |
1 files changed, 27 insertions, 17 deletions
diff --git a/svtools/source/table/tablegeometry.hxx b/svtools/source/table/tablegeometry.hxx index 3ddde0c98c64..fedc7cb2f24f 100644 --- a/svtools/source/table/tablegeometry.hxx +++ b/svtools/source/table/tablegeometry.hxx @@ -27,13 +27,9 @@ #ifndef SVTOOLS_TABLEGEOMETRY_HXX #define SVTOOLS_TABLEGEOMETRY_HXX -#ifndef SVTOOLS_INC_TABLE_TABLETYPES_HXX -#include <svtools/table/tabletypes.hxx> -#endif +#include "svtools/table/tabletypes.hxx" -#ifndef _SV_GEN_HXX #include <tools/gen.hxx> -#endif //........................................................................ namespace svt { namespace table @@ -79,18 +75,25 @@ namespace svt { namespace table { protected: RowPos m_nRowPos; + bool m_bAllowVirtualRows; public: TableRowGeometry( - const TableControl_Impl& _rControl, - const Rectangle& _rBoundaries, - RowPos _nRow + TableControl_Impl const & _rControl, + Rectangle const & _rBoundaries, + RowPos const _nRow, + bool const i_allowVirtualRows = false + // allow rows >= getRowCount()? ); // status RowPos getRow() const { return m_nRowPos; } // operations bool moveDown(); + + private: + void impl_initRect(); + bool impl_isValidRow( RowPos const i_row ) const; }; //==================================================================== @@ -100,18 +103,24 @@ namespace svt { namespace table { protected: ColPos m_nColPos; + bool m_bAllowVirtualColumns; public: TableColumnGeometry( - const TableControl_Impl& _rControl, - const Rectangle& _rBoundaries, - ColPos _nCol + TableControl_Impl const & _rControl, + Rectangle const & _rBoundaries, + ColPos const _nCol, + bool const i_allowVirtualColumns = false ); // status ColPos getCol() const { return m_nColPos; } // operations bool moveRight(); + + private: + void impl_initRect(); + bool impl_isValidColumn( ColPos const i_column ) const; }; //==================================================================== @@ -127,13 +136,14 @@ namespace svt { namespace table public: TableCellGeometry( - const TableControl_Impl& _rControl, - const Rectangle& _rBoundaries, - ColPos _nCol, - RowPos _nRow + TableControl_Impl const & _rControl, + Rectangle const & _rBoundaries, + ColPos const _nCol, + RowPos const _nRow, + bool const i_alllowVirtualCells = false ) - :m_aRow( _rControl, _rBoundaries, _nRow ) - ,m_aCol( _rControl, _rBoundaries, _nCol ) + :m_aRow( _rControl, _rBoundaries, _nRow, i_alllowVirtualCells ) + ,m_aCol( _rControl, _rBoundaries, _nCol, i_alllowVirtualCells ) { } |