; mod_spin spin_id
;
; permits to interactively modify a spin
;
message "Modify Spin :"
set id = $_

if (exist("spin[" // $id //"]")) then
   set sp = $spin[$id]
else
   error "Unknown spin"
endif
set delta = (head($sp))
set name = (head(tail($sp)))
set sys = (head(tail(tail($sp))))
set note = (tail(tail(tail($sp))))

; build dialog
set tmp = ('tmp' // int(1000000*$random))
open $tmp
fprint $tmp "formbox \"
fprint $tmp ("'Modif Spin";$id;"' \")
fprint $tmp ('"set spin[' // $id // '] = ($delta;$name;$sys;$note)" \')
fprint $tmp ("  'chem. shift' real delta"; $delta; " \")
set prt = ("('UNK,' // $proton // ',other')")
fprint $tmp ("  'spin name' enum"; $prt; "name"; $name; " \")
fprint $tmp ("'spin system :' string sys"; $sys; "noreturn \")
fprint $tmp  ('Show action "show_sys $sys" noreturn \')
fprint $tmp  ('Edit action "mod_sys $sys" \')
fprint $tmp ("'Note :' string note '" // $note // " ' \")
fprint $tmp  ('separator Show action "show_spin'; $id; '" noreturn \')
fprint $tmp  ('Remove action "rem_spin'; $id; ' closeform $widget" *')

close $tmp

; call it
@($tmp)

sh ("/bin/rm -f"; $tmp)




