Jonathon McKitrick wrote:
Here is my code. All of the signal handlers work correctly when I use the autoconnect(self) call except main_quit, called on the destroy event. What is wrong?
#!/usr/bin/env python
import gsettingsdlg import pygtk; pygtk.require('2.0') import gtk import gtk.glade
data = [['1', 'test item', 'description'], ['2', 'test item', 'description'], ['3', 'test item', 'description'], ['4', 'test item', 'description'], ['5', 'test item', 'description']]
class MainWindow: def __init__(self): gladefile = 'glade/accountsgui.glade' windowname = 'mainwindow' self.wTree = gtk.glade.XML(gladefile, windowname)
d = { 'on_mainwindow_delete_event' : gtk.main_quit,
'on_listviewmain_select_cursor_row' :
self.on_listviewmain_select_cursor_row,
'on_listviewmain_row_activated' :
self.on_listviewmain_row_activated,
'on_listviewmain_cursor_changed' :
self.on_listviewmain_cursor_changed,
}
# self.wTree.signal_autoconnect(self)
self.wTree.signal_autoconnect(d)
self.make_view()
# self.view = self.make_view(liststore)
def on_mainwindow_delete_event(self, event, param): print 'got delete event' gtk.main_quit
should be: gtk.main_quit()
def on_mainwindow_destroy(self, *params):
print 'got destroy event'
gtk.main_quit
ditto
# def make_view(self, model):
def make_view(self):
liststore = gtk.ListStore(str, str, str) for item in data: iter = liststore.append() liststore.set(iter, 0, item[0], 1, item[1], 2, item[2])
view = self.wTree.get_widget('listviewmain')
view.set_model(liststore)
renderer = gtk.CellRendererText()
column = gtk.TreeViewColumn('Column1', renderer, text=0)
view.append_column(column)
renderer = gtk.CellRendererText() column = gtk.TreeViewColumn('Column2', renderer, text=1) view.append_column(column)
renderer = gtk.CellRendererText() column = gtk.TreeViewColumn('Column2', renderer, text=2) view.append_column(column)
def on_listviewmain_select_cursor_row(self, listview, edit, *param):
sel = listview.get_selection()
model, iter = sel.get_selected()
val = model.get_value(iter, 0)
print 'row selected: %s' % val
sb = self.wTree.get_widget('statusbarmain')
id = sb.get_context_id('main')
sb.push(id, 'row selected: %s' % val)
def on_listviewmain_row_activated(self, listview, path, column):
sel = listview.get_selection()
model, iter = sel.get_selected()
val = model.get_value(iter, 0)
print 'row activated: %s' % val
sb = self.wTree.get_widget('statusbarmain')
id = sb.get_context_id('main')
sb.push(id, 'row activated: %s' % val)
def on_listviewmain_cursor_changed(self, listview):
sel = listview.get_selection()
model, iter = sel.get_selected()
val = model.get_value(iter, 0)
print 'row changed: %s' % val
sb = self.wTree.get_widget('statusbarmain')
id = sb.get_context_id('main')
sb.push(id, 'row changed: %s' % val)
def settings(self):
gsettingsdlg.SettingsDlg()
if __name__ == '__main__': m = MainWindow() # m.settings() gtk.main()
jm
_______________________________________________ pygtk mailing list [EMAIL PROTECTED] http://www.daa.com.au/mailman/listinfo/pygtk Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/
