Changeset 19
- Timestamp:
- Jan 27, 2010 2:49:22 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASII.py
r8 r19 247 247 self.HKL = [] 248 248 self.Lines = [] 249 self. linePicked = None249 self.itemPicked = None 250 250 self.dataFrame = None 251 251 self.Contour = False … … 1236 1236 def OnImMotion(event): 1237 1237 if event.xdata: 1238 if self.linePicked: 1238 item = self.itemPicked 1239 if item: 1239 1240 xpos = event.xdata 1240 1241 if xpos: #avoid out of frame mouse position 1241 1242 ypos = event.ydata 1242 1243 xcent,ycent = Data['center'] 1243 xcent *= scalex 1244 ycent *= scaley 1245 xpos -= xcent 1246 ypos -= ycent 1247 radius = math.sqrt(xpos**2+ypos**2) 1248 xpos /= radius 1249 ypos /= radius 1250 ang = int(atan2d(-ypos,xpos)) 1251 if 'line0' or 'line1' in self.linePicked: 1252 self.pdplot.canvas.SetToolTipString('%6d deg'%(ang)) 1244 xpos -= xcent*scalex 1245 ypos -= ycent*scaley 1246 if 'Text' in str(item): 1247 self.pdplot.canvas.SetToolTipString('%8.3f %8.3fmm'%(event.xdata/scalex,event.ydata/scaley)) 1253 1248 else: 1254 self.pdplot.canvas.SetToolTipString('%8.3f'%(radius)) 1249 # xpos /= radius 1250 # ypos /= radius 1251 if 'line2' in str(item) or 'line3' in str(item): 1252 ang = int(atan2d(-ypos,xpos)) 1253 self.pdplot.canvas.SetToolTipString('%6d deg'%(ang)) 1254 else: 1255 radius = math.sqrt(xpos**2+ypos**2) 1256 self.pdplot.canvas.SetToolTipString('%8.3fmm'%(radius/scalex)) 1255 1257 1256 1258 else: … … 1293 1295 1294 1296 def OnImPick(event): 1295 if self. linePicked is not None: return1297 if self.itemPicked is not None: return 1296 1298 pick = event.artist 1297 self.linePicked = pick 1298 mouse = event.mouseevent 1299 xpos = pick.get_xdata() 1300 ypos = pick.get_ydata() 1301 ind = event.ind 1302 xy = zip(xpos[ind],ypos[ind]) 1299 self.itemPicked = pick 1303 1300 1304 1301 def OnImRelease(event): 1305 if self. linePicked is None: return1302 if self.itemPicked is None: return 1306 1303 xpos = event.xdata 1307 1304 if xpos: #avoid out of frame mouse position … … 1316 1313 ypos /= radius 1317 1314 ang = int(atan2d(-ypos,xpos)) 1318 if 'line2' in str(self.linePicked): 1319 Data['LRazimuth'][0] = ang 1320 elif 'line3' in str(self.linePicked): 1321 Data['LRazimuth'][1] = ang 1322 elif 'line0' in str(self.linePicked): 1323 Data['IOradii'][0] = radius/scalex 1324 elif 'line1' in str(self.linePicked): 1325 Data['IOradii'][1] = radius/scalex 1326 if Data['LRazimuth'][1] < Data['LRazimuth'][0]: 1327 Data['LRazimuth'][1] += 360 1328 if Data['IOradii'][0] > Data['IOradii'][1]: 1329 Data['IOradii'] = G2cmp.SwapXY(Data['IOradii'][0],Data['IOradii'][1]) 1330 self.IOradText.SetValue("%8.3f,%8.3f" % (Data['IOradii'][0],Data['IOradii'][1])) 1331 self.LRazim.SetValue("%6d,%6d" % (Data['LRazimuth'][0],Data['LRazimuth'][1])) 1315 if 'Line2D' in str(self.itemPicked): 1316 if 'line2' in str(self.itemPicked): 1317 Data['LRazimuth'][0] = ang 1318 elif 'line3' in str(self.itemPicked): 1319 Data['LRazimuth'][1] = ang 1320 elif 'line0' in str(self.itemPicked): 1321 Data['IOradii'][0] = radius/scalex 1322 elif 'line1' in str(self.itemPicked): 1323 Data['IOradii'][1] = radius/scalex 1324 if Data['LRazimuth'][1] < Data['LRazimuth'][0]: 1325 Data['LRazimuth'][1] += 360 1326 if Data['IOradii'][0] > Data['IOradii'][1]: 1327 Data['IOradii'] = G2cmp.SwapXY(Data['IOradii'][0],Data['IOradii'][1]) 1328 self.IOradText.SetValue("%8.3f,%8.3f" % (Data['IOradii'][0],Data['IOradii'][1])) 1329 self.LRazim.SetValue("%6d,%6d" % (Data['LRazimuth'][0],Data['LRazimuth'][1])) 1330 elif 'Text' in str(self.itemPicked): 1331 cent = Data['center'] = [event.xdata/scalex,event.ydata/scalex] 1332 try: 1333 self.centText.SetValue(("%8.3f,%8.3f" % (cent[0],cent[1]))) 1334 except AttributeError: 1335 pass 1332 1336 self.PlotImage() 1333 self. linePicked = None1337 self.itemPicked = None 1334 1338 1335 1339 … … 1377 1381 aspect='equal',origin='upper',cmap=acolor, \ 1378 1382 interpolation='nearest',vmin=Imin,vmax=Imax) 1379 ax.text(xcent,ycent,'+',ha='center',va='center' )1383 ax.text(xcent,ycent,'+',ha='center',va='center',picker=3) 1380 1384 if Data['showLines']: 1381 1385 LRAzim = Data['LRazimuth'] … … 1413 1417 1414 1418 def OnPick(event): 1415 if self. linePicked is not None: return1419 if self.itemPicked is not None: return 1416 1420 PatternId = self.PatternId 1417 1421 PickId = self.PickId … … 1436 1440 G2gd.UpdatePeakGrid(self,data) 1437 1441 else: #picked a peak list line 1438 self. linePicked = pick1442 self.itemPicked = pick 1439 1443 elif self.PatternTree.GetItemText(PickId) == 'Limits': 1440 1444 if ind.all() != [0]: #picked a data point … … 1448 1452 G2gd.UpdateLimitsGrid(self,data) 1449 1453 else: #picked a limit line 1450 self. linePicked = pick1454 self.itemPicked = pick 1451 1455 self.PlotPatterns() 1452 1456 … … 1479 1483 1480 1484 def OnMotion(event): 1481 if self. linePicked:1485 if self.itemPicked: 1482 1486 xpos = event.xdata 1483 1487 if xpos: #avoid out of frame mouse position … … 1485 1489 1486 1490 def OnRelease(event): 1487 if self. linePicked is None: return1491 if self.itemPicked is None: return 1488 1492 xpos = event.xdata 1489 1493 if xpos: #avoid out of frame mouse position 1490 1494 lines = [] 1491 1495 for line in self.Lines: lines.append(line.get_xdata()[0]) 1492 lineNo = lines.index(self. linePicked.get_xdata()[0])1496 lineNo = lines.index(self.itemPicked.get_xdata()[0]) 1493 1497 if lineNo in [0,1]: 1494 1498 LimitId = G2gd.GetPatternTreeItemId(self,self.PatternId, 'Limits') … … 1505 1509 G2gd.UpdatePeakGrid(self,data) 1506 1510 self.PlotPatterns() 1507 self. linePicked = None1511 self.itemPicked = None 1508 1512 1509 1513 try: -
trunk/GSASIIgrid.py
r11 r19 997 997 self.dataDisplay.SetSizer(mainSizer) 998 998 self.dataDisplay.SetSize(mainSizer.Fit(self.dataFrame)) 999 self.dataFrame.setSizePosLeft( 600,310)999 self.dataFrame.setSizePosLeft(550,310) 1000 1000 1001 1001 def UpdatePhaseData(self,item,data,oldPage):
Note: See TracChangeset
for help on using the changeset viewer.