Kanzi Connect  3.9.8
Kanzi Connect C++ API
kanzi::connect::SortFilterProxyDataSourceAbs Class Reference

Implements a proxy data source which fetches content from another data source and provides callbacks to subclasses for filtering and sorting. More...

#include <sort_filter_proxy_datasource_abs.hpp>

Inheritance diagram for kanzi::connect::SortFilterProxyDataSourceAbs:
kanzi::connect::SortFilterDataObjectList::SortFilterInterface kanzi::connect::DefaultSortFilterDataSource

Public Member Functions

virtual DataObjectSharedPtr getData () override
 
 KZ_METACLASS_END ()
 
virtual void unloadOverride ()
 
virtual ~SortFilterProxyDataSourceAbs () override
 dtor More...
 

Static Public Attributes

static PropertyType< string > ItemSourceProperty
 
static PropertyType< ResourceSharedPtrOriginalDataContextProperty
 

Protected Member Functions

size_t getColumnCount () const
 How many columns (fields) the list item has. More...
 
string getStringValueFromColumnFieldItem (DataObjectSharedPtr item) const
 Convenience function to get value in string format from DataObject. More...
 
string getStringValueFromListItem (const DataObjectSharedPtr listItem, unsigned int column) const
 Convenience function to get value in string format from given list item. More...
 
virtual bool isIncluded (const DataObjectSharedPtr &object) const override
 Subclasses may override this to implement filtering functionality. More...
 
virtual bool isLessThan (const DataObjectSharedPtr &lhs, const DataObjectSharedPtr &rhs) const override
 Subclasses may override this to implement sorting functionality. More...
 
virtual void onLoaded () override
 Called by Kanzi after loading the KZB file of the application. More...
 
virtual void onOriginalDataSourceChangedOverride ()
 Subclasses may override this to get event that the original data source has changed and may do validation on sort/filter conditions. More...
 
void refreshFiltering ()
 Request filtering and then sorting the list contents. More...
 
void refreshSorting ()
 Request resorting the list contents. More...
 
 SortFilterProxyDataSourceAbs (Domain *domain, string_view name)
 Constructor. More...
 

Static Protected Member Functions

static const DataObjectSharedPtr findColumnItemFromListItem (const DataObjectSharedPtr listItem, unsigned int column)
 Find the data object that contains the value within individual list item. More...
 

Detailed Description

Implements a proxy data source which fetches content from another data source and provides callbacks to subclasses for filtering and sorting.

Constructor & Destructor Documentation

◆ ~SortFilterProxyDataSourceAbs()

virtual kanzi::connect::SortFilterProxyDataSourceAbs::~SortFilterProxyDataSourceAbs ( )
overridevirtual

dtor

◆ SortFilterProxyDataSourceAbs()

kanzi::connect::SortFilterProxyDataSourceAbs::SortFilterProxyDataSourceAbs ( Domain *  domain,
string_view  name 
)
explicitprotected

Constructor.

Member Function Documentation

◆ findColumnItemFromListItem()

static const DataObjectSharedPtr kanzi::connect::SortFilterProxyDataSourceAbs::findColumnItemFromListItem ( const DataObjectSharedPtr  listItem,
unsigned int  column 
)
staticprotected

Find the data object that contains the value within individual list item.

Parameters
listItemThe list item which contains the value items as children
columnIdentifies which child to return
Returns
The data object that contains the wanted value

◆ getColumnCount()

size_t kanzi::connect::SortFilterProxyDataSourceAbs::getColumnCount ( ) const
protected

How many columns (fields) the list item has.

Returns
The column count

◆ getData()

virtual DataObjectSharedPtr kanzi::connect::SortFilterProxyDataSourceAbs::getData ( )
overridevirtual
See also
kanzi::DataSource

◆ getStringValueFromColumnFieldItem()

string kanzi::connect::SortFilterProxyDataSourceAbs::getStringValueFromColumnFieldItem ( DataObjectSharedPtr  item) const
protected

Convenience function to get value in string format from DataObject.

Parameters
itemThe DataObject that has a value
Returns
The value in string format

◆ getStringValueFromListItem()

string kanzi::connect::SortFilterProxyDataSourceAbs::getStringValueFromListItem ( const DataObjectSharedPtr  listItem,
unsigned int  column 
) const
protected

Convenience function to get value in string format from given list item.

Parameters
listItemThe list item which contains the value
columnSpecifies the column withing the list item
Returns
The value in string format

◆ isIncluded()

virtual bool kanzi::connect::SortFilterProxyDataSourceAbs::isIncluded ( const DataObjectSharedPtr &  object) const
overrideprotectedvirtual

Subclasses may override this to implement filtering functionality.

Parameters
objectThe data object to test
Returns
true if the object is to be included in the list

Implements kanzi::connect::SortFilterDataObjectList::SortFilterInterface.

Reimplemented in kanzi::connect::DefaultSortFilterDataSource.

◆ isLessThan()

virtual bool kanzi::connect::SortFilterProxyDataSourceAbs::isLessThan ( const DataObjectSharedPtr &  lhs,
const DataObjectSharedPtr &  rhs 
) const
overrideprotectedvirtual

Subclasses may override this to implement sorting functionality.

Parameters
lhsThe left side of <
rhsThe right side of <
Returns
True if lhs < rhs

Implements kanzi::connect::SortFilterDataObjectList::SortFilterInterface.

Reimplemented in kanzi::connect::DefaultSortFilterDataSource.

◆ KZ_METACLASS_END()

kanzi::connect::SortFilterProxyDataSourceAbs::KZ_METACLASS_END ( )

◆ onLoaded()

virtual void kanzi::connect::SortFilterProxyDataSourceAbs::onLoaded ( )
overrideprotectedvirtual

Called by Kanzi after loading the KZB file of the application.

◆ onOriginalDataSourceChangedOverride()

virtual void kanzi::connect::SortFilterProxyDataSourceAbs::onOriginalDataSourceChangedOverride ( )
protectedvirtual

Subclasses may override this to get event that the original data source has changed and may do validation on sort/filter conditions.

Reimplemented in kanzi::connect::DefaultSortFilterDataSource.

◆ refreshFiltering()

void kanzi::connect::SortFilterProxyDataSourceAbs::refreshFiltering ( )
protected

Request filtering and then sorting the list contents.

◆ refreshSorting()

void kanzi::connect::SortFilterProxyDataSourceAbs::refreshSorting ( )
protected

Request resorting the list contents.

◆ unloadOverride()

virtual void kanzi::connect::SortFilterProxyDataSourceAbs::unloadOverride ( )
virtual
See also
kanzi::Resource

Member Data Documentation

◆ ItemSourceProperty

PropertyType<string> kanzi::connect::SortFilterProxyDataSourceAbs::ItemSourceProperty
static

◆ OriginalDataContextProperty

PropertyType<ResourceSharedPtr> kanzi::connect::SortFilterProxyDataSourceAbs::OriginalDataContextProperty
static

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