function x1viewSET(action, field, value)
if (field == "pixcolor")
setfield shape[1] fg {value}
return 0 // allow setfield to set shape[0] fg via indirect field
end
if (field == "viewicon")
str iconname = {getpath {el .} -head} @ {value}
if ({isa xshape {iconname}})
setfield shape[0] &&xpts &{iconname}/xpts \
&&ypts &{iconname}/ypts \
&&zpts &{iconname}/zpts \
npts {getfield {iconname} npts}
setfield shape[1] &&xpts &{iconname}/xpts \
&&ypts &{iconname}/ypts \
&&zpts &{iconname}/zpts \
npts {getfield {iconname} npts}
else
echo x1viewSET: Bad iconname {value}
end
return 0 // allow setfield to set viewicon field
end
return {x1highlightSET {action} {field} {value}}
end
create xview view
setfield view script \
"X1click.d1 B1DOWN <w>; X1click.d2 B2DOWN <w>; X1click.d3 B3DOWN <w>"
addfield view ox -indirect . tx -desc "alias for tx"
addfield view oy -indirect . ty -desc "alias for ty"
addfield view oz -indirect . tz -desc "alias for tz"
addfield view vmin -indirect . value_min[0] -desc "alias for value_min[0]"
addfield view vmax -indirect . value_max[0] -desc "alias for value_max[0]"
addfield view viewicon
addfield view pixcolor -indirect shape[0] fg \
-desc "alias for shape[0-1] fg fields"
str fld
foreach fld (nx ny autospace)
addfield view {fld} -description "nonfunctional Xodus 1 field"
setfield view {fld} 1
end
x1setuphighlight view 0
addaction view SET x1viewSET
addaction view CREATE x1pixCREATE
// these will get remade when the x1view is created
delete view/shape[0]
delete view/shape[1]
addobject x1view view