1 from pyforms.gui.Controls.ControlBase import ControlBase
2 from PyQt4 import uic
3 from PyQt4 import QtGui, QtCore
7
39
40
41
42 @property
44 @model.setter
46 self._model = value
47 self._form.setModel(value)
48
50
52
53
55
59
60 @property
62 result = []
63 for index in self._form.selectedIndexes():
64 result.append( index.row() )
65 return list( set(result) )
66
67
68 @property
73
74 @property
76 for index in self._form.selectedIndexes():
77 item = index.model().itemFromIndex(index)
78 return item
79 else:
80 return None
81
82 @property
84 results = []
85 for row in range(self._model.rowCount()):
86 r = []
87 for col in range(self._model.columnCount()):
88 r.append( self._model.item(row, col) )
89 if len(r)>0: results.append(r)
90
91
92 return results
93
94
96 if isinstance(other, TreeItem):
97 self._model.invisibleRootItem().appendRow( other )
98
99 elif isinstance(other, list):
100 for x in other:
101 item = QtGui.QStandardItem( x )
102 self._model.appendRow( item )
103 else:
104 item = QtGui.QStandardItem( other )
105 self._model.appendRow( item )
106
107 self._form.setFirstColumnSpanned(self._model.rowCount()-1, self._form.rootIndex(), True)
108 return self
109
111 if isinstance(other, int):
112 if other < 0:
113 indexToRemove = self.mouseSelectedRowIndex
114 else:
115 indexToRemove = other
116 self.model.removeRow(indexToRemove)
117 return self
118
119
120
121 @property
123 return self._form.model().invisibleRootItem()
124 return self.recursivelyReadRoot(root)
125
126 @value.setter
128 for row in value: self += row
129
130
132