X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8a693e6e0460b6b3c32e4b6f114a3ab7b7cd24ea..f6bcfd974ef26faf6f91a62cac09827e09463fd1:/utils/wxPython/tests/testTree.py diff --git a/utils/wxPython/tests/testTree.py b/utils/wxPython/tests/testTree.py deleted file mode 100644 index e445371c94..0000000000 --- a/utils/wxPython/tests/testTree.py +++ /dev/null @@ -1,116 +0,0 @@ -#!/usr/bin/env python - -from wxPython import wx -import sys, os -from stat import * - -GlobalObjList = [] - -class Obj: - def __init__(self, obj): - self.obj = obj - # Uncomment next line to eliminate crash. - # GlobalObjList.append(self) - - def Name(self): - head, tail = os.path.split(self.obj) - if tail: - return tail - else: - return head - - def HasChildren(self): - return os.path.isdir(self.obj) - - def Children(self): - objList = os.listdir(self.obj) - objList.sort() - objList = map(lambda obj,parent=self.obj: os.path.join(parent,obj), - objList) - objectList = map(Obj, objList) - return objectList - - def __str__(self): - return self.obj - - def __repr__(self): - return self.obj - - def __del__(self): - print 'del', self.obj - - -#---------------------------------------------------------------------- - -class pyTree(wx.wxTreeCtrl): - - def __init__(self, parent, id, obj): - wx.wxTreeCtrl.__init__(self, parent, id) - self.root = self.AddRoot(obj.Name(), -1, -1, wx.wxTreeItemData('')) - self.SetPyData(self.root, obj) - if obj.HasChildren(): - self.SetItemHasChildren(self.root, wx.TRUE) - wx.EVT_TREE_ITEM_EXPANDING(self, self.GetId(), self.OnItemExpanding) - wx.EVT_TREE_ITEM_COLLAPSED(self, self.GetId(), self.OnItemCollapsed) - wx.EVT_TREE_SEL_CHANGED(self, self.GetId(), self.OnSelChanged) - self.output = None - - def SetOutput(self, output): - self.output = output - - def OnItemExpanding(self,event): - item = event.GetItem() - obj = self.GetPyData(item) - children = obj.Children() - for child in children: - new_item = self.AppendItem(item, child.Name(), -1, -1, - wx.wxTreeItemData('')) - self.SetPyData(new_item, child) - if child.HasChildren(): - self.SetItemHasChildren(new_item, wx.TRUE) - - def OnItemCollapsed(self, event): - item = event.GetItem() - self.DeleteChildren(item) - - def OnSelChanged(self, event): - if not self.output: - return - obj = self.GetPyData( event.GetItem() ) - apply(self.output, (`obj`,)) - - - -#---------------------------------------------------------------------- -if __name__ == '__main__': - - class MyFrame(wx.wxFrame): - - def __init__(self): - wx.wxFrame.__init__(self, wx.NULL, -1, 'PyTreeItemData Test', - wx.wxDefaultPosition, wx.wxSize(600,500)) - split = wx.wxSplitterWindow(self, -1) - - if sys.platform == 'win32': - tree = pyTree(split, -1, Obj('C:\\')) - else: - tree = pyTree(split, -1, Obj('/')) - - text = wx.wxTextCtrl(split, -1, '', wx.wxDefaultPosition, - wx.wxDefaultSize, wx.wxTE_MULTILINE) - split.SplitVertically(tree, text, 200) - tree.SetOutput(text.SetValue) - tree.SelectItem(tree.root) - - class MyApp(wx.wxApp): - - def OnInit(self): - frame = MyFrame() - frame.Show(wx.TRUE) - self.SetTopWindow(frame) - return wx.TRUE - - app = MyApp(0) - app.MainLoop() - -