concept G22LAScratchpad extends ConceptWithChangeListeners { settableWithVar S text; transient JLeftArrowScriptIDE ide; G22Utils g22utils() { ret main g22utils(this); } cachedVisualize { ide = g22utils().leftArrowScriptIDE(); ide.sourceInfo("Scratchpad"); 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); } }