def menuContextTree(self, point): # Infos about the node selected. index = self.treeWidgetServices.indexAt(point) if not index.isValid(): return item = self.treeWidgetServices.itemAt(point) name = item.text(0) # The text of the node. # We build the menu. menu = QtWidgets.QMenu() # action = menu.addAction("Souris au-dessus de") # action = menu.addAction(name) # menu.addSeparator() if item.parent() is None: action_new_connection = menu.addAction(self.tr("New Service")) action_new_connection.triggered.connect(self.new_service) else: if item.parent().parent() is None: action_delete_connection = menu.addAction( self.tr("Remove Service")) action_delete_connection.triggered.connect(self.remove_service) else: action_run_process = menu.addAction(self.tr("Execute")) action_run_process.triggered.connect(self.execute_process) menu.exec_(self.treeWidgetServices.mapToGlobal(point))
def on_context_menu(self, point): item = self.itemAt(point) acts = [] if item is None: a1 = QtGui.QAction('Add Folder (top level)', None) a1.triggered.connect(lambda: self.addNewFolder(None)) acts.append(a1) a2 = QtGui.QAction('Delete Tree Contents completely', None) a2.triggered.connect(self.deleteAll) acts.append(a2) else: a1 = QtGui.QAction('Rename', None) a1.triggered.connect(lambda: self.renameItem(item)) acts.append(a1) if item.role == self.SHOGUN_TREE_LEAF: a2 = QtGui.QAction('Delete Leaf', None) a2.triggered.connect(lambda: self.deleteLeaf(item)) acts.append(a2) else: a2 = QtGui.QAction('New Folder (inside selected)', None) a2.triggered.connect(lambda: self.addNewFolder(item)) acts.append(a2) a3 = QtGui.QAction('Delete Folder', None) a3.triggered.connect(lambda: self.deleteLeaf(item)) acts.append(a3) menu = QtGui.QMenu() menu.addActions(acts) point = self.mapToGlobal(point) menu.exec_(point)
def initGui(self): # CREATING MASTER MENU HEAD self.rasterstats_menu = QtWidgets.QMenu( QCoreApplication.translate("RasterStats", "RasterStats")) self.iface.mainWindow().menuBar().insertMenu( self.iface.firstRightStandardMenu().menuAction(), self.rasterstats_menu) icon = QIcon( os.path.dirname(__file__) + "/icons/icon_node_to_area.png") self.open_rasterstats_action = QAction(icon, u"Compute raster statistics", self.iface.mainWindow()) self.open_rasterstats_action.triggered.connect(self.open_rasterstats) self.open_rasterstats_action.setEnabled(True) self.rasterstats_menu.addAction(self.open_rasterstats_action)
def initGui(self): # Removes temporary files self.removes_temporary_files() # CREATING MASTER MENU HEAD self.AequilibraE_menu = QtWidgets.QMenu( QCoreApplication.translate("AequilibraE", "AequilibraE")) self.iface.mainWindow().menuBar().insertMenu( self.iface.firstRightStandardMenu().menuAction(), self.AequilibraE_menu) # # ######################################################################## # # ################# NETWORK MANIPULATION SUB-MENU ####################### self.network_menu = QtWidgets.QMenu( QCoreApplication.translate("AequilibraE", "&Network Manipulation")) self.aequilibrae_add_submenu(self.network_menu) # Network preparation icon = QIcon(os.path.dirname(__file__) + "/icons/icon_network.png") self.network_prep_action = QAction(icon, u"Network Preparation", self.iface.mainWindow()) self.network_prep_action.triggered.connect(self.run_net_prep) self.network_prep_action.setEnabled(True) self.network_menu.addAction(self.network_prep_action) # Adding Connectors icon = QIcon(os.path.dirname(__file__) + "/icons/icon_network.png") self.add_connectors_action = QAction(icon, u"Adding Connectors", self.iface.mainWindow()) self.add_connectors_action.triggered.connect(self.run_add_connectors) self.add_connectors_action.setEnabled(True) self.network_menu.addAction(self.add_connectors_action) # Creating TranspoNet icon = QIcon(os.path.dirname(__file__) + "/icons/icon_network.png") self.create_transponet_action = QAction(icon, u"Create TranspoNet", self.iface.mainWindow()) self.create_transponet_action.triggered.connect( self.run_create_transponet) self.create_transponet_action.setEnabled(True) self.network_menu.addAction(self.create_transponet_action) # # ######################################################################## # # #################### DATA UTILITIES SUB-MENU ######################### self.matrix_menu = QtWidgets.QMenu( QCoreApplication.translate("AequilibraE", "&Data")) self.aequilibrae_add_submenu(self.matrix_menu) # Displaying Aequilibrae custom data formats icon = QIcon( os.path.dirname(__file__) + "/icons/icon_display_custom_formats.png") self.display_custom_formats_action = QAction( icon, u"Display AequilibraE formats", self.iface.mainWindow()) self.display_custom_formats_action.triggered.connect( self.run_display_aequilibrae_formats) self.display_custom_formats_action.setEnabled(True) self.matrix_menu.addAction(self.display_custom_formats_action) # Loading matrices icon = QIcon(os.path.dirname(__file__) + "/icons/icon_matrices.png") self.load_matrix_action = QAction(icon, u"Import matrices", self.iface.mainWindow()) self.load_matrix_action.triggered.connect(self.run_load_matrices) self.load_matrix_action.setEnabled(True) self.matrix_menu.addAction(self.load_matrix_action) # # Loading Database icon = QIcon(os.path.dirname(__file__) + "/icons/icon_dataset.png") self.load_database_action = QAction(icon, u"Import dataset", self.iface.mainWindow()) self.load_database_action.triggered.connect(self.run_load_database) self.load_database_action.setEnabled(True) self.matrix_menu.addAction(self.load_database_action) # # # ######################################################################## # # # ################## TRIP DISTRIBUTION SUB-MENU ######################## self.trip_distribution_menu = QtWidgets.QMenu( QCoreApplication.translate("AequilibraE", "&Trip Distribution")) self.aequilibrae_add_submenu(self.trip_distribution_menu) # # IPF icon = QIcon(os.path.dirname(__file__) + "/icons/icon_ipf.png") self.ipf_action = QAction(icon, u"Iterative proportional fitting", self.iface.mainWindow()) self.ipf_action.triggered.connect(self.run_ipf) self.ipf_action.setEnabled(True) self.trip_distribution_menu.addAction(self.ipf_action) # # Apply Gravity icon = QIcon( os.path.dirname(__file__) + "/icons/icon_apply_gravity.png") self.apply_gravity_action = QAction(icon, u"Apply Gravity Model", self.iface.mainWindow()) self.apply_gravity_action.triggered.connect(self.run_apply_gravity) self.apply_gravity_action.setEnabled(True) self.trip_distribution_menu.addAction(self.apply_gravity_action) # # Calibrate Gravity icon = QIcon( os.path.dirname(__file__) + "/icons/icon_calibrate_gravity.png") self.calibrate_gravity_action = QAction(icon, u"Calibrate Gravity Model", self.iface.mainWindow()) self.calibrate_gravity_action.triggered.connect( self.run_calibrate_gravity) self.calibrate_gravity_action.setEnabled(True) self.trip_distribution_menu.addAction(self.calibrate_gravity_action) # Trip Distribution icon = QIcon( os.path.dirname(__file__) + "/icons/icon_distribution.png") self.trip_distr_action = QAction(icon, u"Trip Distribution", self.iface.mainWindow()) self.trip_distr_action.triggered.connect(self.run_distribution_models) self.trip_distr_action.setEnabled(True) self.trip_distribution_menu.addAction(self.trip_distr_action) # # ######################################################################## # # ################### PATH COMPUTATION SUB-MENU ####################### self.assignment_menu = QtWidgets.QMenu( QCoreApplication.translate("AequilibraE", "&Paths and assignment")) self.aequilibrae_add_submenu(self.assignment_menu) # Graph generation icon = QIcon( os.path.dirname(__file__) + "/icons/icon_graph_creation.png") self.graph_creation_action = QAction(icon, u"Create graph", self.iface.mainWindow()) self.graph_creation_action.triggered.connect(self.run_create_graph) self.graph_creation_action.setEnabled(True) self.assignment_menu.addAction(self.graph_creation_action) # Shortest path computation icon = QIcon( os.path.dirname(__file__) + "/icons/single_shortest_path.png") self.shortest_path_action = QAction(icon, u"Shortest path", self.iface.mainWindow()) self.shortest_path_action.triggered.connect(self.run_shortest_path) self.shortest_path_action.setEnabled(True) self.assignment_menu.addAction(self.shortest_path_action) # Distance matrix generation icon = QIcon(os.path.dirname(__file__) + "/icons/icon_dist_matrix.png") self.dist_matrix_action = QAction(icon, u"Impedance matrix", self.iface.mainWindow()) self.dist_matrix_action.triggered.connect(self.run_dist_matrix) self.dist_matrix_action.setEnabled(True) self.assignment_menu.addAction(self.dist_matrix_action) # Traffic Assignment icon = QIcon(os.path.dirname(__file__) + "/icons/icon_assignment.png") self.traffic_assignment_action = QAction(icon, u"Traffic Assignment", self.iface.mainWindow()) self.traffic_assignment_action.triggered.connect( self.run_traffic_assig) self.traffic_assignment_action.setEnabled(True) self.assignment_menu.addAction(self.traffic_assignment_action) # # ######################################################################## # # ####################### TRANSIT SUB-MENU ########################### # self.transit_menu = QtWidgets.QMenu(QCoreApplication.translate("AequilibraE", "&Public Transport")) # self.aequilibrae_add_submenu(self.transit_menu) # # Graph generation # icon = QIcon(os.path.dirname(__file__) + "/icons/icon_import_gtfs.png") # self.gtfs_import_action = QAction(icon, u"Convert GTFS to SpatiaLite", self.iface.mainWindow()) # self.gtfs_import_action.triggered.connect(self.run_import_gtfs) # self.gtfs_import_action.setEnabled(True) # self.transit_menu.addAction(self.gtfs_import_action) # ######################################################################## # ################# GIS TOOLS SUB-MENU ######################### self.gis_tools_menu = QtWidgets.QMenu( QCoreApplication.translate("AequilibraE", "&GIS tools")) self.aequilibrae_add_submenu(self.gis_tools_menu) # # Node to area aggregation # icon = QIcon(os.path.dirname(__file__) + "/icons/icon_node_to_area.png") # self.node_to_area_action = QAction(icon, u"Aggregation: Node to Area", self.iface.mainWindow()) # self.node_to_area_action.triggered.connect(self.run_node_to_area) # self.node_to_area_action.setEnabled(True) # self.gis_tools_menu.addAction(self.node_to_area_action) # Simple TAG icon = QIcon(os.path.dirname(__file__) + "/icons/icon_simple_tag.png") self.simple_tag_action = QAction(icon, u"Simple TAG", self.iface.mainWindow()) self.simple_tag_action.triggered.connect(self.run_simple_tag) self.simple_tag_action.setEnabled(True) self.gis_tools_menu.addAction(self.simple_tag_action) # Lowest common denominator icon = QIcon(os.path.dirname(__file__) + "/icons/icon_lcd.png") self.lcd_action = QAction(icon, u"Lowest common denominator", self.iface.mainWindow()) self.lcd_action.triggered.connect(self.run_lcd) self.lcd_action.setEnabled(True) self.gis_tools_menu.addAction(self.lcd_action) # Desire lines icon = QIcon( os.path.dirname(__file__) + "/icons/icon_desire_lines.png") self.dlines_action = QAction(icon, u"Desire Lines", self.iface.mainWindow()) self.dlines_action.triggered.connect(self.run_dlines) self.dlines_action.setEnabled(True) self.gis_tools_menu.addAction(self.dlines_action) # Bandwidths icon = QIcon(os.path.dirname(__file__) + "/icons/icon_bandwidths.png") self.bandwidth_action = QAction(icon, u"Stacked Bandwidth", self.iface.mainWindow()) self.bandwidth_action.triggered.connect(self.run_bandwidth) self.bandwidth_action.setEnabled(True) self.gis_tools_menu.addAction(self.bandwidth_action) # Scenario comparison icon = QIcon( os.path.dirname(__file__) + "/icons/icon_scenario_comparison.png") self.scenario_comparison_action = QAction(icon, u"Scenario Comparison", self.iface.mainWindow()) self.scenario_comparison_action.triggered.connect( self.run_scenario_comparison) self.scenario_comparison_action.setEnabled(True) self.gis_tools_menu.addAction(self.scenario_comparison_action) # ######################################################################## # ################# LOOSE STUFF ######################### # Change parameters icon = QIcon(os.path.dirname(__file__) + "/icons/icon_parameters.png") self.parameters_action = QAction(icon, u"Parameters", self.iface.mainWindow()) self.parameters_action.triggered.connect(self.run_change_parameters) self.parameters_action.setEnabled( True) # Need to add this row for all actions # QObject.connect(self.parameters_action, SIGNAL("triggered()"), self.run_change_parameters) self.AequilibraE_menu.addAction(self.parameters_action) # About icon = QIcon(os.path.dirname(__file__) + "/icons/icon_parameters.png") self.about_action = QAction(icon, u"About", self.iface.mainWindow()) self.about_action.triggered.connect(self.run_about) self.about_action.setEnabled(True) self.AequilibraE_menu.addAction(self.about_action) # Download binaries if no_binary: icon = QIcon( os.path.dirname(__file__) + "/icons/icon_binaries.png") self.binary_action = QAction(icon, u"Download binaries", self.iface.mainWindow()) self.binary_action.triggered.connect(self.run_binary_download) self.binary_action.setEnabled(True) self.AequilibraE_menu.addAction(self.binary_action)