def __init__(self, axis, source_axis=None, parent=None): super(AxisBoundsChooser, self).__init__(parent=parent) if source_axis is not None: self.axis = source_axis else: self.axis = axis l = QtGui.QVBoxLayout() l.addWidget(header_label(axis.id)) if source_axis is not None: minimum, maximum = (float(num) for num in genutil.minmax(source_axis)) bottom, top = (float(num) for num in genutil.minmax(axis)) for i, v in enumerate(source_axis): if v == bottom: bot_ind = i if v == top: top_ind = i self.range = RangeWidget(axis_values(source_axis), bottom=bot_ind, top=top_ind) else: minimum, maximum = (float(num) for num in genutil.minmax(axis)) self.range = RangeWidget(axis_values(axis)) l.addWidget(self.range) self.setLayout(l) emitter = partial(self.boundsEdited.emit, self.axis) self.range.boundsEdited.connect(emitter)
def __init__(self, cdmsFile=None, var=None, parent=None): super(QAxisList, self).__init__(parent) self.axisWidgets = [] # List of QAxis widgets self.cdmsFile = cdmsFile # cdms file associated with the variable self._var = None # Init & set the layout self.vbox = QtGui.QVBoxLayout() vbox = QtGui.QVBoxLayout() vbox.addWidget(header_label("Dimensions")) vbox.addLayout(self.vbox) vbox.addStretch() vbox.setSpacing(0) vbox.setContentsMargins(5, 5, 5, 5) self.setLayout(vbox) self.latitude = None self.longitude = None self.roi_vbox = QtGui.QVBoxLayout() self.roi_layout = QtGui.QHBoxLayout() self.roi_layout.addLayout(self.roi_vbox) roi_preview = QtGui.QVBoxLayout() self.roi_sample = ROIPreview((200, 200)) roi_preview.addWidget(self.roi_sample) self.roi_layout.addLayout(roi_preview) vbox.addLayout(self.roi_layout) self.var = var
def __init__(self, directory, parent=None, f=0, filetypes=None): super(DirectoryListWidget, self).__init__(parent=parent, f=f) # An instance of QDir self.dir = directory # Set sorting to name, case insensitive self.dir.setSorting( QtCore.QDir.SortFlag.Name | QtCore.QDir.SortFlag.IgnoreCase | QtCore.QDir.SortFlag.LocaleAware ) self.list = QtGui.QListWidget() self.title = header_label(self.name()) self.files = [] self.entries = self.dir.entryInfoList(default_flags) for fileinfo in self.entries: path = fileinfo.filePath() self.files.append(path) item = FileInfoItem(fileinfo) if filetypes is not None and fileinfo.isFile() and fileinfo.suffix() not in filetypes: item.setFlags(0) self.list.addItem(item) self.list.currentItemChanged.connect(self.currentItemChanged.emit) self.layout = QtGui.QVBoxLayout() self.layout.addWidget(self.title) self.layout.addWidget(self.list) self.setLayout(self.layout)
def __init__(self, directory, parent=None, f=0, filetypes=None): super(DirectoryListWidget, self).__init__(parent=parent, f=f) # An instance of QDir self.dir = directory # Set sorting to name, case insensitive self.dir.setSorting(QtCore.QDir.SortFlag.Name | QtCore.QDir.SortFlag.IgnoreCase | QtCore.QDir.SortFlag.LocaleAware) self.list = QtGui.QListWidget() self.title = header_label(self.name()) self.files = [] self.entries = self.dir.entryInfoList(default_flags) for fileinfo in self.entries: path = fileinfo.filePath() self.files.append(path) item = FileInfoItem(fileinfo) if filetypes is not None and fileinfo.isFile() and fileinfo.suffix( ) not in filetypes: item.setFlags(0) self.list.addItem(item) self.list.currentItemChanged.connect(self.currentItemChanged.emit) self.layout = QtGui.QVBoxLayout() self.layout.addWidget(self.title) self.layout.addWidget(self.list) self.setLayout(self.layout)
def __init__(self, canvas, row, col, parent=None, f=0): super(PlotInfo, self).__init__(parent=parent, f=f) if callable(canvas): self._canvasfunc = canvas else: self._canvas = canvas self.manager = PlotManager(self) self.manager.row = row self.manager.col = col self.manager.removed.connect(self.removeSelf) # Icon to display till we actually get some data self.newIcon = QtGui.QLabel(self) self.newIcon.setPixmap(icon("add_plot.svg").pixmap(128, 128)) layout = QtGui.QVBoxLayout() # Cache for later self.dataLayout = layout # Variables l = header_label("Variables:") layout.addWidget(l) var_widget = QtGui.QWidget() layout.addWidget(var_widget) var_layout = QtGui.QHBoxLayout() var_widget.setLayout(var_layout) self.var_labels = (QtGui.QLabel(), QtGui.QLabel(), QtGui.QLabel()) for label in self.var_labels: var_layout.addWidget(label) # GM self.gm_label = QtGui.QLabel() layout.addWidget(header_label("Graphics Method:")) layout.addWidget(self.gm_label) # Template self.tmpl_label = QtGui.QLabel() layout.addWidget(header_label("Template:")) layout.addWidget(self.tmpl_label)
def __init__(self, parent=None): super(AnimationControls, self).__init__(parent=parent) layout = QtGui.QVBoxLayout() layout.addWidget(header_label("Animation")) row = QtGui.QHBoxLayout() smallButton = QtCore.QSize(24, 24) bigButton = QtCore.QSize(32, 32) skipBack = QtGui.QPushButton(icon("skipBack.png"), '') skipBack.setToolTip("Skip to start") skipBack.setIconSize(smallButton) skipBack.clicked.connect(self.skipToStart) row.addWidget(skipBack) self.skipBack = skipBack self.scrubber = ToolTipSlider() self.scrubber.setOrientation(QtCore.Qt.Horizontal) self.scrubber.valueChanged.connect(self.changeFrame) scrubber_labeled = LabeledWidget() scrubber_labeled.widget = self.scrubber scrubber_labeled.label = "Current Frame" row.addWidget(scrubber_labeled) skipForward = QtGui.QPushButton(icon("skipForward.png"), '') skipForward.setToolTip("Skip to end") skipForward.setIconSize(smallButton) skipForward.clicked.connect(self.skipToEnd) row.addWidget(skipForward) self.skipForward = skipForward layout.addLayout(row) row = QtGui.QHBoxLayout() stepBack = QtGui.QPushButton(icon("stepBack.png"), "") stepBack.setIconSize(smallButton) stepBack.setToolTip("Step one frame backwards") stepBack.clicked.connect(self.stepBackOne) self.stepBack = stepBack row.addWidget(stepBack) self.playpause = QtGui.QPushButton(icon("play.png"), "") self.playpause.setToolTip("Play") self.playpause.setIconSize(bigButton) self.playpause.setCheckable(True) self.playpause.clicked.connect(self.togglePlayback) row.addWidget(self.playpause) stepForward = QtGui.QPushButton(icon("stepForward.png"), "") stepForward.setToolTip("Step one frame forward") stepForward.setIconSize(smallButton) stepForward.clicked.connect(self.stepForwardOne) row.addWidget(stepForward) self.stepForward = stepForward layout.addLayout(row) self.speed = ToolTipSlider() self.speed.setOrientation(QtCore.Qt.Horizontal) self.speed.valueChanged.connect(self.speedChanged.emit) speed_labeled = LabeledWidget() speed_labeled.widget = self.speed speed_labeled.label = "Frames per Second" layout.addWidget(speed_labeled) self.setLayout(layout) # Starts at frame 0 self.stepBack.setEnabled(False) self.skipBack.setEnabled(False)