# -*- 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 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