Ejemplo n.º 1
0
 def contextMenuEvent(self, event: QContextMenuEvent):
     if self.ctrl_mode:
         return
     self.context_menu_position = event.pos()
     menu = self.create_context_menu()
     menu.exec_(self.mapToGlobal(event.pos()))
     self.context_menu_position = None
Ejemplo n.º 2
0
    def handleNewNodeContextMenu(self, event: QContextMenuEvent):
        if DEBUG_CONTEXT: print('Context: New Node')
        context_menu = self.initNodesContextMenu()

        action = context_menu.exec_(self.mapToGlobal(
            event.pos()))  # draw to scene and get the selected action

        if action is not None:
            new_calc_node = NodeFactory.from_op_code(action.data())(self.scene)
            scene_pos = self.scene.getView().mapToScene(event.pos())
            new_calc_node.setPos(scene_pos.x(), scene_pos.y())

            if self.scene.getView().isEdgeDragging():
                # in dragging edge mode, connect the current edge to the first input
                target_socket = self.determine_target_socket_of_node(
                    self.scene.getView().dragging.drag_start_socket.is_output,
                    new_calc_node)
                if target_socket is not None:
                    self.scene.getView().dragging.edgeDragEnd(
                        target_socket.grSocket)
                    self.finish_new_node_state(new_calc_node)

                # select the newly create node
                new_calc_node.doSelect(True)

            else:
                self.scene.history.storeHistory(
                    f'Created {new_calc_node.__class__.__name__}')
Ejemplo n.º 3
0
 def contextMenuEvent(self, evt: QContextMenuEvent) -> None:
     index: QModelIndex = self.indexAt(evt.pos())
     actions = []
     if index.isValid():
         node: CustomNode = index.internalPointer()
         index: QModelIndex = self.indexAt(evt.pos())
         menu = QMenu()
         menu.triggered.connect(self.context_menu_actions_handler)
         if node.level == 1:
             actions = [
                 QAction(gui.get_icon('new_folder.png'), self.CTX_MENU_ADD_REPOSITORY_ACTION)
             ]
         elif node.level == 2:
             actions = [
                 QAction(gui.get_icon('delete.png'), self.CTX_MENU_DELETE_REPO_ACTION),
                 QAction(gui.get_icon('refresh.png'), self.CTX_MENU_UPDATE_REPO_ACTION)
             ]
         elif node.level == 3:
             actions = [
                 QAction(gui.get_icon('robotic-hand.png'), self.CTX_MENU_AUTO_LABEL_ACTION)
             ]
         if actions:
             for act in actions:
                 act.setData(index)
                 menu.addAction(act)
         menu.exec_(self.mapToGlobal(evt.pos()))
Ejemplo n.º 4
0
 def contextMenuEvent(self, event: QContextMenuEvent) -> None:
     col = self.columnAt(event.pos().x())
     row = self.rowAt(event.pos().y())
     if col == 3:
         item = self.item(row, col)
         vtype = item.value_type
         if vtype != "unknown":
             menu = QMenu(self)
             as_int = QAction("repr as int", self)
             as_int.triggered.connect(lambda: self.repr_as_int(row, col))
             as_hex = QAction("repr as hex", self)
             as_hex.triggered.connect(lambda: self.repr_as_hex(row, col))
             as_flt = QAction("repr as floating", self)
             as_flt.triggered.connect(
                 lambda: self.repr_as_floating(row, col))
             as_str = QAction("repr as str", self)
             as_str.triggered.connect(lambda: self.repr_as_str(row, col))
             as_bys = QAction("repr as bytes", self)
             as_bys.triggered.connect(lambda: self.repr_as_bytes(row, col))
             menu.addAction(as_int)
             menu.addAction(as_hex)
             menu.addAction(as_flt)
             menu.addAction(as_str)
             menu.addAction(as_bys)
             menu.popup(QCursor.pos())
Ejemplo n.º 5
0
    def contextMenuEvent(self, event: QContextMenuEvent):
        menu = QMenu()
        item = self.indexAt(event.pos()).row()
        if item < 0:
            return

        item_name = self.item(item).text()

        # Menu Entries
        rmFunction = menu.addAction(self.tr("Delete"))
        if constants.DECODING_DISABLED_PREFIX in item_name:
            disableFunction = menu.addAction(self.tr("Enable"))
        else:
            disableFunction = menu.addAction(self.tr("Disable"))
        menu.addSeparator()
        clearAll = menu.addAction(self.tr("Clear All"))

        # Menu Actions
        action = menu.exec_(self.mapToGlobal(event.pos()))
        if action == rmFunction:
            self.active_element_text = item_name
            self.takeItem(item)
            ListWidget.deleteElementSignal(self)
        elif action == clearAll:
            while self.count() > 0:
                self.takeItem(0)
            ListWidget.deleteElementSignal(self)
        elif action == disableFunction:
            if constants.DECODING_DISABLED_PREFIX in item_name:
                item_name = item_name[len(constants.DECODING_DISABLED_PREFIX):]
            else:
                item_name = constants.DECODING_DISABLED_PREFIX + item_name
            self.takeItem(item)
            self.insertItem(item, item_name)
            ListWidget.internalMoveSignal(self)
Ejemplo n.º 6
0
 def contextMenuEvent(self, event: QtGui.QContextMenuEvent) -> None:
     if self.event_ is not None:
         row = self.__tablewidget_admins_.rowAt(event.pos().y())
         col = self.__tablewidget_admins_.columnAt(event.pos().x())
         cell: cQTableWidgetItem = self.__tablewidget_admins_.item(row, col)
         if row != 0:
             cell.contextMenuEvent(self, event)
     self.clear()
     self.setTable()
     self.addItems()
Ejemplo n.º 7
0
    def contextMenuEvent(self, event: QContextMenuEvent):
        menu = QMenu()
        new_group_action = menu.addAction(self.tr("Create a new group"))
        item = self.model().getItem(self.indexAt(event.pos()))
        selected_items = [
            self.model().getItem(index)
            for index in self.selectionModel().selectedIndexes()
        ]
        selected_protocols = [
            item.protocol for item in selected_items if not item.is_group
        ]
        delete_group_action = 42
        close_action = 42
        sort_group_elements_action = 4711
        move_to_group_actions = {}
        if item.is_group:
            delete_group_action = menu.addAction(self.tr("Delete Group"))
        elif item != self.model().rootItem:
            tree_items = self.model().protocol_tree_items
            other_groups = [
                i for i in tree_items.keys() if item not in tree_items[i]
            ]

            if len(selected_protocols) > 0:
                close_action = menu.addAction(self.tr("Close"))
                close_action.setIcon(QIcon.fromTheme("window-close"))

            if len(other_groups) > 0:
                move_to_group_menu = menu.addMenu("Move to Group")
                for i in other_groups:
                    group_name = self.model().rootItem.child(i).data()
                    move_to_group_actions[move_to_group_menu.addAction(
                        group_name)] = i

        if item != self.model().rootItem:
            menu.addSeparator()
            sort_group_elements_action = menu.addAction("Sort Group Elements")

        action = menu.exec_(self.mapToGlobal(event.pos()))
        if action == new_group_action:
            self.model().addGroup()
            self.model().update()
        elif action == delete_group_action:
            self.model().delete_group(item)
        elif action in move_to_group_actions.keys():
            i = move_to_group_actions[action]
            self.model().move_to_group(selected_items, i)
        elif action == close_action:
            self.close_wanted.emit(selected_protocols)
        elif action == sort_group_elements_action:
            if item.is_group:
                sortgroup_id = self.model().rootItem.index_of(item)
            else:
                sortgroup_id = self.model().rootItem.index_of(item.parent())
            self.model().sort_group(sortgroup_id)
Ejemplo n.º 8
0
 def contextMenuEvent(self, evt: QContextMenuEvent) -> None:
     menu = QMenu()
     menu.triggered.connect(self.context_menu_actions_handler)
     index: QModelIndex = self.indexAt(evt.pos())
     if index.isValid():
         icon: QIcon = GUIUtilities.get_icon('delete_label.png')
         action = menu.addAction(icon, self.CTX_MENU_DELETE_LABEL)
         action.setData(index)
     else:
         icon: QIcon = GUIUtilities.get_icon('new_label.png')
         menu.addAction(icon, self.CTX_MENU_ADD_LABEL)
     menu.exec_(self.mapToGlobal(evt.pos()))
Ejemplo n.º 9
0
    def contextMenuEvent(self, event: QContextMenuEvent):
        col = self.table.columnAt(event.pos().x())
        if col < len(self.cols):
            return
        menu = QMenu(self.table)

        delete = menu.addAction('Delete this column')
        # delete.setShortcut('Ctrl+D')
        # delete.setShortcutContext(Qt.WidgetWithChildrenShortcut)
        action = menu.exec_(self.mapToGlobal(event.pos()))

        if action == delete:
            self.delete_column(col)
Ejemplo n.º 10
0
    def contextMenuEvent(self, event: QContextMenuEvent) -> None:
        menu = QMenu()
        self.app.set_theme(self.app.settings.current_theme(), menu)
        edit = menu.addAction("Edit")
        delete = menu.addAction("Delete")

        action = menu.exec_(self.mapToGlobal(event.pos()))
        course_id = self.itemAt(event.pos()).data(1)
        if action == edit:
            CourseDialog(self.app, "Edit Course", course_id).exec_()
            self.app.refresh()
        elif action == delete:
            self.app.planner.delete_course(course_id)
            self.app.refresh()
Ejemplo n.º 11
0
    def contextMenuEvent(self, event: QContextMenuEvent):
        menu = QMenu()
        pos = event.pos()
        index = self.indexAt(pos)
        try:
            if len(self.model().message.message_type) == 0:
                return
        except AttributeError:
            return  # model().message may be None

        editAction = menu.addAction("Edit Fuzzing Label...")
        delAction = 42
        if index.isValid():
            delAction = menu.addAction("Delete Fuzzing Label")

        menu.addSeparator()
        fuzzAllAction = menu.addAction("Check all")
        unfuzzAllAction = menu.addAction("Uncheck all")

        action = menu.exec_(self.mapToGlobal(pos))
        if action == delAction:
            self.model().delete_label_at(index.row())
        elif action == editAction:
            self.editActionTriggered.emit(index.row())
        elif action == fuzzAllAction:
            self.model().fuzzAll()
        elif action == unfuzzAllAction:
            self.model().unfuzzAll()
Ejemplo n.º 12
0
    def contextMenuEvent(self, a0: QtGui.QContextMenuEvent):
        contextManu = QtWidgets.QMenu(self)

        returns_action = contextManu.addAction("Returns")
        drawdown_action = contextManu.addAction("Drawdown")
        alpha_action = contextManu.addAction('Alpha')
        beta_action = contextManu.addAction('Beta')
        sharpe_action = contextManu.addAction('Sharpe')
        std_dev = contextManu.addAction('Std Dev')
        positions = contextManu.addAction('Positions')

        action = contextManu.exec_(self.mapToGlobal(a0.pos()))

        if action == returns_action:
            self.plotter.plot_type = 'returns'
        elif action == drawdown_action:
            self.plotter.plot_type = 'drawdown'
        elif action == alpha_action:
            self.plotter.plot_type = 'alpha'
        elif action == beta_action:
            self.plotter.plot_type = 'beta'
        elif action == sharpe_action:
            self.plotter.plot_type = 'sharpe'
        elif action == std_dev:
            self.plotter.plot_type = 'std_dev'
        elif action == positions:
            self.plotter.plot_type = 'positions'

        self.update_plot(self.analysis_data)
Ejemplo n.º 13
0
    def contextMenuEvent(self, event: QContextMenuEvent):
        menu = QMenu()
        pos = event.pos()
        index = self.indexAt(pos)
        if len(self.model().proto_container.protocol_labels) == 0:
            return

        editAction = menu.addAction("Edit Fuzzing Label...")
        delAction = 42
        if index.isValid():
            delAction = menu.addAction("Delete Fuzzing Label")
        editAllAction = menu.addAction("Edit all Fuzzing Values...")

        menu.addSeparator()
        fuzzAllAction = menu.addAction("Check all")
        unfuzzAllAction = menu.addAction("Uncheck all")

        action = menu.exec_(self.mapToGlobal(pos))
        if action == delAction:
            self.model().delete_label_at(index.row())
        elif action == editAction:
            self.editActionTriggered.emit(index.row())
        elif action == fuzzAllAction:
            self.model().fuzzAll()
        elif action == unfuzzAllAction:
            self.model().unfuzzAll()
        elif action == editAllAction:
            self.editAllActionTriggered.emit()
Ejemplo n.º 14
0
 def contextMenuEvent(self, event: QContextMenuEvent):
     menu = self.createStandardContextMenu(event.pos())
     actionCopyVhead = menu.addAction("Copy CIF Keyword")
     deleterow = menu.addAction("Delete Row")
     actionCopyVhead.triggered.connect(self.copy_vhead_item)
     deleterow.triggered.connect(self._delete_row)
     choosedAction = menu.exec(event.globalPos())
Ejemplo n.º 15
0
    def contextMenuEvent(self, evt: QtGui.QContextMenuEvent) -> None:
        time = self.track.xToTime(evt.pos().x())

        menu = QtWidgets.QMenu(self.track)
        menu.setObjectName('context-menu')

        add_sample_action = QtWidgets.QAction("Import audio file...", menu)
        add_sample_action.setObjectName('add-sample')
        add_sample_action.setStatusTip(
            "Import an audio file and add it as a segment to the track.")
        add_sample_action.triggered.connect(
            functools.partial(self.onAddSampleSync, time))
        menu.addAction(add_sample_action)

        smpl = self.track.highlightedSample()
        if smpl is not None:
            delete_sample_action = QtWidgets.QAction("Delete segment", menu)
            delete_sample_action.setObjectName('delete-sample')
            delete_sample_action.setStatusTip(
                "Remove the selected segment from the track.")
            delete_sample_action.triggered.connect(
                functools.partial(self.onDeleteSample, smpl.sample))
            menu.addAction(delete_sample_action)

        menu.popup(evt.globalPos())
        evt.accept()
Ejemplo n.º 16
0
 def contextMenuEvent(self, e: QtGui.QContextMenuEvent) -> None:
     context_menu = self.createCustomContextMenu(e.pos())
     # Fix white border in context menu in Windows dark mode
     context_menu.setStyleSheet(
         ""
         "QMenu{background-color: palette(window);}"
         "QMenu::item:selected{background-color: palette(highlight);}")
     context_menu.exec_(e.globalPos())
Ejemplo n.º 17
0
 def contextMenuEvent(self, event: QContextMenuEvent):
     item = self.itemAt(event.pos()) or self.currentItem()
     if not item:
         return
     if item.parent():
         self._scriptMenu.popup(event.globalPos())
     else:
         self._accountMenu.popup(event.globalPos())
Ejemplo n.º 18
0
 def contextMenuEvent(self, evt: QContextMenuEvent) -> None:
     index: QModelIndex = self.indexAt(evt.pos())
     if index.isValid():
         node: CustomNode = index.internalPointer()
         menu = QMenu()
         menu.triggered.connect(self.context_menu_actions_handler)
         if node.level == 1:
             icon: QIcon = GUIUtilities.get_icon('delete-dataset.png')
             action: QAction = menu.addAction(
                 icon, self.CTX_MENU_NEW_DATASET_ACTION)
             action.setData(node)
         elif node.level == 3:
             icon: QIcon = GUIUtilities.get_icon('delete-dataset.png')
             action: QAction = menu.addAction(
                 icon, self.CTX_MENU_AUTO_LABEL_ACTION)
             action.setData(node)
         menu.exec_(self.mapToGlobal(evt.pos()))
Ejemplo n.º 19
0
 def contextMenuEvent(self, e: QContextMenuEvent):
     """ 重写鼠标右击时间的响应函数 """
     hitIndex = self.indexAt(e.pos()).column()
     # 显示右击菜单
     if hitIndex > -1:
         contextMenu = SongCardListContextMenu(self)
         self.__connectMenuSignalToSlot(contextMenu)
         contextMenu.exec(self.cursor().pos())
Ejemplo n.º 20
0
    def contextMenuEvent(self, event: QContextMenuEvent):
        menu = QMenu()
        newGroupAction = menu.addAction(self.tr("Create a new group"))
        item = self.model().getItem(self.indexAt(event.pos()))
        selected_items = [
            self.model().getItem(index)
            for index in self.selectionModel().selectedIndexes()
        ]
        deleteGroupAction = 42
        sortGroupElementsAction = 4711
        moveToGroupActions = {}
        if item.is_group:
            deleteGroupAction = menu.addAction(self.tr("Delete Group"))
        elif item != self.model().rootItem:
            pfitems = self.model().protocol_tree_items
            other_groups = [
                i for i in pfitems.keys() if item not in pfitems[i]
            ]

            if len(other_groups) > 0:
                moveToGroupMenu = menu.addMenu("Move to Group")
                for i in other_groups:
                    group_name = self.model().rootItem.child(i).data()
                    moveToGroupActions[moveToGroupMenu.addAction(
                        group_name)] = i

        if item != self.model().rootItem:
            menu.addSeparator()
            sortGroupElementsAction = menu.addAction("Sort Group Elements")

        action = menu.exec_(self.mapToGlobal(event.pos()))
        if action == newGroupAction:
            self.model().addGroup()
            self.model().layoutChanged.emit()
        elif action == deleteGroupAction:
            self.model().deleteGroup(item)
        elif action in moveToGroupActions.keys():
            i = moveToGroupActions[action]
            self.model().moveToGroup(selected_items, i)
        elif action == sortGroupElementsAction:
            if item.is_group:
                sortgroup_id = self.model().rootItem.index_of(item)
            else:
                sortgroup_id = self.model().rootItem.index_of(item.parent())
            self.model().sort_group(sortgroup_id)
Ejemplo n.º 21
0
    def handleEdgeContextMenu(self, event: QContextMenuEvent):
        if DEBUG_CONTEXT: print('Context: Edge')
        # define the context menu
        context_menu = QMenu(self)
        bezierAct = context_menu.addAction('Bezier Edge')
        directAct = context_menu.addAction('Direct Edge')
        action = context_menu.exec_(self.mapToGlobal(event.pos()))  # draw to scene and get the selected action

        selected = None
        item = self.scene.getItemAt(event.pos())
        if hasattr(item, 'edge'):
            selected = item.edge

        if selected and action == bezierAct:
            selected.edge_type = EDGE_TYPE_BEZIER

        if selected and action == directAct:
            selected.edge_type = EDGE_TYPE_DIRECT
Ejemplo n.º 22
0
 def contextMenuEvent(self, event: QtGui.QContextMenuEvent):
     menu = QtWidgets.QMenu()
     delete_action = menu.addAction("delete")
     action = menu.exec(self.mapToGlobal(event.pos()))
     if action == delete_action:
         if self.duplicate.delete():
             self.hide()
             self.deleteLater()
             self.deleted.emit(self.duplicate.path)
Ejemplo n.º 23
0
    def contextMenuEvent(self, event: QtGui.QContextMenuEvent):
        menu = QMenu(self)

        remove = QAction("Remove", self)
        remove.setIcon(QIcon("../resources/icon-delete.png"))
        remove.triggered.connect(self.make_remove_model)
        menu.addAction(remove)

        menu.exec_(self.mapToGlobal(event.pos()))
Ejemplo n.º 24
0
    def contextMenuEvent(self, event: QContextMenuEvent):
        menu = QMenu()
        pos = event.pos()
        index = self.indexAt(pos)
        min_row, max_row = self.selection_range()

        editAction = menu.addAction("Edit Protocol Label...")

        assign_actions = []
        message_type_names = []

        if min_row > -1:
            menu.addAction(self.del_rows_action)
            message_type_names = [
                lset.name for lset in
                self.model().controller.proto_analyzer.message_types
            ]

            try:
                proto_label = self.model().get_label_at(index.row())
                avail_message_types = []
                for message_type in self.model(
                ).controller.proto_analyzer.message_types:
                    if proto_label not in message_type:
                        avail_message_types.append(message_type)

                if avail_message_types:
                    assign_menu = menu.addMenu("Copy label(s) to message type")
                    assign_actions = [
                        assign_menu.addAction(message_type.name)
                        for message_type in avail_message_types
                    ]
            except IndexError:
                pass

        menu.addSeparator()
        showAllAction = menu.addAction("Show all")
        hideAllAction = menu.addAction("Hide all")

        menu.addSeparator()
        configureAction = menu.addAction("Configure field types...")

        action = menu.exec_(self.mapToGlobal(pos))

        if action == editAction:
            self.editActionTriggered.emit(index.row())
        elif action == showAllAction:
            self.model().showAll()
        elif action == hideAllAction:
            self.model().hideAll()
        elif action == configureAction:
            self.configureActionTriggered.emit()
        elif action in assign_actions:
            message_type_id = message_type_names.index(action.text())
            self.model().add_labels_to_message_type(min_row, max_row,
                                                    message_type_id)
Ejemplo n.º 25
0
    def contextMenuEvent(self, event: QtGui.QContextMenuEvent) -> None:
        """
        Function toggle draggable of window

        :param event: choice button of context menu
        :return:
        """
        action = self.menu.exec_(self.mapToGlobal(event.pos()))
        if action:
            self.actions[action.text()]()
Ejemplo n.º 26
0
    def contextMenuEvent(self, event: QContextMenuEvent):
        menu = QMenu()
        pos = event.pos()
        min_row, max_row, start, end = self.selection_range()

        selected_label_indx = self.model().get_selected_label_index(
            self.columnAt(event.pos().x()))

        if selected_label_indx == -1:
            fuzzingAction = menu.addAction("Create Fuzzing Label...")
        else:
            fuzzingAction = menu.addAction("Edit Fuzzing Label...")

        menu.addSeparator()
        insertColLeft = menu.addAction("Add column on the left")
        insertColRight = menu.addAction("Add column on the right")
        duplicateAction = menu.addAction("Duplicate Line")
        menu.addSeparator()
        clearAction = menu.addAction("Clear Table")

        if min_row == -1:
            fuzzingAction.setEnabled(False)

        if self.model().col_count == 0:
            clearAction.setEnabled(False)

        action = menu.exec_(self.mapToGlobal(pos))
        if action == fuzzingAction:
            if selected_label_indx == -1:
                self.create_fuzzing_label_clicked.emit(min_row, start, end)
            else:
                self.edit_fuzzing_label_clicked.emit(selected_label_indx)
        elif action == clearAction:
            self.model().clear()
        elif action == duplicateAction:
            row = self.rowAt(event.pos().y())
            self.model().duplicate_row(row)
        elif action == insertColLeft:
            col = self.columnAt(event.pos().x())
            self.model().insert_column(col)
        elif action == insertColRight:
            col = self.columnAt(event.pos().x())
            self.model().insert_column(col + 1)
Ejemplo n.º 27
0
 def contextMenuEvent(self, e: QContextMenuEvent):
     """ 显示右击菜单 """
     hitIndex = self.indexAt(e.pos()).column()
     if hitIndex > -1:
         self.menu.moveUpAct.setEnabled(True)
         self.menu.moveDownAct.setEnabled(True)
         if self.currentRow() == len(self.playlist) - 1:
             self.menu.moveDownAct.setEnabled(False)
         if self.currentRow() == 0:
             self.menu.moveUpAct.setEnabled(False)
         self.menu.exec_(e.globalPos())
Ejemplo n.º 28
0
 def contextMenuEvent(self, event: QtGui.QContextMenuEvent):
     if not self.detail:
         return
     pos = self.mapToGlobal(event.pos())
     item: QtWidgets.QTreeWidgetItem = self.currentItem()
     if item is None:
         return
     elif item.type() == 0:
         self.categoryMenu.popup(pos)
     elif item.type() == 1:
         self.lineMenu.popup(pos)
Ejemplo n.º 29
0
    def contextMenuEvent(self, event: QContextMenuEvent):
        menu = QMenu()
        pos = event.pos()
        index = self.indexAt(pos)
        min_row, max_row = self.selection_range()

        edit_action = menu.addAction("Edit Protocol Label...")
        edit_action.setIcon(QIcon.fromTheme("configure"))

        assign_actions = []
        message_type_names = []

        if min_row > -1:
            menu.addAction(self.del_rows_action)
            message_type_names = [lset.name for lset in self.model().controller.proto_analyzer.message_types]

            try:
                proto_label = self.model().get_label_at(index.row())
                avail_message_types = []
                for message_type in self.model().controller.proto_analyzer.message_types:
                    if proto_label not in message_type:
                        avail_message_types.append(message_type)

                if avail_message_types:
                    assign_menu = menu.addMenu("Copy label(s) to message type")
                    assign_menu.setIcon(QIcon.fromTheme("edit-copy"))
                    assign_actions = [assign_menu.addAction(message_type.name) for message_type in avail_message_types]
            except IndexError:
                pass

        menu.addSeparator()
        show_all_action = menu.addAction("Show all")
        hide_all_action = menu.addAction("Hide all")

        menu.addSeparator()
        update_message_types_action = menu.addAction("Update automatically assigned message types")
        update_message_types_action.setIcon(QIcon.fromTheme("view-refresh"))
        configure_action = menu.addAction("Configure field types...")

        action = menu.exec_(self.mapToGlobal(pos))

        if action == edit_action:
            self.editActionTriggered.emit(index.row())
        elif action == show_all_action:
            self.model().showAll()
        elif action == hide_all_action:
            self.model().hideAll()
        elif action == configure_action:
            self.configureActionTriggered.emit()
        elif action == update_message_types_action:
            self.auto_message_type_update_triggered.emit()
        elif action in assign_actions:
            message_type_id = message_type_names.index(action.text())
            self.model().add_labels_to_message_type(min_row, max_row, message_type_id)
Ejemplo n.º 30
0
    def contextMenuEvent(self, event: QtGui.QContextMenuEvent) -> None:
        menu = QMenu(self)

        qAct = QAction('exit', menu)
        qAct.triggered.connect(lambda x: qApp.quit())

        newAct = menu.addAction("new")
        retAct = menu.addAction('open')
        menu.addAction(qAct)

        # 主要是激活menu事件
        action = menu.exec_(self.mapToGlobal(event.pos()))
Ejemplo n.º 31
0
    def contextMenuEvent(self, event: QContextMenuEvent):
        menu = QMenu()
        sel_indexes = [index.row() for index in self.selectedIndexes()]
        edit_action = QAction("Edit", self)
        if len(sel_indexes) == 0:
            edit_action.setEnabled(False)

        menu.addAction(edit_action)

        action = menu.exec_(self.mapToGlobal(event.pos()))
        if action == edit_action:
            selected_indx = sel_indexes[0]
            self.item_edit_clicked.emit(selected_indx)
Ejemplo n.º 32
0
    def contextMenuEvent(self, event: QContextMenuEvent):
        if self.signal is None:
            return

        menu = QMenu()
        apply_to_all_action = menu.addAction(self.tr("Apply values (BitLen, 0/1-Threshold, Tolerance) to all signals"))
        menu.addSeparator()
        auto_detect_action = menu.addAction(self.tr("Auto-Detect signal parameters"))
        action = menu.exec_(self.mapToGlobal(event.pos()))
        if action == apply_to_all_action:
            self.setCursor(Qt.WaitCursor)
            self.apply_to_all_clicked.emit(self.signal)
            self.unsetCursor()
        elif action == auto_detect_action:
            self.setCursor(Qt.WaitCursor)
            self.signal.auto_detect()
            self.unsetCursor()
Ejemplo n.º 33
0
 def contextMenuEvent(self, event: QContextMenuEvent):
     self.context_menu_pos = event.pos()
     menu = self.create_context_menu()
     menu.exec_(self.mapToGlobal(event.pos()))
     self.context_menu_pos = None
Ejemplo n.º 34
0
 def contextMenuEvent(self, event: QContextMenuEvent):
     self.create_context_menu().exec_(self.mapToGlobal(event.pos()))