!7 sclass GeneralKeywordList extends DynCalculatedList { Set set = new HashSet; bool warnOnDelete() { ret nempty(set); } JComponent visualize() { ret centerAndSouthWithMargins(jSection("KEYWORDS", super.visualize()), jcenteredbuttons("Add a keyword...", r { inputText("Add keyword", voidfunc(S s) { lock lock; s = trim(s); if (add(set, s)) appendToLocalMechLog("General keywords", s); print("Set: " + set + ", list: " + list); change(); updateMe(); }); })); } L calc() { ret sortedIC(set); } }