Changeset 158 for trunk/GSASIIphsGUI.py
- Timestamp:
- Oct 1, 2010 12:36:31 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/GSASIIphsGUI.py ¶
r157 r158 612 612 Atoms.SetCellStyle(row,ci,WHITE,False) 613 613 614 def AtomAdd(event): 614 def OnAtomAdd(event): 615 AtomAdd(0,0,0) 616 FillAtomsGrid() 617 event.StopPropagation() 618 619 def OnAtomTestAdd(event): 620 try: 621 drawData = data['Drawing'] 622 x,y,z = drawData['testPos'] 623 AtomAdd(x,y,z) 624 except: 625 AtomAdd(0,0,0) 626 FillAtomsGrid() 627 event.StopPropagation() 628 629 def AtomAdd(x,y,z): 615 630 atomData = data['Atoms'] 616 631 generalData = data['General'] 617 632 Ncol = Atoms.GetNumberCols() 618 633 E,SGData = G2spc.SpcGroup(generalData['SGData']['SpGrp']) 619 Sytsym,Mult = G2spc.SytSym([ 0,0,0],SGData)634 Sytsym,Mult = G2spc.SytSym([x,y,z],SGData) 620 635 if generalData['Type'] == 'macromolecular': 621 atomData.append([0,'UNK','','UNK',' UNK',Sytsym,Mult,0,0,1,'',0,'I',0.10,0,0,0,0,0,0])636 atomData.append([0,'UNK','','UNK','H','',x,y,z,1,Sytsym,Mult,'I',0.10,0,0,0,0,0,0]) 622 637 elif generalData['Type'] == 'nuclear': 623 atomData.append(['UNK',' UNK','',0,0,0,1,Sytsym,Mult,'I',0.01,0,0,0,0,0,0])638 atomData.append(['UNK','H','',x,y,z,1,Sytsym,Mult,'I',0.01,0,0,0,0,0,0]) 624 639 elif generalData['Type'] == 'magnetic': 625 atomData.append(['UNK','UNK','',0,0,0,1,Sytsym,Mult,0,'I',0.01,0,0,0,0,0,0,0,0,0]) 640 atomData.append(['UNK','H','',x,y,z,1,Sytsym,Mult,0,'I',0.01,0,0,0,0,0,0,0,0,0]) 641 UpdateGeneral() 642 643 def OnAtomInsert(event): 644 AtomInsert(0,0,0) 626 645 FillAtomsGrid() 627 646 event.StopPropagation() 628 629 def AtomInsert(event): 647 648 def OnAtomTestInsert(event): 649 try: 650 drawData = data['Drawing'] 651 x,y,z = drawData['testPos'] 652 AtomAdd(x,y,z) 653 except: 654 AtomAdd(0,0,0) 655 FillAtomsGrid() 656 event.StopPropagation() 657 658 def AtomInsert(x,y,z): 630 659 indx = Atoms.GetSelectedRows() 631 660 if indx: … … 637 666 Sytsym,Mult = G2spc.SytSym([0,0,0],SGData) 638 667 if generalData['Type'] == 'macromolecular': 639 atomData.insert(indx,[0,'UNK','','UNK','UNK', Sytsym,Mult,0,0,1,'',0,'I',0.10,0,0,0,0,0,0])668 atomData.insert(indx,[0,'UNK','','UNK','UNK','',x,y,z,1,Sytsym,Mult,'I',0.10,0,0,0,0,0,0]) 640 669 elif generalData['Type'] == 'nuclear': 641 atomData.insert(indx,['UNK','UNK','', 0,0,0,1,Sytsym,Mult,'I',0.01,0,0,0,0,0,0])670 atomData.insert(indx,['UNK','UNK','',x,y,z,1,Sytsym,Mult,'I',0.01,0,0,0,0,0,0]) 642 671 elif generalData['Type'] == 'magnetic': 643 atomData.insert(indx,['UNK','UNK','',0,0,0,1,Sytsym,Mult,'I',0.01,0,0,0,0,0,0,0,0,0]) 644 FillAtomsGrid() 645 event.StopPropagation() 672 atomData.insert(indx,['UNK','UNK','',x,y,z,1,Sytsym,Mult,0,'I',0.01,0,0,0,0,0,0,0,0,0]) 673 UpdateGeneral() 646 674 647 675 def AtomDelete(event): … … 739 767 AA1letter = ['A','R','N','D','C','Q','E','G','H','I', 740 768 'L','K','M','F','P','S','T','W','Y','V','M',' ',' ',' '] 741 defaultDrawing = {'viewPoint':[[0.5,0.5,0.5],[ 0,0]],'showHydrogen':True,'backColor':[0,0,0],'depthFog':False,769 defaultDrawing = {'viewPoint':[[0.5,0.5,0.5],[]],'showHydrogen':True,'backColor':[0,0,0],'depthFog':False, 742 770 'Zclip':50.0,'cameraPos':50.,'pickItem':'Atoms','showBadContacts':False, 743 'bondRadius':0.1,'ballScale':0.33,'vdwScale':0.67,'ellipseProb':50,'sizeH':0.50, 'packing':False,744 'unitCellBox':False,'showABC':True,' fogFactor':1.0,'showSymElem':False,'selectedAtoms':[],745 'Rotation':[0.0,0.0,0.0, np.array([0,0])],'bondList':{}}771 'bondRadius':0.1,'ballScale':0.33,'vdwScale':0.67,'ellipseProb':50,'sizeH':0.50, 772 'unitCellBox':False,'showABC':True,'showSymElem':False,'selectedAtoms':[], 773 'Rotation':[0.0,0.0,0.0,[]],'bondList':{},'testPos':[-.1,-.1,-.1]} 746 774 try: 747 775 drawingData = data['Drawing'] … … 774 802 775 803 def UpdateDrawAtoms(): 776 self.dataFrame.setSizePosLeft([600,300])777 804 generalData = data['General'] 778 805 SetupDrawingData() … … 789 816 colLabels = ['Residue','1-letter','Chain'] + colLabels 790 817 Types = [wg.GRID_VALUE_STRING,wg.GRID_VALUE_STRING,wg.GRID_VALUE_STRING]+Types 791 Types[8] = wg.GRID_VALUE_CHOICE+": ,lines,vdW balls,sticks,balls & sticks,ellipsoids, ribbons,schematic"792 styleChoice = [' ','lines','vdW balls','sticks','balls & sticks','ellipsoids',' ribbons','schematic']818 Types[8] = wg.GRID_VALUE_CHOICE+": ,lines,vdW balls,sticks,balls & sticks,ellipsoids,backbone,ribbons,schematic" 819 styleChoice = [' ','lines','vdW balls','sticks','balls & sticks','ellipsoids','backbone','ribbons','schematic'] 793 820 labelChoice = [' ','type','name','number','residue','1-letter','chain'] 794 821 Types[9] = wg.GRID_VALUE_CHOICE+": ,type,name,number,residue,1-letter,chain" … … 829 856 drawAtoms.SelectRow(row,True) 830 857 drawingData['selectedAtoms'].append(row) 858 G2plt.PlotStructure(self,data) 831 859 dlg.Destroy() 832 860 … … 859 887 atomData[r][c] = parms 860 888 drawAtoms.SetCellValue(r,c,parms) 861 G2plt.PlotStructure(self,data)862 889 dlg.Destroy() 863 890 elif drawAtoms.GetColLabelValue(c) == 'Residue': … … 879 906 atomData[r][c] = drawAtoms.GetCellValue(r,c) 880 907 FindBonds() 881 G2plt.PlotStructure(self,data)908 G2plt.PlotStructure(self,data) 882 909 883 910 def RowSelect(event): … … 900 927 drawingData['selectedAtoms'] = [] 901 928 drawingData['selectedAtoms'] = drawAtoms.GetSelectedRows() 929 G2plt.PlotStructure(self,data) 902 930 903 931 table = [] … … 926 954 attr.SetBackgroundColour(VERY_LIGHT_GREY) 927 955 drawAtoms.SetColAttr(c,attr) 956 self.dataFrame.setSizePosLeft([600,300]) 928 957 FindBonds() 929 958 G2plt.PlotStructure(self,data) … … 937 966 styleChoice = [' ','lines','vdW balls','sticks','balls & sticks','ellipsoids','polyhedra'] 938 967 if generalData['Type'] == 'macromolecular': 939 styleChoice = [' ','lines','vdW balls','sticks','balls & sticks','ellipsoids','ribbons','schematic'] 968 styleChoice = [' ','lines','vdW balls','sticks','balls & sticks','ellipsoids', 969 'backbone','ribbons','schematic'] 940 970 dlg = wx.SingleChoiceDialog(self,'Select','Atom drawing style',styleChoice) 941 971 if dlg.ShowModal() == wx.ID_OK: … … 1215 1245 i = atomA[0] 1216 1246 for j in IndB[0]: 1217 if Types[i] == 'polyhedra': 1218 atomData[i][-1].append(np.inner(Amat,Dx[j])) 1219 elif Types[j] != 'polyhedra': 1220 atomData[i][-1].append(Dx[j]*Radii[i]/sumR[j]) 1221 atomData[j][-1].append(-Dx[j]*Radii[j]/sumR[j]) 1247 if j > i: 1248 if Types[i] == 'polyhedra': 1249 atomData[i][-1].append(np.inner(Amat,Dx[j])) 1250 elif Types[j] != 'polyhedra': 1251 atomData[i][-1].append(Dx[j]*Radii[i]/sumR[j]) 1252 atomData[j][-1].append(-Dx[j]*Radii[j]/sumR[j]) 1222 1253 1223 1254 def DrawAtomsDelete(event): … … 1237 1268 import copy 1238 1269 import wx.lib.colourselect as wcs 1239 self.dataFrame.setSizePosLeft([300,4 70])1270 self.dataFrame.setSizePosLeft([300,430]) 1240 1271 generalData = data['General'] 1241 1272 SetupDrawingData() … … 1261 1292 G2plt.PlotStructure(self,data) 1262 1293 1263 def OnDepthFog(event):1264 drawingData['depthFog'] = depthFog.GetValue()1265 G2plt.PlotStructure(self,data)1266 1267 def OnFogFactor(event):1268 drawingData['fogFactor'] = fogFactor.GetValue()/100.1269 fogFactorTxt.SetLabel('Fog factor: '+'%.2f'%(drawingData['fogFactor']))1270 G2plt.PlotStructure(self,data)1271 1294 1272 1295 def OnBallScale(event): … … 1297 1320 drawingData['unitCellBox'] = unitCellBox.GetValue() 1298 1321 G2plt.PlotStructure(self,data) 1299 1300 def OnPacking(event):1301 drawingData['packing'] = packing.GetValue()1302 1322 1303 1323 def OnShowBadContacts(event): … … 1330 1350 1331 1351 slopSizer = wx.BoxSizer(wx.HORIZONTAL) 1332 slideSizer = wx.FlexGridSizer( 7,2,5,0)1352 slideSizer = wx.FlexGridSizer(6,2,5,0) 1333 1353 slideSizer.AddGrowableCol(1,1) 1334 1354 … … 1374 1394 slideSizer.Add(bondRadius,1,wx.EXPAND|wx.RIGHT) 1375 1395 1376 fogFactorTxt = wx.StaticText(dataDisplay,-1,'Fog factor: '+'%.2f'%(drawingData['fogFactor']))1377 slideSizer.Add(fogFactorTxt,0,wx.ALIGN_CENTER_VERTICAL)1378 fogFactor = wx.Slider(dataDisplay,style=wx.SL_HORIZONTAL,value=int(100*drawingData['fogFactor']))1379 fogFactor.Bind(wx.EVT_SLIDER, OnFogFactor)1380 slideSizer.Add(fogFactor,1,wx.EXPAND|wx.RIGHT)1381 1382 1396 slopSizer.Add(slideSizer,1,wx.EXPAND|wx.RIGHT) 1383 1397 slopSizer.Add((10,5),0) 1398 slopSizer.SetMinSize(wx.Size(300,180)) 1384 1399 mainSizer.Add(slopSizer,1,wx.EXPAND) 1385 1400 1386 flexSizer = wx.FlexGridSizer( 7,2,5,0)1401 flexSizer = wx.FlexGridSizer(6,2,5,0) 1387 1402 flexSizer.Add(wx.StaticText(dataDisplay,-1,'View Point: '),0,wx.ALIGN_CENTER_VERTICAL) 1388 1403 VP = drawingData['viewPoint'][0] … … 1392 1407 flexSizer.Add(viewPoint,0,wx.ALIGN_CENTER_VERTICAL) 1393 1408 1394 depthFog = wx.CheckBox(dataDisplay,-1,label='Use depth fog?')1395 depthFog.Bind(wx.EVT_CHECKBOX, OnDepthFog)1396 depthFog.SetValue(drawingData['depthFog'])1397 flexSizer.Add(depthFog,0,wx.ALIGN_CENTER_VERTICAL)1398 1409 lineSizer = wx.BoxSizer(wx.HORIZONTAL) 1399 1410 lineSizer.Add(wx.StaticText(dataDisplay,-1,'Background color:'),0,wx.ALIGN_CENTER_VERTICAL) … … 1403 1414 flexSizer.Add(lineSizer,0,) 1404 1415 1405 showABC = wx.CheckBox(dataDisplay,-1,label='Show cell vectors?')1416 showABC = wx.CheckBox(dataDisplay,-1,label='Show test point?') 1406 1417 showABC.Bind(wx.EVT_CHECKBOX, OnShowABC) 1407 1418 showABC.SetValue(drawingData['showABC']) … … 1412 1423 unitCellBox.SetValue(drawingData['unitCellBox']) 1413 1424 flexSizer.Add(unitCellBox,0,wx.ALIGN_CENTER_VERTICAL) 1414 1415 packing = wx.CheckBox(dataDisplay,-1,label='Packing diagram?')1416 packing.Bind(wx.EVT_CHECKBOX, OnPacking)1417 packing.SetValue(drawingData['packing'])1418 flexSizer.Add(packing,0,wx.ALIGN_CENTER_VERTICAL)1419 1425 1420 1426 showBadContacts = wx.CheckBox(dataDisplay,-1,label='Show bad contacts?') … … 1445 1451 flexSizer.Add(pickItem,0,wx.ALIGN_CENTER_VERTICAL) 1446 1452 mainSizer.Add(flexSizer,0,) 1447 mainSizer.SetMinSize(wx.Size(300,370)) 1453 # mainSizer.SetMinSize(wx.Size(300,340)) #to get sliders long enough 1448 1454 1449 1455 dataDisplay.SetSizer(mainSizer) … … 1460 1466 if text == 'Atoms': 1461 1467 self.dataFrame.SetMenuBar(self.dataFrame.AtomsMenu) 1462 self.dataFrame.Bind(wx.EVT_MENU, AtomAdd, id=G2gd.wxID_ATOMSEDITADD) 1463 self.dataFrame.Bind(wx.EVT_MENU, AtomInsert, id=G2gd.wxID_ATOMSEDITINSERT) 1468 self.dataFrame.Bind(wx.EVT_MENU, OnAtomAdd, id=G2gd.wxID_ATOMSEDITADD) 1469 self.dataFrame.Bind(wx.EVT_MENU, OnAtomTestAdd, id=G2gd.wxID_ATOMSTESTADD) 1470 self.dataFrame.Bind(wx.EVT_MENU, OnAtomInsert, id=G2gd.wxID_ATOMSEDITINSERT) 1471 self.dataFrame.Bind(wx.EVT_MENU, OnAtomTestInsert, id=G2gd.wxID_ATONTESTINSERT) 1464 1472 self.dataFrame.Bind(wx.EVT_MENU, AtomDelete, id=G2gd.wxID_ATOMSEDITDELETE) 1465 1473 self.dataFrame.Bind(wx.EVT_MENU, AtomRefine, id=G2gd.wxID_ATOMSREFINE)
Note: See TracChangeset
for help on using the changeset viewer.