1
2
3 import wx
4 from reflectometry.model1d.profileview.reflutils import CheckValid
5 from reflectometry.model1d.model.bspline import BSpline, spline, slope, Slope
6
7
8
10 - def __init__(
11 self,
12 parent,
13 ID,
14 title,
15 size = (300, 300),
16 pos = wx.DefaultPosition,
17 style = wx.DEFAULT_DIALOG_STYLE,
18 useMetal = False,
19 ):
20 self.parent = parent
21
22 pre = wx.PreDialog()
23 pre.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
24 pre.Create(parent, ID, title, pos, size, style)
25
26 self.PostCreate(pre)
27
28
29 if 'wxMac' in wx.PlatformInfo and useMetal:
30 self.SetExtraStyle(wx.DIALOG_EX_METAL)
31
32 self._mgr = wx.aui.AuiManager(self)
33
34 self.num = 3
35 self.txts=[r'parameter name:',
36 r'Initial value:',
37 r'range:'
38 ]
39
40 self.DefaultTxts = [
41 r'None',
42 r'0.0',
43 r'[]',
44 ]
45
46
47 for x in xrange( self.num ):
48 wx.StaticText(self, -1, self.txts[x], (10, 20+x*30))
49
50 self.textCtrls = []
51 for x in xrange( self.num ):
52 textctl = wx.TextCtrl(self,
53 -1,
54 pos=(100, 20+x*30),
55 size=wx.Size(275, 20)
56 )
57 self.textCtrls.append( textctl )
58
59
60 self._mgr.Update()
61
62 for x in xrange( self.num ):
63 self.textCtrls[x].SetValue( self.DefaultTxts[x] )
64
65 self.button = wx.Button(self,
66 wx.ID_OK,
67 '',
68 (120, 30+(self.num)*30)
69 )
70 self.cancelbutton = wx.Button(self,
71 wx.ID_CANCEL,
72 '',
73 (220, 30+(self.num)*30)
74 )
75
76 self.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CLOSE, self.OnClosePage)
77 self.Bind(wx.EVT_CLOSE, self.OnClose)
78
79 self.textCtrls[2].Enable(False)
80
81 self.var_info=[]
82
83
84 self._error = 0
85
86
87
88
89
99
100
102 return self.textCtrls[0].GetValue().strip()
103
104
106 try:
107 ret = CheckValid( self.textCtrls[1].GetValue() )
108 except:
109 self._error = 1
110 ret = None
111
112 return ret
113
114
116 try:
117 ret = self.textCtrls[2].GetValue().strip()
118 except:
119 self._error = 1
120 ret = None
121 return ret
122
123
126
127
129 self._mgr.UnInit()
130 event.Skip()
131
132
133 - def OnClosePage(self, event):
135