예제 #1
0
    def __init__(
        self,
        model,
        proxy_widgets=None,
        gladefile=None,
        toplevel=None,
        widgets=(),
        toplevel_name=None,
        domain=None,
        delete_handler=None,
        keyactions=None,
    ):
        """Creates a new Delegate.
        :param model: instance to be attached
        :param proxy_widgets:
        The keyactions parameter is sent to :class:`kiwi.controllers.BaseController`,
        the rest are sent to :class:`kiwi.ui.views.BaseView`
        """

        BaseView.__init__(self, toplevel, widgets, gladefile, toplevel_name, domain, delete_handler)
        self.model = model
        self.proxy = self.add_proxy(model, proxy_widgets)
        self.proxy.proxy_updated = self.proxy_updated

        BaseController.__init__(self, view=self, keyactions=keyactions)
예제 #2
0
 def __init__(self):
     win = Gtk.Window()
     win.set_title("I'm coming to London")
     label = Gtk.Label(label="Anything to declare?")
     win.add(label)
     win.set_default_size(200, 50)
     BaseView.__init__(self, toplevel=win, delete_handler=self.quit_if_last)
예제 #3
0
파일: hey.py 프로젝트: RENATOZANETTI9/kiwi
 def __init__(self):
     win = gtk.Window()
     win.set_title("I'm coming to London")
     label = gtk.Label("Anything to declare?")
     win.add(label)
     win.set_default_size(200, 50)
     BaseView.__init__(self, toplevel=win,
                       delete_handler=self.quit_if_last)
예제 #4
0
 def __init__(self):
     self.win = gtk.Window()
     self.label = gtk.Label("foobar!")
     self.win.add(self.label)
     BaseView.__init__(self, toplevel=self.win)
     BaseController.__init__(self, view=self)
     set_foreground(self.label, "#CC99FF")
     set_background(self.win, "#001100")
예제 #5
0
 def __init__(self):
     self.win = Gtk.Window()
     self.label = Gtk.Label(label="foobar!")
     self.win.add(self.label)
     BaseView.__init__(self, toplevel=self.win)
     BaseController.__init__(self, view=self)
     set_foreground(self.label, "#CC99FF")
     set_background(self.win, "#001100")
예제 #6
0
파일: vmlab.py 프로젝트: hsavolai/vmlab
    def __init__(self, model):

        self.__model = model
        #self.__model.set_view(self)

        BaseView.__init__(self,
                               gladefile="virtlab",
                               delete_handler=self.quit_if_last)

  #      self.__col_pixbuf = gtk.TreeViewColumn("Image")
  #      cellrenderer_pixbuf = gtk.CellRendererPixbuf()
  #      cellrenderer_pixbuf.set_properties("pixbuf", )
  #      self.__col_pixbuf.pack_start(cellrenderer_pixbuf, False)
  #      self.__col_pixbuf.add_attribute(cellrenderer_pixbuf, "pixbuf", 1)

        tableColumns = [
                    Column("image", title=" ", width=30, data_type=gtk.gdk.Pixbuf, sorted=False),
                    Column("name", title='VM Name', width=130, sorted=True),
                    Column("state", title='State', width=70),
                    Column("order", title='Order (Delay/min)', width=145),
                    Column("ordinal", visible=False),
                    Column("delay", visible=False),
                    Column("desc", title='Description', width=200)
                    ]


        self.vmlist_widget = ObjectList(tableColumns)
        self.vmlist_widget.set_size_request(300, 400)
        self.vmlist_widget.set_selection_mode(gtk.SELECTION_SINGLE)
        self.hbox4.pack_start(self.vmlist_widget)

        store = gtk.ListStore(gobject.TYPE_STRING)

        self.vmlist_widget.show()

        self.__dialog = None
        self.__status_text = gtk.TextBuffer()

        try:
            self.populate_vmlist()
            self.populate_order_dropdown(store, len(self.__model.get_vms()))
        except VMLabException as exception:
            if exception.vme_id is c.EXCEPTION_LIBVIRT_001:
                error("Initialization error",
                      "No connection to Libvirtd.\n Exiting.")
                exit(1)

        self.ordercombo.set_model(store)
        cell = gtk.CellRendererText()
        self.ordercombo.pack_start(cell, True)
        self.ordercombo.add_attribute(cell, 'text', 0)

        self.virtlab.set_size_request(800, 460)

        self.change_title("")
        self.__statusbar_ctx = self.statusbar.get_context_id("virtlab")
        self.virtlab.set_icon(gtk.gdk.pixbuf_new_from_file("pixmaps/about-logo.png"))
예제 #7
0
    def __init__(self, gladefile=None, toplevel_name=None, domain=None, delete_handler=None, keyactions=None):
        """Creates a new GladeDelegate.
        The keyactions parameter is sent to :class:`kiwi.controllers.BaseController`,
        the rest are sent to :class:`kiwi.ui.views.BaseView`
        """

        BaseView.__init__(
            self, gladefile=gladefile, toplevel_name=toplevel_name, domain=domain, delete_handler=delete_handler
        )
        BaseController.__init__(self, view=self, keyactions=keyactions)
예제 #8
0
 def __init__(self, toplevel=None, widgets=None, toplevel_name=None,
              delete_handler=None, keyactions=None):
     """Creates a new Delegate.
     The keyactions parameter is sent to :class:`kiwi.controllers.BaseController`,
     the rest are sent to :class:`kiwi.ui.views.BaseView`
     """
     BaseView.__init__(self,
                       toplevel=toplevel,
                       widgets=widgets or [],
                       toplevel_name=toplevel_name,
                       delete_handler=delete_handler)
     BaseController.__init__(self, view=self, keyactions=keyactions)
예제 #9
0
    def __init__(self, gladefile=None, toplevel_name=None, domain=None,
                 delete_handler=None, keyactions=None):
        """Creates a new GladeDelegate.
        The keyactions parameter is sent to :class:`kiwi.controllers.BaseController`,
        the rest are sent to :class:`kiwi.ui.views.BaseView`
        """

        BaseView.__init__(self,
                          gladefile=gladefile,
                          toplevel_name=toplevel_name,
                          domain=domain,
                          delete_handler=delete_handler)
        BaseController.__init__(self, view=self, keyactions=keyactions)
예제 #10
0
파일: color2.py 프로젝트: rosemberg-al/kiwi
 def __init__(self):
     win = Gtk.Window()
     win.set_title("Silly question")
     win.set_border_width(12)
     label = Gtk.Label(label="What is your favourite color?")
     box = Gtk.VBox(spacing=6)
     box.pack_start(label, False, True, 0)
     self.combo = ProxyComboEntry()
     self.combo.data_type = str
     self.combo.model_attribute = 'color'
     self.combo.prefill(load_colors(), sort=True)
     box.pack_start(self.combo, False, True, 0)
     win.add(box)
     BaseView.__init__(self, toplevel=win, delete_handler=self.quit_if_last)
예제 #11
0
 def __init__(self):
     win = gtk.Window()
     win.set_title("Silly question")
     win.set_border_width(12)
     label = gtk.Label("What is your favourite color?")
     box = gtk.VBox(spacing=6)
     box.pack_start(label, False)
     self.combo = ProxyComboEntry()
     self.combo.data_type = str
     self.combo.model_attribute = 'color'
     self.combo.prefill(load_colors(), sort=True)
     box.pack_start(self.combo, False)
     win.add(box)
     BaseView.__init__(self, toplevel=win,
                       delete_handler=self.quit_if_last)
예제 #12
0
    def __init__(
        self, toplevel=None, widgets=(), gladefile=None, toplevel_name=None, delete_handler=None, keyactions=None
    ):
        """Creates a new Delegate.
        The keyactions parameter is sent to :class:`kiwi.controllers.BaseController`,
        the rest are sent to :class:`kiwi.ui.views.BaseView`
        """
        if gladefile:
            deprecationwarn("gladefile is deprecated in Delegate, " "use GladeDelegate instead", stacklevel=3)

        BaseView.__init__(
            self,
            toplevel=toplevel,
            widgets=widgets,
            gladefile=gladefile,
            toplevel_name=toplevel_name,
            delete_handler=delete_handler,
        )
        BaseController.__init__(self, view=self, keyactions=keyactions)
예제 #13
0
    def __init__(self, model, proxy_widgets=None, gladefile=None,
                 toplevel=None, widgets=None,
                 toplevel_name=None, domain=None, delete_handler=None,
                 keyactions=None):
        """Creates a new Delegate.
        :param model: instance to be attached
        :param proxy_widgets:
        The keyactions parameter is sent to :class:`kiwi.controllers.BaseController`,
        the rest are sent to :class:`kiwi.ui.views.BaseView`
        """
        widgets = widgets or []

        BaseView.__init__(self, toplevel, widgets, gladefile,
                          toplevel_name, domain,
                          delete_handler)
        self.model = model
        self.proxy = self.add_proxy(model, proxy_widgets)
        self.proxy.proxy_updated = self.proxy_updated

        BaseController.__init__(self, view=self, keyactions=keyactions)
예제 #14
0
    def __init__(self,
                 toplevel=None,
                 widgets=(),
                 gladefile=None,
                 toplevel_name=None,
                 delete_handler=None,
                 keyactions=None):
        """Creates a new Delegate.
        The keyactions parameter is sent to L{kiwi.controllers.BaseController},
        the rest are sent to L{kiwi.ui.views.BaseView}
        """
        if gladefile:
            deprecationwarn(
                'gladefile is deprecated in Delegate, '
                'use GladeDelegate instead',
                stacklevel=3)

        BaseView.__init__(self,
                          toplevel=toplevel,
                          widgets=widgets,
                          gladefile=gladefile,
                          toplevel_name=toplevel_name,
                          delete_handler=delete_handler)
        BaseController.__init__(self, view=self, keyactions=keyactions)
예제 #15
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)
예제 #16
0
 def __init__(self):
     self.build_ui()
     BaseView.__init__(self, toplevel_name="win")
예제 #17
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", delete_handler=quit_if_last)
app.show()
gtk.main()
예제 #18
0
파일: faren2.py 프로젝트: rcaferraz/kiwi
 def __init__(self):
     BaseView.__init__(self,
                       gladefile="faren.ui",
                       delete_handler=self.quit_if_last)
예제 #19
0
 def __init__(self, toplevel=None, *args, **kw):
     PythonViewMixin.__init__(self)
     if toplevel is None:
         toplevel = self.create_toplevel_widget()
     BaseView.__init__(self, toplevel=toplevel, *args, **kw)
예제 #20
0
파일: faren.py 프로젝트: fuinha/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()
예제 #21
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()
예제 #22
0
 def __init__(self):
     BaseView.__init__(self, delete_handler=quit_if_last)
     self.model = Person()
     self.add_proxy(self.model, self.widgets)
예제 #23
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()
예제 #24
0
파일: heyglade3.py 프로젝트: Schevo/kiwi
 def __init__(self):
     BaseView.__init__(self, delete_handler=quit_if_last)
     text = self.the_label.get_text() # attached by constructor
     self.the_label.set_markup('<b>%s</b>' % text)
     self.the_label.set_use_markup(True)
     self.set_title("Avi's declaration") # change window title
예제 #25
0
파일: gpacnet.py 프로젝트: trojkat/gpacnet
	def clicked(self, widget, event):
		if package.to_install:
			if root:
				pacman = "pacman -S %s && read" % package.to_install
				command = [TERMINAL, "-e", pacman]
			else:
				pacman = "su --command='pacman -S %s && read'" % package.to_install
				command = [TERMINAL, "-e", pacman]
			out, errors = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
			if errors:
				raise errors
		else:
			print("No package to install")
		

shell = BaseView(gladefile="gpacnet", delete_handler=quit_if_last)

local = Local()
category = Category()
package = Package()
install = Install()


shell.attach_slave("category", category)
shell.attach_slave("package", package)



category.show_all()
category.focus_topmost()
package.show_all()
예제 #26
0
파일: newsform.py 프로젝트: Schevo/kiwi
#!/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)
예제 #27
0
 def __init__(self):
     self.build_ui()
     BaseView.__init__(self, toplevel_name='win')
예제 #28
0
#!/usr/bin/env python
import gtk

from kiwi.model import PickledModel
from kiwi.ui.views import BaseView
from kiwi.ui.gadgets import quit_if_last

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


person = Person.unpickle()  # load person instance

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

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

# Enter main lopp, where GTK will handle events
gtk.main()

# save changes done to theinstance
person.save()
예제 #29
0
 def __init__(self, toplevel=None, *args, **kw):
     PythonViewMixin.__init__(self)
     if toplevel is None:
         toplevel = self.create_toplevel_widget()
     BaseView.__init__(self, toplevel=toplevel, *args, **kw)
예제 #30
0
파일: news.py 프로젝트: Schevo/kiwi
        "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()
예제 #31
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()
예제 #32
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()
예제 #33
0
파일: faren2.py 프로젝트: fuinha/kiwi
 def __init__(self):
     BaseView.__init__(self, gladefile="faren.ui",
                       delete_handler=self.quit_if_last)
예제 #34
0
import gtk

from kiwi.ui.views import BaseView
from kiwi.ui.gadgets import quit_if_last
from kiwi.controllers import BaseController

class ExampleController(BaseController):
    def __init__(self, view):
        keyactions = {gtk.keysyms.Escape: quit_if_last}
        BaseController.__init__(self, view, keyactions)

    def on_ok__clicked(self, button, *args):
        self.view.label_last_button.set_text("Ok")

    def on_cancel__clicked(self, button, *args):
        self.view.label_last_button.set_text("Cancel")

    def after_entry_name__content_changed(self, entry, *args):
        self.view.label_name.set_text(entry.get_text())


view = BaseView(gladefile="example03",
                 widgets=("label_last_button", "ok", "cancel",
                           "entry_name", "label_name"),
                 delete_handler=quit_if_last)

controller = ExampleController(view)
view.show_all()
view.focus_topmost()
gtk.main()
예제 #35
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))
예제 #36
0
 def __init__(self):
     BaseView.__init__(self, delete_handler=quit_if_last)
     text = self.the_label.get_text()  # attached by constructor
     self.the_label.set_markup('<b>%s</b>' % text)
     self.the_label.set_use_markup(True)
     self.set_title("Avi's declaration")  # change window title
예제 #37
0
 def __init__(self):
     self.win = 0
     BaseView.__init__(self)
     BaseController.__init__(self, view=self)