concept G22LAScratchpad extends ConceptWithChangeListeners { transient settable G22Utils g22utils; settableWithVar S text; transient JLeftArrowScriptIDE ide; cachedVisualize { ide = g22utils.leftArrowScriptIDE(); var btnSave = jImageButton(#1103084, "Save script", rThread saveAsNewScript); // place to the right of hideable stuff int idx = 0; while (getComponentAtIndex(ide.buttons(), idx) instanceof SingleComponentPanel) idx++; addComponentAtIndex(ide.buttons(), idx, btnSave); ide.sectionTitle("Left Arrow Script Scratchpad"); ide.lvScript(varText()); ret withTopMargin(ide.visualize()); } void saveAsNewScript { g22utils.projectActions().saveAsNewScript(text); } }