def __init__(self, *args, **kwargs):
        super(BetterButtons, self).__init__(*args, **kwargs)

        # Setup axes reset button
        self.resetAxesBtn = QPushButton("Reset Axes")
        sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(1)
        sizePolicy.setHeightForWidth(
            self.resetAxesBtn.sizePolicy().hasHeightForWidth())
        self.resetAxesBtn.setSizePolicy(sizePolicy)
        self.resetAxesBtn.setObjectName("resetAxes")
        self.ui.gridLayout.addWidget(self.resetAxesBtn, 2, 1, 1, 1)
        self.resetAxesBtn.clicked.connect(self.autoRange)

        # Setup LUT reset button
        self.resetLUTBtn = QPushButton("Reset LUT")
        sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(1)
        sizePolicy.setHeightForWidth(
            self.resetLUTBtn.sizePolicy().hasHeightForWidth())
        # self.resetLUTBtn.setSizePolicy(sizePolicy)
        # self.resetLUTBtn.setObjectName("resetLUTBtn")
        self.ui.gridLayout.addWidget(self.resetLUTBtn, 2, 2, 1, 1)
        self.resetLUTBtn.clicked.connect(self.autoLevels)

        # Hide ROI button and rearrange
        self.ui.roiBtn.setParent(None)
        self.ui.menuBtn.setParent(None)
        # self.ui.gridLayout.addWidget(self.ui.menuBtn, 1, 1, 1, 1)
        self.ui.gridLayout.addWidget(self.ui.graphicsView, 0, 0, 2, 1)
    def __init__(self, *args, **kwargs):
        # Composes a new type consisting of any ImageItem types in imageItem_bases with this classes's helper ImageItem
        # class (LogScaleImageItem)
        self.imageItem_bases += (LogScaleImageItem, )
        imageItem = type("DynamicImageItem", tuple(self.imageItem_bases), {})()
        if "imageItem" in kwargs:
            del kwargs["imageItem"]
        super(LogScaleIntensity, self).__init__(imageItem=imageItem,
                                                *args,
                                                **kwargs)

        self.logScale = True

        # Setup log scale button
        self.logIntensityButton = QPushButton("Log Intensity")
        sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(1)
        sizePolicy.setHeightForWidth(
            self.logIntensityButton.sizePolicy().hasHeightForWidth())
        self.logIntensityButton.setSizePolicy(sizePolicy)
        self.logIntensityButton.setObjectName("logIntensity")
        self.ui.gridLayout.addWidget(self.logIntensityButton, 3, 2, 1, 1)
        self.logIntensityButton.setCheckable(True)
        self.setLogScale(True)
        self.logIntensityButton.clicked.connect(self._setLogScale)
Example #3
0
    def __init__(self, data=None, axis=0, parent=None, **kwargs):

        super(VolumeView, self).__init__(parent, **kwargs)
        self.parent = parent
        self.data = data

        if axis == -1:
            axis = 2
        if 0 <= axis <= 2:
            self.axis = axis
        else:
            raise IndexError("Index out of range.")

        # initialize variables
        self.numberOfSlices = 1
        self.currentSlice = 0

        # create single view
        self.sliceView = SliceView(parent=self)

        # layout
        self.layout = QVBoxLayout(self)
        self.layout.addWidget(self.sliceView)
        self.layout.setContentsMargins(0, 0, 0, 0)
        self.layout.setSpacing(0)
        sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
        sizePolicy.setHeightForWidth(True)
        self.setSizePolicy(sizePolicy)

        if self.data is not None:
            self.setData(self.data)
Example #4
0
    def __init__(self, *args, **kwargs):
        super(BetterButtons, self).__init__(*args, **kwargs)

        # Setup axes reset button
        self.resetAxesBtn = QPushButton("Reset Axes")
        sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(1)
        sizePolicy.setHeightForWidth(
            self.resetAxesBtn.sizePolicy().hasHeightForWidth())
        self.resetAxesBtn.setSizePolicy(sizePolicy)
        self.resetAxesBtn.setObjectName("resetAxes")
        self.ui.right_layout.addWidget(self.resetAxesBtn)
        self.resetAxesBtn.clicked.connect(self.autoRange)

        # Setup LUT reset button
        self.resetLUTBtn = QPushButton("Reset LUT")
        sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(1)
        sizePolicy.setHeightForWidth(
            self.resetLUTBtn.sizePolicy().hasHeightForWidth())
        # self.resetLUTBtn.setSizePolicy(sizePolicy)
        # self.resetLUTBtn.setObjectName("resetLUTBtn")
        self.ui.right_layout.addWidget(self.resetLUTBtn)
        self.resetLUTBtn.clicked.connect(self.autoLevels)
Example #5
0
    def __init__(self, data=None, imshow_args=None, parent=None, **kwargs):

        super(SliceView, self).__init__(parent, **kwargs)
        self.parent = parent
        self.data = data
        self.imshow_args = {} if imshow_args is None else imshow_args

        # make display available
        self.figure = Figure(facecolor="black")
        self.__canvas = FigureCanvas(self.figure)
        self.__imshowAccessor = None

        # layout
        self.layout = QVBoxLayout(self)
        self.layout.addWidget(self.__canvas)
        self.layout.setContentsMargins(0, 0, 0, 0)
        self.layout.setSpacing(0)
        self.setDisabled(True)
        sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
        sizePolicy.setHeightForWidth(True)
        self.setSizePolicy(sizePolicy)

        # prepare figure
        self.axes = self.figure.add_subplot(111)
        self.figure.subplots_adjust(left=0, right=1, top=1, bottom=0)
        self.axes.axis("Off")

        # plot if we can
        if self.data is not None:
            self.setData(self.data)
Example #6
0
    def __init__(self, *args, **kwargs):
        if kwargs.get("imageItem") and not isinstance(kwargs.get("imageItem"),
                                                      LogScaleImageItem):
            raise RuntimeError(
                "The imageItem set to a LogScaleIntensity ImageView must be a LogScaleImageItem."
            )

        kwargs["imageItem"] = LogScaleImageItem()
        super(LogScaleIntensity, self).__init__(*args, **kwargs)

        self.logScale = True

        # Setup log scale button
        self.logIntensityButton = QPushButton("Log Intensity")
        sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(1)
        sizePolicy.setHeightForWidth(
            self.logIntensityButton.sizePolicy().hasHeightForWidth())
        self.logIntensityButton.setSizePolicy(sizePolicy)
        self.logIntensityButton.setObjectName("logIntensity")
        self.ui.gridLayout.addWidget(self.logIntensityButton, 3, 2, 1, 1)
        self.logIntensityButton.setCheckable(True)
        self.setLogScale(True)
        self.logIntensityButton.clicked.connect(self._setLogScale)
Example #7
0
 def __init__(self, parent):
     super(TitlebarDarwinButton, self).__init__(parent)
     self.setIconSize(QSize(15, 15))
     self.setMinimumSize(QSize(15, 15))
     self.setAutoFillBackground(True)
     self.setMouseTracking(True)
     sizepolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
     sizepolicy.setHorizontalStretch(0)
     sizepolicy.setVerticalStretch(0)
     sizepolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth())
     self.setSizePolicy(sizepolicy)
Example #8
0
    def __init__(self, *args, **kwargs):
        super(ExportButton, self).__init__(*args, **kwargs)

        # Export button
        self.exportBtn = QPushButton('Export')
        sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(1)
        sizePolicy.setHeightForWidth(self.exportBtn.sizePolicy().hasHeightForWidth())
        self.ui.right_layout.addWidget(self.exportBtn)
        self.exportBtn.clicked.connect(self.export)
Example #9
0
    def __init__(self, parent):
        super(ButtonsWidget, self).__init__(parent)
        self.setObjectName("buttonsWidget")
        self.setContentsMargins(0, 0, 0, 0)
        sizepolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred)
        sizepolicy.setHorizontalStretch(0)
        sizepolicy.setVerticalStretch(0)
        sizepolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth())
        self.setSizePolicy(sizepolicy)
        self.setStyleSheet("padding: 0px;")

        self.buttonsLayout = QHBoxLayout(self)
        self.buttonsLayout.setContentsMargins(0, 0, 0, 0)
        self.buttonsLayout.setSpacing(0)
        self.buttonsLayout.setAlignment(Qt.AlignVCenter)
        self.setLayout(self.buttonsLayout)
        if qrainbowstyle.USE_DARWIN_BUTTONS:
            self.btnMinimize = MinimizeDarwinButton(self)
            self.btnMaximize = MaximizeDarwinButton(self)
            self.btnRestore = RestoreDarwinButton(self)
            self.btnClose = CloseDarwinButton(self)
        else:
            self.btnMinimize = MinimizeWindowsButton(self)
            self.btnMaximize = MaximizeWindowsButton(self)
            self.btnRestore = RestoreWindowsButton(self)
            self.btnClose = CloseWindowsButton(self)

        if qrainbowstyle.ALIGN_BUTTONS_LEFT:
            self.buttonsLayout.addWidget(self.btnClose)
            if not qrainbowstyle.USE_DARWIN_BUTTONS:
                self.buttonsLayout.addWidget(self.btnRestore)
            self.buttonsLayout.addWidget(self.btnMinimize)
            self.buttonsLayout.addWidget(self.btnMaximize)
        else:
            self.buttonsLayout.addWidget(self.btnMinimize)
            self.buttonsLayout.addWidget(self.btnMaximize)
            if not qrainbowstyle.USE_DARWIN_BUTTONS:
                self.buttonsLayout.addWidget(self.btnRestore)
            self.buttonsLayout.addWidget(self.btnClose)

        self.btnMinimize.setObjectName("btnMinimize")
        self.btnMaximize.setObjectName("btnMaximize")
        if not qrainbowstyle.USE_DARWIN_BUTTONS:
            self.btnRestore.setObjectName("btnRestore")
        self.btnClose.setObjectName("btnClose")

        if qrainbowstyle.USE_DARWIN_BUTTONS:
            self.buttonsLayout.setSpacing(8)
Example #10
0
    def __init__(self, parent):
        super(TitlebarWindowsButton, self).__init__(parent)
        iconsize = QSize(45, 30)
        self.setIconSize(iconsize)
        self.setMinimumSize(iconsize)
        self.setText("")
        self.setEnabled(True)
        self.setAutoFillBackground(True)
        self.setChecked(False)
        self.setMouseTracking(True)

        sizepolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        sizepolicy.setHorizontalStretch(0)
        sizepolicy.setVerticalStretch(0)
        sizepolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth())
        self.setSizePolicy(sizepolicy)
Example #11
0
    def __init__(self, parent=None):
        """
        Init
        :param parent:
        """
        from .ui.workspaceviewwidget import WorkspaceViewWidget

        QMainWindow.__init__(self)

        # set up
        self.setObjectName(_fromUtf8("MainWindow"))
        self.resize(1600, 1200)
        self.centralwidget = QWidget(self)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        self.gridLayout = QGridLayout(self.centralwidget)
        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
        self.widget = WorkspaceViewWidget(self)
        sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.widget.sizePolicy().hasHeightForWidth())
        self.widget.setSizePolicy(sizePolicy)
        self.widget.setObjectName(_fromUtf8("widget"))
        self.gridLayout.addWidget(self.widget, 1, 0, 1, 1)
        self.label = QLabel(self.centralwidget)
        self.label.setObjectName(_fromUtf8("label"))
        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
        self.setCentralWidget(self.centralwidget)
        self.menubar = QMenuBar(self)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1005, 25))
        self.menubar.setObjectName(_fromUtf8("menubar"))
        self.setMenuBar(self.menubar)
        self.statusbar = QStatusBar(self)
        self.statusbar.setObjectName(_fromUtf8("statusbar"))
        self.setStatusBar(self.statusbar)
        self.toolBar = QToolBar(self)
        self.toolBar.setObjectName(_fromUtf8("toolBar"))
        self.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)

        # self.retranslateUi(self)
        QtCore.QMetaObject.connectSlotsByName(self)
Example #12
0
    def setup_ui(self, enabled=True):
        self.v_lay = QVBoxLayout(self)
        self.v_lay.setContentsMargins(-1, 6, -1, 6)
        self.v_lay.setSpacing(0)
        self.row1 = QHBoxLayout()
        self.row1.setSpacing(6)
        self.enabled_checkbox = QCheckBox(self)
        self.enabled_checkbox.setChecked(enabled)
        self.enabled_checkbox.stateChanged.connect(self._on_enabled_checkbox)
        self.enabled_checkbox.setToolTip(trans._("enable/disable"))
        sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.enabled_checkbox.sizePolicy().hasHeightForWidth())
        self.enabled_checkbox.setSizePolicy(sizePolicy)
        self.enabled_checkbox.setMinimumSize(QSize(20, 0))
        self.enabled_checkbox.setText("")
        self.row1.addWidget(self.enabled_checkbox)
        self.plugin_name = QLabel(self)
        sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Minimum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.plugin_name.sizePolicy().hasHeightForWidth())
        self.plugin_name.setSizePolicy(sizePolicy)
        font15 = QFont()
        font15.setPointSize(15)
        self.plugin_name.setFont(font15)
        self.row1.addWidget(self.plugin_name)

        icon = QColoredSVGIcon.from_resources("warning")
        self.warning_tooltip = QtToolTipLabel(self)
        # TODO: This color should come from the theme but the theme needs
        # to provide the right color. Default warning should be orange, not
        # red. Code example:
        # theme_name = get_settings().appearance.theme
        # napari.utils.theme.get_theme(theme_name, as_dict=False).warning.as_hex()
        self.warning_tooltip.setPixmap(
            icon.colored(color="#E3B617").pixmap(15, 15))
        self.warning_tooltip.setVisible(False)
        self.row1.addWidget(self.warning_tooltip)

        self.item_status = QLabel(self)
        self.item_status.setObjectName("small_italic_text")
        self.item_status.setSizePolicy(sizePolicy)
        self.row1.addWidget(self.item_status)
        self.row1.addStretch()

        self.package_name = QLabel(self)
        self.package_name.setAlignment(Qt.AlignRight | Qt.AlignTrailing
                                       | Qt.AlignVCenter)
        self.row1.addWidget(self.package_name)

        self.cancel_btn = QPushButton("cancel", self)
        self.cancel_btn.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        self.cancel_btn.setObjectName("remove_button")
        self.row1.addWidget(self.cancel_btn)

        self.update_btn = QPushButton(self)
        self.update_btn.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        self.update_btn.setObjectName("install_button")
        self.row1.addWidget(self.update_btn)
        self.update_btn.setVisible(False)
        self.help_button = QPushButton(self)
        self.action_button = QPushButton(self)
        sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.action_button.sizePolicy().hasHeightForWidth())
        self.help_button.setSizePolicy(sizePolicy)
        self.action_button.setSizePolicy(sizePolicy)
        self.row1.addWidget(self.help_button)
        self.row1.addWidget(self.action_button)
        self.v_lay.addLayout(self.row1)
        self.row2 = QHBoxLayout()
        self.error_indicator = QPushButton()
        self.error_indicator.setObjectName("warning_icon")
        self.error_indicator.setCursor(Qt.PointingHandCursor)
        self.error_indicator.hide()
        self.row2.addWidget(self.error_indicator)
        self.row2.setContentsMargins(-1, 4, 0, -1)
        self.summary = QElidingLabel(parent=self)
        sizePolicy = QSizePolicy(QSizePolicy.MinimumExpanding,
                                 QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.summary.sizePolicy().hasHeightForWidth())
        self.summary.setSizePolicy(sizePolicy)
        self.summary.setObjectName("small_text")
        self.row2.addWidget(self.summary)
        self.package_author = QLabel(self)
        sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.package_author.sizePolicy().hasHeightForWidth())
        self.package_author.setSizePolicy(sizePolicy)
        self.package_author.setObjectName("small_text")
        self.row2.addWidget(self.package_author)
        self.v_lay.addLayout(self.row2)
Example #13
0
 def setup_ui(self):
     self.v_lay = QVBoxLayout(self)
     self.v_lay.setContentsMargins(-1, 8, -1, 8)
     self.v_lay.setSpacing(0)
     self.row1 = QHBoxLayout()
     self.row1.setSpacing(8)
     self.enabled_checkbox = QCheckBox(self)
     self.enabled_checkbox.setChecked(True)
     self.enabled_checkbox.setDisabled(True)
     self.enabled_checkbox.setToolTip(trans._("enable/disable"))
     sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
     sizePolicy.setHorizontalStretch(0)
     sizePolicy.setVerticalStretch(0)
     sizePolicy.setHeightForWidth(
         self.enabled_checkbox.sizePolicy().hasHeightForWidth())
     self.enabled_checkbox.setSizePolicy(sizePolicy)
     self.enabled_checkbox.setMinimumSize(QSize(20, 0))
     self.enabled_checkbox.setText("")
     self.row1.addWidget(self.enabled_checkbox)
     self.plugin_name = QLabel(self)
     sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Minimum)
     sizePolicy.setHorizontalStretch(0)
     sizePolicy.setVerticalStretch(0)
     sizePolicy.setHeightForWidth(
         self.plugin_name.sizePolicy().hasHeightForWidth())
     self.plugin_name.setSizePolicy(sizePolicy)
     font16 = QFont()
     font16.setPointSize(16)
     self.plugin_name.setFont(font16)
     self.row1.addWidget(self.plugin_name)
     self.package_name = QLabel(self)
     self.package_name.setAlignment(Qt.AlignRight | Qt.AlignTrailing
                                    | Qt.AlignVCenter)
     self.row1.addWidget(self.package_name)
     self.action_button = QPushButton(self)
     sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
     sizePolicy.setHorizontalStretch(0)
     sizePolicy.setVerticalStretch(0)
     sizePolicy.setHeightForWidth(
         self.action_button.sizePolicy().hasHeightForWidth())
     self.action_button.setSizePolicy(sizePolicy)
     self.row1.addWidget(self.action_button)
     self.v_lay.addLayout(self.row1)
     self.row2 = QHBoxLayout()
     self.error_indicator = QPushButton()
     self.error_indicator.setObjectName("warning_icon")
     self.error_indicator.setCursor(Qt.PointingHandCursor)
     self.error_indicator.hide()
     self.row2.addWidget(self.error_indicator)
     self.row2.setContentsMargins(-1, 4, 0, -1)
     self.summary = ElidingLabel(parent=self)
     sizePolicy = QSizePolicy(QSizePolicy.MinimumExpanding,
                              QSizePolicy.Preferred)
     sizePolicy.setHorizontalStretch(0)
     sizePolicy.setVerticalStretch(0)
     sizePolicy.setHeightForWidth(
         self.summary.sizePolicy().hasHeightForWidth())
     self.summary.setSizePolicy(sizePolicy)
     self.summary.setObjectName("small_text")
     self.row2.addWidget(self.summary)
     self.package_author = QLabel(self)
     sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
     sizePolicy.setHorizontalStretch(0)
     sizePolicy.setVerticalStretch(0)
     sizePolicy.setHeightForWidth(
         self.package_author.sizePolicy().hasHeightForWidth())
     self.package_author.setSizePolicy(sizePolicy)
     self.package_author.setObjectName("small_text")
     self.row2.addWidget(self.package_author)
     self.v_lay.addLayout(self.row2)
Example #14
0
    def __init__(self, Form):
        """Initialization
        :param parent:ns
        """
        # Initialize parent
        super(SliceViewWidget, self).__init__(Form)

        # set up the status
        self._is_setup = False
        self._xi = None
        self._yi = None
        self._zmatrix = None

        # set up the UI
        # main 2D graphics view
        self.setLayout(QGridLayout())
        self.paintwidget = QWidget(self)
        self.paintwidget.setMinimumSize(800, 600)
        self.layout().addWidget(self.paintwidget, 0, 0, 1, 1)
        self.main_canvas = sliceviewwidgets.Qt4Mpl2DCanvas(self.paintwidget)
        ssizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        ssizePolicy.setHorizontalStretch(1)
        ssizePolicy.setVerticalStretch(1)
        ssizePolicy.setHeightForWidth(self.paintwidget.sizePolicy().hasHeightForWidth())
        self.paintwidget.setSizePolicy(ssizePolicy)
        self.paintwidget.setObjectName("graphicsVerticalView")

        # vertical slice
        self.vertical_widget = QWidget(self)
        self.vertical_widget.setMinimumSize(200, 600)
        self.layout().addWidget(self.vertical_widget, 0, 1, 1, 1)
        self.vertical_canvas = sliceviewwidgets.Qt4MplCanvasMultiFigure(self.vertical_widget, rotate=1)
        vsizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)
        vsizePolicy.setHorizontalStretch(0)
        vsizePolicy.setVerticalStretch(1)
        vsizePolicy.setHeightForWidth(True)
        vsizePolicy.setWidthForHeight(True)
        self.vertical_widget.setSizePolicy(vsizePolicy)
        self.vertical_widget.setSizePolicy(vsizePolicy)
        self.vertical_widget.setObjectName("graphicsVerticalView")

        # horizontal slice
        self.horizontal_widget = QWidget(self)
        self.horizontal_widget.setMinimumSize(800, 150)
        self.layout().addWidget(self.horizontal_widget, 1, 0, 1, 1)
        self.horizontal_canvas = sliceviewwidgets.Qt4MplCanvasMultiFigure(self.horizontal_widget)
        hsizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.MinimumExpanding)
        hsizePolicy.setHorizontalStretch(1)
        hsizePolicy.setVerticalStretch(1)
        hsizePolicy.setHeightForWidth(True)
        hsizePolicy.setWidthForHeight(False)
        self.horizontal_widget.setSizePolicy(hsizePolicy)
        self.horizontal_widget.setSizePolicy(hsizePolicy)
        self.horizontal_widget.setObjectName("graphicsHorizontalView")

        # connect the events
        self.main_canvas.mpl_connect('button_press_event', self.on_mouse_press_event)
        self.main_canvas.mpl_connect('button_release_event', self.on_mouse_release_event)
        self.main_canvas.mpl_connect('motion_notify_event', self.on_mouse_move)

        # indicator
        self._indicator = IndicatorManager(self.main_canvas)

        # mouse state
        # NOTE: 0 = Not Pressed, 1 = left, 3 = right
        self._mouse_pressed = 0

        return
Example #15
0
    def __init__(self, dock, title):
        super(Tab, self).__init__()  # QWidget.__init__(self)

        self._clickPos = None
        self._dock = dock
        self._active = False

        self.setContextMenuPolicy(Qt.CustomContextMenu)
        self.customContextMenuRequested.connect(self._customContextMenu)

        self.layout = QHBoxLayout()
        self.layout.setContentsMargins(0, 0, 0, 0)
        self.setLayout(self.layout)

        self.titleLabel = QLabel()
        self.titleLabel.setText(title)

        self.titleLabel.setMinimumWidth(10)
        self.titleLabel.setContentsMargins(QMargins(5, 3, 5, 3))
        size_policy_1 = QSizePolicy(QSizePolicy.Expanding,
                                    QSizePolicy.Preferred)
        size_policy_1.setHorizontalStretch(0)
        size_policy_1.setVerticalStretch(0)
        size_policy_1.setHeightForWidth(
            self.titleLabel.sizePolicy().hasHeightForWidth())
        self.titleLabel.setSizePolicy(size_policy_1)
        self.layout.addWidget(self.titleLabel)

        self.close_button = QPushButton()
        size_policy_2 = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Preferred)
        size_policy_2.setHorizontalStretch(0)
        size_policy_2.setVerticalStretch(0)
        size_policy_2.setHeightForWidth(
            self.close_button.sizePolicy().hasHeightForWidth())
        self.close_button.setSizePolicy(size_policy_2)
        self.layout.addWidget(self.close_button)

        self.close_button.clicked.connect(self._closeClick)

        self._style = """
        Tab {
            background-color: #a0a0a1;
            border: 0px solid green;
            border-top-left-radius: 2px;
            border-top-right-radius: 2px;
            padding: 2px;
        }
        Tab[active="true"] {
            background-color: #475057;
            border: 0px solid green;
            border-top-left-radius: 2px;
            border-top-right-radius: 2px;
            padding: 2px;
        }
        Tab QLabel {color: #cecece; }
        Tab  > QPushButton {
            background-color: transparent;
            border: 0px solid green;
            qproperty-icon: none;
            image: url(":/bench/close_1");
            width: 18px;
            height: 18px;
        }
        Tab  > QPushButton:hover {
            background-color: transparent;
            border: 0px solid green;
            qproperty-icon: none;
            image: url(":/bench/close");
            width: 18px;
            height: 18px;
        }
        """
        self.setStyleSheet(self._style)

        self.closeAction = QAction("Close", self)
        self.closeAction.triggered.connect(self._closeClick)
        self.dockProperties = QAction("Properties", self)
        self.dockProperties.triggered.connect(self._dockProperties)
Example #16
0
    def setup_ui(self, enabled=True):
        self.v_lay = QVBoxLayout(self)
        self.v_lay.setContentsMargins(-1, 6, -1, 6)
        self.v_lay.setSpacing(0)
        self.row1 = QHBoxLayout()
        self.row1.setSpacing(6)
        self.enabled_checkbox = QCheckBox(self)
        self.enabled_checkbox.setChecked(enabled)
        self.enabled_checkbox.stateChanged.connect(self._on_enabled_checkbox)
        self.enabled_checkbox.setToolTip(trans._("enable/disable"))
        sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.enabled_checkbox.sizePolicy().hasHeightForWidth()
        )
        self.enabled_checkbox.setSizePolicy(sizePolicy)
        self.enabled_checkbox.setMinimumSize(QSize(20, 0))
        self.enabled_checkbox.setText("")
        self.row1.addWidget(self.enabled_checkbox)
        self.plugin_name = QLabel(self)
        sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Minimum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.plugin_name.sizePolicy().hasHeightForWidth()
        )
        self.plugin_name.setSizePolicy(sizePolicy)
        font15 = QFont()
        font15.setPointSize(15)
        self.plugin_name.setFont(font15)
        self.row1.addWidget(self.plugin_name)

        self.item_status = QLabel(self)
        self.item_status.setObjectName("small_italic_text")
        self.item_status.setSizePolicy(sizePolicy)
        self.row1.addWidget(self.item_status)
        self.row1.addStretch()

        self.package_name = QLabel(self)
        self.package_name.setAlignment(
            Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter
        )
        self.row1.addWidget(self.package_name)

        self.cancel_btn = QPushButton("cancel", self)
        self.cancel_btn.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        self.cancel_btn.setObjectName("remove_button")
        self.row1.addWidget(self.cancel_btn)

        self.update_btn = QPushButton(self)
        self.update_btn.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        self.update_btn.setObjectName("install_button")
        self.row1.addWidget(self.update_btn)
        self.update_btn.setVisible(False)
        self.help_button = QPushButton(self)
        self.action_button = QPushButton(self)
        sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.action_button.sizePolicy().hasHeightForWidth()
        )
        self.help_button.setSizePolicy(sizePolicy)
        self.action_button.setSizePolicy(sizePolicy)
        self.row1.addWidget(self.help_button)
        self.row1.addWidget(self.action_button)
        self.v_lay.addLayout(self.row1)
        self.row2 = QHBoxLayout()
        self.error_indicator = QPushButton()
        self.error_indicator.setObjectName("warning_icon")
        self.error_indicator.setCursor(Qt.PointingHandCursor)
        self.error_indicator.hide()
        self.row2.addWidget(self.error_indicator)
        self.row2.setContentsMargins(-1, 4, 0, -1)
        self.summary = QElidingLabel(parent=self)
        sizePolicy = QSizePolicy(
            QSizePolicy.MinimumExpanding, QSizePolicy.Preferred
        )
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.summary.sizePolicy().hasHeightForWidth()
        )
        self.summary.setSizePolicy(sizePolicy)
        self.summary.setObjectName("small_text")
        self.row2.addWidget(self.summary)
        self.package_author = QLabel(self)
        sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.package_author.sizePolicy().hasHeightForWidth()
        )
        self.package_author.setSizePolicy(sizePolicy)
        self.package_author.setObjectName("small_text")
        self.row2.addWidget(self.package_author)
        self.v_lay.addLayout(self.row2)