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
def on_mainwindow_destroy(self, *params):
print 'got destroy event'
gtk.main_quit
# 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
--
My other computer is your Windows box.
_______________________________________________
pygtk mailing list [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/