234 'Selector returning an image.' |
243 'Selector returning an image.' |
235 |
244 |
236 ) |
245 ) |
237 ! ! |
246 ! ! |
238 |
247 |
|
248 !MenuEditor class methodsFor:'image specs'! |
|
249 |
|
250 linkSubmenuImage |
|
251 "Generated by the Image Editor" |
|
252 " |
|
253 ImageEditor openOnClass:self andSelector:#linkSubmenuImage |
|
254 " |
|
255 |
|
256 <resource: #image> |
|
257 |
|
258 ^Icon |
|
259 constantNamed:#'MenuEditor linkSubmenuImage' |
|
260 ifAbsentPut:[(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@ADQDQDQDQDQDQH@D"H"H"H"H"H"K0@RH"H"H"H"H"H/@A????????????<@D@@@@@@@@@@@C0@PL3L0DQDQDQD_@A@3L3LBH"H"H"<@DCL3L3@"H"H"K0@PL3L3L0??????@A@@@@L3L@@@@@<@DQDQDCL3@PLAG0@RH"H"@3L0@3@/@AH"H"H L3L3L0<@G?????<CL3L3L@@P@@@@@@@3L3LO@ADQDQDQDP@CLA<@D"H"H"H"H LBK0@RH"H"H"H"@BH/@B????????????<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 255 0 0 0 255 0 0 0 255 0 255 255 255 255 0 255 0 255 127 0 0 0 127 0 0 0 127 0 127 127 127 127 0 127 0 127 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]! |
|
261 |
|
262 menuItemImage |
|
263 "Generated by the Image Editor" |
|
264 " |
|
265 ImageEditor openOnClass:self andSelector:#menuItemImage |
|
266 " |
|
267 |
|
268 <resource: #image> |
|
269 |
|
270 ^Icon |
|
271 constantNamed:#'MenuEditor menuItemImage' |
|
272 ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'UUUUUUUQUUUUUUUPUUUUUUU_UUUUUUUPUUUUUUUP@@@@@@@@EUUUUUVAF*****+HF:?+::;@F:.+*?;@F:.+::;@F:.+*:;@F:.+::;@F*****+DK??????A@@@@@@@@UUUUUUUPUUUUUUUXUUUUUUUPUUUUUUUPUUUUUUUPUUUUUUUX') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]! |
|
273 |
|
274 menuSeparatorImage |
|
275 "Generated by the Image Editor" |
|
276 " |
|
277 ImageEditor openOnClass:self andSelector:#menuSeparatorImage |
|
278 " |
|
279 |
|
280 <resource: #image> |
|
281 |
|
282 ^Icon |
|
283 constantNamed:#'MenuEditor menuSeparatorImage' |
|
284 ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'UUUUUUURUUUUUUUPUUUUUUUPUUUUUUUPUUUUUUUP@@@@@@@@EUUUUUV@F*****+DF*****+CF?????+@F0@@@@[@F%UUUU[HF*****+@F*****+@K??????N@@@@@@@HUUUUUUUPUUUUUUUPUUUUUUUWUUUUUUUXUUUUUUUPUUUUUUUP') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]! |
|
285 |
|
286 submenuImage |
|
287 "Generated by the Image Editor" |
|
288 " |
|
289 ImageEditor openOnClass:self andSelector:#submenuImage |
|
290 " |
|
291 |
|
292 <resource: #image> |
|
293 |
|
294 ^Icon |
|
295 constantNamed:#'MenuEditor submenuImage' |
|
296 ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@EUUUUUV@F*****+@F*****+@G??????GD@@@@@C@EUUUUUWLF*****+@F*****+@G??????HD@@@@@C@EUUUUUW@F*****+@F*****+OG??????@D@@@@@C@EUUUUUW@F*****+@F*****+@K??????@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]! ! |
|
297 |
239 !MenuEditor class methodsFor:'interface specs'! |
298 !MenuEditor class methodsFor:'interface specs'! |
240 |
299 |
241 basicsItemSpec |
300 basicsItemSpec |
242 "this window spec was automatically generated by the ST/X UIPainter" |
301 "this window spec was automatically generated by the ST/X UIPainter" |
243 |
302 |
255 |
314 |
256 #(#FullSpec |
315 #(#FullSpec |
257 #window: |
316 #window: |
258 #(#WindowSpec |
317 #(#WindowSpec |
259 #name: 'Basics Item' |
318 #name: 'Basics Item' |
260 #layout: #(#LayoutFrame 212 0 351 0 478 0 669 0) |
319 #layout: #(#LayoutFrame 184 0 332 0 450 0 650 0) |
261 #label: 'Basics Item' |
320 #label: 'Basics Item' |
262 #min: #(#Point 10 10) |
321 #min: #(#Point 10 10) |
263 #max: #(#Point 1160 870) |
322 #max: #(#Point 1160 870) |
264 #bounds: #(#Rectangle 212 351 479 670) |
323 #bounds: #(#Rectangle 184 332 451 651) |
265 #usePreferredExtent: false |
324 #usePreferredExtent: false |
266 ) |
325 ) |
267 #component: |
326 #component: |
268 #(#SpecCollection |
327 #(#SpecCollection |
269 #collection: |
328 #collection: |
896 ^ |
955 ^ |
897 |
956 |
898 #(#FullSpec |
957 #(#FullSpec |
899 #window: |
958 #window: |
900 #(#WindowSpec |
959 #(#WindowSpec |
901 #name: 'Menu Builder' |
960 #name: 'Menu Editor' |
902 #layout: #(#LayoutFrame 75 0 372 0 654 0 755 0) |
961 #layout: #(#LayoutFrame 100 0 374 0 679 0 757 0) |
903 #label: 'Menu Builder' |
962 #label: 'Menu Editor' |
904 #min: #(#Point 10 10) |
963 #min: #(#Point 10 10) |
905 #max: #(#Point 1152 900) |
964 #max: #(#Point 1152 900) |
906 #bounds: #(#Rectangle 75 372 655 756) |
965 #bounds: #(#Rectangle 100 374 680 758) |
907 #menu: #menu |
966 #menu: #menu |
908 #usePreferredExtent: false |
967 #usePreferredExtent: false |
909 ) |
968 ) |
910 #component: |
969 #component: |
911 #(#SpecCollection |
970 #(#SpecCollection |
916 #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 32 0) |
975 #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 32 0) |
917 #menu: #menuToolbar |
976 #menu: #menuToolbar |
918 #showSeparatingLines: true |
977 #showSeparatingLines: true |
919 ) |
978 ) |
920 #(#VariableHorizontalPanelSpec |
979 #(#VariableHorizontalPanelSpec |
921 #name: 'variableHorizontalPanel1' |
980 #name: 'VariableHorizontalPanel' |
922 #layout: #(#LayoutFrame 0 0.0 34 0.0 0 1.0 -26 1.0) |
981 #layout: #(#LayoutFrame 0 0.0 34 0.0 0 1.0 -26 1.0) |
923 #component: |
982 #component: |
924 #(#SpecCollection |
983 #(#SpecCollection |
925 #collection: |
984 #collection: |
926 #( |
985 #( |
927 #(#ArbitraryComponentSpec |
986 #(#ArbitraryComponentSpec |
928 #name: 'painterView' |
987 #name: 'TreeView' |
929 #menu: #menuEdit |
988 #menu: #menuEdit |
930 #hasHorizontalScrollBar: true |
989 #hasHorizontalScrollBar: true |
931 #hasVerticalScrollBar: true |
990 #hasVerticalScrollBar: true |
932 #component: #treeView |
991 #component: #treeView |
933 #hasBorder: false |
992 #hasBorder: false |
934 ) |
993 ) |
935 #(#ViewSpec |
994 #(#ViewSpec |
936 #name: 'view1' |
995 #name: 'Box' |
937 #component: |
996 #component: |
938 #(#SpecCollection |
997 #(#SpecCollection |
939 #collection: |
998 #collection: |
940 #( |
999 #( |
941 #(#NoteBookViewSpec |
1000 #(#NoteBookViewSpec |
942 #name: 'specificationView' |
1001 #name: 'NoteBook' |
943 #layout: #(#LayoutFrame 1 0.0 0 0.0 1 1.0 -26 1.0) |
1002 #layout: #(#LayoutFrame 1 0.0 0 0.0 1 1.0 -26 1.0) |
944 #tabable: true |
1003 #tabable: true |
945 #model: #tabModel |
1004 #model: #tabModel |
946 #menu: #tabList |
1005 #menu: #tabList |
947 #useIndex: true |
1006 #useIndex: true |
960 ) |
1019 ) |
961 ) |
1020 ) |
962 #handles: #(#Any 0.384483 1.0) |
1021 #handles: #(#Any 0.384483 1.0) |
963 ) |
1022 ) |
964 #(#UISubSpecification |
1023 #(#UISubSpecification |
965 #name: 'infoBarSubSpec' |
1024 #name: 'InfoBarSubSpec' |
966 #layout: #(#LayoutFrame 0 0.0 -24 1 0 1.0 0 1.0) |
1025 #layout: #(#LayoutFrame 0 0.0 -24 1 0 1.0 0 1.0) |
967 #majorKey: #ToolApplicationModel |
1026 #majorKey: #ToolApplicationModel |
968 #minorKey: #windowSpecForInfoBar |
1027 #minorKey: #windowSpecForInfoBar |
969 ) |
1028 ) |
970 ) |
1029 ) |
1394 ) nil |
1453 ) nil |
1395 nil |
1454 nil |
1396 ) |
1455 ) |
1397 ! ! |
1456 ! ! |
1398 |
1457 |
1399 !MenuEditor class methodsFor:'resources'! |
|
1400 |
|
1401 iconUnknown |
|
1402 "returns an image used for picked items containing an image |
|
1403 " |
|
1404 |
|
1405 <resource: #fileImage> |
|
1406 |
|
1407 |
|
1408 ^ Image fromFile:'brokenImage.xpm' |
|
1409 ! |
|
1410 |
|
1411 linkSubmenuImage |
|
1412 "Generated by the Image Editor" |
|
1413 " |
|
1414 ImageEditor openOnClass:self andSelector:#linkSubmenuImage |
|
1415 " |
|
1416 |
|
1417 <resource: #image> |
|
1418 |
|
1419 ^Icon |
|
1420 constantNamed:#'MenuEditor linkSubmenuImage' |
|
1421 ifAbsentPut:[(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@ADQDQDQDQDQDQH@D"H"H"H"H"H"K0@RH"H"H"H"H"H/@A????????????<@D@@@@@@@@@@@C0@PL3L0DQDQDQD_@A@3L3LBH"H"H"<@DCL3L3@"H"H"K0@PL3L3L0??????@A@@@@L3L@@@@@<@DQDQDCL3@PLAG0@RH"H"@3L0@3@/@AH"H"H L3L3L0<@G?????<CL3L3L@@P@@@@@@@3L3LO@ADQDQDQDP@CLA<@D"H"H"H"H LBK0@RH"H"H"H"@BH/@B????????????<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 255 0 0 0 255 0 0 0 255 0 255 255 255 255 0 255 0 255 127 0 0 0 127 0 0 0 127 0 127 127 127 127 0 127 0 127 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]! |
|
1422 |
|
1423 menuItemImage |
|
1424 "Generated by the Image Editor" |
|
1425 " |
|
1426 ImageEditor openOnClass:self andSelector:#menuItemImage |
|
1427 " |
|
1428 |
|
1429 <resource: #image> |
|
1430 |
|
1431 ^Icon |
|
1432 constantNamed:#'MenuEditor menuItemImage' |
|
1433 ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'UUUUUUUQUUUUUUUPUUUUUUU_UUUUUUUPUUUUUUUP@@@@@@@@EUUUUUVAF*****+HF:?+::;@F:.+*?;@F:.+::;@F:.+*:;@F:.+::;@F*****+DK??????A@@@@@@@@UUUUUUUPUUUUUUUXUUUUUUUPUUUUUUUPUUUUUUUPUUUUUUUX') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]! |
|
1434 |
|
1435 menuSeparatorImage |
|
1436 "Generated by the Image Editor" |
|
1437 " |
|
1438 ImageEditor openOnClass:self andSelector:#menuSeparatorImage |
|
1439 " |
|
1440 |
|
1441 <resource: #image> |
|
1442 |
|
1443 ^Icon |
|
1444 constantNamed:#'MenuEditor menuSeparatorImage' |
|
1445 ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'UUUUUUURUUUUUUUPUUUUUUUPUUUUUUUPUUUUUUUP@@@@@@@@EUUUUUV@F*****+DF*****+CF?????+@F0@@@@[@F%UUUU[HF*****+@F*****+@K??????N@@@@@@@HUUUUUUUPUUUUUUUPUUUUUUUWUUUUUUUXUUUUUUUPUUUUUUUP') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]! |
|
1446 |
|
1447 submenuImage |
|
1448 "Generated by the Image Editor" |
|
1449 " |
|
1450 ImageEditor openOnClass:self andSelector:#submenuImage |
|
1451 " |
|
1452 |
|
1453 <resource: #image> |
|
1454 |
|
1455 ^Icon |
|
1456 constantNamed:#'MenuEditor submenuImage' |
|
1457 ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@EUUUUUV@F*****+@F*****+@G??????GD@@@@@C@EUUUUUWLF*****+@F*****+@G??????HD@@@@@C@EUUUUUW@F*****+@F*****+OG??????@D@@@@@C@EUUUUUW@F*****+@F*****+@K??????@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]! ! |
|
1458 |
|
1459 !MenuEditor class methodsFor:'slices'! |
1458 !MenuEditor class methodsFor:'slices'! |
1460 |
1459 |
1461 slicesItem |
1460 slicesItem |
1462 ^#( |
1461 ^#( |
1463 (Basics basicsItemSpec) |
1462 (Basics basicsItemSpec) |
1587 ^treeView |
1586 ^treeView |
1588 ! ! |
1587 ! ! |
1589 |
1588 |
1590 !MenuEditor methodsFor:'building'! |
1589 !MenuEditor methodsFor:'building'! |
1591 |
1590 |
|
1591 buildFromClass:aClass andSelector:aSelector |
|
1592 |
|
1593 self isStandAlone ifTrue:[ |
|
1594 self helpTool helpSpecFrom:specClass |
|
1595 ]. |
|
1596 self treeView buildFromClass: aClass andSelector: aSelector. |
|
1597 |
|
1598 self updateHistory. |
|
1599 self updateInfoLabel. |
|
1600 self treeView selection: 2. |
|
1601 self menuChanged |
|
1602 |
|
1603 ! |
|
1604 |
1592 buildFromListSpec: aListSpec |
1605 buildFromListSpec: aListSpec |
1593 |
1606 |
1594 self buildFromMenu: aListSpec |
1607 self buildFromMenu: |
|
1608 (aListSpec class == Menu ifTrue: [aListSpec] ifFalse: [aListSpec decodeAsLiteralArray]) |
1595 ! ! |
1609 ! ! |
1596 |
1610 |
1597 !MenuEditor methodsFor:'change & update'! |
1611 !MenuEditor methodsFor:'change & update'! |
1598 |
1612 |
1599 updateEnabledChannels |
1613 updateEnabledChannels |
1794 |
1808 |
1795 ! ! |
1809 ! ! |
1796 |
1810 |
1797 !MenuEditor methodsFor:'startup / release'! |
1811 !MenuEditor methodsFor:'startup / release'! |
1798 |
1812 |
1799 buildFromClass:aClass andSelector:aSelector |
|
1800 |
|
1801 self isStandAlone ifTrue:[ |
|
1802 self helpTool helpSpecFrom:specClass |
|
1803 ]. |
|
1804 self treeView buildFromClass: aClass andSelector: specSelector. |
|
1805 |
|
1806 self updateHistory. |
|
1807 self updateInfoLabel. |
|
1808 self treeView selection: 2. |
|
1809 self menuChanged |
|
1810 |
|
1811 ! |
|
1812 |
|
1813 openModalOnMenu: aMenu |
1813 openModalOnMenu: aMenu |
1814 "build a tree from aMenu open it modal" |
1814 "build a tree from aMenu and open it modal" |
1815 |
1815 |
1816 super openModalOnListSpec: aMenu |
1816 super openModalOnListSpec: aMenu |
1817 ! |
1817 ! |
1818 |
1818 |
1819 postOpenWith:aBuilder |
1819 postOpenWith:aBuilder |
2024 ! ! |
2027 ! ! |
2025 |
2028 |
2026 !MenuEditor::Item methodsFor:'accessing'! |
2029 !MenuEditor::Item methodsFor:'accessing'! |
2027 |
2030 |
2028 activeHelpKey |
2031 activeHelpKey |
|
2032 "get the help key of the menu item" |
2029 |
2033 |
2030 ^activeHelpKey |
2034 ^activeHelpKey |
2031 ! |
2035 ! |
2032 |
2036 |
2033 activeHelpKey:aKey |
2037 activeHelpKey:aKey |
|
2038 "set the help key of the menu item" |
2034 |
2039 |
2035 activeHelpKey := aKey |
2040 activeHelpKey := aKey |
2036 ! |
2041 ! |
2037 |
2042 |
2038 label |
2043 label |
2039 "return the value of the instance variable 'label' (automatically generated)" |
2044 "get the value of the menu item" |
2040 |
2045 |
2041 ^label |
2046 ^label |
2042 ! |
2047 ! |
2043 |
2048 |
2044 label:something |
2049 label:something |
2045 "set the value of the instance variable 'label' (automatically generated)" |
2050 "set the value of the menu item" |
2046 |
2051 |
2047 label := something ? '-' |
2052 label := something ? '-' |
2048 ! |
2053 ! |
2049 |
2054 |
2050 separatorType |
2055 separatorType |
2051 "returns separator type assigned to item or nil" |
2056 "get the separator type assigned to item or nil" |
2052 |
2057 |
2053 label size > 1 |
2058 label size > 1 |
2054 ifFalse: |
2059 ifFalse: |
2055 [ |
2060 [ |
2056 label size == 0 ifTrue:[^#blank]. |
2061 label size == 0 ifTrue:[^#blank]. |
2255 ] |
2264 ] |
2256 ] |
2265 ] |
2257 ! |
2266 ! |
2258 |
2267 |
2259 isSeparator |
2268 isSeparator |
2260 "returns true if item is a seperator" |
2269 "return true if item is a seperator" |
2261 |
2270 |
2262 ^self separatorType notNil |
2271 ^self separatorType notNil |
2263 ! |
2272 ! |
2264 |
2273 |
2265 treeViewLabel |
2274 treeViewLabel |
|
2275 "get the label of the menu item for the tree view" |
2266 |
2276 |
2267 ^label asBoldText, |
2277 ^label asBoldText, |
2268 (value notNil ifTrue: [': [', |
2278 (value notNil ifTrue: [': [', |
2269 value , |
2279 value , |
2270 (argument notNil ifTrue: [' ', (Text string: argument emphasis: #italic)] ifFalse: ['']), |
2280 (argument notNil ifTrue: [' ', (Text string: argument emphasis: #italic)] ifFalse: ['']), |
2273 |
2283 |
2274 !MenuEditor::TreeView class methodsFor:'documentation'! |
2284 !MenuEditor::TreeView class methodsFor:'documentation'! |
2275 |
2285 |
2276 documentation |
2286 documentation |
2277 " |
2287 " |
2278 menu selection list |
2288 This tree view class provides a hierarchical representation |
|
2289 of the components of a menu. |
2279 |
2290 |
2280 [see also:] |
2291 [see also:] |
2281 SelectionInTreeView |
2292 SelectionInTreeView |
2282 SelectionInTree |
2293 SelectionInTree |
2283 TreeItem |
2294 TreeItem |
2284 |
2295 |
2285 [author:] |
2296 [author:] |
2286 Claus Atzkern |
2297 Claus Atzkern |
2287 " |
2298 " |
2288 |
|
2289 |
|
2290 ! ! |
2299 ! ! |
2291 |
2300 |
2292 !MenuEditor::TreeView methodsFor:'accessing'! |
2301 !MenuEditor::TreeView methodsFor:'accessing'! |
2293 |
2302 |
2294 selectorName |
2303 selectorName |
|
2304 "get the selector of the menu spec" |
2295 |
2305 |
2296 ^(listOfNodes first contents label) asSymbol |
2306 ^(listOfNodes first contents label) asSymbol |
2297 ! |
2307 ! |
2298 |
2308 |
2299 selectorName: aSymbol |
2309 selectorName: aSymbol |
|
2310 "set the selector for the menu spec" |
2300 |
2311 |
2301 listOfNodes first contents label: aSymbol |
2312 listOfNodes first contents label: aSymbol |
2302 ! ! |
2313 ! ! |
2303 |
2314 |
2304 !MenuEditor::TreeView methodsFor:'building'! |
2315 !MenuEditor::TreeView methodsFor:'building'! |
2305 |
2316 |
2306 buildFromClass:aClass andSelector:aSelector |
2317 buildFromClass:aClass andSelector:aSelector |
|
2318 "read a menu spec from aClass and aSelector and put |
|
2319 the encoded menu into the tree view" |
2307 |
2320 |
2308 |spec cls menu firstNode firstNodeLabel| |
2321 |spec cls menu firstNode firstNodeLabel| |
2309 |
2322 |
2310 "if opened on a menu" |
2323 "if opened on a menu" |
2311 (aClass isNil and: [aSelector isNil and: [listOfNodes size > 0]]) ifTrue: [^nil]. |
2324 (aClass isNil and: [aSelector isNil and: [listOfNodes size > 0]]) ifTrue: [^nil]. |
2337 aSelector notNil ifTrue:[firstNodeLabel := aSelector asString] |
2350 aSelector notNil ifTrue:[firstNodeLabel := aSelector asString] |
2338 ifFalse:[firstNodeLabel := 'menu']. |
2351 ifFalse:[firstNodeLabel := 'menu']. |
2339 firstNode := self nodeLabel:firstNodeLabel. |
2352 firstNode := self nodeLabel:firstNodeLabel. |
2340 ] |
2353 ] |
2341 ]. |
2354 ]. |
|
2355 |
2342 firstNode expand. |
2356 firstNode expand. |
2343 model root: firstNode. |
2357 model root: firstNode. |
2344 |
2358 |
2345 firstNode hasChildren ifFalse:[ |
2359 firstNode hasChildren ifFalse:[ |
2346 |firstChildNode| |
2360 |firstChildNode| |