spinetoolbox.spine_db_editor.mvcmodels.metadata_table_model_base

Contains base class for metadata table models associated functionality.

Module Contents

Classes

Column

Identifiers for visible table columns.

MetadataTableModelBase

Base for metadata table models

Attributes

FLAGS_FIXED

FLAGS_EDITABLE

class spinetoolbox.spine_db_editor.mvcmodels.metadata_table_model_base.Column[source]

Bases: enum.IntEnum

Identifiers for visible table columns.

Initialize self. See help(type(self)) for accurate signature.

NAME = 0[source]
VALUE = 1[source]
DB_MAP = 2[source]
static max()[source]
spinetoolbox.spine_db_editor.mvcmodels.metadata_table_model_base.FLAGS_FIXED[source]
spinetoolbox.spine_db_editor.mvcmodels.metadata_table_model_base.FLAGS_EDITABLE[source]
class spinetoolbox.spine_db_editor.mvcmodels.metadata_table_model_base.MetadataTableModelBase(db_mngr, db_maps, db_editor)[source]

Bases: PySide6.QtCore.QAbstractTableModel

Base for metadata table models

Parameters
  • db_mngr (SpineDBManager) – database manager

  • db_maps (Iterable of DatabaseMapping) – database maps

  • db_editor (SpineDBEditor) – DB editor

msg_error[source]

Emitted when an error occurs.

_HEADER = ('name', 'value', 'database')[source]
_ITEM_NAME_KEY[source]
_ITEM_VALUE_KEY[source]
classmethod _make_adder_row(default_db_map)[source]

Generates a new empty last row.

Parameters

default_db_map (DiffDatabaseMapping) – initial database mapping

Returns

empty row

Return type

list

abstract static _make_hidden_adder_columns()[source]

Creates hidden extra columns for adder row.

Returns

extra columns

Return type

list

set_db_maps(db_maps)[source]

Changes current database mappings.

Parameters

db_maps (Iterable of DiffDatabaseMapping) – database mappings

abstract _fetch_parents()[source]

Yields fetch parents for this model.

Yields

FetchParent

canFetchMore(_)[source]
fetchMore(_)[source]
rowCount(parent=QModelIndex())[source]
columnCount(parent=QModelIndex())[source]
data(index, role=Qt.ItemDataRole.DisplayRole)[source]
abstract _add_data_to_db_mngr(name, value, db_map)[source]

Tells database manager to start adding data.

Parameters
  • name (str) – metadata name

  • value (str) – metadata value

  • db_map (DiffDatabaseMapping) – database mapping

abstract _update_data_in_db_mngr(id_, name, value, db_map)[source]

Tells database manager to start updating data.

Parameters
  • id (int) – database id

  • name (str) – metadata name

  • value (str) – metadata value

  • db_map (DiffDatabaseMapping) – database mapping

setData(index, value, role=Qt.ItemDataRole.EditRole)[source]
batch_set_data(indexes, values)[source]

Sets data in multiple indexes simultaneously.

Parameters
  • indexes (Iterable of QModelIndex) – indexes to set

  • values (Iterable of str) – values corresponding to indexes

headerData(section, orientation, role=Qt.ItemDataRole.DisplayRole)[source]
insertRows(row, count, parent=QModelIndex())[source]
abstract _database_table_name()[source]

Returns primary database table name.

Returns

table name

Return type

str

abstract _row_id(row)[source]

Returns a unique row id.

Parameters

row (list) – data table row

Returns

id or None

Return type

int

removeRows(first, count, parent=QModelIndex())[source]
abstract static _ids_from_added_item(item)[source]

Returns ids that uniquely identify an added database item.

Parameters

item (dict) – added item

Returns

unique identifier

Return type

Any

abstract static _extra_cells_from_added_item(item)[source]

Constructs extra cells for data row from added database item.

Parameters

item (dict) – added item

Returns

extra cells

Return type

list

abstract _set_extra_columns(row, ids)[source]

Sets extra columns for data row.

Parameters
  • row (list) – data row

  • ids (Any) –

_add_data(db_map_data)[source]

Adds new data from database manager to the model.

Parameters

db_map_data (dict) – added items keyed by database mapping

_update_data(db_map_data, id_column)[source]

Update data table after database update.

Parameters
  • db_map_data (dict) – updated items keyed by database mapping

  • id_column (int) – column that contains item ids

_remove_data(db_map_data, id_column)[source]

Removes data from model after it has been removed from databases.

Parameters
  • db_map_data (dict) – removed items keyed by database mapping

  • id_column (int) – column that contains item ids

sort(column, order=Qt.AscendingOrder)[source]
_find_db_map(codename)[source]

Finds database mapping with given codename.

Parameters

codename (str) – database mapping’s code name

Returns

database mapping or None if not found

Return type

DiffDatabaseMapping

_reserved_metadata()[source]

Collects metadata names and values that are already in database.

Returns

mapping from database mapping to metadata name and value

Return type

dict