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)
def testPopup(self): entry = ComboEntry() win = Gtk.Window() win.add(entry) win.show_all() entry.hide() entry.popup() entry.popdown()
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()
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()
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()
def testActivate(self): entry = ComboEntry() entry.connect('activate', self._on_activate) entry.entry.emit('activate') self.assertEqual(self.called, True)
def testSimple(self): entry = ComboEntry() self.assertTrue(isinstance(entry, ComboEntry))
def testSimple(self): entry = ComboEntry() self.failUnless(isinstance(entry, ComboEntry))
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()
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()