function x1graphCREATE str form form = {el ..} while (form != "/" && !{isa xform {form}}) form = {el {form}/..} end if (form == "/") echo x1graphCREATE: unable to find form for element -nonewline pwe else setfield form {form} end return 1 end create xgraph graph // these will get remade when the x1graph is created delete graph/x_axis delete graph/y_axis delete graph/title // these are field name aliases for widget width and height. This // isn't a complete solution since the old width and height do not // include widget and edge references while wgeom and hgeom do. What // we do here will work so long as the caller doesn't need to preserve // widget and edge refs. addfield graph width -indirect . wgeom addfield graph height -indirect . hgeom addfield graph form setfieldprot graph -readonly form addaction graph CREATE x1graphCREATE addobject x1graph graph