Example #1
0
'''Widgets and dialogs for GSDView.'''


import logging
import contextlib

import numpy as np
from qtsix import QtCore, QtWidgets, QtGui

from gsdview import qtsupport


_log = logging.getLevelName(__name__)

StretchWidgetBase = qtsupport.getuiform('doubleslider', __name__)


class StretchWidget(QtWidgets.QWidget, StretchWidgetBase):
    '''Stretch widget.

    :SIGNALS:

        * :attr:`valueChanged`

    '''

    #: SIGNAL: it is emitted when the stretch value changes
    #:
    #: :C++ signature: `void valueChanged()`
    valueChanged = QtCore.Signal()
Example #2
0
        dialog.setDirectory(os.path.dirname(str(filename)))
    try:
        if mode is not None:
            dialog.setFileMode(mode)
        if dialog.exec_():
            filename = str(dialog.selectedFiles()[0])
    finally:
        dialog.setFileMode(oldmode)
    return filename


def _choosedir(dirname, dialog=None,):
    return _choosefile(dirname, dialog, QtWidgets.QFileDialog.DirectoryOnly)


AboutDialogBase = qtsupport.getuiform('aboutdialog', __name__)


class AboutDialog(QtWidgets.QDialog, AboutDialogBase):

    def __init__(self, parent=None, flags=QtCore.Qt.WindowFlags(0), **kwargs):
        super(AboutDialog, self).__init__(parent, flags, **kwargs)
        self.setupUi(self)

        # Context menu actions
        qtsupport.setViewContextActions(self.versionsTableWidget)

        # Set icons
        logofile = qtsupport.geticonfile('GSDView.png', __name__)
        self.setLogo(logofile)
Example #3
0
            self.autoload.extend(new_plugins)
        finally:
            settings.endGroup()


# GUI #######################################################################

# @TODO: move Qt specific implementation elsewhere
import functools

from qtsix import QtCore, QtWidgets

# @TODO: check dependency - getuiform, geticon, setViewContextActions
from gsdview import qtsupport

PluginManagerGuiBase = qtsupport.getuiform('pluginmanager', __name__)


class PluginManagerGui(QtWidgets.QWidget, PluginManagerGuiBase):

    # @TODO: emit signal for ???

    def __init__(self,
                 pluginmanager,
                 parent=None,
                 flags=QtCore.Qt.WindowFlags(0),
                 **kwargs):
        super(PluginManagerGui, self).__init__(parent, flags, **kwargs)
        self.setupUi(self)

        # Set icons
Example #4
0
        dialog.setDirectory(os.path.dirname(str(filename)))
    try:
        if mode is not None:
            dialog.setFileMode(mode)
        if dialog.exec_():
            filename = str(dialog.selectedFiles()[0])
    finally:
        dialog.setFileMode(oldmode)
    return filename


def _choosedir(dirname, dialog=None):
    return _choosefile(dirname, dialog, QtWidgets.QFileDialog.DirectoryOnly)


AboutDialogBase = qtsupport.getuiform('aboutdialog', __name__)


class AboutDialog(QtWidgets.QDialog, AboutDialogBase):
    def __init__(self, parent=None, flags=QtCore.Qt.WindowFlags(0), **kwargs):
        super().__init__(parent, flags, **kwargs)
        self.setupUi(self)

        # Context menu actions
        qtsupport.setViewContextActions(self.versionsTableWidget)

        # Set icons
        logofile = qtsupport.geticonfile('GSDView.png', __name__)
        self.setLogo(logofile)

        # Set contents
Example #5
0
        finally:
            settings.endGroup()


# GUI #######################################################################

# @TODO: move Qt specific implementation elsewhere
import functools

from qtsix import QtCore, QtWidgets

# @TODO: check dependency - getuiform, geticon, setViewContextActions
from gsdview import qtsupport


PluginManagerGuiBase = qtsupport.getuiform('pluginmanager', __name__)


class PluginManagerGui(QtWidgets.QWidget, PluginManagerGuiBase):

    # @TODO: emit signal for ???

    def __init__(self, pluginmanager, parent=None,
                 flags=QtCore.Qt.WindowFlags(0), **kwargs):
        super(PluginManagerGui, self).__init__(parent, flags, **kwargs)
        self.setupUi(self)

        # Set icons
        geticon = qtsupport.geticon
        self.addButton.setIcon(geticon('add.svg', __name__))
        self.removeButton.setIcon(geticon('remove.svg', __name__))