forked from M-Labs/artiq
draft export_list extend
parent
2e48426bf7
commit
784cac4d48
|
@ -868,11 +868,22 @@ class MoninjTreeWidget(pg.TreeWidget):
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def add_widget(self, widget):
|
def _find_group(self, group):
|
||||||
|
for i in range(self.topLevelItemCount()):
|
||||||
|
item = self.topLevelItem(i)
|
||||||
|
if item.text(0) == group:
|
||||||
|
return item
|
||||||
|
return self.invisibleRootItem()
|
||||||
|
|
||||||
|
def add_widget(self, widget, group=None):
|
||||||
item = pg.TreeWidgetItem()
|
item = pg.TreeWidgetItem()
|
||||||
item.setFlags(item.flags() & ~QtCore.Qt.ItemFlag.ItemIsDropEnabled)
|
item.setFlags(item.flags() & ~QtCore.Qt.ItemFlag.ItemIsDropEnabled)
|
||||||
self._widgets[widget.uid] = widget
|
self._widgets[widget.uid] = widget
|
||||||
self.addTopLevelItem(item)
|
if group is None:
|
||||||
|
self.addTopLevelItem(item)
|
||||||
|
else:
|
||||||
|
group_item = self._find_group(group)
|
||||||
|
group_item.addChild(item)
|
||||||
self.setItemWidget(item, 0, widget)
|
self.setItemWidget(item, 0, widget)
|
||||||
|
|
||||||
def _remove_item_action(self):
|
def _remove_item_action(self):
|
||||||
|
@ -906,13 +917,30 @@ class MoninjTreeWidget(pg.TreeWidget):
|
||||||
self.remove_widget(child)
|
self.remove_widget(child)
|
||||||
|
|
||||||
def extend(self, d):
|
def extend(self, d):
|
||||||
pass
|
for item in d:
|
||||||
|
if isinstance(item, dict):
|
||||||
def clear(self):
|
self.add_group(item["name"])
|
||||||
pass
|
for widget in item["widgets"]:
|
||||||
|
self.add_widget(widget, group=item["name"])
|
||||||
|
else:
|
||||||
|
self.add_widget(item)
|
||||||
|
|
||||||
def export_list(self):
|
def export_list(self):
|
||||||
pass
|
export_list = list()
|
||||||
|
for i in range(self.topLevelItemCount()):
|
||||||
|
item = self.topLevelItem(i)
|
||||||
|
widget = self.itemWidget(item, 0)
|
||||||
|
if widget is None:
|
||||||
|
group = dict()
|
||||||
|
group["name"] = item.text(0)
|
||||||
|
group["widgets"] = list()
|
||||||
|
for j in item.childCount():
|
||||||
|
child = item.child(j)
|
||||||
|
widget = self.itemWidget(child, 0)
|
||||||
|
group["widgets"].append(widget.uid)
|
||||||
|
export_list.append(group)
|
||||||
|
else:
|
||||||
|
export_list.append(widget.uid)
|
||||||
|
|
||||||
|
|
||||||
class MonInjDock(QtWidgets.QDockWidget):
|
class MonInjDock(QtWidgets.QDockWidget):
|
||||||
|
|
Loading…
Reference in New Issue