Skip to content
Snippets Groups Projects
Commit c6175f01 authored by Roland Mas's avatar Roland Mas
Browse files

New upstream version 1.4.1

parent a0b4a08f
No related branches found
No related tags found
No related merge requests found
Pipeline #781172 failed
...@@ -12,7 +12,7 @@ variables: ...@@ -12,7 +12,7 @@ variables:
# style # style
check_style: check_style:
stage: style stage: style
image: docker-registry.esrf.fr/dau/ewoks:python_3.9_glx image: gitlab-registry.esrf.fr/dau/ci/pyci/python_3.9_glx:latest
before_script: before_script:
- pip install black - pip install black
script: script:
...@@ -22,7 +22,7 @@ check_style: ...@@ -22,7 +22,7 @@ check_style:
doc: doc:
stage: build stage: build
image: docker-registry.esrf.fr/dau/ewoks:python_3.8_doc image: gitlab-registry.esrf.fr/dau/ci/pyci/python_3.8_doc:latest
tags: tags:
- linux - linux
before_script: before_script:
...@@ -68,7 +68,7 @@ doc: ...@@ -68,7 +68,7 @@ doc:
test-3.9: test-3.9:
extends: .pytest extends: .pytest
image: docker-registry.esrf.fr/dau/ewoks:python_3.9_glx image: gitlab-registry.esrf.fr/dau/ci/pyci/python_3.9_glx:latest
coverage: '/(?i)total.*? (100(?:\.0+)?\%|[1-9]?\d(?:\.\d+)?\%)$/' coverage: '/(?i)total.*? (100(?:\.0+)?\%|[1-9]?\d(?:\.\d+)?\%)$/'
artifacts: artifacts:
paths: paths:
...@@ -82,7 +82,7 @@ pages: ...@@ -82,7 +82,7 @@ pages:
stage: deploy stage: deploy
tags: tags:
- linux - linux
image: docker-registry.esrf.fr/dau/ewoks:python_3.8_doc image: gitlab-registry.esrf.fr/dau/ci/pyci/python_3.8_doc:latest
script: script:
- rm -rf public - rm -rf public
# doc # doc
......
from silx.gui import qt
class DropDownWidget(qt.QWidget):
"""Simple 'dropdown' widget"""
_BUTTON_ICON = qt.QStyle.SP_ToolBarVerticalExtensionButton # noqa
def __init__(self, parent, direction=qt.Qt.LeftToRight):
super().__init__(parent)
self.setLayout(qt.QVBoxLayout())
self.setLayoutDirection(direction)
# toggable button
self._toggleButton = qt.QPushButton("", self)
self._toggleButton.setCheckable(True)
self._toggleButton.setSizePolicy(qt.QSizePolicy.Fixed, qt.QSizePolicy.Fixed)
self.layout().addWidget(self._toggleButton)
self._mainWidget = None
# set up interface
self.layout().setContentsMargins(2, 2, 2, 2)
self.layout().setSpacing(0)
self._setButtonIcon(show=True)
self._toggleButton.setChecked(True)
# connect signal / slot
self._toggleButton.toggled.connect(self._toggleVisibility)
def setWidget(self, widget: qt.QWidget):
if self._mainWidget is not None:
self.layout().removeWidget(self._mainWidget)
self._mainWidget = widget
self.layout().addWidget(self._mainWidget)
def _setButtonIcon(self, show):
style = qt.QApplication.instance().style()
# return a QIcon
icon = style.standardIcon(self._BUTTON_ICON)
if show is True:
pixmap = icon.pixmap(32, 32).transformed(qt.QTransform().scale(1, -1))
icon = qt.QIcon(pixmap)
self._toggleButton.setIcon(icon)
def _toggleVisibility(self, visible):
self._setButtonIcon(show=visible)
self._mainWidget.setVisible(visible)
...@@ -41,6 +41,7 @@ from processview.core.manager import DatasetState ...@@ -41,6 +41,7 @@ from processview.core.manager import DatasetState
from processview.core.manager import ProcessManager as _ProcessManager from processview.core.manager import ProcessManager as _ProcessManager
from processview.core.sorting import SortType, tooltips from processview.core.sorting import SortType, tooltips
from processview.core.superviseprocess import SuperviseProcess from processview.core.superviseprocess import SuperviseProcess
from processview.gui.DropDownWidget import DropDownWidget
from processview.gui import icons as icons from processview.gui import icons as icons
from processview.gui.messagebox import MessageBox from processview.gui.messagebox import MessageBox
from processview.utils import docstring from processview.utils import docstring
...@@ -199,7 +200,7 @@ class ObservationTable(qt.QTableView): ...@@ -199,7 +200,7 @@ class ObservationTable(qt.QTableView):
class ProcessManagerWidget(qt.QWidget): class ProcessManagerWidget(qt.QWidget):
""" """
Main widget to dispaly dataset vs process metadata Main widget to display dataset vs process metadata
""" """
def __init__(self, parent): def __init__(self, parent):
...@@ -208,14 +209,17 @@ class ProcessManagerWidget(qt.QWidget): ...@@ -208,14 +209,17 @@ class ProcessManagerWidget(qt.QWidget):
self._manager = ProcessManager() self._manager = ProcessManager()
self._optionsWidget = _ToggleableOptionsWidget(parent=self) self._optionsWidget = OptionsWidget(parent=self)
self._optionsWidget.setSizePolicy( self._dropDownOptionsWidget = DropDownWidget(parent=self)
self._dropDownOptionsWidget.setWidget(self._optionsWidget)
self._dropDownOptionsWidget.setSizePolicy(
qt.QSizePolicy.Minimum, qt.QSizePolicy.Minimum qt.QSizePolicy.Minimum, qt.QSizePolicy.Minimum
) )
self.setContentsMargins(0, 0, 0, 0) self.setContentsMargins(0, 0, 0, 0)
self.layout().setContentsMargins(0, 0, 0, 0) self.layout().setContentsMargins(0, 0, 0, 0)
self.layout().setSpacing(2) self.layout().setSpacing(2)
self.layout().addWidget(self._optionsWidget) self.layout().addWidget(self._dropDownOptionsWidget)
self.observationTable = ObservationTable(self) self.observationTable = ObservationTable(self)
...@@ -252,11 +256,11 @@ class ProcessManagerWidget(qt.QWidget): ...@@ -252,11 +256,11 @@ class ProcessManagerWidget(qt.QWidget):
def _filterUpdated(self): def _filterUpdated(self):
self.observationTable.model().process_patterns = ( self.observationTable.model().process_patterns = (
self._optionsWidget.getProcessPatterns() self._dropDownOptionsWidget.getProcessPatterns()
) )
self._updateProcesses() self._updateProcesses()
self.observationTable.model().dataset_patterns = ( self.observationTable.model().dataset_patterns = (
self._optionsWidget.getDatasetPatterns() self._dropDownOptionsWidget.getDatasetPatterns()
) )
self._updateDatasetStates() self._updateDatasetStates()
...@@ -451,15 +455,11 @@ class _DatasetProcessModel(qt.QAbstractTableModel): ...@@ -451,15 +455,11 @@ class _DatasetProcessModel(qt.QAbstractTableModel):
self.layoutChanged.emit() self.layoutChanged.emit()
class _ToggleableOptionsWidget(qt.QWidget): class OptionsWidget(qt.QWidget):
_BUTTON_ICON = qt.QStyle.SP_ToolBarVerticalExtensionButton # noqa
def __init__(self, parent): def __init__(self, parent):
super().__init__(parent) super().__init__(parent)
self.setLayout(qt.QGridLayout()) self.setLayout(qt.QGridLayout())
# toggable button
self._toggleButton = qt.QPushButton("", self)
self.layout().addWidget(self._toggleButton, 0, 0, 1, 1)
# dataset ordering # dataset ordering
self._orderingWidget = _OrderingWidget(parent=self) self._orderingWidget = _OrderingWidget(parent=self)
...@@ -473,34 +473,16 @@ class _ToggleableOptionsWidget(qt.QWidget): ...@@ -473,34 +473,16 @@ class _ToggleableOptionsWidget(qt.QWidget):
self.layout().setSpacing(0) self.layout().setSpacing(0)
self.layout().addWidget(self._filterWidget, 4, 1, 3, 3) self.layout().addWidget(self._filterWidget, 4, 1, 3, 3)
self._toggleButton.setSizePolicy(qt.QSizePolicy.Fixed, qt.QSizePolicy.Fixed)
self._setButtonIcon(show=True)
# connect signal / slot
self._toggleButton.clicked.connect(self._toggleFilterWidget)
# expose API
self.getProcessPatterns = self._filterWidget.getProcessPatterns
self.getDatasetPatterns = self._filterWidget.getDatasetPatterns
@property @property
def filterWidget(self): def filterWidget(self):
return self._filterWidget return self._filterWidget
def _setButtonIcon(self, show): # expose API
style = qt.QApplication.instance().style() def getProcessPatterns(self):
# return a QIcon return self._filterWidget.getProcessPatterns()
icon = style.standardIcon(self._BUTTON_ICON)
if show is True: def getDatasetPatterns(self):
pixmap = icon.pixmap(32, 32).transformed(qt.QTransform().scale(1, -1)) return self._filterWidget.getDatasetPatterns()
icon = qt.QIcon(pixmap)
self._toggleButton.setIcon(icon)
def _toggleFilterWidget(self):
visible = not self._filterWidget.isVisible()
self._setButtonIcon(show=visible)
self._filterWidget.setVisible(visible)
self._orderingWidget.setVisible(visible)
class _FilterWidget(qt.QWidget): class _FilterWidget(qt.QWidget):
......
...@@ -76,8 +76,8 @@ RELEASE_LEVEL_VALUE = { ...@@ -76,8 +76,8 @@ RELEASE_LEVEL_VALUE = {
} }
MAJOR = 1 MAJOR = 1
MINOR = 3 MINOR = 4
MICRO = 3 MICRO = 1
RELEV = "final" # <16 RELEV = "final" # <16
SERIAL = 0 # <16 SERIAL = 0 # <16
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment