'''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()
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)
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
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
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__))