def __init__(self, orientation='horizontal'): super(Splitter, self).__init__() w = QtGui.QSplitter() self.orientation = orientation if orientation == 'horizontal': w.setOrientation(QtCore.Qt.Horizontal) else: w.setOrientation(QtCore.Qt.Vertical) self.widget = w w.setStretchFactor(0, 0.5) w.setStretchFactor(1, 0.5)
def build_gui(self, container): # Splitter is just to provide a way to size the graph # to a reasonable size vpaned = QtGui.QSplitter() vpaned.setOrientation(QtCore.Qt.Vertical) # Make the cuts plot twidget = QtHelp.VBox() vbox1 = twidget.layout() vbox1.setContentsMargins(4, 4, 4, 4) vbox1.setSpacing(2) msgFont = QtGui.QFont("Sans", 14) tw = QtGui.QLabel() tw.setFont(msgFont) tw.setWordWrap(True) self.tw = tw fr = QtHelp.Frame("Instructions") fr.layout().addWidget(tw, stretch=1, alignment=QtCore.Qt.AlignTop) vbox1.addWidget(fr, stretch=0, alignment=QtCore.Qt.AlignTop) self.plot = Plot.Cuts(self.logger) w = self.plot.get_widget() vbox1.addWidget(w, stretch=1, alignment=QtCore.Qt.AlignTop) hbox = QtHelp.HBox() hbox.setSpacing(4) # control for selecting a cut combobox = QtHelp.ComboBox() for tag in self.tags: combobox.append_text(tag) if self.cutstag == None: combobox.setCurrentIndex(0) else: combobox.show_text(self.cutstag) combobox.activated.connect(self.cut_select_cb) self.w.cuts = combobox combobox.setToolTip("Select a cut") hbox.addWidget(combobox) btn = QtGui.QPushButton("Delete") btn.clicked.connect(self.delete_cut_cb) btn.setToolTip("Delete selected cut") hbox.addWidget(btn) btn = QtGui.QPushButton("Delete All") btn.clicked.connect(self.delete_all) btn.setToolTip("Clear all cuts") hbox.addWidget(btn) ## btn = QtGui.CheckBox("Move together") ## #btn.stateChanged.connect(self.movetogether_cb) ## btn.setChecked(self.move_together) ## btn.setToolTip("Move cuts as a group") ## hbox.addWidget(btn) vbox1.addWidget(hbox, stretch=0, alignment=QtCore.Qt.AlignLeft) btns = QtHelp.HBox() layout = btns.layout() layout.setSpacing(3) #btns.set_child_size(15, -1) btn = QtGui.QPushButton("Close") btn.clicked.connect(self.close) layout.addWidget(btn, stretch=0, alignment=QtCore.Qt.AlignLeft) vbox1.addWidget(btns, stretch=0, alignment=QtCore.Qt.AlignLeft) vpaned.addWidget(twidget) vpaned.addWidget(QtGui.QLabel('')) container.addWidget(vpaned, stretch=1)
def build_gui(self, container): # Splitter is just to provide a way to size the graph # to a reasonable size vpaned = QtGui.QSplitter() vpaned.setOrientation(QtCore.Qt.Vertical) # Make the cuts plot twidget = QtHelp.VBox() vbox1 = twidget.layout() vbox1.setContentsMargins(4, 4, 4, 4) vbox1.setSpacing(2) msgFont = QtGui.QFont("Sans", 14) tw = QtGui.QLabel() tw.setFont(msgFont) tw.setWordWrap(True) self.tw = tw fr = QtHelp.Frame("Instructions") fr.layout().addWidget(tw, stretch=1, alignment=QtCore.Qt.AlignTop) vbox1.addWidget(fr, stretch=0, alignment=QtCore.Qt.AlignTop) self.plot = Plot.Plot(self.logger) w = self.plot.get_widget() vbox1.addWidget(w, stretch=1, alignment=QtCore.Qt.AlignTop) captions = (('Cut Low', 'xlabel', '@Cut Low', 'entry'), ('Cut High', 'xlabel', '@Cut High', 'entry', 'Cut Levels', 'button'), ('Auto Levels', 'button'), ) w, b = QtHelp.build_info(captions) self.w.update(b) b.cut_levels.setToolTip("Set cut levels manually") b.auto_levels.setToolTip("Set cut levels by algorithm") b.cut_low.setToolTip("Set low cut level (press Enter)") b.cut_high.setToolTip("Set high cut level (press Enter)") b.cut_low.returnPressed.connect(self.cut_levels) b.cut_high.returnPressed.connect(self.cut_levels) b.cut_levels.clicked.connect(self.cut_levels) b.auto_levels.clicked.connect(self.auto_levels) vbox1.addWidget(w, stretch=0, alignment=QtCore.Qt.AlignLeft) btns = QtHelp.HBox() layout= btns.layout() layout.setSpacing(3) #btns.set_child_size(15, -1) btn = QtGui.QPushButton("Close") btn.clicked.connect(self.close) layout.addWidget(btn, stretch=0, alignment=QtCore.Qt.AlignLeft) btn = QtGui.QPushButton("Full Image") btn.clicked.connect(self.full_image) layout.addWidget(btn, stretch=0, alignment=QtCore.Qt.AlignLeft) vbox1.addWidget(btns, stretch=0, alignment=QtCore.Qt.AlignLeft) vpaned.addWidget(twidget) vpaned.addWidget(QtGui.QLabel('')) container.addWidget(vpaned, stretch=1) self.gui_up = True
def build_gui(self, container): vpaned = QtGui.QSplitter() vpaned.setOrientation(QtCore.Qt.Vertical) width, height = 200, 200 zi = FitsImageCanvasQt.FitsImageCanvas(logger=self.logger) zi.enable_autozoom('off') zi.enable_autocuts('off') zi.enable_zoom(False) #zi.set_scale_limits(0.001, 1000.0) zi.zoom_to(self.default_zoom, redraw=False) zi.add_callback('zoom-set', self.zoomset) #zi.add_callback('motion', self.showxy) zi.set_bg(0.4, 0.4, 0.4) zi.show_pan_mark(True, redraw=False) self.zoomimage = zi iw = zi.get_widget() #iw.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding)) iw.resize(width, height) vpaned.addWidget(iw) widget = QtGui.QWidget() vbox = QtGui.QVBoxLayout() widget.setLayout(vbox) vbox.addWidget(QtGui.QLabel("Zoom Radius:"), stretch=0) adj = QtGui.QSlider(QtCore.Qt.Horizontal) adj.setMinimum(1) adj.setMaximum(100) adj.setValue(self.zoom_radius) adj.resize(200, -1) adj.setTracking(True) self.w_radius = adj adj.valueChanged.connect(self.set_radius_cb) vbox.addWidget(adj, stretch=0) vbox.addWidget(QtGui.QLabel("Zoom Amount:"), stretch=0) adj = QtGui.QSlider(QtCore.Qt.Horizontal) adj.setMinimum(-20) adj.setMaximum(30) adj.setValue(self.zoom_amount) adj.resize(200, -1) adj.setTracking(True) self.w_amount = adj adj.valueChanged.connect(self.set_amount_cb) vbox.addWidget(adj, stretch=0) captions = ( ('Zoom', 'label'), ("Relative Zoom", 'checkbutton'), ("Lag Time", 'spinbutton'), ('Defaults', 'button'), ) w, b = QtHelp.build_info(captions) b.zoom.setText(self.fv.scale2text(zi.get_scale())) self.wzoom = b b.relative_zoom.setChecked(not self.t_abszoom) b.relative_zoom.stateChanged.connect(self.set_absrel_cb) b.defaults.clicked.connect(self.set_defaults) b.lag_time.setRange(0, 20) b.lag_time.setSingleStep(1) b.lag_time.setWrapping(True) b.lag_time.setValue(self.lagtime) b.lag_time.valueChanged.connect(self.setlag_cb) vbox.addWidget(w, stretch=0) sw = QtGui.QScrollArea() sw.setWidgetResizable(False) sw.setWidget(widget) #widget.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed)) vpaned.addWidget(sw) sw.show() container.addWidget(vpaned, stretch=1)