openwinversion 0 get 51 eq { % XXX: V3 /NeWS 3 0 findpackage beginpackage /TNTCore 3 0 findpackage beginpackage /TNT 3 0 findpackage dup beginpackage dup beginautoload begin } { % XXX: V2 systemdict begin } ifelse /mgr /new ClassEventMgr send def /WindowPie /piemenu ClassTabBaseWindow send def /EdgePie 2 /item WindowPie send 1 get def /MorePie 3 /item WindowPie send 1 get def /SlidePie 6 /item WindowPie send 1 get def /MakeSample { % label menu windowclass links children => window 100 dict begin /children exch def /links exch def /windowclass exch def /menu exch def /label exch def { /PaintedValue null def /CurrentValue null def /reshaped? self send not { 0 0 /preferredsize self send /reshape self send } if } menu send % w h d /picture /Parent menu send newcanvas def menu setcanvas clippath picture reshapecanvas picture /Transparent false put picture /Retained true put gsave picture setcanvas /Paint menu send grestore /settings /Calculated framebuffer /new ClassSettings send def /ExclusiveVariation /setchoicemode settings send children /setitemlist settings send /minsize { % - => w h 100 100 } /installmethod settings send /preferredsize [ % - => w h /preferredsize menu send 2 copy xyadd ] cvx /installmethod settings send /Paint % - => - [ picture ] { gsave TextFont setfont 0 0 /size self send /path self send clip 2DBG setcolor fill /size self send .5 mul exch .5 mul exch translate dup false getbbox 4 2 roll pop pop -.5 mul exch -.5 mul exch translate systemdict /x 2 index put imagecanvas grestore ItemList {PaintItem} forall } append cvx /installmethod settings send [ links ] { % [index bool] settings [links] => - 3 -1 roll 0 get % settings [links] index get % settings obj|null dup null eq { pop } { cvx exec {open totop} exch send } ifelse % settings [] /setvalue 3 -1 roll send % } append cvx /setnotifier settings send /window settings framebuffer /new windowclass send def label /setlabel window send mgr /activate window send window end % localdict } def /EdgeSample (Edge Pie) EdgePie ClassTabBaseWindow [ null null null null null null null null ] [ 0 /item EdgePie send 0 get [ /North { /North PARENT POSITION 0 -5 xyadd } ] 1 /item EdgePie send 0 get [ /NorthEast { /NorthEast PARENT POSITION -5 -20 xyadd } ] 2 /item EdgePie send 0 get [ /East { /East PARENT POSITION -5 0 xyadd } ] 3 /item EdgePie send 0 get [ /SouthEast { /SouthEast PARENT POSITION -5 20 xyadd } ] 4 /item EdgePie send 0 get [ /South { /South PARENT POSITION 0 5 xyadd } ] 5 /item EdgePie send 0 get [ /SouthWest { /SouthWest PARENT POSITION 5 20 xyadd } ] 6 /item EdgePie send 0 get [ /West { /West PARENT POSITION 5 0 xyadd } ] 7 /item EdgePie send 0 get [ /NorthWest { /NorthWest PARENT POSITION 5 -20 xyadd } ] ] MakeSample def /QuitFromUser { % ctl => - pop /close self send } /installmethod EdgeSample send /MoreSample (More Pie) MorePie ClassTabBaseWindow [ null null null null null null null null ] [ 0 /item MorePie send 0 get [ /NorthEast { /NorthEast PARENT POSITION -5 -20 xyadd } ] 1 /item MorePie send 0 get [ /SouthEast { /SouthEast PARENT POSITION -5 20 xyadd } ] 2 /item MorePie send 0 get [ /SouthWest { /SouthWest PARENT POSITION 5 20 xyadd } ] 3 /item MorePie send 0 get [ /NorthWest { /NorthWest PARENT POSITION 5 -20 xyadd } ] ] MakeSample def /QuitFromUser { % ctl => - pop /close self send } /installmethod MoreSample send /SlideSample (Slide Pie) SlidePie ClassTabBaseWindow [ null null null null null null null null ] [ 0 /item SlidePie send 0 get [ /North { /North PARENT POSITION 0 -5 xyadd } ] 1 /item SlidePie send 0 get [ /East { /East PARENT POSITION -5 0 xyadd } ] 2 /item SlidePie send 0 get [ /South { /South PARENT POSITION 0 5 xyadd } ] 3 /item SlidePie send 0 get [ /West { /West PARENT POSITION 5 0 xyadd } ] ] MakeSample def /QuitFromUser { % ctl => - pop /close self send } /installmethod SlideSample send /WindowSample (Window Pie) WindowPie ClassTabBaseWindow [ null null /EdgeSample /MoreSample null null /SlideSample null ] [ (Top!) [ /North { /North PARENT POSITION 0 -5 xyadd } ] (Zoom!) [ /NorthEast { /NorthEast PARENT POSITION -5 -20 xyadd } ] ((Edge)) [ /East { /East PARENT POSITION -5 0 xyadd } ] ((More)) [ /SouthEast { /SouthEast PARENT POSITION -5 20 xyadd } ] (Bottom!) [ /South { /South PARENT POSITION 0 5 xyadd } ] (Paint!) [ /SouthWest { /SouthWest PARENT POSITION 5 20 xyadd } ] ((Slide)) [ /West { /West PARENT POSITION 5 0 xyadd } ] (Icon!) [ /NorthWest { /NorthWest PARENT POSITION 5 -20 xyadd } ] ] MakeSample def [EdgeSample MoreSample SlideSample] { /addsubwindow WindowSample send } forall {place map} WindowSample send {close /BaseWindowBBox unpromote place map} EdgeSample send {close /BaseWindowBBox unpromote place map} MoreSample send {close /BaseWindowBBox unpromote place map} SlideSample send