Coverage for larch/qtrixs/model.py: 0%
22 statements
« prev ^ index » next coverage.py v7.6.0, created at 2024-10-16 21:04 +0000
« prev ^ index » next coverage.py v7.6.0, created at 2024-10-16 21:04 +0000
1#!/usr/bin/env python
2# coding: utf-8
3"""
4RIXS data model
5"""
6from silx.gui import qt
7from larch.qtlib.model import TreeModel
10class RixsTreeModel(TreeModel):
11 """TreeModel customized for RIXS"""
13 def __init__(self, parent=None):
15 super(RixsTreeModel, self).__init__(parent=parent)
18class RixsListModel(qt.QAbstractListModel):
19 """Simple ListModel used in larch.qtrixs.plotrixs.RixsMainWindow"""
21 def __init__(self, *args, data=None, **kwargs):
22 """Constructor"""
24 super(RixsListModel, self).__init__(*args, **kwargs)
25 self._data = data or []
27 def data(self, index, role):
28 if role == qt.Qt.DisplayRole:
29 row = index.row()
30 rd = self._data[row]
31 _name = "{0}: {1}".format(row, rd.sample_name)
32 return _name
34 def rowCount(self, index):
35 return len(self._data)
37 def appendRow(self, rxobj):
38 self._data.append(rxobj)
39 self.layoutChanged.emit()
42if __name__ == '__main__':
43 pass