Class clove::NativeDatasource

class clove::NativeDatasource : public clove::Datasource, public clove::Headersource

A clove::Datasource implementation which stores all data in-memory.

It provides an interface for populating it with data and can directly be constructed and used. It also implements clove::Headersource, so it can also carry row and column header configurations.

Public Functions

NativeDatasource(config)

The configuration object allows the following keys:

  • readonly: If this datasource may be changed from outside.

  • rowHeadersVisible: If row headers shall be visible in presentation.

  • columnHeadersVisible: If column headers shall be visible in presentation.

    Parameters
    • config: A configuration object.

root()

The root node as clove::NativeDatasourceValue.

valuePointerToNativeNode(ptr)

Returns the clove::NativeDatasourceValue for a node.

Parameters

insertRow(ir, parent)

Inserts a new empty row.

Parameters

insertColumn(ic, parent)

Inserts a new empty column.

Parameters

appendRow(parent)

Appends a new empty row (like inserting to the end).

Parameters

appendColumn(parent)

Appends a new empty column (like inserting to the end).

Parameters

removeRow(ir, parent)

Removes a row.

Parameters

removeColumn(ic, parent)

Removes a column.

Parameters

setValue(ptr, value)

Sets a new value to a node.

Parameters

setRootValue(value)

Sets a new value to the root node.

This is just a shorter variant of setValue(undefined, value) (for scalar usage).

Parameters
  • value: The new node value.

setMetadata(ptr, key, value)

Sets a metadata key for a node.

Parameters

setRowHeader(irow, parent, headercfg)

Sets a row header configuration.

Parameters

setColumnHeader(icol, parent, headercfg)

Sets a column header configuration.

Parameters

getValue(ptr)

Returns the value for a given node.

Parameters

getMetadata(ptr)

Returns an object of metadata information (like icons, status infos used for styling, …). Optional.

Parameters

changeValue(ptr, value)

Change the value for a given node.

This method is called from external places, e.g. when a user makes changes in a datasource-connected widget.

Parameters

rowCount(parent)

Returns the number of rows for a given node.

Parameters

columnCount(parent)

Returns the number of columns for a given node.

Parameters

valuePointer(irow, icol, parent)

Constructs and returns a clove::DatasourceValuePointer for a given node.

Parameters

parent(ptr)

Returns the parent node for a given node.

Parameters

valuePointerNavigateInDepth(ptr, direction, mayexpandfct)

Returns a clove::DatasourceValuePointer resulting in the original one by navigation in depth.

Parameters
  • ptr: A node as clove::DatasourceValuePointer.

  • direction: The direction (+1 or -1).

  • mayexpandfct: A function(ptr) which returns true iff this node’s children are to be traversed.

OnDataInsert

Triggered when a node insertion takes place.

This is a clove.Event instance. See Manual for details.

OnDataRemove

Triggered when a node removal takes place.

This is a clove.Event instance. See Manual for details.

OnDataUpdate

Triggered when a node data update takes place.

This is a clove.Event instance. See Manual for details.

getRowHeader(irow, parent)

Returns the header configuration for a given row.

Parameters

getColumnHeader(irow, parent)

Returns the header configuration for a given column.

Parameters

rowHeadersVisible(parent)

If row headers are visible.

Parameters

columnHeadersVisible(parent)

If column headers are visible.

Parameters

OnHeaderDataInsert

Triggered when a new row or column of header data was inserted.

This is a clove.Event instance. See Manual for details.

OnHeaderDataRemove

Triggered when a row or column of header data was removed.

This is a clove.Event instance. See Manual for details.

OnHeaderDataUpdate

Triggered when header data were updated.

This is a clove.Event instance. See Manual for details.

OnHeaderVisibilityUpdated

Triggered when header visibilities changed.

This is a clove.Event instance. See Manual for details.