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

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 

8 

9 

10class RixsTreeModel(TreeModel): 

11 """TreeModel customized for RIXS""" 

12 

13 def __init__(self, parent=None): 

14 

15 super(RixsTreeModel, self).__init__(parent=parent) 

16 

17 

18class RixsListModel(qt.QAbstractListModel): 

19 """Simple ListModel used in larch.qtrixs.plotrixs.RixsMainWindow""" 

20 

21 def __init__(self, *args, data=None, **kwargs): 

22 """Constructor""" 

23 

24 super(RixsListModel, self).__init__(*args, **kwargs) 

25 self._data = data or [] 

26 

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 

33 

34 def rowCount(self, index): 

35 return len(self._data) 

36 

37 def appendRow(self, rxobj): 

38 self._data.append(rxobj) 

39 self.layoutChanged.emit() 

40 

41 

42if __name__ == '__main__': 

43 pass