spinetoolbox.widgets.custom_qtableview

Custom QTableView classes that support copy-paste and the like.

author:
  1. Marin (KTH)
date:

18.5.2018

Module Contents

class spinetoolbox.widgets.custom_qtableview.CopyPasteTableView[source]

Bases: PySide2.QtWidgets.QTableView

Custom QTableView class with copy and paste methods.

keyPressEvent(self, event)[source]

Copy and paste to and from clipboard in Excel-like format.

delete_content(self)[source]

Delete content from editable indexes in current selection.

copy(self)[source]

Copy current selection to clipboard in excel format.

canPaste(self)[source]
paste(self)[source]

Paste data from clipboard.

static _read_pasted_text(text)[source]

Parses a tab separated CSV text table.

Parameters:text (str) – a CSV formatted table
Returns:a list of rows
paste_on_selection(self)[source]

Paste clipboard data on selection, but not beyond. If data is smaller than selection, repeat data to fit selection.

paste_normal(self)[source]

Paste clipboard data, overwriting cells if needed

class spinetoolbox.widgets.custom_qtableview.PivotTableView(parent=None)[source]

Bases: spinetoolbox.widgets.custom_qtableview.CopyPasteTableView

Custom QTableView class with pivot capabilities.

parent

The parent of this view

Type:QWidget

Initialize the class.

class spinetoolbox.widgets.custom_qtableview.AutoFilterCopyPasteTableView(parent)[source]

Bases: spinetoolbox.widgets.custom_qtableview.CopyPasteTableView

Custom QTableView class with autofilter functionality.

parent

The parent of this view

Type:QWidget

Initializes the view.

Parameters:parent (QObject) –
keyPressEvent(self, event)[source]

Shows the autofilter menu if the user presses Alt + Down.

Parameters:event (QEvent) –
setModel(self, model)[source]

Disconnects the sectionPressed signal which seems to be connected by the super method. Otherwise pressing the header just selects the column.

Parameters:model (QAbstractItemModel) –
show_auto_filter_menu(self, logical_index)[source]

Called when user clicks on a horizontal section header. Shows/hides the auto filter widget.

Parameters:logical_index (int) –
class spinetoolbox.widgets.custom_qtableview.IndexedParameterValueTableViewBase[source]

Bases: spinetoolbox.widgets.custom_qtableview.CopyPasteTableView

Custom QTableView base class with copy and paste methods for indexed parameter values.

copy(self)[source]

Copy current selection to clipboard in CSV format.

static _read_pasted_text(text)[source]

Reads CSV formatted table.

paste(self)[source]

Pastes data from clipboard to selection.

static _range(indexes)[source]

Returns the top left and bottom right corners of selected model indexes.

Parameters:indexes (list) – a list of selected QModelIndex objects
Returns:a tuple (top row, bottom row, left column, right column)
_select_pasted(self, indexes)[source]

Selects the given model indexes.

class spinetoolbox.widgets.custom_qtableview.TimeSeriesFixedResolutionTableView[source]

Bases: spinetoolbox.widgets.custom_qtableview.IndexedParameterValueTableViewBase

A QTableView for fixed resolution time series table.

paste(self)[source]

Pastes data from clipboard.

static _read_pasted_text(text)[source]

Parses the given CSV table.

Parsing is locale aware.

Parameters:text (str) – a CSV table containing numbers
Returns:A list of floats
_paste_to_values_column(self, values, first_row, paste_length)[source]

Pastes data to the Values column.

Parameters:
  • values (list) – a list of float values to paste
  • first_row (int) – index of the first row where to paste
  • paste_length (int) – length of the paste selection (can be different from len(values))
Returns:

A tuple (list(pasted indexes), list(pasted values))

class spinetoolbox.widgets.custom_qtableview.IndexedValueTableView[source]

Bases: spinetoolbox.widgets.custom_qtableview.IndexedParameterValueTableViewBase

A QTableView class with for variable resolution time series and time patterns.

paste(self)[source]

Pastes data from clipboard.

_paste_two_columns(self, data_indexes, data_values, first_row, paste_length)[source]

Pastes data indexes and values.

Parameters:
  • data_indexes (list) – a list of data indexes (time stamps/durations)
  • data_values (list) – a list of data values
  • first_row (int) – first row index
  • paste_length (int) – selection length for pasting
Returns:

a tuple (modified model indexes, modified model values)

_paste_single_column(self, values, first_row, first_column, paste_length)[source]

Pastes a single column of data

Parameters:
  • values (list) – a list of data to paste (data indexes or values)
  • first_row (int) – first row index
  • paste_length (int) – selection length for pasting
Returns:

a tuple (modified model indexes, modified model values)

static _read_pasted_text(text)[source]

Parses a given CSV table

Parameters:text (str) – a CSV table
Returns:a tuple (data indexes, data values)