]> git.saurik.com Git - wxWidgets.git/blame_incremental - wxPython/demo/viewer_basics.py
added missing button state
[wxWidgets.git] / wxPython / demo / viewer_basics.py
... / ...
CommitLineData
1# 11/15/2003 - Jeff Grimmett (grimmtooth@softhome.net)
2#
3# o Updated for wx namespace
4# o No idea what this does.
5#
6
7import wx
8import wx.lib.vtk as vtk
9
10#---------------------------------------------------------------------------
11class VtkFrame(wx.Frame):
12 """
13 Simple example VTK window that contains a cone.
14 """
15 def __init__(self, parent, id, title):
16 wx.Frame.__init__(self, parent, id, title, size=(450, 300))
17 win = vtk.VTKRenderWindow(self, -1)
18
19 renWin = win.GetRenderWindow()
20
21 ren = vtk.vtkRenderer()
22 renWin.AddRenderer(ren)
23 cone = vtk.vtkConeSource()
24 coneMapper = vtk.vtkPolyDataMapper()
25 coneMapper.SetInput(cone.GetOutput())
26 coneActor = vtk.vtkActor()
27 coneActor.SetMapper(coneMapper)
28 ren.AddActor(coneActor)
29
30#---------------------------------------------------------------------------
31# Using new event binder
32wx_EVT_ADD_CONE = wx.NewEventType()
33EVT_ADD_CONE = wx.PyEventBinder(wx_EVT_ADD_CONE, 1)
34
35class AddCone(wx.PyEvent):
36 def __init__(self):
37 wx.PyEvent.__init__(self)
38 self.SetEventType(wx_EVT_ADD_CONE)
39
40
41class HiddenCatcher(wx.Frame):
42 """
43 The "catcher" frame in the second thread.
44 It is invisible. It's only job is to receive
45 Events from the main thread, and create
46 the appropriate windows.
47 """
48 def __init__(self):
49 wx.Frame.__init__(self, None, -1, '')
50 self.Bind(EVT_ADD_CONE, self.AddCone)
51
52 def AddCone(self,evt):
53 add_cone()
54
55
56#---------------------------------------------------------------------------
57
58class SecondThreadApp(wx.App):
59 """
60 wxApp that lives in the second thread.
61 """
62 def OnInit(self):
63 catcher = HiddenCatcher()
64 #self.SetTopWindow(catcher)
65 self.catcher = catcher
66 return True
67
68#---------------------------------------------------------------------------
69
70def add_cone():
71 frame = VtkFrame(None, -1, "Cone")
72 frame.Show(True)
73