# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'layer_details_widget.ui'
#
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtWidgets
from uwsift.ui.custom_widgets import (
QAdaptiveDoubleSpinBox,
QNoScrollDoubleSpinBox,
QNoScrollWebView,
)
[docs]
class Ui_LayerDetailsPane(object):
[docs]
def setupUi(self, LayerDetailsPane):
LayerDetailsPane.setObjectName("LayerDetailsPane")
LayerDetailsPane.resize(302, 387)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(LayerDetailsPane.sizePolicy().hasHeightForWidth())
LayerDetailsPane.setSizePolicy(sizePolicy)
self.verticalLayout = QtWidgets.QVBoxLayout(LayerDetailsPane)
self.verticalLayout.setContentsMargins(2, 2, 2, 2)
self.verticalLayout.setObjectName("verticalLayout")
self.formLayout = QtWidgets.QFormLayout()
self.formLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
self.formLayout.setSpacing(6)
self.formLayout.setObjectName("formLayout")
self.layerNameLabel = QtWidgets.QLabel(LayerDetailsPane)
self.layerNameLabel.setObjectName("layerNameLabel")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.layerNameLabel)
self.layerNameValue = QtWidgets.QLabel(LayerDetailsPane)
self.layerNameValue.setObjectName("layerNameValue")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.layerNameValue)
self.layerVisibleSchedTimeLabel = QtWidgets.QLabel(LayerDetailsPane)
self.layerVisibleSchedTimeLabel.setObjectName("layerVisibleSchedTimeLabel")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.layerVisibleSchedTimeLabel)
self.layerVisibleSchedTimeValue = QtWidgets.QLabel(LayerDetailsPane)
self.layerVisibleSchedTimeValue.setObjectName("layerVisibleSchedTimeValue")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.layerVisibleSchedTimeValue)
self.layerInstrumentLabel = QtWidgets.QLabel(LayerDetailsPane)
self.layerInstrumentLabel.setObjectName("layerInstrumentLabel")
self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.layerInstrumentLabel)
self.layerInstrumentValue = QtWidgets.QLabel(LayerDetailsPane)
self.layerInstrumentValue.setObjectName("layerInstrumentValue")
self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.layerInstrumentValue)
self.layerWavelengthLabel = QtWidgets.QLabel(LayerDetailsPane)
self.layerWavelengthLabel.setObjectName("layerWavelengthLabel")
self.formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.layerWavelengthLabel)
self.layerWavelengthValue = QtWidgets.QLabel(LayerDetailsPane)
self.layerWavelengthValue.setObjectName("layerWavelengthValue")
self.formLayout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.layerWavelengthValue)
self.layerColormapLabel = QtWidgets.QLabel(LayerDetailsPane)
self.layerColormapLabel.setObjectName("layerColormapLabel")
self.formLayout.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.layerColormapLabel)
self.layerColormapValue = QtWidgets.QLabel(LayerDetailsPane)
self.layerColormapValue.setObjectName("layerColormapValue")
self.formLayout.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.layerColormapValue)
self.layerColorLimitsLabel = QtWidgets.QLabel(LayerDetailsPane)
self.layerColorLimitsLabel.setObjectName("layerColorLimitsLabel")
self.formLayout.setWidget(7, QtWidgets.QFormLayout.LabelRole, self.layerColorLimitsLabel)
self.layerColorLimitsValue = QtWidgets.QLabel(LayerDetailsPane)
self.layerColorLimitsValue.setObjectName("layerColorLimitsValue")
self.formLayout.setWidget(7, QtWidgets.QFormLayout.FieldRole, self.layerColorLimitsValue)
self.layerResolutionLabel = QtWidgets.QLabel(LayerDetailsPane)
self.layerResolutionLabel.setObjectName("layerResolutionLabel")
self.formLayout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.layerResolutionLabel)
self.layerResolutionValue = QtWidgets.QLabel(LayerDetailsPane)
self.layerResolutionValue.setObjectName("layerResolutionValue")
self.formLayout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.layerResolutionValue)
self.layerAreaResolutionLabel = QtWidgets.QLabel(LayerDetailsPane)
self.layerAreaResolutionLabel.setObjectName("layerAreaResolutionLabel")
self.formLayout.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.layerAreaResolutionLabel)
self.layerAreaResolutionValue = QtWidgets.QLabel(LayerDetailsPane)
self.layerAreaResolutionValue.setObjectName("layerAreaResolutionValue")
self.formLayout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.layerAreaResolutionValue)
self.verticalLayout.addLayout(self.formLayout)
self.kindDetailsStackedWidget = QtWidgets.QStackedWidget(LayerDetailsPane)
self.kindDetailsStackedWidget.setFrameShape(QtWidgets.QFrame.Box)
self.kindDetailsStackedWidget.setFrameShadow(QtWidgets.QFrame.Sunken)
self.kindDetailsStackedWidget.setObjectName("kindDetailsStackedWidget")
self.page_IMAGE = QtWidgets.QWidget()
self.page_IMAGE.setObjectName("page_IMAGE")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.page_IMAGE)
self.verticalLayout_2.setContentsMargins(0, 0, 0, -1)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.formLayout_2 = QtWidgets.QFormLayout()
self.formLayout_2.setObjectName("formLayout_2")
self.layerColormapVisual = QNoScrollWebView(self.page_IMAGE)
self.layerColormapVisual.setMinimumSize(QtCore.QSize(300, 30))
self.layerColormapVisual.setMaximumSize(QtCore.QSize(300, 30))
self.layerColormapVisual.setObjectName("layerColormapVisual")
self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.SpanningRole, self.layerColormapVisual)
self.cmap_combobox = QtWidgets.QComboBox(self.page_IMAGE)
self.cmap_combobox.setMaximumSize(QtCore.QSize(300, 16777215))
self.cmap_combobox.setObjectName("cmap_combobox")
self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.SpanningRole, self.cmap_combobox)
# Place the vmin elements into a horizontal row layout
self.vmin_and_gamma_row_layout = QtWidgets.QHBoxLayout()
self.vmin_slider = QtWidgets.QSlider(self.page_IMAGE)
self.vmin_slider.setMinimumSize(QtCore.QSize(150, 0))
self.vmin_slider.setOrientation(QtCore.Qt.Horizontal)
self.vmin_slider.setObjectName("vmin_slider")
self.vmin_and_gamma_row_layout.addWidget(self.vmin_slider)
self.vmin_spinbox = QAdaptiveDoubleSpinBox(self.page_IMAGE)
self.vmin_spinbox.setRange(-32767, 32767)
self.vmin_spinbox.setDecimals(5)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.vmin_spinbox.sizePolicy().hasHeightForWidth())
self.vmin_spinbox.setSizePolicy(sizePolicy)
self.vmin_spinbox.setObjectName("vmin_spinbox")
self.vmin_and_gamma_row_layout.addWidget(self.vmin_spinbox)
# Place the vmax elements into a horizontal row layout
self.vmax_and_gamma_row_layout = QtWidgets.QHBoxLayout()
self.vmax_slider = QtWidgets.QSlider(self.page_IMAGE)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.vmax_slider.sizePolicy().hasHeightForWidth())
self.vmax_slider.setSizePolicy(sizePolicy)
self.vmax_slider.setMinimumSize(QtCore.QSize(150, 0))
self.vmax_slider.setOrientation(QtCore.Qt.Horizontal)
self.vmax_slider.setObjectName("vmax_slider")
self.vmax_and_gamma_row_layout.addWidget(self.vmax_slider)
self.vmax_spinbox = QAdaptiveDoubleSpinBox(self.page_IMAGE)
self.vmax_spinbox.setRange(-32767, 32767)
self.vmax_spinbox.setDecimals(5)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.vmax_spinbox.sizePolicy().hasHeightForWidth())
self.vmax_spinbox.setSizePolicy(sizePolicy)
self.vmax_spinbox.setObjectName("vmax_spinbox")
self.vmax_and_gamma_row_layout.addWidget(self.vmax_spinbox)
self.gammaLabel = QtWidgets.QLabel(self.page_IMAGE)
self.gammaLabel.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignBottom)
self.gammaLabel.setSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
self.gammaLabel.setObjectName("gammaLabel")
# Place the label also to the upper horizontal row layout
self.vmin_and_gamma_row_layout.addWidget(self.gammaLabel, alignment=QtCore.Qt.AlignBottom)
self.gammaSpinBox = QNoScrollDoubleSpinBox(self.page_IMAGE)
self.gammaSpinBox.setEnabled(True)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.gammaSpinBox.sizePolicy().hasHeightForWidth())
self.gammaSpinBox.setSizePolicy(sizePolicy)
self.gammaSpinBox.setAlignment(QtCore.Qt.AlignCenter)
# The spinbox shall have the same width as the gamma label. Due to this dependency we need to install an event
# filter that takes care when the widgets are actually being whown. Unfortunately, At this point in time,
# gammaLabel.width() is not correct as it is not being rendered yet.
class GamaSpinboxSizer(QtCore.QObject):
def __init__(self, outer_self):
super().__init__()
self.outer_self = outer_self
outer_self.gammaLabel.installEventFilter(self)
def eventFilter(self, obj, event):
if obj is self.outer_self.gammaLabel and event.type() == QtCore.QEvent.Resize:
self.outer_self.gammaSpinBox.setFixedWidth(self.outer_self.gammaLabel.width())
return False
self.gamma_spinbox_sizer = GamaSpinboxSizer(self)
self.gammaSpinBox.setDecimals(1)
self.gammaSpinBox.setMaximum(5.0)
self.gammaSpinBox.setSingleStep(0.1)
self.gammaSpinBox.setProperty("value", 1.0)
self.gammaSpinBox.setObjectName("gammaSpinBox")
# Place the gamma spinbox also to the lower horizontal row layout
self.vmax_and_gamma_row_layout.addWidget(self.gammaSpinBox)
self.vmaxmin_gamma_column_layout = QtWidgets.QVBoxLayout()
self.vmaxmin_gamma_column_layout.addLayout(self.vmin_and_gamma_row_layout)
self.vmaxmin_gamma_column_layout.addLayout(self.vmax_and_gamma_row_layout)
self.vmaxmin_gamma_column_layout.setContentsMargins(0, 0, 5, 0) # right margin
self.formLayout_2.setLayout(2, QtWidgets.QFormLayout.SpanningRole, self.vmaxmin_gamma_column_layout)
# colormap buttons
self.colormap_reassign_button = QtWidgets.QPushButton(self.page_IMAGE)
self.colormap_reassign_button.setObjectName("colormap_reassign_button")
self.colormap_reset_button = QtWidgets.QPushButton(self.page_IMAGE)
self.colormap_reset_button.setObjectName("colormap_reset_button")
self.colormap_button_layout = QtWidgets.QHBoxLayout()
self.colormap_button_layout.addWidget(self.colormap_reassign_button)
self.colormap_button_layout.addWidget(self.colormap_reset_button)
self.colormap_button_container = QtWidgets.QWidget(self.page_IMAGE)
self.colormap_button_container.setLayout(self.colormap_button_layout)
self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.SpanningRole, self.colormap_button_container)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.fit_data_group_box = QtWidgets.QGroupBox(self.page_IMAGE)
self.fit_data_group_box.setLayout(self.horizontalLayout)
self.currentTimeLayout = QtWidgets.QVBoxLayout()
self.climitsCurrentTime = QtWidgets.QPushButton(self.page_IMAGE)
self.climitsCurrentTime.setObjectName("climitsCurrentTime")
self.currentTimeLayout.addWidget(self.climitsCurrentTime)
self.climitsCurrentTimeInvert = QtWidgets.QPushButton(self.page_IMAGE)
self.climitsCurrentTimeInvert.setObjectName("climitsCurrentTimeInvert")
self.currentTimeLayout.addWidget(self.climitsCurrentTimeInvert)
self.horizontalLayout.addLayout(self.currentTimeLayout)
self.allTimesLayout = QtWidgets.QVBoxLayout()
self.climitsAllTimes = QtWidgets.QPushButton(self.page_IMAGE)
self.climitsAllTimes.setObjectName("climitsAllTimes")
self.allTimesLayout.addWidget(self.climitsAllTimes)
self.climitsAllTimesInvert = QtWidgets.QPushButton(self.page_IMAGE)
self.climitsAllTimesInvert.setObjectName("climitsAllTimesInvert")
self.allTimesLayout.addWidget(self.climitsAllTimesInvert)
self.horizontalLayout.addLayout(self.allTimesLayout)
self.buttonGroup = QtWidgets.QButtonGroup(LayerDetailsPane)
self.buttonGroup.addButton(self.climitsCurrentTime)
self.buttonGroup.addButton(self.climitsCurrentTimeInvert)
self.buttonGroup.addButton(self.climitsAllTimes)
self.buttonGroup.addButton(self.climitsAllTimesInvert)
self.buttonGroup.setExclusive(True)
self.formLayout_2.setWidget(5, QtWidgets.QFormLayout.SpanningRole, self.fit_data_group_box)
self.verticalLayout_2.addLayout(self.formLayout_2)
self.kindDetailsStackedWidget.addWidget(self.page_IMAGE)
self.page_others = QtWidgets.QWidget()
self.page_others.setObjectName("page_others")
self.kindDetailsStackedWidget.addWidget(self.page_others)
self.verticalLayout.addWidget(self.kindDetailsStackedWidget)
self.retranslateUi(LayerDetailsPane)
self.kindDetailsStackedWidget.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(LayerDetailsPane)
[docs]
def retranslateUi(self, LayerDetailsPane):
_translate = QtCore.QCoreApplication.translate
LayerDetailsPane.setWindowTitle(_translate("LayerDetailsPane", "Form"))
self.layerNameLabel.setText(_translate("LayerDetailsPane", "Name:"))
self.layerNameValue.setText(_translate("LayerDetailsPane", "layer_descriptor"))
self.layerVisibleSchedTimeLabel.setText(_translate("LayerDetailsPane", "Time:"))
self.layerVisibleSchedTimeValue.setText(_translate("LayerDetailsPane", "2019-10-21 12:00:10"))
self.layerInstrumentLabel.setText(_translate("LayerDetailsPane", "Instrument:"))
self.layerInstrumentValue.setText(_translate("LayerDetailsPane", "SEVIRI"))
self.layerWavelengthLabel.setText(_translate("LayerDetailsPane", "Wavelength:"))
self.layerWavelengthValue.setText(_translate("LayerDetailsPane", "3.92 "))
self.layerColormapLabel.setText(_translate("LayerDetailsPane", "Colormap:"))
self.layerColormapValue.setText(_translate("LayerDetailsPane", "Rainbow (IR Default)"))
self.layerColorLimitsLabel.setText(_translate("LayerDetailsPane", "Color Limits:"))
self.layerColorLimitsValue.setText(_translate("LayerDetailsPane", "-109.00 ~ 55.00°C"))
self.layerResolutionLabel.setText(_translate("LayerDetailsPane", "Native Resolution:"))
self.layerResolutionValue.setText(_translate("LayerDetailsPane", "1 km"))
self.layerAreaResolutionLabel.setText(_translate("LayerDetailsPane", "Area Resolution:"))
self.layerAreaResolutionValue.setText(_translate("LayerDetailsPane", "N/A"))
self.vmin_slider.setToolTip(_translate("LayerDetailsPane", "minimum color limit"))
self.vmax_slider.setToolTip(_translate("LayerDetailsPane", "maximum color limit"))
# self.vmax_spinbox.
self.gammaLabel.setText(_translate("LayerDetailsPane", "Gamma: "))
self.colormap_reassign_button.setText(_translate("LayerDetailsPane", "Reassign"))
self.colormap_reset_button.setText(_translate("LayerDetailsPane", "Reset"))
self.fit_data_group_box.setTitle(_translate("LayerDetailsPane", "Fit to data:"))
self.climitsCurrentTime.setText(_translate("LayerDetailsPane", "Current Time"))
self.climitsCurrentTimeInvert.setText(_translate("LayerDetailsPane", "Current Time Invert"))
self.climitsAllTimes.setText(_translate("LayerDetailsPane", "All Times"))
self.climitsAllTimesInvert.setText(_translate("LayerDetailsPane", "All Times Invert"))