def build_gui(self, container): rvbox = container width, height = 300, 300 cm, im = self.fv.cm, self.fv.im tg = FitsImageQt.FitsImageQt(logger=self.logger) tg.configure(200, 200) tg.enable_autozoom('on') tg.enable_autocuts('on') tg.enable_auto_orient(True) tg.set_makebg(False) self.thumb_generator = tg sw = MyScrollArea() sw.setWidgetResizable(True) sw.thumbs_cb = self.thumbpane_resized # Create thumbnails pane widget = QtGui.QWidget() vbox = QtGui.QGridLayout() vbox.setContentsMargins(4, 4, 4, 4) vbox.setSpacing(14) widget.setLayout(vbox) self.w.thumbs = vbox self.w.thumbs_w = widget #widget.show() sw.setWidget(widget) self.w.thumbs_scroll = sw #self.w.thumbs_scroll.connect("size_allocate", self.thumbpane_resized) # TODO: should this even have it's own scrolled window? rvbox.addWidget(sw, stretch=1) sw.show()
def __init__(self, rows=1, columns=1): super(GridBox, self).__init__() w = QtGui.QWidget() layout = QtGui.QGridLayout() w.setLayout(layout) self.widget = w
def build_gui(self, container): width, height = 300, 300 cm, im = self.fv.cm, self.fv.im tg = ImageViewQt.ImageViewQt(logger=self.logger) tg.configure(200, 200) tg.enable_autozoom('on') tg.set_autocut_params('zscale') tg.enable_autocuts('on') tg.enable_auto_orient(True) tg.set_makebg(False) tg.enable_overlays(False) self.thumb_generator = tg sw = MyScrollArea() sw.setWidgetResizable(True) #sw.setEnabled(True) sw.thumbs_cb = self.thumbpane_resized_cb # Create thumbnails pane widget = QtGui.QWidget() vbox = QtGui.QGridLayout() vbox.setContentsMargins(4, 4, 4, 4) vbox.setSpacing(14) widget.setLayout(vbox) self.w.thumbs = vbox self.w.thumbs_w = widget #widget.show() sw.setWidget(widget) self.w.thumbs_scroll = sw #self.w.thumbs_scroll.connect("size_allocate", self.thumbpane_resized_cb) # TODO: should this even have it's own scrolled window? cw = container.get_widget() cw.addWidget(sw, stretch=1) sw.show() captions = (('Auto scroll', 'checkbutton', 'Clear', 'button'), ) w, b = QtHelp.build_info(captions) self.w.update(b) b.auto_scroll.setToolTip( "Scroll the thumbs window when new images arrive") b.clear.setToolTip("Remove all current thumbnails") b.clear.clicked.connect(self.clear) autoScroll = self.settings.get('autoScroll', True) b.auto_scroll.setChecked(autoScroll) cw.addWidget(w, stretch=0)
def build_gui(self, container): self.msgFont = self.fv.getFont("fixedFont", 12) self.msgList = QtGui.QWidget() vbox = QtGui.QGridLayout() vbox.setContentsMargins(0, 0, 0, 0) vbox.setSpacing(0) self.msgList.setLayout(vbox) sw = QtGui.QScrollArea() sw.setWidgetResizable(True) #sw.set_border_width(2) sw.setWidget(self.msgList) cw = container.get_widget() cw.addWidget(sw, stretch=1) hbox = QtHelp.HBox() btn = QtGui.QPushButton("Remove All") btn.clicked.connect(self.remove_all) hbox.addWidget(btn, stretch=0) cw.addWidget(hbox, stretch=0) self.widgetList = []
def build_info(captions, orientation='vertical'): numrows = len(captions) numcols = reduce(lambda acc, tup: max(acc, len(tup)), captions, 0) if (numcols % 2) != 0: raise ValueError("Column spec is not an even number") numcols /= 2 widget = QtGui.QWidget() table = QtGui.QGridLayout() widget.setLayout(table) table.setVerticalSpacing(2) table.setHorizontalSpacing(4) table.setContentsMargins(2, 2, 2, 2) wb = Bunch.Bunch() row = 0 for tup in captions: col = 0 while col < numcols: idx = col * 2 if idx < len(tup): title, wtype = tup[idx:idx + 2] if not title.endswith(':'): name = name_mangle(title) else: name = name_mangle('lbl_' + title[:-1]) w = make_widget(title, wtype) table.addWidget(w.widget, row, col) wb[name] = w col += 1 row += 1 w = wrap(widget) w = hadjust(w, orientation=orientation) return w, wb