Estes dias quando estava trabalhando em uma nova interface gráfica para um programa em python, reparei que toda vez que preciso de adicionar um gtk.TreeView como uma lista (pense em uma planilha), sempre acabo re-escrevendo o mesmo código que utilizei em um outro projeto… e pensei:
"Por que não criar meu próprio kit/widget e parar de repetir código?"
Como não tinha muito que fazer neste último sábado, acabei criando o GenericList, minha abstração de um grk.TreeView.
Agora, toda vez que eu precisar adicionar uma lista em um de meus programas, tudo que tenho de fazer é instanciar esta classe, passando somente a disposição das columnas que eu preciso. Ou, criar uma nova classe que “herda” desta classe genérica:
O código para a classe acima é só isso aà mesmo… Dentro do meu código eu instancio ela e posso adicionar, remover, etc registros simplesmente usando os métodos genéricos add(), remove(), etc, etc, como exibido abaixo:
from billlistview import BillListView as ListView self.list = ListView() pixbuf = gtk.gdk.pixbuf_new_from_file(‘coin.jpg’) list = [[pixbuf, ‘Verizon’, ‘$ 49,00’, ‘04/27/2007’], [pixbuf, ‘T-Mobile’, ‘$ 55,99’, ‘04/15/2007’], [pixbuf, ‘Cable’, ‘$ 111,99’, ‘04/15/2007’]] self.list.addList(list)
E é claro que não podia faltar um screenshot do exemplo acima em execução.
Ainda pretendo adicionar mais alguns métodos antes de usá-la no BillReminder, por exemplo.