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