#!/usr/bin/env python # -*- coding: iso-8859-1 -*- import pygtk pygtk.require('2.0') import gtk from kiwi.ui.delegates import Delegate from kiwi.ui.gadgets import quit_if_last from kiwi.models import Model from kiwi.ui.widgets.list import List, Column # ---------------------------------------------------------------------------------------- # Modelos class accPanel(Delegate): def __init__(self): Delegate.__init__(self, gladefile="temp", widgets=('tabelas', 'pathApp', 'selecionados', 'btAdd'), delete_handler=quit_if_last, ) self.modelo = panelModel() self.proxies = [] self.proxies.append(self.add_proxy( self.modelo )) self.modelo.pathApp = 'c:\\' colunas = [Column('tipo', title='Tipo', sorted=True, tooltip='Tipo do objeto selecionado', visible=True), Column('nome', title='Nome', tooltip='Nome do objecto selecionado para comparação', visible=True) ] itens = [acTabela('Luciano'), acTabela('Leandro'), acTabela('Aleks') ] self.selecionados.set_columns(colunas) item = [itens[0]] ## self.selecionados.add_list(item) # possible bug! self.tabelas.set_columns(colunas) self.tabelas.add_list(itens) def on_btAdd__clicked(self, *args): itens = self.tabelas.get_selected_rows() self.selecionados.add_list(list(itens)) # ---------------------------------------------------------------------------------------- # Modelos class acTabela(object): def __init__(self, nome='', tipo=''): self.nome = nome self.tipo = tipo class panelModel(Model): def __init__(self, tabelas=None): Model.__init__(self) self.tabelas = [] self.selecionados = [] self.pathApp = '' # ---------------------------------------------------------------------------------------- # Execução frm = accPanel() frm.show_all() gtk.main() # Funcionou :) para o text print 'frm.pathApp.get_text():\t', frm.pathApp.get_text() print 'frm.modelo.pathApp:\t', frm.modelo.pathApp # NÃO Funcionou para o list :( print 'frm.selecionados[:]:', frm.selecionados[:] print 'frm.modelo.selecionados:', frm.modelo.selecionados