예제 #1
0
from kiwi.model import Model
from kiwi.ui.views import BaseView
from kiwi.ui.gadgets import quit_if_last


# define the class that holds our application data
class Person(Model):
    name = ""
    address = ""
    phone = ""


person = Person()

view1 = BaseView(delete_handler=quit_if_last,
                 widgets=("name", "address", "phone"),
                 gladefile="person")

# create and run a proxy interface attached to person
view1.add_proxy(person, ("name", "address", "phone"))
view1.focus_topmost()
view1.show_all()

view2 = BaseView(delete_handler=quit_if_last,
                 widgets=("name", "address", "phone"),
                 gladefile="person")

# create and run a proxy interface attached to person
view2.add_proxy(person, ("name", "address", "phone"))
view2.focus_topmost()
view2.show_all()
예제 #2
0
#!/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()
예제 #3
0
파일: faren.py 프로젝트: rcaferraz/kiwi
#!/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()
예제 #4
0
#!/usr/bin/env python

from gi.repository 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.ui",
                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))
예제 #5
0
#!/usr/bin/env python

import gtk

from kiwi.ui.views import BaseView, SlaveView
from kiwi.ui.objectlist import Column
from kiwi.ui.gadgets import quit_if_last

# Main window
addressbook = BaseView(gladefile="addressbook",
                       widgets=("add", "del"),
                       delete_handler=quit_if_last)

## Slave Components:
# Entry editor GUI component
entry_editor = SlaveView(toplevel=addressbook,
                         widgets=("name", "address", "phone"),
                         gladefile="entry_editor")
# Entries list GUI component
list_entries = SlaveView(toplevel=addressbook,
                         widgets=("table",),
                         gladefile="list_entries")

list_entries.table.set_columns([Column("name", title="Name"),
                                Column("address", title="Address"),
                                Column("phone", title="Phone")])

## Attach slaves to main window
addressbook.attach_slave("entry_editor", entry_editor)
addressbook.attach_slave("list", list_entries)
예제 #6
0
파일: news.py 프로젝트: rosemberg-al/kiwi
    ("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()