def open_menu(self, pos): menu = QMenu() item = self.itemAt(pos) parent, item_type = self._get_toplevel_item(item) # ---- Refresh the selected item action refresh_action = QAction('Refresh', self) refresh_action.setToolTip(self.tooltips['Refresh']) refresh_action.triggered.connect(lambda: self.refresh_items(parent)) # ---- Refresh all items action refresh_all_action = QAction('Refresh all', self) refresh_all_action.setToolTip(self.tooltips['Refresh all']) refresh_all_action.triggered.connect(lambda: self.refresh_items()) # ---- add refresh actions menu.addActions([refresh_action, refresh_all_action]) # ---- add plot option if item_type == 'variable': add2p_action = QAction('Add to project', self) add2p_action.setToolTip(self.tooltips['Add to project']) add2p_action.triggered.connect( lambda: self.make_plot(parent.ds(), item.text(0), True)) menu.addSeparator() menu.addAction(add2p_action) # ---- show menu menu.exec_(self.mapToGlobal(pos)) return menu
def open_menu(self, position): """Open a menu to expand and collapse all items in the tree Parameters ---------- position: QPosition The position where to open the menu""" menu = QMenu() expand_all_action = QAction('Expand all', self) expand_all_action.triggered.connect(self.expandAll) menu.addAction(expand_all_action) collapse_all_action = QAction('Collapse all', self) collapse_all_action.triggered.connect(self.collapseAll) menu.addAction(collapse_all_action) menu.exec_(self.viewport().mapToGlobal(position))