#name "template" string name string filename map data filedata [ event "newentry" { newentry2(name, current_typename) } event "deleteEntry" { deleteEntry(name, current_typename) } event "renameEntry" { renameEntry(name, current_typename) } event "copyEntry" { copyEntry(name, current_typename) } exec { archive() } ] string current_typename map struct { string filename } types [ exec { deffile() // name -> filename } ] string iter_key ref(data) ref_var(filedata, name) ref(data) dummy(filedata, iter_key) hcontainer { vcontainer { edit(name) [ exec { labelwidth(48) width(360) } ] hcontainer { vcontainer { button("New Entry", "newentry") button("Rename Entry", "renameEntry") } vcontainer { button("Delete Entry", "deleteEntry") button("Copy Entry", "copyEntry") } } listbox(types, current_typename) [ exec { height(64) } ] listbox(filedata, name) [ filter(dummy.name == current_typename, iter_key) exec { width(360) height(600) } ] } dataview(ref_var) }