true/false or TRUE/FALSE to prepare for the new boolean type and constants being added to Python. Added code to wx.py to test for the existence of the new constants and to create suitable values if not present. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@19335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
70 lines
1.8 KiB
Python
70 lines
1.8 KiB
Python
from wxPython.wx import *
|
|
from wxPython.lib import vtk
|
|
|
|
#---------------------------------------------------------------------------
|
|
class VtkFrame(wxFrame):
|
|
"""
|
|
Simple example VTK window that contains a cone.
|
|
"""
|
|
def __init__(self, parent, id, title):
|
|
wxFrame.__init__(self, parent,id,title, size=(450, 300))
|
|
win = vtk.wxVTKRenderWindow(self, -1)
|
|
|
|
renWin = win.GetRenderWindow()
|
|
|
|
ren = vtk.vtkRenderer()
|
|
renWin.AddRenderer(ren)
|
|
cone = vtk.vtkConeSource()
|
|
coneMapper = vtk.vtkPolyDataMapper()
|
|
coneMapper.SetInput(cone.GetOutput())
|
|
coneActor = vtk.vtkActor()
|
|
coneActor.SetMapper(coneMapper)
|
|
ren.AddActor(coneActor)
|
|
|
|
#---------------------------------------------------------------------------
|
|
wxEVT_ADD_CONE = 25015
|
|
|
|
def EVT_ADD_CONE(win, func):
|
|
win.Connect(-1, -1, wxEVT_ADD_CONE, func)
|
|
|
|
|
|
class AddCone(wxPyEvent):
|
|
def __init__(self):
|
|
wxPyEvent.__init__(self)
|
|
self.SetEventType(wxEVT_ADD_CONE)
|
|
|
|
|
|
class HiddenCatcher(wxFrame):
|
|
"""
|
|
The "catcher" frame in the second thread.
|
|
It is invisible. It's only job is to receive
|
|
Events from the main thread, and create
|
|
the appropriate windows.
|
|
"""
|
|
def __init__(self):
|
|
wxFrame.__init__(self, None, -1, '')
|
|
EVT_ADD_CONE(self, self.AddCone)
|
|
|
|
def AddCone(self,evt):
|
|
add_cone()
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
class SecondThreadApp(wxApp):
|
|
"""
|
|
wxApp that lives in the second thread.
|
|
"""
|
|
def OnInit(self):
|
|
catcher = HiddenCatcher()
|
|
#self.SetTopWindow(catcher)
|
|
self.catcher =catcher
|
|
return True
|
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
def add_cone():
|
|
frame = VtkFrame(None, -1, "Cone")
|
|
frame.Show(True)
|
|
|