#!/usr/bin/python import pygtk pygtk.require('2.0') import gtk from soapclient import soapclient class GnuviechAdminGnome: """GnuviechAdmin Gnome Interface""" _version = '0.1' def delete_event(self, widget, event, data = None): return False def duplicate_text(self, widget, data = None): text = self.textfield.get_text() self.label.set_text(self.soapclient.echo(text)) def destroy_event(self, widget, data = None): gtk.main_quit() def show_aboutbox(self, widget, data = None): aboutbox = gtk.AboutDialog() aboutbox.set_authors(['Jan Dittberner ']) aboutbox.set_name("GnuviechAdmin\nGNOME frontend") aboutbox.set_copyright('(c) 2006 Jan Dittberner') aboutbox.set_license('This program is licensed under the terms of the GNU General Public License (GPL) version 2 or later.') aboutbox.set_version(self._version) aboutbox.show() def _create_menubar(self): menubar = gtk.MenuBar() menu = gtk.Menu() menuitem = gtk.MenuItem(label = '_Exit') menuitem.connect_object("activate", gtk.Widget.destroy, self.window) menu.append(menuitem) rootmenu = gtk.MenuItem('_File') rootmenu.set_submenu(menu) menubar.append(rootmenu) menu = gtk.Menu() menuitem = gtk.MenuItem(label = '_About') menuitem.connect("activate", self.show_aboutbox) menu.append(menuitem) rootmenu = gtk.MenuItem('_Help') rootmenu.set_right_justified(True) rootmenu.set_submenu(menu) menubar.append(rootmenu) return menubar def __init__( self ): self.soapclient = soapclient.SOAPClient() self.window = gtk.Window() self.window.connect("delete_event", self.delete_event) self.window.connect("destroy", self.destroy_event) button = gtk.Button("Hello world") #button.connect_object("clicked", gtk.Widget.destroy, self.window) self.textfield = gtk.Entry() button.connect("clicked", self.duplicate_text) self.label = gtk.Label() menubar = self._create_menubar() vbox = gtk.VBox() vbox.add(menubar) vbox.add(button) vbox.add(self.textfield) vbox.add(self.label) self.window.add(vbox) self.window.show_all() def main(self): gtk.main() if __name__ == '__main__': g = GnuviechAdminGnome() g.main()