LibreOffice Module sc (master)  1
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Attributes | List of all members
ScDBRangeBase Class Referenceabstract

Base class for abstracting range data backends for database functions. More...

#include <doubleref.hxx>

Inheritance diagram for ScDBRangeBase:
[legend]
Collaboration diagram for ScDBRangeBase:
[legend]

Public Member Functions

 ScDBRangeBase ()=delete
 
virtual ~ScDBRangeBase ()=0
 
bool fillQueryEntries (ScQueryParamBase *pParam, const ScDBRangeBase *pDBRef) const
 
virtual SCCOL getColSize () const =0
 
virtual SCROW getRowSize () const =0
 
virtual SCSIZE getVisibleDataCellCount () const =0
 
virtual OUString getString (SCCOL nCol, SCROW nRow) const =0
 Get a string value of a specified cell position. More...
 
virtual SCCOL getFirstFieldColumn () const =0
 
virtual SCCOL findFieldColumn (SCCOL nIndex) const =0
 Get a 0-based column index that corresponds with the passed field index. More...
 
virtual SCCOL findFieldColumn (const OUString &rStr, FormulaError *pErr=nullptr) const =0
 
virtual std::unique_ptr< ScDBQueryParamBasecreateQueryParam (const ScDBRangeBase *pQueryRef) const =0
 
virtual bool isRangeEqual (const ScRange &rRange) const =0
 

Protected Member Functions

 ScDBRangeBase (ScDocument *pDoc)
 
ScDocumentgetDoc () const
 

Static Protected Member Functions

static void fillQueryOptions (ScQueryParamBase *pParam)
 Populate query options that are always the same for all database queries. More...
 

Private Attributes

ScDocumentmpDoc
 

Detailed Description

Base class for abstracting range data backends for database functions.

Definition at line 38 of file doubleref.hxx.

Constructor & Destructor Documentation

ScDBRangeBase::ScDBRangeBase ( )
delete
ScDBRangeBase::~ScDBRangeBase ( )
pure virtual

Definition at line 254 of file doubleref.cxx.

ScDBRangeBase::ScDBRangeBase ( ScDocument pDoc)
protected

Definition at line 249 of file doubleref.cxx.

Member Function Documentation

virtual std::unique_ptr<ScDBQueryParamBase> ScDBRangeBase::createQueryParam ( const ScDBRangeBase pQueryRef) const
pure virtual

Implemented in ScDBExternalRange, and ScDBInternalRange.

bool ScDBRangeBase::fillQueryEntries ( ScQueryParamBase pParam,
const ScDBRangeBase pDBRef 
) const

Definition at line 258 of file doubleref.cxx.

References getDoc().

Referenced by ScDBInternalRange::createQueryParam(), and ScDBExternalRange::createQueryParam().

void ScDBRangeBase::fillQueryOptions ( ScQueryParamBase pParam)
staticprotected
virtual SCCOL ScDBRangeBase::findFieldColumn ( SCCOL  nIndex) const
pure virtual

Get a 0-based column index that corresponds with the passed field index.

Note that the field index passed as the 1st parameter is 1-based.

Parameters
nIndex1-based field index.
Returns
0-based column index

Implemented in ScDBExternalRange, and ScDBInternalRange.

virtual SCCOL ScDBRangeBase::findFieldColumn ( const OUString &  rStr,
FormulaError pErr = nullptr 
) const
pure virtual

Implemented in ScDBExternalRange, and ScDBInternalRange.

virtual SCCOL ScDBRangeBase::getColSize ( ) const
pure virtual

Implemented in ScDBExternalRange, and ScDBInternalRange.

ScDocument* ScDBRangeBase::getDoc ( ) const
inlineprotected
virtual SCCOL ScDBRangeBase::getFirstFieldColumn ( ) const
pure virtual

Implemented in ScDBExternalRange, and ScDBInternalRange.

virtual SCROW ScDBRangeBase::getRowSize ( ) const
pure virtual

Implemented in ScDBExternalRange, and ScDBInternalRange.

virtual OUString ScDBRangeBase::getString ( SCCOL  nCol,
SCROW  nRow 
) const
pure virtual

Get a string value of a specified cell position.

Note that the position of the upper left cell of the range is always (0, 0) even if the reference type is of internal range.

Parameters
nColcolumn position (0 to column size-1)
nRowrow position (0 to row size-1)

Implemented in ScDBExternalRange, and ScDBInternalRange.

virtual SCSIZE ScDBRangeBase::getVisibleDataCellCount ( ) const
pure virtual

Implemented in ScDBExternalRange, and ScDBInternalRange.

virtual bool ScDBRangeBase::isRangeEqual ( const ScRange rRange) const
pure virtual

Implemented in ScDBExternalRange, and ScDBInternalRange.

Member Data Documentation

ScDocument* ScDBRangeBase::mpDoc
private

Definition at line 88 of file doubleref.hxx.

Referenced by getDoc().


The documentation for this class was generated from the following files: