% % stack: builder layer-text % % iterate through the layer tags % dup "_" right$ "ltags" log)( % % stack: builder layer-text layer-tags % { % % slice the next layer tag % "_" slice isnull third isnull) and ? exch "thist" log)( % % stack: builder layer-text rem-layer-tags this-tag % % check the layer tag against the button definitions % dup -2 right _Cton.Buttoner <> { % % two digit ending number for button index % % stack: builder layer-text rem-layer-tags this-tag % dup 2 right !Cton.Index % % add the index to the button registry % "ck2" log)( _Cton.Buttoner second dup { % % stack: builder layer-text rem-layer-tags this-tag % buttoner-lookup true % third -2 right exch } if % % stack: builder layer-text rem-layer-tags this-tag % [ buttoner-lookup buttoner-root ] new-button % only if new button % } { % % stack: builder layer-text rem-layer-tags this-tag % dup -1 right _Cton.Buttoner <> { % % double digit ending number for button index % dup 1 right !Cton.Index % % add the index to the button registry % "ck1" log)( _Cton.Buttoner second dup { % % stack: builder layer-text rem-layer-tags this-tag % buttoner-lookup buttoner-root true % third -1 right exch } if % % stack: builder layer-text rem-layer-tags this-tag % [ buttoner-lookup buttoner-root ] new-button % only if new button % } { "not" log)( % % layer tag not recognizable as button index % false % % stack: builder layer-text rem-layer-tags this-tag new-button-false % } ifelse } ifelse % % stack: builder layer-text rem-layer-tags this-tag % [ buttoner-lookup buttoner-root ] new-button % only if new button % "has" log)( { % % stack: builder layer-text rem-layer-tags this-tag % buttoner-lookup buttoner-root % quoter &" !Cton.ButRoot" &; & % % stack: builder layer-text rem-layer-tags this-tag buttoner-lookup % fourth quoter &" !Cton.ButLayer" &; & _Cton.Index &" !Cton.ButIndex" &; & "false !Cton.ButParent" &; & !Cton.Buttoner "trued" log)( } if % % stack: builder layer-text rem-layer-tags this-tag % % add this to the list of layer tags for this layer % ^"|" &; ^:Cton.Slicer "sliced" log)( } loop pop2 "wrkbend" log)( % % stack: builder layer-text %