value__ntID __ntTemplate viewBounds labelCommandsviewSetupDoneScriptcurLabelCommandlabellabelActionScriptArrayEditorChangedArrayEditorCounterAddLabelEditOptionRemoveEditOptiontextUpdateCurLabelCommand textChanged  __ntDatatype __ntFlagsÿô PROT@    RECT 8È   ["one", "two"] EVAL   ˆfunc() begin self:AddLabelEditOption(Clone(labelCommands)); end SCPT    NUMB    Label TEXT   ÿÎfunc(command) begin print(command && length(labelCommands)); if command + 1 = Length(labelCommands) then begin print("Editing"); arrayEditorVtHick:Open(); arrayEditorVtHick:Setup(self,label,self:RemoveEditOption(Clone(labelCommands))); return true; end; else begin print("default action"); curLabelCommand := command; // do package specific processing if needed //theEntry.octane := Clone(labelCommands[command]); return nil; end; end SCPT   ÿîfunc(action,newArray,oldItem,newItem,status) /* NewArray has already added or removed the item. Added items get placed in the NewArray in alphabetical order. */ begin if action = 'Change then begin // need to change olditem to newitem /* put your change code here */ SetValue(status,'text,status.text&&"changed"); if StrEqual(oldItem,entryLine.text) then SetValue(entryLine,'text,newItem); end; /* 'Remove and 'Add can be removed if you do not need to do any special processing */ if action = 'Remove then begin // do not need to do anything end; if action = 'Add then begin // do not need to do anything end; // have to update the display that uses array // if array is of label commands then update labels self:AddLabelEditOption(newArray); // update the check mark self:UpdateCurLabelCommand(); end SCPT   Zfunc(item) begin return Random(0,3); end SCPT   ÿfunc(theArray) begin AddArraySlot(theArray,'pickseparator); AddArraySlot(theArray,"Edit"); self:setLabelCommands(theArray); end SCPT   Èfunc(theArray) begin ArrayRemoveCount(theArray,Length(theArray) - 2,2); return(theArray); end SCPT   &Some Initial Value TEXT   ÿâfunc() begin // update curLabelCommand foreach index,value in labelCommands do begin //print("T="&entryline.text&&"V="&value); if value <> 'pickseparator then if StrEqual(value,entryLine.text) then begin curLabelCommand := index; return; end; end; //print("updatecurlatecommand ="& index); return 0; end SCPT   Xfunc() begin :UpdateCurLabelCommand(); end SCPTprotoLabelInputLine