def __init__(self, upobj, uixml, title, buttons, uirootname=None, prefix=''): if not upobj: upobj = self framedoc = parse('UIxml/mi_dialog.xml') self.dialogframe = xmlgtk.xmlgtk(framedoc, 'dialogframe') self.dialogframe.name_map['dialog_title'].set_text(title) xmlgtk.xmlgtk.__init__(self, uixml, uirootname) self.dialogframe.name_map['dialog_area'].pack_start(self.widget, True, True) if buttons == 0: self.dialogframe.name_map['buttonframe'].hide() else: for (bit, name) in [(self.MB_APPLY, 'apply'), (self.MB_CANCEL, 'cancel'), (self.MB_NO, 'no'), (self.MB_OK, 'ok'), (self.MB_YES, 'yes'), (self.MB_IGNORE, 'ignore')]: if buttons & bit: self.dialogframe.name_map[name].show() self.dialogframe.name_map[name + '_space'].show() if hasattr(upobj, prefix + name + '_clicked'): self.dialogframe.name_map[name].connect('clicked', getattr(upobj, prefix + name + '_clicked'), self) else: self.dialogframe.name_map[name].connect('clicked', self.closedialog) self.topwin = gtk.Window(gtk.WINDOW_POPUP) self.topwin.set_modal(True) self.topwin.set_position(gtk.WIN_POS_CENTER_ALWAYS) self.topwin.add(self.dialogframe.widget) self.topwin.show()
def __init__(self, upobj, uixml, title, buttons, uirootname=None, prefix=''): if not upobj: upobj = self framedoc = parse('UIxml/mi_dialog.xml') self.dialogframe = xmlgtk.xmlgtk(framedoc, 'dialogframe') self.dialogframe.name_map['dialog_title'].set_text(title) xmlgtk.xmlgtk.__init__(self, uixml, uirootname) self.dialogframe.name_map['dialog_area'].pack_start( self.widget, True, True) if buttons == 0: self.dialogframe.name_map['buttonframe'].hide() else: for (bit, name) in [(self.MB_APPLY, 'apply'), (self.MB_CANCEL, 'cancel'), (self.MB_NO, 'no'), (self.MB_OK, 'ok'), (self.MB_YES, 'yes'), (self.MB_IGNORE, 'ignore'), (self.MB_REBOOT, 'reboot')]: if buttons & bit: self.dialogframe.name_map[name].show() self.dialogframe.name_map[name + '_space'].show() if hasattr(upobj, prefix + name + '_clicked'): self.dialogframe.name_map[name].connect( 'clicked', getattr(upobj, prefix + name + '_clicked'), self) else: self.dialogframe.name_map[name].connect( 'clicked', self.closedialog) self.topwin = gtk.Window(gtk.WINDOW_POPUP) self.topwin.set_modal(True) self.topwin.set_position(gtk.WIN_POS_CENTER_ALWAYS) #self.topwin.set_position(gtk.WIN_POS_CENTER) self.topwin.add(self.dialogframe.widget) self.topwin.show()
import gtk import xmlgtk XML_DATA=''' <frame> <tableV2> <tr><button colspan="2" text="0.0" /><label text="0.1" /><button text="0.2" /></tr> <tr><button text="1.0" /><label text="1.1" /><button text="1.2" /></tr> <tr><button text="2.0" /><label text="2.1" /><button text="2.2" /></tr> </tableV2> </frame> ''' xml_obj = xmlgtk.xmlgtk(XML_DATA) win = gtk.Window(gtk.WINDOW_TOPLEVEL) win.add(xml_obj.widget) win.show() gtk.main()