コード例 #1
0
ファイル: combo.py プロジェクト: hackedbellini/kiwi
 def __init__(self):
     entry = ProxyEntry()
     ComboEntry.__init__(self, entry=entry)
     ValidatableProxyWidgetMixin.__init__(self)
     entry.connect('content-changed', self._on_entry__content_changed)
     entry.connect('validation-changed',
                   self._on_entry__validation_changed)
コード例 #2
0
 def testPopup(self):
     entry = ComboEntry()
     win = Gtk.Window()
     win.add(entry)
     win.show_all()
     entry.hide()
     entry.popup()
     entry.popdown()
コード例 #3
0
ファイル: comboentry.py プロジェクト: Schevo/kiwi
def main(args):
    w = gtk.Window()
    w.set_position(gtk.WIN_POS_CENTER)
    w.set_size_request(250, -1)
    w.set_title('ComboEntry example')
    w.connect('delete-event', gtk.main_quit)

    e = ComboEntry()
    e.prefill(['foo', 'bar', 'baz', 'biz', 'boz',
               'bsz', 'byz', 'kus', 'kaz', 'kes',
               'buz', 'bwq', 'uys'])
    w.add(e)

    w.show_all()
    gtk.main()
コード例 #4
0
def main(args):
    w = Gtk.Window()
    w.set_position(Gtk.WindowPosition.CENTER)
    w.set_size_request(250, -1)
    w.set_title('ComboEntry example')
    w.connect('delete-event', Gtk.main_quit)

    e = ComboEntry()
    e.prefill([
        'foo', 'bar', 'baz', 'biz', 'boz', 'bsz', 'byz', 'kus', 'kaz', 'kes',
        'buz', 'bwq', 'uys'
    ])
    w.add(e)

    w.show_all()
    Gtk.main()
コード例 #5
0
data = (Person('Evandro', 23, 'Belo Horizonte'),
        Person('Daniel', 22, 'São Carlos'),
        Person('Henrique', 21, 'São Carlos'),
        Person('Gustavo', 23, 'São Jose do Santos'),
        Person('Johan', 23, 'Göteborg'),
        Person('Lorenzo', 26, 'Granada')
        )


def details_callback(data):
    return "<small><b>city:</b> <span foreground='#0000FF'>%s</span> \n" \
           "<b>age:</b> %s</small>" % (data.city, data.age)

win = gtk.Window()
win.set_position(gtk.WIN_POS_CENTER)
win.connect('destroy', gtk.main_quit)

vbox = gtk.VBox()
win.add(vbox)

e = ComboEntry()
e.set_details_callback(details_callback)

for d in data:
    e.append_item(d.name, d)

vbox.pack_start(e)
win.show_all()

gtk.main()
コード例 #6
0
 def __init__(self):
     entry = ProxyEntry()
     ComboEntry.__init__(self, entry=entry)
     ValidatableProxyWidgetMixin.__init__(self)
     entry.connect('content-changed', self._on_entry__content_changed)
     entry.connect('validation-changed', self._on_entry__validation_changed)
コード例 #7
0
 def testActivate(self):
     entry = ComboEntry()
     entry.connect('activate', self._on_activate)
     entry.entry.emit('activate')
     self.assertEqual(self.called, True)
コード例 #8
0
 def testSimple(self):
     entry = ComboEntry()
     self.assertTrue(isinstance(entry, ComboEntry))
コード例 #9
0
ファイル: test_comboentry.py プロジェクト: rcaferraz/kiwi
 def testSimple(self):
     entry = ComboEntry()
     self.failUnless(isinstance(entry, ComboEntry))
コード例 #10
0
ファイル: locacao.py プロジェクト: venilton/cefsite
class Locar:
    class Dvd:
        def __init__(self, cod, title, valor):
            self.cod = cod
            self.title = title
            self.valor = currency(valor)

        def __repr__(self):
            return "<Titulo %s>" % self.title

    def set_controle(self, controle):
        self.controle = controle

    def close(self, w):
        self.controle.main_status = False
        self.w_locar.destroy()

    def sensitive(self, is_sensitive=False):
        pass
        # self.entry_nome_cliente.set_sensitive(is_sensitive)
        # self.entry_cod_dvd.set_sensitive(is_sensitive)

    def localizado(self, widget, focus):
        pass

    #    dadoscliente = self.controle.cliente_localizado()
    #  if dadoscliente[0] == True:
    #    self.entry_cod_cliente.set_text(str(dadoscliente[1][0][0]))
    #  self.entry_nome_cliente.set_text(dadoscliente[1][0][1])
    # self.sensitive(True)
    # self.entry_cod_dvd.grab_focus()

    def receber(self, widget):
        pass
        # itens = self.controle.receber_locacao(self.lista)
        # Receber(self.controle, self.w_locar, itens)

    def cadastra(self, widget, focus):
        recebido = self.controle.get_receber_status()
        if recebido == True:
            self.controle.set_receber_status(False)
            cod_cliente = self.entry_cod_cliente.get_text()
            for iten in self.lista:
                cod_dvd = int(iten.cod)
                self.controle.alugar(cod_cliente, cod_dvd)

            status = self.controle.notify()
            if status == True:
                self.notify_box.show()
            else:
                self.w_locar.hide()
                self.controle.main_status = True

    def remover_item(self, w):
        item = self.lista.get_selected_row_number()
        for itens in self.lista:
            if itens == self.lista[item]:
                self.lista.remove(itens)
        atributo = "cod"
        self.lista.emit("cell-edited", self.lista, atributo)

    def popular_lista_dvds(self, w):
        cod = self.entry_cod_dvd.get_text()
        try:
            dvd = self.controle.listar_dvd(cod, self.quant_itens, self.lista)
        except:
            pass
        status = self.controle.notify()
        if status == True:
            codigo = dvd[0][0]
            titulo = dvd[0][1]
            valor = dvd[0][2]
            self.lista.append(Locar.Dvd(codigo, titulo, valor))
            atributo = "cod"
            self.lista.emit("cell-edited", self.lista, atributo)
            self.notify_box.hide()
        else:
            self.notify_box.show()
        self.entry_cod_dvd.set_text("")

    def localizar_cliente_cod(self, widget):
        cod = self.entry_cod_cliente.get_text()
        if cod is not "":
            try:
                cliente = self.controle.listar_cliente(cod)
            except:
                pass
            status = self.controle.notify()
            if status == True:
                self.entry_nome_cliente.set_text(cliente[0][1])
                self.sensitive(True)
                self.notify_box.hide()
                self.entry_cod_dvd.grab_focus()
            else:
                self.entry_nome_cliente.set_text("")
                self.sensitive(False)
                self.notify_box.show()

    def __init__(self, controle):
        self.w_locar = gtk.Dialog()
        self.w_locar.set_position(gtk.WIN_POS_CENTER)
        self.w_locar.connect("destroy", self.close)
        self.w_locar.connect("focus_in_event", self.cadastra)
        self.w_locar.connect("focus_in_event", self.localizado)
        self.w_locar.set_title("CEF SHOP - Locar")
        self.w_locar.set_size_request(650, 400)
        self.w_locar.set_border_width(8)
        self.controle = controle
        self.quant_itens = 0

        # ------Divisao v principal
        vbox_main = gtk.VBox(False, 2)
        self.w_locar.vbox.add(vbox_main)

        # ------Elementos
        self.data = []
        columns = [
            Column("cod", data_type=int, sorted=True, title="Código"),
            Column("title", data_type=str, title="Titulo"),
            Column("valor", data_type=currency, title="Valor"),
        ]
        self.lista = ObjectList(columns, mode=gtk.SELECTION_MULTIPLE)
        self.lista.extend(self.data)

        # ------Frame Clientes
        frame_cliente = gtk.Frame("Cliente")
        vbox_main.pack_start(frame_cliente, False, True, 2)

        hbox_cliente = gtk.HBox(False, 2)
        hbox_cliente.set_border_width(2)
        frame_cliente.add(hbox_cliente)

        f_cliente = gtk.Fixed()

        label_cod_cliente = gtk.Label("Codigo :")
        f_cliente.put(label_cod_cliente, 2, 8)

        self.entry_cod_cliente = gtk.Entry(0)
        self.entry_cod_cliente.set_size_request(60, 28)
        self.entry_cod_cliente.connect("activate", self.localizar_cliente_cod)
        f_cliente.put(self.entry_cod_cliente, 60, 4)

        # self.entry_nome_cliente = gtk.Entry(0)
        self.entry_nome_cliente = ComboEntry()
        self.entry_nome_cliente.set_size_request(500, 26)

        tabelacombo = self.controle.clientes
        itens = tabelacombo.combo()
        self.entry_nome_cliente.prefill(itens)

        # self.entry_nome_cliente.set_editable(False)
        f_cliente.put(self.entry_nome_cliente, 122, 4)

        # button_localizar_cliente = gtk.Button(stock=gtk.STOCK_FIND)
        # button_localizar_cliente.connect("clicked", localizar_cliente, self.w_locar, self.controle)
        # f_cliente.put(button_localizar_cliente,524, 0)

        hbox_cliente.pack_start(f_cliente, False, True, 4)

        # ---divisao h
        hbox_body = gtk.HBox(False, 2)
        vbox_main.pack_start(hbox_body, True, True, 2)

        # ------framecod dvds

        f_dvd = gtk.Fixed()
        frame_dvds = gtk.Frame("DvDs")
        hbox_body.pack_start(frame_dvds, False, True, 2)

        vbox_dvd = gtk.VBox(False, 2)
        vbox_dvd.set_border_width(2)
        frame_dvds.add(vbox_dvd)

        label_cod_dvd = gtk.Label("Codigo :")
        f_dvd.put(label_cod_dvd, 2, 8)
        self.entry_cod_dvd = gtk.Entry(0)
        self.entry_cod_dvd.set_size_request(60, 28)
        self.entry_cod_dvd.connect("activate", self.popular_lista_dvds)
        f_dvd.put(self.entry_cod_dvd, 60, 4)

        vbox_dvd.pack_start(f_dvd, False, True, 4)

        button_remover = gtk.Button(stock=gtk.STOCK_REMOVE)
        button_remover.connect("clicked", self.remover_item)
        button_adicionar = gtk.Button(stock=gtk.STOCK_ADD)
        button_adicionar.connect("clicked", self.popular_lista_dvds)

        bbox = gtk.VButtonBox()
        bbox.set_layout(gtk.BUTTONBOX_START)
        vbox_dvd.pack_start(bbox, False, True, 4)

        bbox.add(button_adicionar)
        bbox.add(button_remover)

        # ------lista de filmes
        frame_filmes = gtk.Frame("Lista de Locações")
        hbox_body.pack_start(frame_filmes, True, True, 2)
        vbox_lista = gtk.VBox(False, 2)

        frame_filmes.add(vbox_lista)
        vbox_lista.pack_start(self.lista, True, True, 2)

        label = SummaryLabel(klist=self.lista, column="valor", label="<b>Total:</b>", value_format="<b>%s</b>")
        vbox_lista.pack_start(label, False, False, 4)

        # -------area de notificacao

        # -------Botoes
        button_cancel = gtk.Button(stock=gtk.STOCK_CANCEL)
        button_cancel.connect("clicked", self.close)
        button_ok = gtk.Button(stock=gtk.STOCK_OK)
        button_ok.connect("clicked", self.receber)

        bbox = gtk.HButtonBox()
        bbox.set_layout(gtk.BUTTONBOX_END)
        self.w_locar.action_area.pack_start(bbox, False, True, 0)

        bbox.add(button_cancel)
        button_cancel.set_flags(gtk.CAN_DEFAULT)

        bbox.add(button_ok)
        button_cancel.grab_default()

        self.sensitive()
        self.w_locar.show_all()
        self.w_locar.show()
コード例 #11
0
ファイル: locacao.py プロジェクト: venilton/cefsite
    def __init__(self, controle):
        self.w_locar = gtk.Dialog()
        self.w_locar.set_position(gtk.WIN_POS_CENTER)
        self.w_locar.connect("destroy", self.close)
        self.w_locar.connect("focus_in_event", self.cadastra)
        self.w_locar.connect("focus_in_event", self.localizado)
        self.w_locar.set_title("CEF SHOP - Locar")
        self.w_locar.set_size_request(650, 400)
        self.w_locar.set_border_width(8)
        self.controle = controle
        self.quant_itens = 0

        # ------Divisao v principal
        vbox_main = gtk.VBox(False, 2)
        self.w_locar.vbox.add(vbox_main)

        # ------Elementos
        self.data = []
        columns = [
            Column("cod", data_type=int, sorted=True, title="Código"),
            Column("title", data_type=str, title="Titulo"),
            Column("valor", data_type=currency, title="Valor"),
        ]
        self.lista = ObjectList(columns, mode=gtk.SELECTION_MULTIPLE)
        self.lista.extend(self.data)

        # ------Frame Clientes
        frame_cliente = gtk.Frame("Cliente")
        vbox_main.pack_start(frame_cliente, False, True, 2)

        hbox_cliente = gtk.HBox(False, 2)
        hbox_cliente.set_border_width(2)
        frame_cliente.add(hbox_cliente)

        f_cliente = gtk.Fixed()

        label_cod_cliente = gtk.Label("Codigo :")
        f_cliente.put(label_cod_cliente, 2, 8)

        self.entry_cod_cliente = gtk.Entry(0)
        self.entry_cod_cliente.set_size_request(60, 28)
        self.entry_cod_cliente.connect("activate", self.localizar_cliente_cod)
        f_cliente.put(self.entry_cod_cliente, 60, 4)

        # self.entry_nome_cliente = gtk.Entry(0)
        self.entry_nome_cliente = ComboEntry()
        self.entry_nome_cliente.set_size_request(500, 26)

        tabelacombo = self.controle.clientes
        itens = tabelacombo.combo()
        self.entry_nome_cliente.prefill(itens)

        # self.entry_nome_cliente.set_editable(False)
        f_cliente.put(self.entry_nome_cliente, 122, 4)

        # button_localizar_cliente = gtk.Button(stock=gtk.STOCK_FIND)
        # button_localizar_cliente.connect("clicked", localizar_cliente, self.w_locar, self.controle)
        # f_cliente.put(button_localizar_cliente,524, 0)

        hbox_cliente.pack_start(f_cliente, False, True, 4)

        # ---divisao h
        hbox_body = gtk.HBox(False, 2)
        vbox_main.pack_start(hbox_body, True, True, 2)

        # ------framecod dvds

        f_dvd = gtk.Fixed()
        frame_dvds = gtk.Frame("DvDs")
        hbox_body.pack_start(frame_dvds, False, True, 2)

        vbox_dvd = gtk.VBox(False, 2)
        vbox_dvd.set_border_width(2)
        frame_dvds.add(vbox_dvd)

        label_cod_dvd = gtk.Label("Codigo :")
        f_dvd.put(label_cod_dvd, 2, 8)
        self.entry_cod_dvd = gtk.Entry(0)
        self.entry_cod_dvd.set_size_request(60, 28)
        self.entry_cod_dvd.connect("activate", self.popular_lista_dvds)
        f_dvd.put(self.entry_cod_dvd, 60, 4)

        vbox_dvd.pack_start(f_dvd, False, True, 4)

        button_remover = gtk.Button(stock=gtk.STOCK_REMOVE)
        button_remover.connect("clicked", self.remover_item)
        button_adicionar = gtk.Button(stock=gtk.STOCK_ADD)
        button_adicionar.connect("clicked", self.popular_lista_dvds)

        bbox = gtk.VButtonBox()
        bbox.set_layout(gtk.BUTTONBOX_START)
        vbox_dvd.pack_start(bbox, False, True, 4)

        bbox.add(button_adicionar)
        bbox.add(button_remover)

        # ------lista de filmes
        frame_filmes = gtk.Frame("Lista de Locações")
        hbox_body.pack_start(frame_filmes, True, True, 2)
        vbox_lista = gtk.VBox(False, 2)

        frame_filmes.add(vbox_lista)
        vbox_lista.pack_start(self.lista, True, True, 2)

        label = SummaryLabel(klist=self.lista, column="valor", label="<b>Total:</b>", value_format="<b>%s</b>")
        vbox_lista.pack_start(label, False, False, 4)

        # -------area de notificacao

        # -------Botoes
        button_cancel = gtk.Button(stock=gtk.STOCK_CANCEL)
        button_cancel.connect("clicked", self.close)
        button_ok = gtk.Button(stock=gtk.STOCK_OK)
        button_ok.connect("clicked", self.receber)

        bbox = gtk.HButtonBox()
        bbox.set_layout(gtk.BUTTONBOX_END)
        self.w_locar.action_area.pack_start(bbox, False, True, 0)

        bbox.add(button_cancel)
        button_cancel.set_flags(gtk.CAN_DEFAULT)

        bbox.add(button_ok)
        button_cancel.grab_default()

        self.sensitive()
        self.w_locar.show_all()
        self.w_locar.show()