Source code for sciplot.ui.models.abstract

# -*- coding: utf-8 -*-
"""

Abstract ModelViewDelegate for MPL objects

Created on Thu Jul  7 10:01:23 2016

@author: chc
"""

from PyQt5.QtWidgets import (QApplication as _QApplication,
                             QMainWindow as _QMainWindow,
                             QColorDialog as _QColorDialog,
                             QDoubleSpinBox as _QDoubleSpinBox,
                             QComboBox as _QComboBox,
                             QLineEdit as _QLineEdit,
                             QStyledItemDelegate as _QStyledItemDelegate,
                             QTableView as _QTableView,
                             QSizePolicy as _QSizePolicy)

from PyQt5.QtCore import (QAbstractTableModel as _QAbstractTableModel,
                          QVariant as _QVariant,
                          QObject as _QObject,
                          pyqtSignal as _pyqtSignal,
                          QModelIndex as _QModelIndex,
                          Qt as _Qt)


[docs]class AbstractTableModelMpl(_QAbstractTableModel, _QObject):
[docs] def rowCount(self, parent=_QModelIndex()): return len(self._model_data)
[docs] def columnCount(self, parent=_QModelIndex()): return len(self.headers)
[docs] def headerData(self, col, orientation, role): if orientation == _Qt.Horizontal and role == _Qt.DisplayRole: return self.headers[col] return _QVariant()
[docs] def doubleClickCheck(self, index): raise NotImplementedError
[docs] def deleteData(self, index): self.setData(index, True)
[docs] def data(self, index, role=_Qt.DisplayRole): raise NotImplementedError
[docs] def setData(self, index, value, role=_Qt.EditRole): raise NotImplementedError
[docs] def flags(self, index): flag = super(_QAbstractTableModel, self).flags(index) return flag | _Qt.ItemIsEditable
[docs]class AbstractEditDelegateMpl(_QStyledItemDelegate):
[docs] def createEditor(self, parent, option, index): raise NotImplementedError
[docs] def setEditorData(self, editor, index): raise NotImplementedError
[docs] def setModelData(self, editor, model, index): raise NotImplementedError