2006-02-20 22:27:30 +01:00
|
|
|
#!/usr/bin/python
|
|
|
|
|
|
|
|
import pygtk
|
|
|
|
pygtk.require('2.0')
|
|
|
|
import gtk
|
|
|
|
from soapclient import soapclient
|
|
|
|
|
|
|
|
class GnuviechAdminGnome:
|
|
|
|
"""GnuviechAdmin Gnome Interface"""
|
2006-02-27 20:42:31 +01:00
|
|
|
_version = '0.1'
|
2006-02-20 22:27:30 +01:00
|
|
|
|
|
|
|
def delete_event(self, widget, event, data = None):
|
|
|
|
return False
|
|
|
|
|
2006-02-27 20:42:31 +01:00
|
|
|
def duplicate_text(self, widget, data = None):
|
|
|
|
text = self.textfield.get_text()
|
2006-02-20 22:27:30 +01:00
|
|
|
self.label.set_text(self.soapclient.echo(text))
|
|
|
|
|
|
|
|
def destroy_event(self, widget, data = None):
|
|
|
|
gtk.main_quit()
|
|
|
|
|
2006-02-27 20:42:31 +01:00
|
|
|
def show_aboutbox(self, widget, data = None):
|
|
|
|
aboutbox = gtk.AboutDialog()
|
|
|
|
aboutbox.set_authors(['Jan Dittberner <jan@dittberner.info>'])
|
|
|
|
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
|
|
|
|
|
2006-02-20 22:27:30 +01:00
|
|
|
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")
|
2006-02-27 20:42:31 +01:00
|
|
|
#button.connect_object("clicked", gtk.Widget.destroy, self.window)
|
2006-02-20 22:27:30 +01:00
|
|
|
|
|
|
|
self.textfield = gtk.Entry()
|
2006-02-27 20:42:31 +01:00
|
|
|
button.connect("clicked", self.duplicate_text)
|
2006-02-20 22:27:30 +01:00
|
|
|
|
|
|
|
self.label = gtk.Label()
|
2006-02-27 20:42:31 +01:00
|
|
|
menubar = self._create_menubar()
|
|
|
|
|
2006-02-20 22:27:30 +01:00
|
|
|
vbox = gtk.VBox()
|
2006-02-27 20:42:31 +01:00
|
|
|
vbox.add(menubar)
|
2006-02-20 22:27:30 +01:00
|
|
|
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()
|