Changeset 2464 for trunk/GSASIIgrid.py
- Timestamp:
- Sep 11, 2016 3:05:54 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIgrid.py
r2451 r2464 185 185 wx.Dialog.__init__(self,parent,wx.ID_ANY,title,pos=wx.DefaultPosition, 186 186 style=wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER) 187 self.text =text187 self.text = text 188 188 self.table = table 189 189 self.panel = wx.Panel(self) … … 224 224 self.ShowModal() 225 225 return 226 227 class SGMagSpinBox(wx.Dialog): 228 ''' Special version of MessageBox that displays magnetic spin text 229 ''' 230 def __init__(self,parent,title,text,table,names,spins,): 231 wx.Dialog.__init__(self,parent,wx.ID_ANY,title,pos=wx.DefaultPosition, 232 style=wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER,size=wx.Size(400,350)) 233 self.text = text 234 self.table = table 235 self.names = names 236 self.spins = spins 237 self.panel = wxscroll.ScrolledPanel(self) 238 mainSizer = wx.BoxSizer(wx.VERTICAL) 239 mainSizer.Add((0,10)) 240 first = text[0].split(':') 241 cents = ['',] 242 if not 'P' in first[1][0]: 243 cents = text[-1].split(';') 244 for line in text: 245 mainSizer.Add(wx.StaticText(self.panel,label=' %s '%(line)),0,WACV) 246 try: 247 nops = self.names.index(' 1bar ') 248 except ValueError: 249 nops = len(self.names) 250 ncol = self.table[0].count(',')+2 251 for ic,cent in enumerate(cents): 252 if cent: 253 cent = cent.strip(' (').strip(')+\n') 254 mainSizer.Add(wx.StaticText(self.panel,label=' for (%s)+'%(cent)),0,WACV) 255 tableSizer = wx.FlexGridSizer(0,2*ncol+3,0,0) 256 for j,item in enumerate(self.table): 257 flds = item.split(')')[1] 258 tableSizer.Add(wx.StaticText(self.panel,label=' (%2d) '%(j+1)),0,WACV|wx.ALIGN_LEFT) 259 flds = flds.replace(' ','').split(',') 260 for i,fld in enumerate(flds): 261 if i < ncol-1: 262 text = wx.StaticText(self.panel,label='%s, '%(fld)) 263 tableSizer.Add(text,0,WACV|wx.ALIGN_RIGHT) 264 else: 265 text = wx.StaticText(self.panel,label='%s '%(fld)) 266 tableSizer.Add(text,0,WACV|wx.ALIGN_RIGHT) 267 text = wx.StaticText(self.panel,label=' (%s) '%(self.names[j])) 268 if self.spins[j+ic*len(self.table)] < 0: 269 text.SetForegroundColour('Red') 270 tableSizer.Add(text,0,WACV|wx.ALIGN_RIGHT) 271 if not j%2: 272 tableSizer.Add((20,0)) 273 mainSizer.Add(tableSizer,0,wx.ALIGN_LEFT) 274 275 btnsizer = wx.StdDialogButtonSizer() 276 OKbtn = wx.Button(self.panel, wx.ID_OK) 277 OKbtn.SetDefault() 278 btnsizer.AddButton(OKbtn) 279 btnsizer.Realize() 280 mainSizer.Add((0,10)) 281 mainSizer.Add(btnsizer,0,wx.ALIGN_CENTER) 282 self.panel.SetSizer(mainSizer) 283 size = np.array(self.GetSize()) 284 self.panel.SetupScrolling() 285 size = [size[0]-5,size[1]-20] #this fiddling is needed for older wx! 286 self.panel.SetSize(size) 287 self.panel.SetAutoLayout(1) 288 289 def Show(self): 290 '''Use this method after creating the dialog to post it 291 ''' 292 self.ShowModal() 293 return 226 294 227 295 ################################################################################ … … 1165 1233 btnSizer.Add((20,20),1) 1166 1234 mainSizer.Add(btnSizer,0,wx.BOTTOM|wx.TOP, 10) 1235 self.panel.SetSizer(mainSizer) 1167 1236 size = np.array(self.GetSize()) 1168 1237 self.panel.SetupScrolling() 1169 self.panel.SetSizer(mainSizer)1170 1238 self.panel.SetAutoLayout(1) 1171 1239 size = [size[0]-5,size[1]-20] #this fiddling is needed for older wx! … … 1208 1276 ''' 1209 1277 def __init__(self,parent,data,default,Reset=True): 1210 wx.Dialog.__init__(self,parent,wx.ID_ANY, 1211 'Distance Angle Controls', 1278 wx.Dialog.__init__(self,parent,wx.ID_ANY,'Distance Angle Controls', 1212 1279 pos=wx.DefaultPosition,style=wx.DEFAULT_DIALOG_STYLE) 1213 1280 self.default = default
Note: See TracChangeset
for help on using the changeset viewer.