Hi,
I am trying to set up a tree list that displays
information about the selected elements in a different
frame. For some reason, the callback functions never
get activated, though. I don't know what I'm doing
wrong. Here is some example code:
---------- start Python code --------------
from wxPython.wx import *
ID_CHANGE = 100
ID_COLLAPSE = 101
ID_EXPAND = 102
ID_ACTIVATE = 103
class mainWindow (wxFrame):
def __init__( self, parent, id, title ):
wxFrame.__init__( self, parent, id, title,
wxDefaultPosition, wxSize(800,600) )
self.tree = wxTreeCtrl( self, -1,
style=wxTR_HAS_BUTTONS )
rootNode = self.tree.AddRoot( "Root" )
for group in range(5):
groupNode = self.tree.AppendItem(
rootNode, "Group "+str(group) )
for item in range(10):
self.tree.AppendItem( groupNode, "Item
"+str(item) )
self.Show( True )
EVT_TREE_ITEM_ACTIVATED( self, ID_ACTIVATE,
self.OnTreeEvent )
EVT_TREE_SEL_CHANGED( self, ID_CHANGE,
self.OnTreeEvent )
EVT_TREE_ITEM_EXPANDED( self, ID_EXPAND,
self.OnTreeEvent )
EVT_TREE_ITEM_COLLAPSED( self, ID_COLLAPSE,
self.OnTreeEvent )
def OnTreeEvent( self, event ):
print "Tree event received!"
class App (wxApp):
def OnInit( self ):
frame = mainWindow( None, -1, "wxTreeCtrl
Event Tester" )
self.SetTopWindow( frame )
return True
app = App(0)
app.MainLoop()
---------- end Python code --------------
which should print a message every time I select an
element, collapse a group etc. However, OnTreeEvent()
never gets called, no matter what I do. Please let me
know where my mistake is.
Thanks
Klaus