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)
示例#3
0
    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)
示例#4
0
    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)