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/

Reply via email to