Package reflectometry :: Package model1d :: Package tableview :: Module addGlobalParameter

Source Code for Module reflectometry.model1d.tableview.addGlobalParameter

  1  #!/usr/bin/env python 
  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  #==================================================== 
9 -class AddGlobalParameter(wx.Dialog):
10 - def __init__( 11 self, 12 parent, 13 ID, 14 title, 15 size = (300, 300),#wx.DefaultSize, 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 # This extra style can be set after the UI object has been created. 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 # variable Information 81 self.var_info=[] 82 83 # error flag 84 self._error = 0
85 86 87 #=================================================== 88 # Get variable info 89 #===================================================
90 - def getParInfo(self):
91 ret = [] 92 ret.append( self.getParNameValue() ) 93 ret.append( self.getParV0Value() ) 94 ret.append( self.getParRangeValue() ) 95 96 ret.append( self._error ) 97 98 return ret
99 100
101 - def getParNameValue(self):
102 return self.textCtrls[0].GetValue().strip()
103 104
105 - def getParV0Value(self):
106 try: 107 ret = CheckValid( self.textCtrls[1].GetValue() ) 108 except: 109 self._error = 1 110 ret = None 111 112 return ret
113 114
115 - def getParRangeValue(self):
116 try: 117 ret = self.textCtrls[2].GetValue().strip() 118 except: 119 self._error = 1 120 ret = None 121 return ret
122 123
124 - def GetOwnerManager(self):
125 return self._mgr
126 127
128 - def OnClose(self, event):
129 self._mgr.UnInit() 130 event.Skip()
131 132
133 - def OnClosePage(self, event):
134 event.Veto()
135