def __init__(self): debug.mainthreadTest() widgetscope.WidgetScope.__init__(self, None) self.gtk = gtk.Window(gtk.WINDOW_TOPLEVEL) self.gtk.set_title(oofname) initial_width, initial_height = map(int, runtimeflags.geometry.split('x')) self.gtk.set_default_size(initial_width, initial_height) gtklogger.newTopLevelWidget(self.gtk, oofname) gtklogger.connect(self.gtk, "delete-event", self.deleteEventCB) gtklogger.connect_passive(self.gtk, "configure-event") self.gtk.connect("destroy", self.destroyCB) guitop.setTop(self) self.mainbox = gtk.VBox() self.gtk.add(self.mainbox) self.menubar = gtk.MenuBar() self.mainbox.pack_start(self.menubar, expand=0, fill=0) accelgrp = gtk.AccelGroup() self.gtk.add_accel_group(accelgrp) self.mainmenu = mainmenu.OOF self.oofmenu = gfxmenu.gtkOOFMenuBar(self.mainmenu, bar=self.menubar, accelgroup=accelgrp) gtklogger.setWidgetName(self.oofmenu, "MenuBar") self.pageChooserFrame = gtk.Frame() self.pageChooserFrame.set_shadow_type(gtk.SHADOW_IN) self.mainbox.pack_start(self.pageChooserFrame, expand=0, fill=0, padding=2) align = gtk.Alignment(xalign=0.5) self.pageChooserFrame.add(align) chooserBox = gtk.HBox() chooserBox.set_border_width(2) gtklogger.setWidgetName(chooserBox, 'Navigation') align.add(chooserBox) self.historian = historian.Historian(self.historianCB, self.sensitizeHistory) label = gtk.Label('Task: ') label.set_alignment(1.0, 0.5) chooserBox.pack_start(label, expand=0, fill=0) self.prevHistoryButton = gtkutils.StockButton(gtk.STOCK_GOTO_FIRST) chooserBox.pack_start(self.prevHistoryButton, expand=0, fill=0, padding=3) gtklogger.setWidgetName(self.prevHistoryButton, 'PrevHist') gtklogger.connect(self.prevHistoryButton, 'clicked', self.historian.prevCB) tooltips.set_tooltip_text( self.prevHistoryButton, "Go to the chronologically previously page.") self.prevPageButton = gtkutils.StockButton(gtk.STOCK_GO_BACK) chooserBox.pack_start(self.prevPageButton, expand=0, fill=0, padding=3) gtklogger.setWidgetName(self.prevPageButton, 'Prev') gtklogger.connect(self.prevPageButton, 'clicked', self.prevPageCB) self.pageChooser = chooser.ChooserWidget([], callback=self.pageChooserCB, name="PageMenu") chooserBox.pack_start(self.pageChooser.gtk, expand=0, fill=0) self.currentPageName = None self.nextPageButton = gtkutils.StockButton(gtk.STOCK_GO_FORWARD) chooserBox.pack_start(self.nextPageButton, expand=0, fill=0, padding=3) gtklogger.setWidgetName(self.nextPageButton, 'Next') gtklogger.connect(self.nextPageButton, 'clicked', self.nextPageCB) self.nextHistoryButton = gtkutils.StockButton(gtk.STOCK_GOTO_LAST) chooserBox.pack_start(self.nextHistoryButton, expand=0, fill=0, padding=3) gtklogger.setWidgetName(self.nextHistoryButton, 'NextHist') gtklogger.connect(self.nextHistoryButton, 'clicked', self.historian.nextCB) tooltips.set_tooltip_text(self.nextHistoryButton, "Go to the chronologically next page.") # Find the font size, so widgets can be sized appropriately. # digitsize and charsize are in pixels. self.digitsize, self.charsize = gtkutils.widgetFontSizes(self.gtk) # Add a GUI callback to the "OOF2" or "OOF3D" windows item. oof_item = getattr(self.mainmenu.Windows, oofname) oof_item.add_gui_callback(self.menu_raise) # Frame around main pages. GUI pages are added and removed # from it by installPage(). self.pageframe = gtk.Frame() self.pageframe.set_shadow_type(gtk.SHADOW_IN) self.mainbox.pack_start(self.pageframe, expand=1, fill=1) # Add pages that may have been created before the main GUI was built. for pagename, i in zip(pagenames, range(len(allPages))): self.addPage(allPages[pagename], i)
def __init__(self): debug.mainthreadTest() widgetscope.WidgetScope.__init__(self, None) self.gtk = gtk.Window(gtk.WINDOW_TOPLEVEL) self.gtk.set_title(oofname) initial_width, initial_height = map(int, runtimeflags.geometry.split("x")) self.gtk.set_default_size(initial_width, initial_height) gtklogger.newTopLevelWidget(self.gtk, oofname) gtklogger.connect(self.gtk, "delete-event", self.deleteEventCB) gtklogger.connect_passive(self.gtk, "configure-event") self.gtk.connect("destroy", self.destroyCB) guitop.setTop(self) self.mainbox = gtk.VBox() self.gtk.add(self.mainbox) self.menubar = gtk.MenuBar() self.mainbox.pack_start(self.menubar, expand=0, fill=0) accelgrp = gtk.AccelGroup() self.gtk.add_accel_group(accelgrp) self.mainmenu = mainmenu.OOF self.oofmenu = gfxmenu.gtkOOFMenuBar(self.mainmenu, bar=self.menubar, accelgroup=accelgrp) gtklogger.setWidgetName(self.oofmenu, "MenuBar") self.pageChooserFrame = gtk.Frame() self.pageChooserFrame.set_shadow_type(gtk.SHADOW_IN) self.mainbox.pack_start(self.pageChooserFrame, expand=0, fill=0, padding=2) align = gtk.Alignment(xalign=0.5) self.pageChooserFrame.add(align) chooserBox = gtk.HBox() chooserBox.set_border_width(2) gtklogger.setWidgetName(chooserBox, "Navigation") align.add(chooserBox) self.historian = historian.Historian(self.historianCB, self.sensitizeHistory) label = gtk.Label("Task: ") label.set_alignment(1.0, 0.5) chooserBox.pack_start(label, expand=0, fill=0) self.prevHistoryButton = gtkutils.StockButton(gtk.STOCK_GOTO_FIRST) chooserBox.pack_start(self.prevHistoryButton, expand=0, fill=0, padding=3) gtklogger.setWidgetName(self.prevHistoryButton, "PrevHist") gtklogger.connect(self.prevHistoryButton, "clicked", self.historian.prevCB) tooltips.set_tooltip_text(self.prevHistoryButton, "Go to the chronologically previously page.") self.prevPageButton = gtkutils.StockButton(gtk.STOCK_GO_BACK) chooserBox.pack_start(self.prevPageButton, expand=0, fill=0, padding=3) gtklogger.setWidgetName(self.prevPageButton, "Prev") gtklogger.connect(self.prevPageButton, "clicked", self.prevPageCB) self.pageChooser = chooser.ChooserWidget([], callback=self.pageChooserCB, name="PageMenu") chooserBox.pack_start(self.pageChooser.gtk, expand=0, fill=0) self.currentPageName = None self.nextPageButton = gtkutils.StockButton(gtk.STOCK_GO_FORWARD) chooserBox.pack_start(self.nextPageButton, expand=0, fill=0, padding=3) gtklogger.setWidgetName(self.nextPageButton, "Next") gtklogger.connect(self.nextPageButton, "clicked", self.nextPageCB) self.nextHistoryButton = gtkutils.StockButton(gtk.STOCK_GOTO_LAST) chooserBox.pack_start(self.nextHistoryButton, expand=0, fill=0, padding=3) gtklogger.setWidgetName(self.nextHistoryButton, "NextHist") gtklogger.connect(self.nextHistoryButton, "clicked", self.historian.nextCB) tooltips.set_tooltip_text(self.nextHistoryButton, "Go to the chronologically next page.") # Find the font size, so widgets can be sized appropriately. # digitsize and charsize are in pixels. self.digitsize, self.charsize = gtkutils.widgetFontSizes(self.gtk) # Add a GUI callback to the "OOF2" windows item. oof2_item = self.mainmenu.Windows.OOF2 oof2_item.add_gui_callback(self.menu_raise) # Frame around main pages. GUI pages are added and removed # from it by installPage(). self.pageframe = gtk.Frame() self.pageframe.set_shadow_type(gtk.SHADOW_IN) self.mainbox.pack_start(self.pageframe, expand=1, fill=1) # Add pages that may have been created before the main GUI was built. for pagename, i in zip(pagenames, range(len(allPages))): self.addPage(allPages[pagename], i)
def destroyCB(self, gtk): self.gtk = None guitop.setTop(None)