From VisualWorks®, 7.6 of February 1, 2008 on February 1, 2008 at 12:48:55 pm (Dialog confirm: 'You are filing-in a Parcel source file!\\While this is possible it will not have\the same effect as loading the parcel.\None of the Parcel''s prerequisites will\be loaded and none of its load actions\will be performed.\\Are you sure you want to file-in?' withCRs) ifFalse: [self error: 'Parcel file-in abandoned. Choose terminate or close.'] <class> <name>UniversalSelectExample</name> <environment>Examples</environment> <super>UI.ApplicationModel</super> <private>false</private> none panSize paymentType ham olive onion pepperoni peppers pineapple sausage sizeChoices toppings <imports></imports> <category>Examples-Help</category> <attributes> <package>Universal Select-Example</package> </attributes> </class> <comment> Examples.UniversalSelectExample
UniversalSelectExample compares selection widgets normally used individually by combining them to offer a set of equivalent choices from a shared model. Radio buttons, menus, tool bar buttons, and sequence views all allow a user to make a single one-of-n selection of a group of choices (e.g. one payment type and pizza pan size). Alternately, a user may select any-of-n choices among a group of check boxes, menus, tool bar buttons, and multi-sequence views (e.g. any or all pizza toppings to add). In this example any selection in one widget updates its fellow widget of choices. This example shows that if menu items have a shared ValueModel as its indication, the only menu item whose name key is equivalent to the value of its model is shown selected. Instance Variables: panSize <ValueHolder with: Symbol> pan size selected paymentType <ValueHolder with: Symbol> payment type selected ham <ValueHolder with: Boolean> true if toppings includes ham olive <ValueHolder with: Boolean> true if toppings includes olive onion <ValueHolder with: Boolean> true if toppings includes onion pepperoni <ValueHolder with: Boolean> true if toppings includes pepperoni peppers <ValueHolder with: Boolean> true if toppings includes green peppers pineapple <ValueHolder with: Boolean> true if toppings includes pineapple sausage <ValueHolder with: Boolean> true if toppings includes sausage sizeChoices <SelectionInList> the pan size list model that contains the size selected. toppings <MultiSelectionInList> the toppings list model that contains all current toppings selected.
</comment> <methods> Examples.UniversalSelectExample <category>actions-single</category>
beLarge self panSize value: #large
beMedium self panSize value: #medium
beSmall self panSize value: #small
payAmEx self paymentType value:#amex
payCash self paymentType value:#cash
payMC self paymentType value:#mastercard
payVisa self paymentType value:#visa
selectLarge "Alternative to setting the value of the item indication model: set the menu item itself to be on" | item | item := (self builder menuAt:#menuBar) atNameKey: #large. item indication ifNil:[item indication: self panSize]. item beOn.
selectMedium "Alternative to setting the value of the item indication model: set the menu item itself to be on" | item | item := (self builder menuAt:#menuBar) atNameKey: #medium. item indication ifNil:[item indication: self panSize]. item beOn.
selectSmall "Alternative to setting the value of the item indication model: set the menu item itself to be on" | item | item := (self builder menuAt:#menuBar) atNameKey: #small. item indication ifNil:[item indication: self panSize]. item beOn.
</methods> <methods> Examples.UniversalSelectExample <category>aspects-multi</category>
ham ham isNil ifTrue: [ham := false asValue. ham compute: [:add | | selections | selections := self toppings selections. self toppings selections: (add ifTrue: [selections copyWith: #ham] ifFalse: [selections copyWithout: #ham])]]. ^ham
olive olive isNil ifTrue: [olive := false asValue. olive compute: [:add | | selections | selections := self toppings selections. self toppings selections: (add ifTrue: [selections copyWith: #olive] ifFalse: [selections copyWithout: #olive])]]. ^olive
onion onion isNil ifTrue: [onion := false asValue. onion compute: [:add | | selections | selections := self toppings selections. self toppings selections: (add ifTrue: [selections copyWith: #onion] ifFalse: [selections copyWithout: #onion])]]. ^onion
pepperoni pepperoni isNil ifTrue: [pepperoni := false asValue. pepperoni compute: [:add | | selections | selections := self toppings selections. self toppings selections: (add ifTrue: [selections copyWith: #pepperoni] ifFalse: [selections copyWithout: #pepperoni])]]. ^pepperoni
peppers peppers isNil ifTrue: [peppers := false asValue. peppers compute: [:add | | selections | selections := self toppings selections. self toppings selections: (add ifTrue: [selections copyWith: #peppers] ifFalse: [selections copyWithout: #peppers])]]. ^peppers
pineapple pineapple isNil ifTrue: [pineapple := false asValue. pineapple compute: [:add | | selections | selections := self toppings selections. self toppings selections: (add ifTrue: [selections copyWith: #pineapple] ifFalse: [selections copyWithout: #pineapple])]]. ^pineapple
sausage sausage isNil ifTrue: [sausage := false asValue. sausage compute: [:add | | selections | selections := self toppings selections. self toppings selections: (add ifTrue: [selections copyWith: #sausage] ifFalse: [selections copyWithout: #sausage])]]. ^sausage
toppings ^toppings isNil ifTrue: [toppings := MultiSelectionInList new list: self toppingsList] ifFalse: [toppings]
toppingsList ^#(#pepperoni #ham #olive #onion #peppers #pineapple #sausage) asList
</methods> <methods> Examples.UniversalSelectExample <category>notification</category>
listSelectionChange | selections | selections := self toppings selections. self toppingsList do:[:topping| (self builder aspectAt: topping) value: (selections includes: topping)].
</methods> <methods> Examples.UniversalSelectExample <category>aspects-single</category>
panSize ^panSize isNil ifTrue: [panSize := self panSizeChoice selectionHolder] ifFalse: [panSize]
panSizeChoice ^sizeChoices isNil ifTrue: [sizeChoices := SelectionInList new list: self panSizeList ] ifFalse: [sizeChoices]
panSizeList ^#(#large #medium #small) asList
panSizeListHolder ^self panSizeChoice listHolder
paymentList ^#(#visa #mastercard #amex #cash)
paymentType ^paymentType isNil ifTrue: [paymentType := #cash asValue] ifFalse: [paymentType]
</methods> <methods> Examples.UniversalSelectExample <category>interface opening</category>
postBuildWith: aBuilder self panSize value:#small.
</methods> <methods> Examples.UniversalSelectExample <category>actions-multi</category>
withHam self ham value: self ham value not
withOlive self olive value: self olive value not
withOnion self onion value: self onion value not
withPepperoni self pepperoni value: self pepperoni value not
withPeppers self peppers value: self peppers value not
withPineapple self pineapple value: self pineapple value not
withSausage self sausage value: self sausage value not
</methods> <methods> Examples.UniversalSelectExample class <category>resources</category>
hamTopping ^OpaqueImageWithEnablement figure: self hamImage shape: self hamMask inactiveMask: self hamMask
largePizza ^OpaqueImageWithEnablement figure: self largePizzaImage shape: self largePizzaMask inactiveMask: self largePizzaMask
medPizza ^OpaqueImageWithEnablement figure: self medPizzaImage shape: self medPizzaMask inactiveMask: self medPizzaMask
oliveTopping ^OpaqueImageWithEnablement figure: self oliveImage shape: self oliveMask inactiveMask: self oliveMask
onionTopping ^OpaqueImageWithEnablement figure: self onionImage shape: self onionMask inactiveMask: self onionMask
pepperoniTopping ^OpaqueImageWithEnablement figure: self pepperoniImage shape: self pepperoniMask inactiveMask: self pepperoniMask
pepperTopping ^OpaqueImageWithEnablement figure: self pepperImage shape: self pepperMask inactiveMask: self pepperMask
pineappleTopping ^OpaqueImageWithEnablement figure: self pineappleImage shape: self pineappleMask inactiveMask: self pineappleMask
sausageTopping ^OpaqueImageWithEnablement figure: self sausageImage shape: self sausageMask inactiveMask: self sausageMask
smallPizza ^OpaqueImageWithEnablement figure: self smallPizzaImage shape: self smallPizzaMask inactiveMask: self smallPizzaMask
amex "Tools.UIMaskEditor new openOnClass: self andSelector: #amex" <resource: #image> ^(Image extent: 60@38 depth: 4 bitsPerPixel: 4 palette: (Graphics.MappedPalette withColors: ((Core.Array new: 16) at: 1 put: (Graphics.ColorValue scaledRed: 2280 scaledGreen: 3886 scaledBlue: 3565); at: 2 put: (Graphics.ColorValue scaledRed: 5075 scaledGreen: 5524 scaledBlue: 5460); at: 3 put: (Graphics.ColorValue scaledRed: 770 scaledGreen: 1477 scaledBlue: 1381); at: 4 put: (Graphics.ColorValue scaledRed: 1092 scaledGreen: 2216 scaledBlue: 1766); at: 5 put: (Graphics.ColorValue scaledRed: 6392 scaledGreen: 6681 scaledBlue: 6584); at: 6 put: (Graphics.ColorValue scaledRed: 2120 scaledGreen: 4497 scaledBlue: 3051); at: 7 put: (Graphics.ColorValue scaledRed: 4400 scaledGreen: 5010 scaledBlue: 4368); at: 8 put: (Graphics.ColorValue scaledRed: 1477 scaledGreen: 2858 scaledBlue: 2120); at: 9 put: (Graphics.ColorValue scaledRed: 1798 scaledGreen: 3758 scaledBlue: 2601); at: 10 put: (Graphics.ColorValue scaledRed: 2376 scaledGreen: 5300 scaledBlue: 3404); at: 11 put: (Graphics.ColorValue scaledRed: 1638 scaledGreen: 3308 scaledBlue: 3212); at: 12 put: (Graphics.ColorValue scaledRed: 3918 scaledGreen: 5010 scaledBlue: 5267); at: 13 put: (Graphics.ColorValue scaledRed: 2762 scaledGreen: 5846 scaledBlue: 4111); at: 14 put: (Graphics.ColorValue scaledRed: 2409 scaledGreen: 5428 scaledBlue: 3886); at: 15 put: (Graphics.ColorValue scaledRed: 5878 scaledGreen: 6327 scaledBlue: 5846); at: 16 put: (Graphics.ColorValue scaledRed: 6199 scaledGreen: 6392 scaledBlue: 4497); yourself)) usingBits: (ByteArray fromPackedString: '[]7]7L3L3L3]7L3L7]7M3]3\3\3L7L3M7M3L3M7V@@C]5U"E@EAUUUUXUUUUUU!UUPUUUUUUVEUUVETEW]0@@M12L3L3L3L3L3L3H3L3L3\3L3\#L3L3H3L3L2L3W@@@1RW]3]7]7]7]7M7M7]7\6]7M7M7]7]7]7]7]7YI<@@CXJ]&\6\''YVUWY7EC]''U6Y3Y&U%YUYU]%]%]&Y030@@LT-425R L%L:^(LL\-]7+EI5L (3 #T"T#%3''S_P@@1R5RJHH"(''T" :NMT" 2J, (4253*BNRNWJ@M=L=@@CHKH)W*XV(\JV(7W"HV(VE2WVHV(CE*E)5!0U5130@@L =7M7]7]7Y7M6Y7]3L7]3M7]7M3M7]7]7\7L7C_@@@2B7]6]7Y7]7]6]''Y7]@@-X'']7]3]7]7Y7]6]7\L<@@CHJ]7]6]7Y7\6Y6Y7PX^8RHE3]7Y6]7Y7]7]7Y470@@MT)7]7]7]7Y7]'']6PEN9DJIU]6]7]''Y7]'']7Y7WOP@@2"6]'']7]'']7Y&]5V9A;$D=7UW]7]7]7]7]'']7\L=@@CHJ]6Y7]7]%]6]&P9A9N8Q@M5U7]7]7]6Y'']6\174@@L -7]7]'']7]7]3XEDPQQDPZ7]V]7]7]6]6]7]''G_@@@2B7]7]''\6]6Y7]AD9NEDDQF=2U7]7]'']7]7]7]]<@@CXO]6]6]7]7]6]U$8QQDED??#]#]7]6]3]6]7]070@@L -7]'']'']6]7]&AE&9NPV@J^L5U7]7\7]7]'']7GO@@@5R'']'']7]7]7]6PQAEDQAG ,Y7Y"]'']7]7]7]6]M=@@CHJY"I!]W]U]7UYAF48VYD9N7]&I&H%U5U5U7\034@@L -U5%Z2E&EC]TTS&S!.49DSL3P7U]WVX]XTG7R_P@@6B6X#]_UBUC]&AQD[$QDS$Q(7Y#]%5 E^IVX]UM=@@CHKMV-&M)9"-7UEDPAS$QDQFW]&-&H5Z!96H&H$34@@L <5Y7\5U6U7]U$QH;.S$QDC\7U6U7UVYWYWYWSO@@@6B7\6]'']7]6]5VQAU!QDG$<M7]C]7]7]7]7]7]M<@@CHJY7]7]7]7M'']UDFXEDPVBE''\@M7M7Y7]&Y7]2G0@@L )6]'']6]'']7Y6AQ-\NQDPRWP,E7]7M7]7]'']3S_@@@1R&]7]7]7]7]7UAF7S9NQD)1S%7Y&]7]7]7]7]L=@@CJJ]6]7]7Y'']7]6F7[ENDVY!QFWM7]'']7Y7\7]430@@LT-7Y7]7]7]6Y7U^1QDS!G!9O#]7]7]7]7]7]7S_@@@2B7Y'']7]'']7]7]6OQDQNS.QOV]7]3]2]7]7Y7\\<@@CXK]7]7Y7]7]7]7Y)$QDS$S&W]7]'']6]'']7]'']074@@L -7Y7Y7Y7]6]6]7X[$QDS8*]7]6Y7]7]7]7]7GO@@@6C&]6]7]6]7M''Y7]6U!VAXB]'']'']7]7]7]''YW\M<@@CHK]7Y7]7]7]7]7]'']7U&U7]7]7]6]7]7]7YU9030@@MT%7Y7Y7Y6]6]''Y6]&Y7I7]7]7]6Y'']6]7]6U6S+@@@3U"ETEUUUYUUUU%U"HV@BH!X"H"HV@"E"HV%!X#\@@B<7]6]7]7]7]7]7]7\7]7]7]7]7]7]7M7]7]7]7M,@@@@a'))
hamImage "Tools.UIMaskEditor new openOnClass: self andSelector: #hamImage" <resource: #image> ^(Image extent: 20@20 depth: 3 bitsPerPixel: 4 palette: (Graphics.MappedPalette withColors: ((Core.Array new: 5) at: 1 put: Graphics.ColorValue black; at: 2 put: Graphics.ColorValue red; at: 3 put: (Graphics.ColorValue scaledRed: 8191 scaledGreen: 6135 scaledBlue: 6135); at: 4 put: Graphics.ColorValue white; at: 5 put: (Graphics.ColorValue scaledRed: 5460 scaledGreen: 5460 scaledBlue: 5460); yourself)) usingBits: (ByteArray fromPackedString: 'L3L3L3L3L3L3L0@@L3L3L3L3L3L3L0@@L3L3L3L3L3L3L0@@L3L0@@@@@@L3L0@@L3LADQDQDQ@3L0@@L3@QH!HRD!DCL0@@L3@RHRD!HRDCL0@@L0DRD"HRH"DPL0@@L0D!H!QDD!HPL0@@L0DRD"QDH"DPL0@@L0D!H!QDD!HPL0@@L0DRD"D!HRDPL0@@L0@QHRHRD!DPL0@@L3@RD!D!HRDCL0@@L3@QHRHRD!DCL0@@L3LADQDQDQ@3L0@@L3L0@@@@@@L3L0@@L3L3L3L3L3L3L0@@L3L3L3L3L3L3L0@@L3L3L3L3L3L3L0@@'))
hamMask "Tools.UIMaskEditor new openOnClass: self andSelector: #hamMask" <resource: #image> ^(Image extent: 20@20 depth: 1 bitsPerPixel: 1 palette: CoveragePalette monoMaskPalette usingBits: #[0 0 0 0 0 0 0 0 0 0 0 0 7 254 0 0 15 255 0 0 31 255 128 0 31 255 128 0 63 255 192 0 63 255 192 0 63 255 192 0 63 255 192 0 63 255 192 0 63 255 192 0 31 255 128 0 31 255 128 0 15 255 0 0 7 254 0 0 0 0 0 0 0 0 0 0 0 0 0 0])
largePizzaImage "Tools.UIMaskEditor new openOnClass: self andSelector: #largePizzaImage" <resource: #image> ^(Image extent: 20@20 depth: 3 bitsPerPixel: 4 palette: (Graphics.MappedPalette withColors: ((Core.Array new: 6) at: 1 put: Graphics.ColorValue black; at: 2 put: Graphics.ColorValue white; at: 3 put: (Graphics.ColorValue scaledRed: 5460 scaledGreen: 5460 scaledBlue: 5460); at: 4 put: (Graphics.ColorValue scaledRed: 4111 scaledGreen: 4111 scaledBlue: 4111); at: 5 put: Graphics.ColorValue yellow; at: 6 put: Graphics.ColorValue red; yourself)) usingBits: (ByteArray fromPackedString: 'DQDQDQDQDQDQDP@@DQDQH0@CHQDQDP@@DQH0ADUT@CHQDP@@DQMEUEUUQULQDP@@DRAUQUUEQEPBDP@@DSATUEUUQUPCDP@@DPUTUDUEUUQPDP@@D QEUTUEQEQPHP@@DEUTUTQUQUUE@P@@DDUTUEQTUUUU@P@@DEQTUEUDUDQU@P@@DDUEUEUUUEQT@P@@D QUQTUEQDU@HP@@DPQEUUUUUEUPDP@@DSUTUDQUQTQSDP@@DRADQTUDUTTBDP@@DRMUQUQUQU@1DP@@DQH0ATQT@CHQDP@@DQDQH0@CHQDQDP@@DQDQDQDQDQDQDP@@'))
largePizzaMask "Tools.UIMaskEditor new openOnClass: self andSelector: #largePizzaMask" <resource: #image> ^(Image extent: 20@20 depth: 1 bitsPerPixel: 1 palette: CoveragePalette monoMaskPalette usingBits: #[0 0 0 0 3 248 0 0 31 255 0 0 31 255 0 0 63 255 192 0 63 255 192 0 63 255 192 0 127 255 224 0 127 255 224 0 127 255 224 0 127 255 224 0 127 255 224 0 127 255 224 0 63 255 192 0 63 255 192 0 63 255 192 0 63 255 128 0 31 255 0 0 3 248 0 0 0 0 0 0])
mastercard "Tools.UIMaskEditor new openOnClass: self andSelector: #mastercard" <resource: #image> ^(Image extent: 57@38 depth: 4 bitsPerPixel: 4 palette: (Graphics.MappedPalette withColors: ((Core.Array new: 16) at: 1 put: (Graphics.ColorValue scaledRed: 8094 scaledGreen: 2376 scaledBlue: 1445); at: 2 put: (Graphics.ColorValue scaledRed: 7901 scaledGreen: 2441 scaledBlue: 2537); at: 3 put: (Graphics.ColorValue scaledRed: 8062 scaledGreen: 4561 scaledBlue: 1959); at: 4 put: (Graphics.ColorValue scaledRed: 7966 scaledGreen: 6263 scaledBlue: 6424); at: 5 put: (Graphics.ColorValue scaledRed: 8062 scaledGreen: 5235 scaledBlue: 5396); at: 6 put: (Graphics.ColorValue scaledRed: 8094 scaledGreen: 8126 scaledBlue: 8062); at: 7 put: (Graphics.ColorValue scaledRed: 7998 scaledGreen: 7098 scaledBlue: 7227); at: 8 put: (Graphics.ColorValue scaledRed: 7901 scaledGreen: 3597 scaledBlue: 3501); at: 9 put: (Graphics.ColorValue scaledRed: 8094 scaledGreen: 3533 scaledBlue: 160); at: 10 put: (Graphics.ColorValue scaledRed: 7773 scaledGreen: 160 scaledBlue: 192); at: 11 put: (Graphics.ColorValue scaledRed: 8062 scaledGreen: 4721 scaledBlue: 4111); at: 12 put: (Graphics.ColorValue scaledRed: 8094 scaledGreen: 2537 scaledBlue: 160); at: 13 put: (Graphics.ColorValue scaledRed: 7837 scaledGreen: 6103 scaledBlue: 5364); at: 14 put: (Graphics.ColorValue scaledRed: 8062 scaledGreen: 5878 scaledBlue: 4143); at: 15 put: (Graphics.ColorValue scaledRed: 7998 scaledGreen: 6874 scaledBlue: 6360); at: 16 put: (Graphics.ColorValue scaledRed: 8062 scaledGreen: 1413 scaledBlue: 513); yourself)) usingBits: (ByteArray fromPackedString: 'UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU@@@@AUUUUUUUY''DI$QE&UUUUUUU^L""HH.9UUUUUUUT@@@@EUUUUUV_9&Y&Y&Y=6UUUU[H"H"H"H"H9UUUUUUP@@@@UUUUU''>Y&Y&Y&Y&Y=EUU:H"H"H"H"H"H9UUUUU@@@@AUUUWI&Y&Y&Y&Y&Y&_%U6H"H"H"H"H"H"BUUUUT@@@@EUUU)&Y&Y&Y&Y&Y&Y&Y>8"H"H"H"H"H"H %UUUP@@@@UUU/&Y&Y&Y&Y&Y&Y&Y?;"H"H"H"H"H"H"HIUUU@@@@AUT?&Y&Y&Y&Y&Y&Y&Y''??8"H"H"H"H"H"H"BUUT@@@@EU_&Y&Y&Y&Y&Y&Y&Y????"K"H"H"H"H"H"H/%UP@@@@UQ>Y&Y&Y&Y&Y&Y&Y&_???8"H"H"H"H"H"H"HUU@@@@AU>Y&Y&Y&Y&Y&Y&Y''?????.H"H"H"H"H"H"H#UT@@@@ERY&Y&Y&Y&Y&Y&Y&_?????8"H"H"H"H"H"H"HUP@@@@W9&Y&Y&Y&Y&Y&Y&Y??????"H"H"H"H"H"H"H#%@@@@A)&Y&Y&Y&Y&Y&Y&Y''??????8"8.H"H"H"H"H"BT@@@@G&_DY$AFY&Y&Y&YDO?9????"M3R"8"H"H"H#]!P@@@@&YQUFVU/''?&Y??ET?0C;,O@&U%6BJH (JBJF:E@@@@BY$6XWY$D6M9P6)5LJL:&$Q>T(H&UVKV;MU^WK0@@@@I''6P71FPAAN)TDDY:XAT^UGWH"HH-W\W-WB9]/@@@@@&QZ.S''Y?QCM6LY808:Q''X9)R"HKN9]9(9X#UJ<@@@@BY]!MT]''YA89D5\<A,]7EZ>%6H!&KE5,!&"NZK0@@@@I&&?%F&)QE$?7UFPNLOA5BPY-7UL.[U6LWLU(IP@@@@^TR^NTLV[N)FYA9''@6Z''LK,.Y"5.3MX+K&3-K%@@@@A/?9?9?9<I>_@I''0&_@O?9''8 ("B"H"H"H"H"BT@@@@E>Y&Y&Y&Y&Y&Y&Y&[/;.;.8"H"H"H"H"H"H"H9P@@@@U9&Y&Y&Y&Y&Y&Y&Y&Y&Y&_"H"H"H"H"H"H"H!U@@@@AU&Y&Y&Y&Y&Y&Y&Y'';.;.;"H"H"H"H"H"H"H#UT@@@@EU9&Y&Y&Y&Y&Y&Y&Y&Y&Y&H"H"H"H"H"H"H"EUP@@@@UU&Y&Y&Y&Y&Y&Y&Y'';.;.H"H"H"H"H"H.H"NUU@@@@AUU)&Y&Y&Y&Y&Y&Y&Y&Y''8"H"H"H"H"H"H"BUUT@@@@EUUO9&Y&Y&Y&Y&Y&Y&[.8"H"H"H"H"H"H"BUUUP@@@@UUUS>Y&Y&Y&Y&Y&Y&Y$H"8"H"H"K"H"H"BUUUU@@@@AUUUU/&Y&Y&Y&Y&Y&_%%JH"H"H"H"K"H.BUUUUT@@@@EUUUUY?&Y&Y&Y&Y&_]UUVJH"H"H"H"H"NUUUUUP@@@@UUUUUUX_&Y&Y&Y''1YUUUU^JH"H"8"HK%UUUUUU@@@@AUUUUUUU[AG9''1GFUUUUUUUVX"H"H,MUUUUUUUT@@@@EUUUUUUUUUVL6UUUUUUUUUUUUUUUUUUUUUUUUUP@@@@UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU@@@@AUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT@@@@@@a'))
medPizzaImage "Tools.UIMaskEditor new openOnClass: self andSelector: #medPizzaImage" <resource: #image> ^(Image extent: 20@20 depth: 3 bitsPerPixel: 4 palette: (Graphics.MappedPalette withColors: ((Core.Array new: 6) at: 1 put: Graphics.ColorValue black; at: 2 put: Graphics.ColorValue white; at: 3 put: (Graphics.ColorValue scaledRed: 5460 scaledGreen: 5460 scaledBlue: 5460); at: 4 put: (Graphics.ColorValue scaledRed: 4111 scaledGreen: 4111 scaledBlue: 4111); at: 5 put: Graphics.ColorValue yellow; at: 6 put: Graphics.ColorValue red; yourself)) usingBits: (ByteArray fromPackedString: 'DQDQDQDQDQDQDP@@DQDQDQDQDQDQDP@@DQDQDQDQDQDQDP@@DQDQH0@CHQDQDP@@DQDR@EU@@!DQDP@@DQDPUEUUPBDQDP@@DQD UDUEUPHQDP@@DQLEUTUEQ@LQDP@@DQATUTQUQU@QDP@@DQATUEQTUU@QDP@@DQATUEUDUD@QDP@@DQAEUEUUUE@QDP@@DQLEQTUEQ@LQDP@@DQHEUUUUU@HQDP@@DQD UDQUPBDQDP@@DQDR@EUP@!DQDP@@DQDQH0@CHQDQDP@@DQDQDQDQDQDQDP@@DQDQDQDQDQDQDP@@DQDQDQDQDQDQDP@@'))
medPizzaMask "Tools.UIMaskEditor new openOnClass: self andSelector: #medPizzaMask" <resource: #image> ^(Image extent: 20@20 depth: 1 bitsPerPixel: 1 palette: CoveragePalette monoMaskPalette usingBits: #[0 0 0 0 0 0 0 0 0 0 0 0 3 248 0 0 7 252 0 0 7 254 0 0 15 255 0 0 31 255 0 0 31 255 0 0 31 255 0 0 31 255 0 0 31 255 0 0 31 255 0 0 31 255 0 0 15 254 0 0 7 252 0 0 3 248 0 0 0 0 0 0 0 0 0 0 0 0 0 0])
menuBar "Tools.MenuEditor new openOnClass: self andSelector: #menuBar" <resource: #menu> ^#(#{UI.Menu} #( #(#{UI.MenuItem} #rawLabel: 'Size' #submenu: #(#{UI.Menu} #( #(#{UI.MenuItem} #rawLabel: 'Large' #nameKey: #large #value: #beLarge #indicationSelector: #panSize ) #(#{UI.MenuItem} #rawLabel: 'Medium' #nameKey: #medium #value: #beMedium #indicationSelector: #panSize ) #(#{UI.MenuItem} #rawLabel: 'Small' #nameKey: #small #value: #beSmall #indicationSelector: #panSize ) ) #(3 ) nil ) ) #(#{UI.MenuItem} #rawLabel: 'Toppings' #submenu: #(#{UI.Menu} #( #(#{UI.MenuItem} #rawLabel: 'Pepperoni' #nameKey: #pepperoni #value: #withPepperoni #indicationSelector: #pepperoni ) #(#{UI.MenuItem} #rawLabel: 'Ham' #nameKey: #ham #value: #withHam #indicationSelector: #ham ) #(#{UI.MenuItem} #rawLabel: 'Olive' #nameKey: #olive #value: #withOlive #indicationSelector: #olive ) #(#{UI.MenuItem} #rawLabel: 'Onion' #nameKey: #onion #value: #withOnion #indicationSelector: #onion ) #(#{UI.MenuItem} #rawLabel: 'Peppers' #nameKey: #peppers #value: #withPeppers #indicationSelector: #peppers ) #(#{UI.MenuItem} #rawLabel: 'Pineapple' #nameKey: #pineapple #value: #withPineapple #indicationSelector: #pineapple ) #(#{UI.MenuItem} #rawLabel: 'Sausage' #nameKey: #sausage #value: #withSausage #indicationSelector: #sausage ) ) #(7 ) nil ) ) #(#{UI.MenuItem} #rawLabel: 'Payment' #submenu: #(#{UI.Menu} #( #(#{UI.MenuItem} #rawLabel: 'Visa' #nameKey: #visa #value: #payVisa #indicationSelector: #paymentType #labelImage: #(#{UI.ResourceRetriever} #{UniversalSelectExample} #visa ) ) #(#{UI.MenuItem} #rawLabel: 'Master Card' #nameKey: #mastercard #value: #payMC #indicationSelector: #paymentType #labelImage: #(#{UI.ResourceRetriever} #{UniversalSelectExample} #mastercard ) ) #(#{UI.MenuItem} #rawLabel: 'Am Express' #nameKey: #amex #value: #payAmEx #indicationSelector: #paymentType #labelImage: #(#{UI.ResourceRetriever} #{UniversalSelectExample} #amex ) ) #(#{UI.MenuItem} #rawLabel: 'Cash' #nameKey: #cash #value: #payCash #indicationSelector: #paymentType ) ) #(4 ) nil ) ) ) #(3 ) nil ) decodeAsLiteralArray
oliveImage "Tools.UIMaskEditor new openOnClass: self andSelector: #oliveImage" <resource: #image> ^(Image extent: 20@20 depth: 3 bitsPerPixel: 4 palette: (Graphics.MappedPalette withColors: ((Core.Array new: 6) at: 1 put: Graphics.ColorValue black; at: 2 put: Graphics.ColorValue white; at: 3 put: (Graphics.ColorValue scaledRed: 5460 scaledGreen: 5460 scaledBlue: 5460); at: 4 put: (Graphics.ColorValue scaledRed: 4111 scaledGreen: 4111 scaledBlue: 4111); at: 5 put: Graphics.ColorValue yellow; at: 6 put: (Graphics.ColorValue scaledRed: 4111 scaledGreen: 4111 scaledBlue: 0); yourself)) usingBits: (ByteArray fromPackedString: 'DQDQDQDQDQDQDP@@DQDQDQDQDQDQDP@@DQDQDQDQDQDQDP@@DQDQDP@@@ADQDP@@DQDR@@@@@@@QDP@@DQD@UP@@@E@ADP@@DQ@DU@@@@EL@DP@@DPATUC@@@5MPDP@@D QTUD@@@3T5@P@@DEQUQTL@MST5@P@@DEQUQUMUMST5@P@@DEQUQUMUMUL5@P@@DET5QSL5MUL5@P@@D T3T3T3T5MP@P@@DPT3T3T3T3UPDP@@DRAST5MST3T@DP@@DQH@UUUUUP@QDP@@DQDR@@@@@ADQDP@@DQDQDQDQDQDQDP@@DQDQDQDQDQDQDP@@'))
oliveMask "Tools.UIMaskEditor new openOnClass: self andSelector: #oliveMask" <resource: #image> ^(Image extent: 20@20 depth: 1 bitsPerPixel: 1 palette: CoveragePalette monoMaskPalette usingBits: #[0 0 0 0 0 0 0 0 0 0 0 0 0 252 0 0 7 255 0 0 15 255 128 0 31 255 192 0 63 255 192 0 127 255 224 0 127 255 224 0 127 255 224 0 127 255 224 0 127 255 224 0 127 255 224 0 63 255 192 0 63 255 192 0 31 255 0 0 7 252 0 0 0 0 0 0 0 0 0 0])
onionImage "Tools.UIMaskEditor new openOnClass: self andSelector: #onionImage" <resource: #image> ^(Image extent: 20@20 depth: 3 bitsPerPixel: 4 palette: (Graphics.MappedPalette withColors: ((Core.Array new: 6) at: 1 put: Graphics.ColorValue black; at: 2 put: Graphics.ColorValue white; at: 3 put: (Graphics.ColorValue scaledRed: 5460 scaledGreen: 5460 scaledBlue: 5460); at: 4 put: (Graphics.ColorValue scaledRed: 4111 scaledGreen: 4111 scaledBlue: 4111); at: 5 put: Graphics.ColorValue yellow; at: 6 put: (Graphics.ColorValue scaledRed: 4111 scaledGreen: 4111 scaledBlue: 0); yourself)) usingBits: (ByteArray fromPackedString: 'DQDQDQDQDQDQDP@@DQDQDQDPDQDQDP@@DQDQDQD@@ADQDP@@DQDQDQ@CDQDQDP@@DQDR@@@@@@@QDP@@DQD@UUUUUU@ADP@@DQ@DUEUTUEP@DP@@DPATUDUDUEQPDP@@D QTUDUDUDUE@P@@DEQUQTQEQTUE@P@@DEQUQUQUQTUE@P@@DEQUQUQUQUQE@P@@DEUEQTQEQUQE@P@@D UDUDUDUEQP@P@@DPUDUDUDUDUPDP@@DRATUEQTUDT@DP@@DQH@UUUUUP@QDP@@DQDR@@@@@ADQDP@@DQDQDQDQDQDQDP@@DQDQDQDQDQDQDP@@'))
onionMask "Tools.UIMaskEditor new openOnClass: self andSelector: #onionMask" <resource: #image> ^(Image extent: 20@20 depth: 1 bitsPerPixel: 1 palette: CoveragePalette monoMaskPalette usingBits: #[0 0 0 0 0 16 0 0 0 60 0 0 0 112 0 0 7 255 0 0 15 255 128 0 31 255 192 0 63 255 192 0 127 255 224 0 127 255 224 0 127 255 224 0 127 255 224 0 127 255 224 0 127 255 224 0 63 255 192 0 63 255 192 0 31 255 0 0 7 252 0 0 0 0 0 0 0 0 0 0])
pepperImage "Tools.UIMaskEditor new openOnClass: self andSelector: #pepperImage" <resource: #image> ^(Image extent: 20@20 depth: 3 bitsPerPixel: 4 palette: (Graphics.MappedPalette withColors: ((Core.Array new: 7) at: 1 put: Graphics.ColorValue black; at: 2 put: Graphics.ColorValue white; at: 3 put: (Graphics.ColorValue scaledRed: 5460 scaledGreen: 5460 scaledBlue: 5460); at: 4 put: (Graphics.ColorValue scaledRed: 4111 scaledGreen: 4111 scaledBlue: 4111); at: 5 put: (Graphics.ColorValue scaledRed: 4111 scaledGreen: 4111 scaledBlue: 0); at: 6 put: Graphics.ColorValue yellow; at: 7 put: (Graphics.ColorValue scaledRed: 0 scaledGreen: 4111 scaledBlue: 0); yourself)) usingBits: (ByteArray fromPackedString: 'DQDQDQDQDQDQDP@@DQDQDQE&DQDQDP@@DQDQDQY&XQDQDP@@DQDQDVY&Y!DQDP@@DQDR@DQD@@DQDP@@DQD@Y$QDQ@@QDP@@DQ@EYP@@@F@ADP@@DQA%YS@@@6LADP@@DQA%YU@@@3XADP@@DQA&U%M&M#XADP@@DQA&U&M&M#XADP@@DQA&U&M&M&LADP@@DQ@6U#L6M&LADP@@DQHCX3X3X6@!DP@@DQHCX3X3X3@!DP@@DQHCX6M#X3@!DP@@DQD@A&Y&X@@QDP@@DQDRH@@@@"DQDP@@DQDQDQDQDQDQDP@@DQDQDQDQDQDQDP@@'))
pepperMask "Tools.UIMaskEditor new openOnClass: self andSelector: #pepperMask" <resource: #image> ^(Image extent: 20@20 depth: 1 bitsPerPixel: 1 palette: CoveragePalette monoMaskPalette usingBits: #[0 0 0 0 0 48 0 0 0 120 0 0 0 252 0 0 7 254 0 0 15 255 0 0 31 255 128 0 31 255 128 0 31 255 128 0 31 255 128 0 31 255 128 0 31 255 128 0 31 255 128 0 31 255 128 0 31 255 128 0 31 255 128 0 15 255 0 0 7 254 0 0 0 0 0 0 0 0 0 0])
pepperoniImage "Tools.UIMaskEditor new openOnClass: self andSelector: #pepperoniImage" <resource: #image> ^(Image extent: 20@20 depth: 3 bitsPerPixel: 4 palette: (Graphics.MappedPalette withColors: ((Core.Array new: 5) at: 1 put: (Graphics.ColorValue scaledRed: 5460 scaledGreen: 5460 scaledBlue: 5460); at: 2 put: Graphics.ColorValue black; at: 3 put: Graphics.ColorValue red; at: 4 put: Graphics.ColorValue white; at: 5 put: (Graphics.ColorValue scaledRed: 4111 scaledGreen: 4111 scaledBlue: 4111); yourself)) usingBits: (ByteArray fromPackedString: 'L3L3L3L3L3L3L0@@L3L3L3L3L3L3L0@@L3L3L3@@@@@3L0@@L3L3L3PQDQQCL0@@L3L3MDD"@"ECL0@@L3L3PQD"H HSL0@@L3L4DQDQD"HSL0@@L3MAHBHRHPHSL0@@L3PQDQIAHQECL0@@L4EB@QD!D!P3L0@@L1P HADRDTL3L0@@L1H"@"DRECL3L0@@L1H HBHQP3L3L0@@L1P"@"PTL3L3L0@@L4EBH$ECL3L3L0@@L3PQDQP3L3L3L0@@L3L3L3L3L3L3L0@@L3L3L3L3L3L3L0@@L3L3L3L3L3L3L0@@L3L3L3L3L3L3L0@@'))
pepperoniMask "Tools.UIMaskEditor new openOnClass: self andSelector: #pepperoniMask" <resource: #image> ^(Image extent: 20@20 depth: 1 bitsPerPixel: 1 palette: CoveragePalette monoMaskPalette usingBits: #[0 0 0 0 0 0 0 0 0 127 0 0 0 127 128 0 1 255 128 0 3 255 128 0 7 255 128 0 15 255 128 0 31 255 128 0 63 255 0 0 63 254 0 0 63 252 0 0 63 248 0 0 63 240 0 0 63 224 0 0 31 192 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0])
pineappleImage "Tools.UIMaskEditor new openOnClass: self andSelector: #pineappleImage" <resource: #image> ^(Image extent: 20@20 depth: 3 bitsPerPixel: 4 palette: (Graphics.MappedPalette withColors: ((Core.Array new: 6) at: 1 put: Graphics.ColorValue black; at: 2 put: Graphics.ColorValue white; at: 3 put: (Graphics.ColorValue scaledRed: 4111 scaledGreen: 4111 scaledBlue: 0); at: 4 put: Graphics.ColorValue yellow; at: 5 put: (Graphics.ColorValue scaledRed: 0 scaledGreen: 4111 scaledBlue: 0); at: 6 put: (Graphics.ColorValue scaledRed: 4111 scaledGreen: 0 scaledBlue: 0); yourself)) usingBits: (ByteArray fromPackedString: 'DQDQDQDQDQDQDP@@DQDQEDEDDQDQDP@@DQEDD$IBDTPQDP@@DQDTQDIDQDDQDP@@DQDQEDIDDQDQDP@@DQDQQDIDPQDQDP@@DQDP@@@@@@DQDP@@DQ@@MS@C@0@ADP@@DQAUUUUPUUTADP@@DQASLCLCLCLADP@@DQAUUUUUUUTADP@@DQASLCLCLCLADP@@DQAUUUUUUUTADP@@DQDCLCLCLC@QDP@@DQDEUUUUUU@QDP@@DQDEL0L0L5@QDP@@DQD@ASUST@@QDP@@DQDQD@@@@QDQDP@@DQDQDQDQDQDQDP@@DQDQDQDQDQDQDP@@'))
pineappleMask "Tools.UIMaskEditor new openOnClass: self andSelector: #pineappleMask" <resource: #image> ^(Image extent: 20@20 depth: 1 bitsPerPixel: 1 palette: CoveragePalette monoMaskPalette usingBits: #[0 0 0 0 1 176 0 0 13 243 0 0 7 254 0 0 1 240 0 0 3 248 0 0 7 254 0 0 31 255 128 0 31 255 128 0 31 255 128 0 31 255 128 0 31 255 128 0 31 255 128 0 15 255 0 0 15 255 0 0 15 255 0 0 15 255 0 0 1 248 0 0 0 0 0 0 0 0 0 0])
sausageImage "Tools.UIMaskEditor new openOnClass: self andSelector: #sausageImage" <resource: #image> ^(Image extent: 20@20 depth: 3 bitsPerPixel: 4 palette: (Graphics.MappedPalette withColors: ((Core.Array new: 5) at: 1 put: (Graphics.ColorValue scaledRed: 5460 scaledGreen: 5460 scaledBlue: 5460); at: 2 put: Graphics.ColorValue black; at: 3 put: (Graphics.ColorValue scaledRed: 4111 scaledGreen: 0 scaledBlue: 0); at: 4 put: Graphics.ColorValue white; at: 5 put: (Graphics.ColorValue scaledRed: 4111 scaledGreen: 4111 scaledBlue: 4111); yourself)) usingBits: (ByteArray fromPackedString: 'L3L3L3L3L3L3L0@@L3L3L3L3L3L3L0@@L3L3L3@@@@@3L0@@L3L3L3PQDQQCL0@@L3L3QDD"@"ECL0@@L3MAPQD$H HSL0@@L3LTPQP"IBHSL0@@L3PQIDD"H HSL0@@L3PRH!HQH!ECL0@@L4EB@"D$IAP3L0@@L1P HBD$DTL3L0@@L1H"@"IBDSL3L0@@L1H HBHQECL3L0@@L1P"@"PQD3L3L0@@L4EBH$EDP3L3L0@@L3PQDQP3L3L3L0@@L3L3L3L3L3L3L0@@L3L3L3L3L3L3L0@@L3L3L3L3L3L3L0@@L3L3L3L3L3L3L0@@'))
sausageMask "Tools.UIMaskEditor new openOnClass: self andSelector: #sausageMask" <resource: #image> ^(Image extent: 20@20 depth: 1 bitsPerPixel: 1 palette: CoveragePalette monoMaskPalette usingBits: #[0 0 0 0 0 0 0 0 0 127 0 0 0 127 128 0 3 255 128 0 15 255 128 0 15 255 128 0 31 255 128 0 31 255 128 0 63 255 0 0 63 254 0 0 63 252 0 0 63 252 0 0 63 248 0 0 63 248 0 0 31 192 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0])
smallPizzaImage "Tools.UIMaskEditor new openOnClass: self andSelector: #smallPizzaImage" <resource: #image> ^(Image extent: 20@20 depth: 3 bitsPerPixel: 4 palette: (Graphics.MappedPalette withColors: ((Core.Array new: 5) at: 1 put: (Graphics.ColorValue scaledRed: 5460 scaledGreen: 5460 scaledBlue: 5460); at: 2 put: Graphics.ColorValue black; at: 3 put: Graphics.ColorValue red; at: 4 put: Graphics.ColorValue white; at: 5 put: Graphics.ColorValue yellow; yourself)) usingBits: (ByteArray fromPackedString: 'L3L3L3L3L3L3L0@@L3L3L3L3L3L3L0@@L3L3L3L3L3L3L0@@L3L3L3L3L3L3L0@@L3L3LADPL3L3L0@@L3L3@RH!@3L3L0@@L3L0EDIBDCL3L0@@L3LAH$IBPPL3L0@@L3LTH$P"P!L3L0@@L3LTIBP$H!L3L0@@L3LTIBIDIAL3L0@@L3LAIBH"HPL3L0@@L3L0D$IBDCL3L0@@L3L3@RH!@3L3L0@@L3L3LADPL3L3L0@@L3L3L3L3L3L3L0@@L3L3L3L3L3L3L0@@L3L3L3L3L3L3L0@@L3L3L3L3L3L3L0@@L3L3L3L3L3L3L0@@'))
smallPizzaMask "Tools.UIMaskEditor new openOnClass: self andSelector: #smallPizzaMask" <resource: #image> ^(Image extent: 20@20 depth: 1 bitsPerPixel: 1 palette: CoveragePalette monoMaskPalette usingBits: #[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 240 0 0 3 248 0 0 7 252 0 0 15 254 0 0 15 254 0 0 15 254 0 0 15 254 0 0 15 254 0 0 7 252 0 0 3 248 0 0 1 240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0])
toolBar "Tools.MenuEditor new openOnClass: self andSelector: #toolBar" <resource: #menu> ^#(#{UI.Menu} #( #(#{UI.MenuItem} #rawLabel: 'Large' #nameKey: #large #value: #beLarge #indicationSelector: #panSize #labelImage: #(#{UI.ResourceRetriever} #{UniversalSelectExample} #largePizza ) #helpText: 'Large' ) #(#{UI.MenuItem} #rawLabel: 'Medium' #nameKey: #medium #value: #beMedium #indicationSelector: #panSize #labelImage: #(#{UI.ResourceRetriever} #{UniversalSelectExample} #medPizza ) #helpText: 'Medium' ) #(#{UI.MenuItem} #rawLabel: 'Small' #nameKey: #small #value: #beSmall #indicationSelector: #panSize #labelImage: #(#{UI.ResourceRetriever} #{UniversalSelectExample} #smallPizza ) #helpText: 'Small' ) #(#{UI.MenuItem} #rawLabel: 'Pepperoni' #nameKey: #pepperoni #value: #withPepperoni #indicationSelector: #pepperoni #labelImage: #(#{UI.ResourceRetriever} #{UniversalSelectExample} #pepperoniTopping ) ) #(#{UI.MenuItem} #rawLabel: 'Ham' #nameKey: #ham #value: #withHam #indicationSelector: #ham #labelImage: #(#{UI.ResourceRetriever} #{UniversalSelectExample} #hamTopping ) ) #(#{UI.MenuItem} #rawLabel: 'Olive' #nameKey: #olive #value: #withOlive #indicationSelector: #olive #labelImage: #(#{UI.ResourceRetriever} #{UniversalSelectExample} #oliveTopping ) ) #(#{UI.MenuItem} #rawLabel: 'Onion' #nameKey: #onion #value: #withOnion #indicationSelector: #onion #labelImage: #(#{UI.ResourceRetriever} #{UniversalSelectExample} #onionTopping ) ) #(#{UI.MenuItem} #rawLabel: 'Peppers' #nameKey: #peppers #value: #withPeppers #indicationSelector: #peppers #labelImage: #(#{UI.ResourceRetriever} #{UniversalSelectExample} #pepperTopping ) ) #(#{UI.MenuItem} #rawLabel: 'Pineapple' #nameKey: #pineapple #value: #withPineapple #indicationSelector: #pineapple #labelImage: #(#{UI.ResourceRetriever} #{UniversalSelectExample} #pineappleTopping ) ) #(#{UI.MenuItem} #rawLabel: 'Sausage' #nameKey: #sausage #value: #withSausage #indicationSelector: #sausage #labelImage: #(#{UI.ResourceRetriever} #{UniversalSelectExample} #sausageTopping ) ) ) #(3 7 ) nil ) decodeAsLiteralArray
visa "Tools.UIMaskEditor new openOnClass: self andSelector: #visa" <resource: #image> ^(Image extent: 60@38 depth: 4 bitsPerPixel: 4 palette: (Graphics.MappedPalette withColors: ((Core.Array new: 16) at: 1 put: (Graphics.ColorValue scaledRed: 7067 scaledGreen: 6874 scaledBlue: 6039); at: 2 put: (Graphics.ColorValue scaledRed: 6938 scaledGreen: 4015 scaledBlue: 707); at: 3 put: (Graphics.ColorValue scaledRed: 3180 scaledGreen: 3405 scaledBlue: 5075); at: 4 put: (Graphics.ColorValue scaledRed: 128 scaledGreen: 193 scaledBlue: 3276); at: 5 put: (Graphics.ColorValue scaledRed: 3919 scaledGreen: 4336 scaledBlue: 5557); at: 6 put: (Graphics.ColorValue scaledRed: 2409 scaledGreen: 2602 scaledBlue: 4658); at: 7 put: (Graphics.ColorValue scaledRed: 1124 scaledGreen: 1445 scaledBlue: 3919); at: 8 put: (Graphics.ColorValue scaledRed: 4882 scaledGreen: 5075 scaledBlue: 6039); at: 9 put: (Graphics.ColorValue scaledRed: 6874 scaledGreen: 3373 scaledBlue: 128); at: 10 put: (Graphics.ColorValue scaledRed: 7099 scaledGreen: 6232 scaledBlue: 4369); at: 11 put: (Graphics.ColorValue scaledRed: 3919 scaledGreen: 2441 scaledBlue: 128); at: 12 put: (Graphics.ColorValue scaledRed: 7003 scaledGreen: 6906 scaledBlue: 6681); at: 13 put: (Graphics.ColorValue scaledRed: 7067 scaledGreen: 4336 scaledBlue: 1863); at: 14 put: (Graphics.ColorValue scaledRed: 1542 scaledGreen: 1606 scaledBlue: 128); at: 15 put: (Graphics.ColorValue scaledRed: 7195 scaledGreen: 7292 scaledBlue: 7516); at: 16 put: (Graphics.ColorValue scaledRed: 6007 scaledGreen: 6264 scaledBlue: 6746); yourself)) usingBits: (ByteArray fromPackedString: ';.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.@@C''H$QBH$Q2H$QBIDQBIDQBIDP$QDQDQBQDQDQDQG8@@NX3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3K @@9SL3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L.@@C%L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L28@@NT3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3K @@9SL3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L.@@C%L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L28@@NT3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3K @@9SL3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L.@@C'']7]7]7]7]7]7]7]7]7]7]7]7]GQ4QDQDQ7]7]O8@@N;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.; @@;.;.;.94QDS.;/QG=DQ>92Y&I;;.97Q?]>;.;.;.@@C.;.;.;/T3M+;.T3ICL58#L3L3[.93L3=R;.;.;.8@@N;.;.;.:6L6/.\3N5L3=CL6USL.;&L3O7_.;.;.; @@;.;.;.;.X3Z>-#M?L3[6L6?.=K;$L3L?;.;.;.;.@@C.;.;.;.9#M+8#M^\3L/L3[>;.;+X3L3_.;.;.;.8@@N;.;.;.;&L6/3M/8#L7<3L6?.;.H3P3M>;.;.;.; @@;.;.;.;.T3[%L7;&L6/%L3L7;.<3W3L7;.;.;.;.@@C.;.;.;.9SM''L2;/L3K.9SL3M>9SO?L3K.;.;.;.8@@N;.;.;.;%L3X3?.H3O>;.]#L693L.<3L.;.;.;.; @@;.;.;.;.T3L3S.9#M+;.;/X3O6L6Y#L2;.;.;.;.@@C.;.;.;.9SL3[.;3L28/;.=#M"L3Y#L3W.;.;.;.8@@N:>;.;.;"L3M>;"L3=3MRU#L2X3?+=#M^;.;.;.; @@;+/.;.;.H3M^;.X3["L3L3L2T3K.;&L6;.;.;.;.@@C.;.;.;.92H/;.<"I>92Y&X/=RJ>;.QUS.;.;.;.8@@N;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.; @@:0B;,@.;,@.;@@B;,K.;,K.;.;.;.;.;.;.;.;/.@@C!"HDX"AFH"HFH"AFH"AFH QDQDQDQDQDQDQGL0Y8@@KFH"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H'' @@.H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"^@@B1"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"I8@@K"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H'' @@,X"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"*"^@@B8"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"M6)8@@K"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H*('' @@/L3A3L3L3L3L3L3L3L3L3L3L3L3L3L3A0Q0\GAF^@@C.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;./+:>:>8@@@@a'))
</methods> <methods> Examples.UniversalSelectExample class <category>interface specs</category>
windowSpec "Tools.UIPainter new openOnClass: self andSelector: #windowSpec" <resource: #canvas> ^#(#{UI.FullSpec} #window: #(#{UI.WindowSpec} #label: 'Pizza order form' #min: #(#{Core.Point} 20 20 ) #max: #(#{Core.Point} 1600 1200 ) #bounds: #(#{Graphics.Rectangle} 800 600 1282 993 ) #flags: 4 #menu: #menuBar #toolBar: #toolBar ) #component: #(#{UI.SpecCollection} #collection: #( #(#{UI.SequenceViewSpec} #layout: #(#{Graphics.Rectangle} 17 153 198 224 ) #name: #List1 #model: #panSizeChoice #useModifierKeys: true #selectionType: #highlight ) #(#{UI.RadioButtonSpec} #layout: #(#{Core.Point} 34 73 ) #name: #RadioButton1 #model: #panSize #label: 'Large' #select: #large ) #(#{UI.RadioButtonSpec} #layout: #(#{Core.Point} 34 96 ) #name: #RadioButton2 #model: #panSize #label: 'Medium' #select: #medium ) #(#{UI.RadioButtonSpec} #layout: #(#{Core.Point} 34 118 ) #name: #RadioButton3 #model: #panSize #label: 'Small' #select: #small ) #(#{UI.ComboBoxSpec} #layout: #(#{Graphics.Rectangle} 22 28 122 51 ) #name: #ComboBox1 #model: #panSize #type: #symbol #comboList: #panSizeListHolder ) #(#{UI.ActionButtonSpec} #layout: #(#{Graphics.Rectangle} 111 96 167 116 ) #name: #medServing #model: #selectMedium #label: '3 to 6' #defaultable: true ) #(#{UI.GroupBoxSpec} #layout: #(#{Graphics.Rectangle} 18 52 195 147 ) #name: #GroupBox3 #label: 'Serving suggestion' ) #(#{UI.GroupBoxSpec} #layout: #(#{Graphics.Rectangle} 10 4 208 230 ) #name: #GroupBox1 #label: '1. Select a size' ) #(#{UI.GroupBoxSpec} #layout: #(#{Graphics.Rectangle} 213 4 467 230 ) #name: #GroupBox2 #label: '2. Choose any topping' ) #(#{UI.SequenceViewSpec} #layout: #(#{Graphics.Rectangle} 323 35 454 205 ) #name: #List2 #model: #toppings #callbacksSpec: #(#{UI.UIEventCallbackSubSpec} #valueChangeSelector: #listSelectionChange ) #multipleSelections: true #useModifierKeys: true #selectionType: #checkMark ) #(#{UI.CheckBoxSpec} #layout: #(#{Core.Point} 222 26 ) #name: #CheckBox1 #model: #pepperoni #label: 'Pepperoni' ) #(#{UI.CheckBoxSpec} #layout: #(#{Core.Point} 222 53 ) #name: #CheckBox2 #model: #ham #label: 'Ham' ) #(#{UI.CheckBoxSpec} #layout: #(#{Core.Point} 222 79 ) #name: #CheckBox3 #model: #olive #label: 'Olive' ) #(#{UI.CheckBoxSpec} #layout: #(#{Core.Point} 222 105 ) #name: #CheckBox4 #model: #onion #label: 'Onion' ) #(#{UI.CheckBoxSpec} #layout: #(#{Core.Point} 222 132 ) #name: #CheckBox5 #model: #peppers #label: 'Peppers' ) #(#{UI.CheckBoxSpec} #layout: #(#{Core.Point} 222 184 ) #name: #CheckBox6 #model: #sausage #label: 'Sausage' ) #(#{UI.CheckBoxSpec} #layout: #(#{Core.Point} 222 157 ) #name: #CheckBox7 #model: #pineapple #label: 'Pineapple' ) #(#{UI.GroupBoxSpec} #layout: #(#{Graphics.Rectangle} 9 239 470 329 ) #name: #GroupBox4 #label: '3. Select a payment' ) #(#{UI.RadioButtonSpec} #properties: #(#{UI.PropertyListDictionary} #labelFromApplication true ) #layout: #(#{Core.Point} 26 265 ) #name: #RadioButton4 #model: #paymentType #label: #visa #hasCharacterOrientedLabel: false #select: #visa ) #(#{UI.RadioButtonSpec} #properties: #(#{UI.PropertyListDictionary} #labelFromApplication true ) #layout: #(#{Core.Point} 133 265 ) #name: #RadioButton5 #model: #paymentType #label: #mastercard #hasCharacterOrientedLabel: false #select: #mastercard ) #(#{UI.RadioButtonSpec} #properties: #(#{UI.PropertyListDictionary} #labelFromApplication true ) #layout: #(#{Core.Point} 237 265 ) #name: #RadioButton6 #model: #paymentType #label: #amex #hasCharacterOrientedLabel: false #select: #amex ) #(#{UI.RadioButtonSpec} #layout: #(#{Core.Point} 344 273 ) #name: #RadioButton7 #model: #paymentType #label: 'Cash' #select: #cash ) #(#{UI.LabelSpec} #layout: #(#{Core.Point} 172 304 ) #name: #Label1 #label: 'Sorry, no checks accepted' #style: #pixelLarge ) #(#{UI.ActionButtonSpec} #layout: #(#{Graphics.Rectangle} 111 118 167 138 ) #name: #smallServing #model: #selectSmall #label: '2 to 3' #defaultable: true ) #(#{UI.ActionButtonSpec} #layout: #(#{Graphics.Rectangle} 111 75 167 95 ) #name: #largeServing #model: #selectLarge #label: '6 to 8' #defaultable: true ) ) ) )
</methods> "Imported Classes:" self error: 'Attempting to file-in parcel imports. Choose terminate or close' <class> <name>ApplicationModel</name> <environment>UI</environment> <super>UI.Model</super> <private>false</private> none builder uiSession eventHandlers savedWindowInformation <imports></imports> <category>UIBuilder-Framework</category> <attributes> <package>UIBuilder-Framework</package> </attributes> </class>