try to cleanup stuff(2)
This commit is contained in:
@@ -16,7 +16,7 @@ This contains a Widget to handle FixTargetFrames and fiducials, calculate final
|
||||
import logging
|
||||
_log=logging.getLogger(__name__)
|
||||
|
||||
import json, base64
|
||||
import json, base64, yaml
|
||||
import numpy as np
|
||||
import pyqtUsrObj as UsrGO
|
||||
import pyqtgraph as pg
|
||||
@@ -161,6 +161,48 @@ class WndFixTarget(QWidget):
|
||||
act.triggered.connect(self.tree_ctx_delete)
|
||||
tree.addAction(act)
|
||||
|
||||
act = QAction("update param", self)
|
||||
act.triggered.connect(self.tree_ctx_update)
|
||||
tree.addAction(act)
|
||||
|
||||
def get_param(self):
|
||||
param=self._txtParam.text().replace('(','[').replace(')',']').strip()
|
||||
if param=='' or param[0]!='{':
|
||||
param='{'+param+'}'
|
||||
#mft._cbType.addItems(["Fiducial", "FixTarget(12.5x12.5)", "FixTarget(23.0x23.0)", "FixTarget(<param>)", "Grid(<param>)", "SwissMX-path"])
|
||||
#bm_pos_eu=self._goBeamMarker._pos_eu
|
||||
#bm_size_eu=self._goBeamMarker._size_eu
|
||||
try:
|
||||
#parse the parameters: 'key:value [,key:value]'
|
||||
# as key value separator : and = are allowed
|
||||
#examples:
|
||||
#Fiducial:
|
||||
# no param
|
||||
#FixTarget(12.5x12.5), FixTarget(23.0x23.0), FixTarget(test):
|
||||
# code_gen:2
|
||||
# code_gen=3 | tmove=10 | twait=30
|
||||
#Grid():
|
||||
# size:(30, 20)
|
||||
# cnt:(30, 22)
|
||||
# fiducialSize:0.1
|
||||
#SwissMX():
|
||||
# ofs:(.2, .2)
|
||||
# width:10
|
||||
# fidScl:.02
|
||||
# fiducial:((.1, .1), (.1, 2.7), (10.3, .1), (10.3, 2.7))
|
||||
#SwissFEL():
|
||||
# ofs:(.2, .2)
|
||||
# width:10
|
||||
# fidScl:.02
|
||||
# fiducial:((.1, .1), (.1, 2.2), (10.3, .1), (10.3, 2.2))
|
||||
|
||||
param=param.replace(':', ': ') # allow gen:4 without space
|
||||
param=yaml.safe_load(param) # "ofs":[10, 5],"width":200,"fidScl":0.5,"fiducial":[[18,7],[25,16],[70, 20]]
|
||||
except BaseException as e:
|
||||
_log.error(f'{e}:{param}')
|
||||
param=dict()
|
||||
return param
|
||||
|
||||
def tree_get_path(self):
|
||||
path=[]
|
||||
it=self._tree.currentItem()
|
||||
@@ -213,6 +255,21 @@ class WndFixTarget(QWidget):
|
||||
r1.translate(r2.center()-r1.center())
|
||||
vb.setRange(r1)
|
||||
|
||||
def tree_ctx_update(self):
|
||||
app=QApplication.instance()
|
||||
path=self.tree_get_path()
|
||||
if len(path)==1:
|
||||
try:
|
||||
wnd=app._mainWnd
|
||||
except AttributeError:
|
||||
_log.info('_mainWnd not handeled')
|
||||
else:
|
||||
grp=wnd._goTracked
|
||||
go=grp.childItems()[path[0]]
|
||||
go._param=self.get_param()
|
||||
data=grp.childItems()
|
||||
self._tree.setData(data)
|
||||
|
||||
def load_file(self, filename=None):
|
||||
app = QApplication.instance()
|
||||
if filename is None:
|
||||
|
||||
41
swissmx.py
41
swissmx.py
@@ -2139,41 +2139,7 @@ object settings:
|
||||
bm_pos=self._goBeamMarker.pos()
|
||||
bm_sz=self._goBeamMarker.size()
|
||||
idx=mft._cbType.currentIndex()
|
||||
param=mft._txtParam.text().replace('(','[').replace(')',']').strip()
|
||||
if param=='' or param[0]!='{':
|
||||
param='{'+param+'}'
|
||||
#mft._cbType.addItems(["Fiducial", "FixTarget(12.5x12.5)", "FixTarget(23.0x23.0)", "FixTarget(<param>)", "Grid(<param>)", "SwissMX-path"])
|
||||
#bm_pos_eu=self._goBeamMarker._pos_eu
|
||||
#bm_size_eu=self._goBeamMarker._size_eu
|
||||
try:
|
||||
#parse the parameters: 'key:value [,key:value]'
|
||||
# as key value separator : and = are allowed
|
||||
#examples:
|
||||
#Fiducial:
|
||||
# no param
|
||||
#FixTarget(12.5x12.5), FixTarget(23.0x23.0), FixTarget(test):
|
||||
# code_gen:2
|
||||
# code_gen=3 | tmove=10 | twait=30
|
||||
#Grid():
|
||||
# size:(30, 20)
|
||||
# cnt:(30, 22)
|
||||
# fiducialSize:0.1
|
||||
#SwissMX():
|
||||
# ofs:(.2, .2)
|
||||
# width:10
|
||||
# fidScl:.02
|
||||
# fiducial:((.1, .1), (.1, 2.7), (10.3, .1), (10.3, 2.7))
|
||||
#SwissFEL():
|
||||
# ofs:(.2, .2)
|
||||
# width:10
|
||||
# fidScl:.02
|
||||
# fiducial:((.1, .1), (.1, 2.2), (10.3, .1), (10.3, 2.2))
|
||||
|
||||
param=param.replace(':', ': ') # allow gen:4 without space
|
||||
param=yaml.safe_load(param) # "ofs":[10, 5],"width":200,"fidScl":0.5,"fiducial":[[18,7],[25,16],[70, 20]]
|
||||
except BaseException as e:
|
||||
_log.error(f'{e}:{param}')
|
||||
param=dict()
|
||||
param=mft.get_param()
|
||||
if idx==0:
|
||||
#go=UsrGO.Fiducial(bm_pos+bm_sz/2-(20, 20), (40, 40),(fx,fy,bz))
|
||||
l=.120
|
||||
@@ -2355,7 +2321,10 @@ object settings:
|
||||
|
||||
sp.setup_sync(verbose=sp.verbose&0x40, timeOfs=dt_misc['time_ofs'], timeCor=dt_misc['time_cor'])
|
||||
dlg.setLabelText("Download motion program");dlg+=5
|
||||
sp.setup_motion(fnPrg=fn+'.prg', **kwargs)
|
||||
try:
|
||||
sp.setup_motion(fnPrg=fn+'.prg', **kwargs)
|
||||
except BaseException as e:
|
||||
_log.error(repr(e));return
|
||||
sp.setup_gather()
|
||||
try:
|
||||
p=geo._fitPlane
|
||||
|
||||
Reference in New Issue
Block a user