#!/usr/bin/env python import gtk from kiwi.ui.gadgets import quit_if_last from kiwi.ui.views import BaseView class NewsItem: """An instance representing an item of news. Attributes: title, author, url, size""" title = '' url = '' author = '' size = 0 item = NewsItem() my_widgets = ["title", "author", "url", "size"] view = BaseView(gladefile="newsform", widgets=my_widgets, delete_handler=quit_if_last) view.add_proxy(item, my_widgets) view.focus_topmost() view.show() gtk.main() # runs till window is closed as per delete_handler print 'Item: "%s" (%s) %s %d' % (item.title, item.author, item.url, item.size)
"Reverend CyberSatan", "http://www.pigdog.org/auto/TheCorporateFuck/link/2683.html"), ("Those Crazy Dutch Have Resurrected Elvis", "Miss Conduct", "http://www.pigdog.org/auto/viva_la_musica/link/2678.html") ] class News(SlaveView): def __init__(self): model = gtk.ListStore(str, str) treeview = gtk.TreeView(model) renderer = gtk.CellRendererText() col1 = gtk.TreeViewColumn('News', renderer, text=0) col2 = gtk.TreeViewColumn('Author', renderer, text=1) treeview.append_column(col1) treeview.append_column(col2) treeview.get_selection().set_mode(gtk.SELECTION_BROWSE) for item in news: model.append(item[:-1]) SlaveView.__init__(self, treeview) news = News() shell = BaseView(gladefile="news_shell", delete_handler=quit_if_last) shell.attach_slave("placeholder", news) news.show_all() news.focus_toplevel() # explained next section, don't worry shell.show() gtk.main()
#!/usr/bin/env python import gtk from kiwi.ui.gadgets import quit_if_last from kiwi.ui.views import BaseView app = BaseView(gladefile="hey", delete_handler=quit_if_last) app.show() gtk.main()
#!/usr/bin/env python import gtk from kiwi.ui.gadgets import quit_if_last from kiwi.ui.views import BaseView app = BaseView(gladefile="hey.ui", delete_handler=quit_if_last) # the_label, a widget defined in glade, is text = app.the_label.get_text() # now an instance variable of the view app.the_label.set_markup('<b>%s</b>' % text) app.the_label.set_use_markup(True) app.show() gtk.main()
#!/usr/bin/env python import gtk from kiwi.controllers import BaseController from kiwi.ui.views import BaseView from kiwi.ui.gadgets import quit_if_last class FarenControl(BaseController): def on_quitbutton__clicked(self, *args): self.view.hide_and_quit() def after_temperature__insert_text(self, entry, *args): try: temp = float(entry.get_text()) except ValueError: temp = 0 celsius = (temp - 32) * 5 / 9.0 farenheit = (temp * 9 / 5.0) + 32 self.view.celsius.set_text("%.2f" % celsius) self.view.farenheit.set_text("%.2f" % farenheit) widgets = ["quitbutton", "temperature", "celsius", "farenheit"] view = BaseView(gladefile="faren.ui", delete_handler=quit_if_last, widgets=widgets) ctl = FarenControl(view) view.show() gtk.main()
("Those Crazy Dutch Have Resurrected Elvis", "Miss Conduct", "http://www.pigdog.org/auto/viva_la_musica/link/2678.html") ] class News(SlaveView): def __init__(self): model = Gtk.ListStore(str, str) treeview = Gtk.TreeView(model) renderer = Gtk.CellRendererText() col1 = Gtk.TreeViewColumn('News', renderer, text=0) col2 = Gtk.TreeViewColumn('Author', renderer, text=1) treeview.append_column(col1) treeview.append_column(col2) treeview.get_selection().set_mode(Gtk.SelectionMode.BROWSE) for item in news: model.append(item[:-1]) SlaveView.__init__(self, treeview) news = News() shell = BaseView(gladefile="news_shell.ui", delete_handler=quit_if_last) shell.attach_slave("placeholder", news) news.show_all() news.focus_toplevel() # explained next section, don't worry shell.show() Gtk.main()