def build_toplevel(self, layout): # Create root window and add delete/destroy callbacks root = QtGui.QWidget() root.connect(root, QtCore.SIGNAL('closed()'), self.quit) root.resize(self.default_width, self.default_height) self.w.root = root # access main frame vbox = QtGui.QVBoxLayout() vbox.setContentsMargins(2, 2, 2, 2) vbox.setSpacing(2) root.setLayout(vbox) self.w.mframe = vbox # Add menubar and menus, if desired self.add_menus() # Dynamically create the desktop layout self.ds = QtHelp.Desktop() self.w.mvbox = self.ds.make_desktop(layout, widgetDict=self.w) self.w.mframe.addWidget(self.w.mvbox, stretch=1) # Add popup dialogs self.add_dialogs() # Add status bar, if desired self.add_statusbar() return root
def build_toplevel(self, layout): # Create root window and add delete/destroy callbacks root = QtHelp.TopLevel() root.setApp(self) root.resize(self.default_width, self.default_height) root.setWindowTitle("Ginga") #root.set_border_width(2) self.w.root = root self.w.fscreen = None self.ds = QtHelp.Desktop() # create main frame vbox = QtGui.QVBoxLayout() vbox.setContentsMargins(2, 2, 2, 2) vbox.setSpacing(2) root.setLayout(vbox) self.w.mframe = vbox self.add_menus() self.w.mvbox = self.ds.make_desktop(layout, widgetDict=self.w) #self.w.mvbox.show_all() self.w.mframe.addWidget(self.w.mvbox, stretch=1) # Create main (center) FITS image pane self.w.vbox = self.w['main'].layout() self.w.vbox.setSpacing(0) # self.w.mnb = self.ds.make_ws(name='main', group=1, wstype='mdi').nb # self.w.mnb.subWindowActivated.connect(self.page_switch_mdi_cb) self.w.mnb = self.ds.make_ws(name='main', group=1).nb self.w.mnb.currentChanged.connect(self.page_switch_cb) self.w.vbox.addWidget(self.w.mnb, stretch=1) # bottom buttons plw = QtGui.QWidget() hbox = QtGui.QHBoxLayout() hbox.setContentsMargins(0, 0, 0, 0) hbox.setSpacing(2) plw.setLayout(hbox) cbox1 = QtHelp.ComboBox() self.w.channel = cbox1 cbox1.setToolTip("Select a channel") cbox1.activated.connect(self.channel_select_cb) hbox.addWidget(cbox1, stretch=0) opmenu = QtGui.QMenu() self.w.operation = opmenu btn = QtGui.QPushButton("Operation") btn.clicked.connect(self.invoke_op_cb) btn.setToolTip("Invoke operation") self.w.opbtn = btn hbox.addWidget(btn, stretch=0) w = QtGui.QWidget() self.w.optray = QtGui.QHBoxLayout() self.w.optray.setContentsMargins(0, 0, 0, 0) self.w.optray.setSpacing(2) w.setLayout(self.w.optray) hbox.addWidget(w, stretch=1, alignment=QtCore.Qt.AlignLeft) self.w.vbox.addWidget(plw, stretch=0) # Add colormap bar cbar = self.build_colorbar() cbar.show() self.w.vbox.addWidget(cbar, stretch=0) self.add_dialogs() self.add_statusbar() self.w.root.show()
def build_toplevel(self): self.font = self.getFont('fixedFont', 12) self.font11 = self.getFont('fixedFont', 11) self.font14 = self.getFont('fixedFont', 14) self.font18 = self.getFont('fixedFont', 18) self.w.tooltips = None QtGui.QToolTip.setFont(self.font11) self.ds = QtHelp.Desktop() self.ds.make_desktop(self.layout, widgetDict=self.w) # TEMP: FIX ME! self.gpmon.ds = self.ds for root in self.ds.toplevels: # add delete/destroy callbacks ## root.connect(root, QtCore.SIGNAL('closeEvent()'), ## self.quit) #root.setApp(self) root.setWindowTitle("Ginga") self.ds.add_callback('all-closed', self.quit) self.w.root = root self.w.fscreen = None menuholder = self.w['menu'] self.w.menubar = self.add_menus(menuholder) # Create main (center) FITS image pane self.w.vbox = self.w['main'].layout() self.w.vbox.setSpacing(0) #self.w.mnb = self.ds.make_ws(name='main', group=1, wstype='grid').nb ## self.w.mnb.subWindowActivated.connect(self.page_switch_mdi_cb) #self.w.mnb = self.ds.make_ws(name='main', group=1).nb self.w.mnb = self.w['channels'] self.w.mnb.currentChanged.connect(self.page_switch_cb) # readout if self.settings.get('shareReadout', True): self.readout = self.build_readout() self.add_callback('field-info', self.readout_cb, self.readout, None) rw = self.readout.get_widget() self.w.vbox.addWidget(rw, stretch=0) # bottom buttons plw = QtGui.QWidget() hbox = QtGui.QHBoxLayout() hbox.setContentsMargins(0, 0, 0, 0) hbox.setSpacing(2) plw.setLayout(hbox) cbox1 = QtHelp.ComboBox() self.w.channel = cbox1 cbox1.setToolTip("Select a channel") cbox1.activated.connect(self.channel_select_cb) hbox.addWidget(cbox1, stretch=0) opmenu = QtGui.QMenu() self.w.operation = opmenu btn = QtGui.QPushButton("Operation") btn.clicked.connect(self.invoke_op_cb) btn.setToolTip("Invoke operation") self.w.opbtn = btn hbox.addWidget(btn, stretch=0) w = QtGui.QWidget() self.w.optray = QtGui.QHBoxLayout() self.w.optray.setContentsMargins(0, 0, 0, 0) self.w.optray.setSpacing(2) w.setLayout(self.w.optray) hbox.addWidget(w, stretch=1, alignment=QtCore.Qt.AlignLeft) self.w.vbox.addWidget(plw, stretch=0) # Add colormap bar cbar = self.build_colorbar() self.w.vbox.addWidget(cbar, stretch=0) self.add_dialogs() statusholder = self.w['status'] self.add_statusbar(statusholder) self.w.root.show()