Exemplo n.º 1
0
    def menu_actions(self):
        result = []

        a = QtWidgets.QAction("minmax", None)
        a.triggered.connect(nonpartial(self.set_clip_percentile, 0, 100))
        result.append(a)

        a = QtWidgets.QAction("99%", None)
        a.triggered.connect(nonpartial(self.set_clip_percentile, 1, 99))
        result.append(a)

        a = QtWidgets.QAction("95%", None)
        a.triggered.connect(nonpartial(self.set_clip_percentile, 5, 95))
        result.append(a)

        a = QtWidgets.QAction("90%", None)
        a.triggered.connect(nonpartial(self.set_clip_percentile, 10, 90))
        result.append(a)

        rng = QtWidgets.QAction("Set range...", None)
        rng.triggered.connect(nonpartial(self.choose_vmin_vmax))
        result.append(rng)

        a = QtWidgets.QAction("", None)
        a.setSeparator(True)
        result.append(a)

        a = QtWidgets.QAction("linear", None)
        a.triggered.connect(nonpartial(setattr, self, 'stretch', 'linear'))
        result.append(a)

        a = QtWidgets.QAction("log", None)
        a.triggered.connect(nonpartial(setattr, self, 'stretch', 'log'))
        result.append(a)

        a = QtWidgets.QAction("sqrt", None)
        a.triggered.connect(nonpartial(setattr, self, 'stretch', 'sqrt'))
        result.append(a)

        a = QtWidgets.QAction("asinh", None)
        a.triggered.connect(nonpartial(setattr, self, 'stretch', 'arcsinh'))
        result.append(a)

        for r in result:
            if r is rng:
                continue
            if self._move_callback is not None:
                r.triggered.connect(nonpartial(self._move_callback, self))

        return result
Exemplo n.º 2
0
    def make_menu_bar(self):
        menu_bar = self.menuBar()

        new_project_action = QtWidgets.QAction('New Project', self)
        new_project_action.triggered.connect(self.new_project)
        set_project_action = QtWidgets.QAction('Set Project', self)
        set_project_action.triggered.connect(self.set_project)
        new_asset_action = QtWidgets.QAction('New Asset', self)
        new_asset_action.triggered.connect(self.new_asset)
        new_shot_action = QtWidgets.QAction('New Shot', self)
        new_shot_action.triggered.connect(self.new_shot)
        project_menu = menu_bar.addMenu('Project')
        project_menu.addAction(new_project_action)
        project_menu.addAction(set_project_action)
        project_menu.addSeparator()
        project_menu.addAction(new_asset_action)
        project_menu.addAction(new_shot_action)

        new_user_action = QtWidgets.QAction('New User', self)
        new_user_action.triggered.connect(self.new_user)
        set_user_action= QtWidgets.QAction('Set User', self)
        set_user_action.triggered.connect(self.set_user)
        user_menu = menu_bar.addMenu('User')
        user_menu.addAction(new_user_action)
        user_menu.addAction(set_user_action)

        help_action = QtWidgets.QAction('Help', self)
        help_action.triggered.connect(self.show_help)
        about_action= QtWidgets.QAction('About', self)
        about_action.triggered.connect(self.show_about)
        about_menu = menu_bar.addMenu('Help')
        about_menu.addAction(help_action)
        about_menu.addAction(about_action)
Exemplo n.º 3
0
    def setupMenu(self):

        self.statusBar()
        main_menu = self.menuBar()

        file_items = [
            ("&Load", 'Ctrl+O', 'Open saved configuration.', self.menu_open),
            ("&Save", 'Ctrl+S', 'Save the current configuration.', self.menu_save),
            ("Save &as...", 'Ctrl+Shift+S', 'Save the current configuration as...', self.menu_saveas),
            None,
            ("&Exit", 'Ctrl+Q', 'Stop acquisition and close the application.', self.menu_exit)
        ]

        self.file_menu = main_menu.addMenu("&File")
        for item in file_items:
            if item is None:
                self.file_menu.addSeparator()
                continue

            (name, shortcut, tip, slot) = item
            action = QtWidgets.QAction(name, self)
            if shortcut is not None:
                action.setShortcut(shortcut)
            action.setStatusTip(tip)
            action.triggered.connect(slot)
            self.file_menu.addAction(action)

        self.history_menu = main_menu.addMenu("&History")

        mode_items = [
            ("&Traditional (*.sig)", None, 'GageScope compatible signal acquisition, saved to *.sig files.',
             self.menu_trad),
            ("&Segmented (*.h5)", None, 'Segmented signal acquisition, saved to *.h5 files.', self.menu_seg),
        ]

        self.mode_menu = main_menu.addMenu("&Mode")
        mode_group = QtWidgets.QActionGroup(self)
        action = None
        for item in mode_items:
            (name, shortcut, tip, slot) = item
            action = QtWidgets.QAction(name, self)
            if shortcut is not None:
                action.setShortcut(shortcut)
            action.setStatusTip(tip)
            action.setCheckable(True)
            action.triggered.connect(slot)
            mode_group.addAction(action)
            self.mode_menu.addAction(action)

        action.setChecked(True)
Exemplo n.º 4
0
    def setup_ui(self):
        self.setObjectName("MainWindow")
        self.resize(400, 300)
        self.setDockOptions(QtWidgets.QMainWindow.AllowTabbedDocks)
        self.centralWidget = QtWidgets.QWidget(self)
        self.centralWidget.setObjectName("centralWidget")
        self.setCentralWidget(self.centralWidget)
        self.status_bar = QtWidgets.QStatusBar(self)
        self.status_bar.setObjectName("statusBar")
        self.setStatusBar(self.status_bar)
        self.menu_bar = QtWidgets.QMenuBar(self)
        self.menu_bar.setGeometry(QRect(0, 0, 400, 21))
        self.menu_bar.setObjectName("menuBar")
        self.menu_file = QtWidgets.QMenu(self.menu_bar)
        self.menu_file.setObjectName("menuFile")
        self.menu_view = QtWidgets.QMenu(self.menu_bar)
        self.menu_view.setObjectName("menuView")
        self.menu_about = QtWidgets.QMenu(self.menu_bar)
        self.menu_about.setObjectName("menuAbout")
        self.setMenuBar(self.menu_bar)
        self.tool_bar = QtWidgets.QToolBar(self)
        self.tool_bar.setObjectName("toolBar")
        self.addToolBar(Qt.TopToolBarArea, self.tool_bar)
        self.action_exit = QtWidgets.QAction(self)
        self.action_exit.setObjectName("actionExit")
        self.action_save_state = QtWidgets.QAction(self)
        self.action_save_state.setObjectName("actionSaveState")
        self.action_save_state.triggered.connect(self.save_state)

        self.action_restore_state = QtWidgets.QAction(self)
        self.action_restore_state.setObjectName("actionRestoreState")
        self.action_restore_state.triggered.connect(self.restore_state)

        self.menu_file.addAction(self.action_exit)
        self.menu_file.addAction(self.action_save_state)
        self.menu_file.addAction(self.action_restore_state)
        self.menu_bar.addAction(self.menu_file.menuAction())
        self.menu_bar.addAction(self.menu_view.menuAction())
        self.menu_bar.addAction(self.menu_about.menuAction())

        self.setWindowTitle("MainWindow")
        self.menu_file.setTitle("File")
        self.menu_view.setTitle("View")
        self.menu_about.setTitle("About")
        self.tool_bar.setWindowTitle("toolBar")
        self.action_exit.setText("Exit")
        self.action_save_state.setText("Save State")
        self.action_restore_state.setText("Restore State")
        self.create_actions()
Exemplo n.º 5
0
    def init_help_menu(self):
        # please keep the Help menu in Mac Os even if empty. It will
        # automatically contain a search field to search inside menus and
        # please keep it spelled in English, as long as Qt Doesn't support
        # a QAction.MenuRole like HelpMenuRole otherwise it will lose
        # this search field functionality
        self.help_menu = self.menuBar().addMenu("&Help")

        # Help Menu
        self.help_action = QtWidgets.QAction("Show &QtConsole help", self,
                                         triggered=self._show_help)
        self.online_help_action = QtWidgets.QAction("Open online &help", self,
                                                triggered=self._open_online_help)
        self.add_menu_action(self.help_menu, self.help_action)
        self.add_menu_action(self.help_menu, self.online_help_action)
Exemplo n.º 6
0
    def assignment_menu(self, pos):
        """Creates an assignment context menu.

        Args:
            pos: cursor position

        """
        menu = QtWidgets.QMenu(self)
        set_state_action = QtWidgets.QAction('Set state', self)
        set_state_action.triggered.connect(self.set_state)
        menu.addAction(set_state_action)
        assign_user_action = QtWidgets.QAction('Assign User', self)
        assign_user_action.triggered.connect(self.assign_user)
        menu.addAction(assign_user_action)
        menu.popup(self.project_widget.mapToGlobal(pos))
Exemplo n.º 7
0
    def addLayoutActions(self, parent=None):
        shortcuts = dict(
            (v, k) for k, v in config['shortcuts']['layout'].items())
        prefix = config['shortcuts']['layout']['prefix']

        for name, layout in config['layout'].items():
            shortcut = shortcuts.get(name, None)
            if shortcut is None:
                action = QtWidgets.QAction(name, parent)
            else:
                action = QtWidgets.QAction(f'{name}\t{prefix}{shortcut}',
                                           parent)
            caller = self.panels.restore_state_from_config
            action.triggered.connect(CachedArgCall(caller, name))
            parent.addAction(action)
Exemplo n.º 8
0
    def creation_menu(self, pos):
        """Creates a context menu at cursor position to create new shots and assets.

        Args:
            pos: cursor position

        """
        menu = QtWidgets.QMenu(self)
        new_asset_action = QtWidgets.QAction('New Asset', self)
        new_asset_action.triggered.connect(self.parent().parent().new_asset)
        menu.addAction(new_asset_action)
        new_shot_action= QtWidgets.QAction('New Shot', self)
        new_shot_action.triggered.connect(self.parent().parent().new_shot)
        menu.addAction(new_shot_action)
        menu.popup(self.project_widget.mapToGlobal(pos))
 def _context_menu_add_pair_action(self, slot):
     add_pair_action = QtWidgets.QAction('Add Pair', self)
     add_pair_action.setCheckable(False)
     if len(self._get_selected_row_indices()) > 0:
         add_pair_action.setEnabled(False)
     add_pair_action.triggered.connect(slot)
     return add_pair_action
Exemplo n.º 10
0
    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)

        self.history_s = 20.0
        self.next_color = 0
        self.paused = False

        self.last_draw_time = 0.0

        self.figure = matplotlib.figure.Figure()
        self.canvas = FigureCanvas(self.figure)

        self.canvas.mpl_connect('key_press_event', self.handle_key_press)
        self.canvas.mpl_connect('key_release_event', self.handle_key_release)

        self.left_axis = self.figure.add_subplot(111)
        self.left_axis.grid()
        self.left_axis.fmt_xdata = lambda x: '%.3f' % x

        self.left_axis.legend_loc = LEFT_LEGEND_LOC

        self.right_axis = None

        self.toolbar = qt_backend.NavigationToolbar2QT(self.canvas, self)
        self.pause_action = QtWidgets.QAction(u'Pause', self)
        self.pause_action.setCheckable(True)
        self.pause_action.toggled.connect(self._handle_pause)
        self.toolbar.addAction(self.pause_action)

        layout = QtWidgets.QVBoxLayout(self)
        layout.addWidget(self.toolbar, 0)
        layout.addWidget(self.canvas, 1)

        self.canvas.setFocusPolicy(QtCore.Qt.ClickFocus)
Exemplo n.º 11
0
    def add_checkable_action(self, label, settings_key, *, default=True):
        '''
        Add a checkable action

        Parameters
        ----------
        label : str
            The action label
        settings_key : str
            The settings dictionary key
        default : bool, optional
            The default checked state
        '''
        action = QtWidgets.QAction(label)
        self.actions[settings_key] = action

        action.setCheckable(True)
        self.settings[settings_key] = default
        action.setChecked(self.settings[settings_key])

        def set_option(value):
            logger.debug('Setting %r to %s', settings_key, value)
            setattr(self, settings_key, value)

        action.toggled.connect(set_option)
        self.options_menu.addAction(action)
Exemplo n.º 12
0
	def event_startup(self):

		"""
		desc:
			Build the menu on startup.
		"""

		self._urls = []
		self.menu = self.menubar.addMenu(_(u'Help'))
		self._wait_action = QtWidgets.QAction(
			self.theme.qicon(u'process-working'),
			_(u'Please wait …'),
			self.menu
		)
		self._wait_action.setEnabled(False)
		self.menu.addAction(self._wait_action)
		# It can take some time to download the sitemap from cogsci. Therefore,
		# we use threading.
		self._get_sitemap_thread = GetSitemapThread(self,
			sitemap_url=cfg.online_help_sitemap.replace(
				u'[version]',
				metadata.main_version
			),
			local_sitemap=u'sitemap-osdoc.yaml'
		)
		self._get_sitemap_thread.start()
		self._get_sitemap_thread.finished.connect(self.populate_help_menu)
Exemplo n.º 13
0
    def _setupActions(self):
        actions = super()._setupActions()

        icon = QtGui.QIcon.fromTheme('edit-select-all')
        QtWidgets.QAction(icon,
                          self.tr('Select all'),
                          actions,
                          objectName='selectAllAction',
                          statusTip=self.tr('Select all'),
                          shortcut=self.tr('Ctrl-A'),
                          triggered=self.view.selectAll)

        # connect actions
        action = actions.findChild(QtWidgets.QAction, 'moveToTopAction')
        action.triggered.connect(self.moveSelectionToTop)
        action = actions.findChild(QtWidgets.QAction, 'moveUpAction')
        action.triggered.connect(self.moveSelectionUp)
        action = actions.findChild(QtWidgets.QAction, 'moveDownAction')
        action.triggered.connect(self.moveSelectionDown)
        action = actions.findChild(QtWidgets.QAction, 'moveToBottomAction')
        action.triggered.connect(self.moveSelectionToBottom)
        action = actions.findChild(QtWidgets.QAction, 'removeLayerAction')
        action.triggered.connect(self.removeSelectedLayers)
        action = actions.findChild(QtWidgets.QAction, 'showLayerAction')
        action.triggered.connect(self.checkSelectedItems)
        action = actions.findChild(QtWidgets.QAction, 'hideLayerAction')
        action.triggered.connect(self.uncheckSelectedItems)

        return actions
Exemplo n.º 14
0
    def _buildLinkView(self, menu):
        '''
        Add an action for all other displays and connect it to
        self._linkView
        '''
        menu.clear()
        vb = self.display.widget.view.vb
        vb_linked = vb.state['linkedViews'][0]
        if vb_linked:
            # get object from weakref
            vb_linked = vb_linked()
#         ag = QtWidgets.QActionGroup(menu, exclusive=True)

        for d in self.display.workspace.displays():
            if d.name() != self.display.name():
                #                 a = ag.addAction(QtWidgets.QAction(d.name(),menu, checkable=True))
                a = QtWidgets.QAction(d.name(), menu, checkable=True)
                
                cb = QtWidgets.QCheckBox(d.name(), menu)
                a =  QtWidgets.QWidgetAction(menu)
                a.setDefaultWidget(cb)
                menu.addAction(a)
                # IS LINKED?:
                vb2 = d.widget.view.vb
                vb2_linked = vb2.state['linkedViews'][0]
                if vb2_linked:
                    # get object from weakref
                    vb2_linked = vb2_linked()
                linked = False
                if (vb_linked == vb2) or (vb2_linked == vb):
                    linked = True
                    cb.setChecked(True)

                cb.clicked.connect(lambda checked, d=d, linked=linked:
                                    self._linkView(d, linked))
Exemplo n.º 15
0
    def create_toolbar(self):
        self.toolbar.addWidget(QtWidgets.QLabel('Calibration:'))

        iconadd = QtGui.QIcon()
        iconadd.addPixmap(QtGui.QPixmap(":/icons/Icon_Library/Add2.png"),
                          QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.addh5_action = QtWidgets.QAction(iconadd, "Add spectrum", None)
        self.toolbar.addAction(self.addh5_action)
        self.addh5_action.triggered.connect(self.add_spectrum_h5)

        iconreset = QtGui.QIcon()
        iconreset.addPixmap(QtGui.QPixmap(":/icons/Icon_Library/Refresh2.png"),
                            QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.reset_action = QtWidgets.QAction(iconreset, "Remove plots", None)
        self.toolbar.addAction(self.reset_action)
        self.reset_action.triggered.connect(self.reset)
Exemplo n.º 16
0
    def __init__(self,
                 parent,
                 controller,
                 read_only,
                 can_generate_more_pages,
                 gallery_type_string,
                 gallery_seed_log_get_callable,
                 gallery_seed_log_set_callable=None):

        self._controller = controller
        self._read_only = read_only
        self._can_generate_more_pages = can_generate_more_pages
        self._gallery_type_string = gallery_type_string
        self._gallery_seed_log_get_callable = gallery_seed_log_get_callable
        self._gallery_seed_log_set_callable = gallery_seed_log_set_callable

        action = QW.QAction()

        action.setText('{} log'.format(gallery_type_string))
        action.setToolTip('open detailed {} log'.format(
            self._gallery_type_string))

        action.triggered.connect(self._ShowGallerySeedLogFrame)

        ClientGUICommon.ButtonWithMenuArrow.__init__(self, parent, action)
Exemplo n.º 17
0
    def add_dock_widget(self, create_widget, name):
        dock_widget = MyDockWidget(create_widget,
                                   name + ' (%s)' % self.parent.name)
        self.dock_widgets[name] = dock_widget
        self.addDockWidget(QtCore.Qt.TopDockWidgetArea, dock_widget)
        if self.last_docked is not None:
            self.tabifyDockWidget(self.last_docked, dock_widget)
        # put tabs on top
        self.setTabPosition(dock_widget.allowedAreas(),
                            QtWidgets.QTabWidget.North)
        self.last_docked = dock_widget
        self.last_docked.hide()  # by default no widget is created...

        action = QtWidgets.QAction(name, self.menu_modules)
        action.setCheckable(True)
        self.module_actions.append(action)
        self.menu_modules.addAction(action)

        # make sure menu and widget are in sync
        action.changed.connect(
            lambda: dock_widget.setVisible(action.isChecked()))
        dock_widget.visibilityChanged.connect(
            lambda: action.setChecked(dock_widget.isVisible()))
        dock_widget.visibilityChanged.connect(self.hide_centralbutton)
        self.set_background_color(dock_widget)
Exemplo n.º 18
0
def AppendMenuItem(menu, label, description, callable, *args, **kwargs):

    label = SanitiseLabel(label)

    menu_item = QW.QAction(menu)

    if HC.PLATFORM_MACOS:

        menu_item.setMenuRole(QW.QAction.ApplicationSpecificRole)

    elided_label = HydrusText.ElideText(label, 128, elide_center=True)

    menu_item.setText(elided_label)

    if elided_label != label:

        menu_item.setToolTip(label)

    else:

        menu_item.setToolTip(description)

    menu_item.setStatusTip(description)
    menu_item.setWhatsThis(description)

    menu.addAction(menu_item)

    BindMenuItem(menu_item, callable, *args, **kwargs)

    return menu_item
Exemplo n.º 19
0
    def contextMenuEvent_Header(self, pos):
        """
		Right-click to show and hide columns

		Checked items are being shown

		see: https://stackoverflow.com/questions/11909139/pyqt-table-header-context-menu
		"""
        column = self.horizontalHeader().logicalIndexAt(pos.x())
        print('bTableWidget2.contextMenuEvent_Header() column:', column)

        menu = QtWidgets.QMenu()

        nColHeader = self.horizontalHeader().count()
        for colIdx in range(nColHeader):
            headerItem = self.horizontalHeaderItem(colIdx)
            headerItemText = headerItem.text()
            isHidden = not self.horizontalHeader().isSectionHidden(
                colIdx)  # check those not hidden
            currentAction = QtWidgets.QAction(headerItemText,
                                              self,
                                              checkable=True,
                                              checked=isHidden)
            currentAction.triggered.connect(self.menuActionHandler_header)
            menuAction = menu.addAction(currentAction)

        userAction = menu.exec_(self.mapToGlobal(pos))
Exemplo n.º 20
0
def newAction(
    parent,
    text,
    slot=None,
    shortcutName=None,
    icon=None,
    tip=None,
    checkable=False,
    enabled=True,
    checked=False,
):
    """Create a new action and assign callbacks, shortcuts, etc."""
    a = QtWidgets.QAction(text, parent)
    a.setData(shortcutName)
    # a = QtWidgets.QAction("", parent)
    if icon is not None:
        a.setIconText(text.replace(" ", "\n"))
        a.setIcon(newIcon(icon))
    shortcut = shortcuts.get(shortcutName, None)
    if shortcut is not None:
        if isinstance(shortcut, (list, tuple)):
            a.setShortcuts(shortcut)
        else:
            a.setShortcut(shortcut)
    if tip is not None:
        a.setToolTip(tip)
        a.setStatusTip(tip)
    if slot is not None:
        a.triggered.connect(slot)
    if checkable:
        a.setCheckable(True)
    a.setEnabled(enabled)
    a.setChecked(checked)
    return a
Exemplo n.º 21
0
def AppendMenuLabel(menu, label, description=''):

    original_label_text = label
    label = SanitiseLabel(label)

    if description is None:

        description = ''

    menu_item = QW.QAction(menu)

    if HC.PLATFORM_MACOS:

        menu_item.setMenuRole(QW.QAction.ApplicationSpecificRole)

    menu_item.setText(HydrusText.ElideText(label, 128, elide_center=True))

    menu_item.setStatusTip(description)
    menu_item.setToolTip(description)
    menu_item.setWhatsThis(description)

    menu.addAction(menu_item)

    BindMenuItem(menu_item, HG.client_controller.pub, 'clipboard', 'text',
                 original_label_text)

    return menu_item
Exemplo n.º 22
0
    def build_menu(self):
        self.file_menu = QtWidgets.QMenu('&Archivos', self)
        self.file_menu.addAction('&Abrir archivos', self.open_directory,
                                 QtCore.Qt.CTRL + QtCore.Qt.Key_O)
        self.file_menu.addAction('&Exportar datos', self.export_image,
                                 QtCore.Qt.CTRL + QtCore.Qt.Key_S)
        self.file_menu.addAction('&Salir', self.close,
                                 QtCore.Qt.CTRL + QtCore.Qt.Key_Q)

        self.view_menu = QtWidgets.QMenu('&Ver', self)
        self.view_menu.addAction('Aumentar zoom', self.pix_label.increase_zoom,
                                 QtCore.Qt.CTRL + QtCore.Qt.Key_Plus)
        self.view_menu.addAction('Disminuir zoom',
                                 self.pix_label.decrease_zoom,
                                 QtCore.Qt.CTRL + QtCore.Qt.Key_Minus)
        self.view_menu.addAction('Zoom 1:1', self.pix_label.reset_zoom,
                                 QtCore.Qt.CTRL + QtCore.Qt.Key_0)
        fullscreen = QtWidgets.QAction('&Ver pantalla completa', self)
        fullscreen.setCheckable(True)
        fullscreen.setShortcut(QtCore.Qt.Key_F11)
        fullscreen.toggled.connect(self.toggle_full_screen)
        self.view_menu.addAction(fullscreen)

        self.tools_menu = QtWidgets.QMenu("&Herramientas", self)
        self.tools_menu.addAction('&Ver información paciente',
                                  self.show_structure, QtCore.Qt.Key_F2)

        self.menuBar().addMenu(self.file_menu)
        self.menuBar().addMenu(self.view_menu)
        self.menuBar().addMenu(self.tools_menu)
Exemplo n.º 23
0
def AppendMenuCheckItem(menu, label, description, initial_value, callable,
                        *args, **kwargs):

    label = SanitiseLabel(label)

    menu_item = QW.QAction(menu)

    if HC.PLATFORM_MACOS:

        menu_item.setMenuRole(QW.QAction.ApplicationSpecificRole)

    menu_item.setText(HydrusText.ElideText(label, 128, elide_center=True))

    menu_item.setStatusTip(description)
    menu_item.setToolTip(description)
    menu_item.setWhatsThis(description)

    menu_item.setCheckable(True)
    menu_item.setChecked(initial_value)

    menu.addAction(menu_item)

    BindMenuItem(menu_item, callable, *args, **kwargs)

    return menu_item
Exemplo n.º 24
0
    def build_menu(self): 
        self.file_menu = QtWidgets.QMenu('&File', self)
        self.file_menu.addAction('&Open DICOM directory', self.open_directory, QtCore.Qt.CTRL + QtCore.Qt.Key_O)
        self.file_menu.addAction('&Export DICOM parent folder to BMP', self.export_image, QtCore.Qt.CTRL + QtCore.Qt.Key_S)
        self.file_menu.addAction('&Launch SteamVR', self.launch_steam, QtCore.Qt.Key_F5)
        self.file_menu.addAction('&Quit', self.close, QtCore.Qt.CTRL + QtCore.Qt.Key_Q)      

        self.view_menu = QtWidgets.QMenu('&View', self)
        self.view_menu.addAction('Zoom In', self.pix_label.increase_zoom, QtCore.Qt.CTRL + QtCore.Qt.Key_Plus)
        self.view_menu.addAction('Zoom Out', self.pix_label.decrease_zoom, QtCore.Qt.CTRL + QtCore.Qt.Key_Minus)
        self.view_menu.addAction('Zoom 1:1', self.pix_label.reset_zoom, QtCore.Qt.CTRL + QtCore.Qt.Key_0)
        fullscreen = QtWidgets.QAction('&Full Screen', self)
        fullscreen.setCheckable(True)
        fullscreen.setShortcut(QtCore.Qt.Key_F11)
        fullscreen.toggled.connect(self.toggle_full_screen)
        self.view_menu.addAction(fullscreen)

        self.tools_menu = QtWidgets.QMenu("&Tools", self)
        self.tools_menu.addAction('&Run STD Analysis', self.run_std_analysis, QtCore.Qt.Key_F2)
        self.tools_menu.addAction('&Prepare VR-Ready OBJs', self.slicer_automation, QtCore.Qt.Key_F3)
        self.tools_menu.addAction('&DICOM Settings', self.dicom_settings, QtCore.Qt.Key_F7)
        # self.tools_menu.addAction('&Show DICOM structure', self.show_structure, QtCore.Qt.Key_F2)

        self.help_menu = QtWidgets.QMenu("&Help", self)
        self.help_menu.addAction('&About', self.about_info, QtCore.Qt.Key_F6)

        self.menuBar().addMenu(self.file_menu)
        self.menuBar().addMenu(self.view_menu)
        self.menuBar().addMenu(self.tools_menu)
        self.menuBar().addMenu(self.help_menu)
Exemplo n.º 25
0
def newAction(parent,
              text,
              slot=None,
              shortcut=None,
              icon=None,
              tip=None,
              checkable=False,
              enabled=True):
    """Create a new action and assign callbacks, shortcuts, etc."""
    a = QtWidgets.QAction(text, parent)
    if icon is not None:
        a.setIconText(text.replace(' ', '\n'))
        a.setIcon(newIcon(icon))
    if shortcut is not None:
        print('## ', text, ' : ', shortcut)
        if isinstance(shortcut, (list, tuple)):
            a.setShortcuts(shortcut)
        else:
            a.setShortcut(shortcut)
    if tip is not None:
        a.setToolTip(tip)
        a.setStatusTip(tip)
    if slot is not None:
        a.triggered.connect(slot)
    if checkable:
        a.setCheckable(True)
    a.setEnabled(enabled)
    return a
Exemplo n.º 26
0
def AppendMenuLabel( menu, label, description = '' ):
    
    if description is None:
        
        description = ''
        
    
    menu_item = QW.QAction( menu )

    if HC.PLATFORM_MACOS:
        
        menu_item.setMenuRole( QW.QAction.ApplicationSpecificRole )
        
    
    menu_item.setText( label )
    
    menu_item.setStatusTip( description )
    menu_item.setToolTip( description )
    menu_item.setWhatsThis( description )

    menu.addAction( menu_item )
    
    BindMenuItem( menu_item, HG.client_controller.pub, 'clipboard', 'text', label )
    
    return menu_item
Exemplo n.º 27
0
    def update_recent_files(self):
        """Recreate the list with recent documents"""

        from libqtopensesame.actions import recent_action

        # Add the current path to the front of the list
        if self.current_path is not None and os.path.exists(self.current_path):
            if self.current_path in self.recent_files:
                self.recent_files.remove(self.current_path)
            self.recent_files.insert(0, self.current_path)

        # Trim the list
        self.recent_files = self.recent_files[:5]

        # Build the menu
        self.ui.menu_recent_files.clear()
        if len(self.recent_files) == 0:
            a = QtWidgets.QAction(_(u"(No recent files)"), \
             self.ui.menu_recent_files)
            a.setDisabled(True)
            self.ui.menu_recent_files.addAction(a)
        else:
            for path in self.recent_files:
                self.ui.menu_recent_files.addAction( \
                 recent_action.recent_action(path, self, \
                 self.ui.menu_recent_files))
Exemplo n.º 28
0
 def __init__(self, widget, curve_editor_class):
     super(BasePlotExtension, self).__init__(widget)
     self.widget = widget
     self.curve_editor_class = curve_editor_class
     self.edit_curves_action = QtWidgets.QAction("Edit Curves...",
                                                 self.widget)
     self.edit_curves_action.triggered.connect(self.edit_curves)
Exemplo n.º 29
0
    def __init__(self,
                 parent=None,
                 dtype=None,
                 columns=[],
                 rows=[],
                 column_delegate={},
                 row_delegate={},
                 selection_behavior='row',
                 multi_selection=False):

        QtWidgets.QTableView.__init__(self, parent)

        self.dtype = dtype
        self.columns = columns
        self.rows = rows
        self.block_selection_change_event = False
        self.selection = []
        self.mouse_pos = None
        self._setModel()
        self.set_delegate(col=column_delegate, row=row_delegate)
        self.set_selection_model(selection_behavior, multi_selection)
        if columns is None:
            self.horizontalHeader().hide()
        if rows is None:
            self.verticalHeader().hide()

        # build context menu
        self.menu = QtWidgets.QMenu(self)
        applyAction = QtWidgets.QAction('Apply to Column', self)
        applyAction.triggered.connect(self.apply_val_to_column)
        self.menu.addAction(applyAction)
Exemplo n.º 30
0
    def addLayerControl(self, item, name, tip=''):
        '''
        add color button in parameter menu if an overlay is added
        '''

        aExport = QtWidgets.QAction('Export to new display', self._menu.p)
        aExport.triggered.connect(
            lambda c, n=name: self._exportLayerToNewDisplay(n))

        p = self._menu.p.addChild({
            'name': name,
            'highlight': True,
            'type': 'color',
            'value': item.getQColor(),
            'tip': tip,
            'removable': True,
            #                     'renamable':True,
            'autoIncrementName': True,
            'addToContextMenu': [aExport],
            # TODO:
            # 'sliding':True
            'item': item
        })
        p.sigValueChanged.connect(
            lambda param, val: param.opts['item'].setQColor(val))

        self.setChecked(True)