17
class wxViperFrame(wx.Frame):
18
def __init__(self, parent = None, ID = -1, title="wx Viper Frame", size=wx.DefaultSize, pos=wx.DefaultPosition):
17
class Frame(wx.Frame):
18
def __init__(self, parent = None, ID = -1, title="wx Viper Frame",
19
size=wx.DefaultSize, pos=wx.DefaultPosition):
19
20
wx.Frame.__init__(self, parent, ID, title, pos, size)
21
self.Bind(wx.EVT_SIZE, self.OnSize)
22
# self.Bind(wx.EVT_SIZE, self.OnSize)
22
23
self.Bind(wx.EVT_CLOSE, self.OnQuit)
26
26
self.CenterOnScreen()
28
def viperRefresh(self):
29
vtk = self.viper.ren.GetVTKWindow()
32
def OnSize(self, event):
36
def OnQuit(self, event):
37
dlg = wx.MessageDialog(None, "Are you sure you want to exit?",
38
'Quit?', wx.YES_NO | wx.ICON_QUESTION)
39
result = dlg.ShowModal()
40
if result == wx.ID_NO:
45
def handleRadioSelection(self, event):
46
self.viper.toggle_outline()
50
29
panel = wx.Panel(self, -1)
52
31
#create object and viper
57
36
"data", "gauss_120.lut"))
58
37
self.viper = vip = viper.Viper([viper.ScalarField(coords, square.cells(),
59
38
scalars,actor_kwds={"lut": lut_fname})])
60
vtk_win = wxVTKRenderWindow(panel, -1, size = wx.Size(640,480))
61
vtk_win.GetRenderWindow().AddRenderer(vip.renderer)
39
vip_win = viper.wx.Window(vip, parent=panel, size=wx.Size(640, 480))
64
self.rb = rb = wx.RadioBox(panel, -1, radioOptions[0], wx.DefaultPosition, wx.DefaultSize,
65
radioOptions[1:5], 2, wx.RA_SPECIFY_COLS)
42
self.rb = rb = wx.RadioBox(panel, -1, radioOptions[0],
43
wx.DefaultPosition, wx.DefaultSize, radioOptions[1:5], 2,
66
45
rb.Bind(wx.EVT_RADIOBOX, self.handleRadioSelection)
67
47
btn = wx.Button(panel, -1, "Done")
68
self.Bind(wx.EVT_BUTTON, self.OnQuit, btn)
71
#layout various widgets
48
btn.Bind(wx.EVT_BUTTON, self.OnQuit)
52
pansizer = wx.BoxSizer(wx.VERTICAL)
53
pansizer.Add(vip_win, 2, flag=wx.EXPAND, border=5)
54
pansizer.Add(btn, 0, flag=wx.ALIGN_CENTER_HORIZONTAL|wx.ALL, border=5)
55
pansizer.Add(rb, 0, flag=wx.ALIGN_CENTER_HORIZONTAL|wx.ALL, border=5)
57
panel.SetSizerAndFit(pansizer)
72
59
sizer = wx.BoxSizer(wx.VERTICAL)
73
sizer.Add(vtk_win, 2, flag = wx.EXPAND, border = 5)
74
sizer.Add(btn, 0, flag = wx.ALIGN_CENTER_HORIZONTAL|wx.ALL, border = 5)
75
sizer.Add(rb, 0, flag = wx.ALIGN_CENTER_HORIZONTAL|wx.ALL, border = 5)
76
panel.SetSizerAndFit(sizer)
60
sizer.Add(panel, 2, flag=wx.EXPAND)
62
self.SetSizerAndFit(sizer)
64
def viperRefresh(self):
65
vtk = self.viper.ren.GetVTKWindow()
68
def OnQuit(self, event):
69
dlg = wx.MessageDialog(self, "Are you sure you want to exit?",
70
'Quit?', wx.YES_NO|wx.NO_DEFAULT|wx.ICON_QUESTION)
71
result = dlg.ShowModal()
72
if result == wx.ID_NO:
77
def handleRadioSelection(self, event):
78
self.viper.toggle_outline()
81
81
if __name__ == "__main__":
82
82
app = wx.App(redirect = False)