QTreeView.__init__(self, parent)
self.setItemsExpandable(True)
- self.setRootIsDecorated(False)
+ self.setRootIsDecorated(True)
self.setAlternatingRowColors(True)
self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
+ self.setAttribute(Qt.WA_MacShowFocusRect, 0)
class TreeItem:
def __init__(self, data, parent=None):
self.childItems = []
def clear(self):
- print "TODO: TreeItem.clear()"
for child in self.childItems:
child.clear()
del child
return self.rootItem.data(section)
return QVariant()
+ def flags(self, index):
+ if not index.isValid():
+ return 0
+ return Qt.ItemIsEnabled | Qt.ItemIsSelectable
+
def index(self, row, column, parent):
if not self.hasIndex(row, column, parent):
return QModelIndex()
self.updateView()
def updateView(self):
+ self.nodeModel.clear()
rspec_string = self.readSliceRSpec()
networks = rspec_get_networks(rspec_string)
networkItem = TreeItem([QString(network), QString("")], self.nodeModel.rootItem)
all_nodes = rspec_get_nodes_from_network(rspec_string, network)
- for node in all_nodes:
+ sliver_nodes = rspec_get_sliver_nodes_from_network(rspec_string, network)
+ available_nodes = filter(lambda x:x not in sliver_nodes, all_nodes)
+
+ for node in sliver_nodes:
+ nodeItem = TreeItem([QString(""), QString("%s (selected)" % node)], networkItem)
+ networkItem.appendChild(nodeItem)
+
+ for node in available_nodes:
nodeItem = TreeItem([QString(""), QString(node)], networkItem)
networkItem.appendChild(nodeItem)