Changeset 4352 for trunk/GSASIIctrlGUI.py
- Timestamp:
- Mar 9, 2020 4:49:58 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIctrlGUI.py
r4345 r4352 2446 2446 :param str values: default input values, if any 2447 2447 :param int size: length of the input box in pixels 2448 :param bool addRows: if True, users can add rows to the table 2449 (default is False) 2450 :param str hlp: if supplied, a help button is added to the dialog that 2451 can be used to display the supplied help text in this variable. 2448 2452 ''' 2449 def __init__(self,parent,title,prompts,values=[],size=-1 ):2450 2453 def __init__(self,parent,title,prompts,values=[],size=-1, 2454 addRows=False,hlp=None): 2451 2455 wx.Dialog.__init__(self,parent,wx.ID_ANY,title, 2452 2456 pos=wx.DefaultPosition, 2453 2457 style=wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER) 2454 self.values = values 2455 self.prompts = prompts 2458 self.values = list(values) 2459 self.prompts = list(prompts) 2460 self.addRows = addRows 2461 self.size = size 2462 self.hlp = hlp 2456 2463 self.CenterOnParent() 2464 self.Paint() 2465 2466 def Paint(self): 2467 if self.GetSizer(): 2468 self.GetSizer().Clear(True) 2457 2469 mainSizer = wx.BoxSizer(wx.VERTICAL) 2470 if self.hlp: 2471 btnsizer = wx.BoxSizer(wx.HORIZONTAL) 2472 hlp = HelpButton(self,self.hlp) 2473 btnsizer.Add((-1,-1),1, wx.EXPAND, 1) 2474 btnsizer.Add(hlp,0,wx.ALIGN_RIGHT|wx.ALL) 2475 mainSizer.Add(btnsizer,0,wx.ALIGN_CENTER|wx.EXPAND) 2458 2476 promptSizer = wx.FlexGridSizer(0,2,5,5) 2477 promptSizer.AddGrowableCol(1,1) 2459 2478 self.Indx = {} 2460 for prompt,value in zip( prompts,values):2461 promptSizer.Add(wx.StaticText(self,-1,prompt),0,WACV )2462 valItem = wx.TextCtrl(self,-1,value=value,style=wx.TE_PROCESS_ENTER,size=(s ize,-1))2479 for prompt,value in zip(self.prompts,self.values): 2480 promptSizer.Add(wx.StaticText(self,-1,prompt),0,WACV,0) 2481 valItem = wx.TextCtrl(self,-1,value=value,style=wx.TE_PROCESS_ENTER,size=(self.size,-1)) 2463 2482 self.Indx[valItem.GetId()] = prompt 2464 2483 valItem.Bind(wx.EVT_TEXT,self.newValue) 2465 2484 promptSizer.Add(valItem,1,WACV|wx.EXPAND,1) 2466 2485 mainSizer.Add(promptSizer,1,wx.ALL|wx.EXPAND,1) 2467 btnsizer = wx. StdDialogButtonSizer()2486 btnsizer = wx.BoxSizer(wx.HORIZONTAL) 2468 2487 OKbtn = wx.Button(self, wx.ID_OK) 2469 2488 OKbtn.SetDefault() 2470 btnsizer.AddButton(OKbtn) 2489 btnsizer.Add((1,1),1,wx.EXPAND,1) 2490 btnsizer.Add(OKbtn) 2471 2491 btn = wx.Button(self, wx.ID_CANCEL) 2472 btnsizer.AddButton(btn) 2473 btnsizer.Realize() 2474 mainSizer.Add(btnsizer,0,wx.ALIGN_CENTER) 2492 btnsizer.Add(btn) 2493 btnsizer.Add((1,1),1,wx.EXPAND,1) 2494 if self.addRows: 2495 btn = wx.Button(self, wx.ID_ANY,'+',style=wx.BU_EXACTFIT) 2496 btn.Bind(wx.EVT_BUTTON,self.onExpand) 2497 btnsizer.Add(btn,0,wx.ALIGN_RIGHT) 2498 mainSizer.Add(btnsizer,0,wx.ALIGN_CENTER|wx.EXPAND) 2475 2499 self.SetSizer(mainSizer) 2476 2500 self.Fit() 2501 2502 def onExpand(self,event): 2503 self.values.append('') 2504 self.prompts.append('item '+str(len(self.values))) 2505 self.Paint() 2477 2506 2478 2507 def newValue(self,event):
Note: See TracChangeset
for help on using the changeset viewer.