690 (Menu new fromLiteralArrayEncoding:(MenuEditor editMenu)) startUp |
690 (Menu new fromLiteralArrayEncoding:(MenuEditor editMenu)) startUp |
691 " |
691 " |
692 |
692 |
693 <resource: #menu> |
693 <resource: #menu> |
694 |
694 |
695 ^ |
695 ^ |
696 #(Menu |
696 #(Menu |
697 ( |
697 ( |
698 (MenuItem |
698 (MenuItem |
699 activeHelpKey: editCut |
699 activeHelpKey: editCut |
700 enabled: hasSelectionChannel |
700 enabled: hasSelectionChannel |
701 label: 'Cut' |
701 label: 'Cut' |
702 itemValue: doCut |
702 itemValue: doCut |
703 translateLabel: true |
703 translateLabel: true |
704 shortcutKey: Cut |
704 shortcutKey: Cut |
705 ) |
705 ) |
706 (MenuItem |
706 (MenuItem |
707 activeHelpKey: editCopy |
707 activeHelpKey: editCopy |
708 enabled: hasSelectionChannel |
708 enabled: hasSelectionChannel |
709 label: 'Copy' |
709 label: 'Copy' |
710 itemValue: doCopy |
710 itemValue: doCopy |
711 translateLabel: true |
711 translateLabel: true |
712 shortcutKey: Copy |
712 shortcutKey: Copy |
713 ) |
713 ) |
714 (MenuItem |
714 (MenuItem |
715 activeHelpKey: editPaste |
715 activeHelpKey: editPaste |
716 enabled: canPasteHolder |
716 enabled: canPasteHolder |
717 label: 'Paste' |
717 label: 'Paste' |
718 itemValue: doPaste |
718 itemValue: doPaste |
719 translateLabel: true |
719 translateLabel: true |
720 shortcutKey: Paste |
720 shortcutKey: Paste |
721 ) |
721 ) |
722 (MenuItem |
722 (MenuItem |
723 activeHelpKey: editDelete |
723 activeHelpKey: editDelete |
724 enabled: hasSelectionChannel |
724 enabled: hasSelectionChannel |
725 label: 'Delete' |
725 label: 'Delete' |
726 itemValue: doDelete |
726 itemValue: doDelete |
727 translateLabel: true |
727 translateLabel: true |
728 isVisible: false |
728 isVisible: false |
729 ) |
729 ) |
730 (MenuItem |
730 (MenuItem |
731 label: '-' |
731 label: '-' |
732 ) |
732 ) |
733 (MenuItem |
733 (MenuItem |
734 activeHelpKey: editMoveUp |
734 activeHelpKey: editMoveUp |
735 enabled: enableMovingUpOrDownHolder |
735 enabled: enableMovingUpOrDownHolder |
736 label: 'Move Up' |
736 label: 'Move Up' |
737 itemValue: doMoveUpOrDown: |
737 itemValue: doMoveUpOrDown: |
738 translateLabel: true |
738 translateLabel: true |
739 startGroup: right |
739 startGroup: right |
740 shortcutKey: CtrlCursorUp |
740 shortcutKey: CtrlCursorUp |
741 labelImage: (ResourceRetriever Icon upIcon 'Move Up') |
741 labelImage: (ResourceRetriever Icon upIcon 'Move Up') |
742 argument: up |
742 argument: up |
743 ) |
743 ) |
744 (MenuItem |
744 (MenuItem |
745 activeHelpKey: editMoveDown |
745 activeHelpKey: editMoveDown |
746 enabled: enableMovingUpOrDownHolder |
746 enabled: enableMovingUpOrDownHolder |
747 label: 'Move Down' |
747 label: 'Move Down' |
748 itemValue: doMoveUpOrDown: |
748 itemValue: doMoveUpOrDown: |
749 translateLabel: true |
749 translateLabel: true |
750 shortcutKey: CtrlCursorDown |
750 shortcutKey: CtrlCursorDown |
751 labelImage: (ResourceRetriever Icon downIcon 'Move Down') |
751 labelImage: (ResourceRetriever Icon downIcon 'Move Down') |
752 argument: down |
752 argument: down |
753 ) |
753 ) |
754 (MenuItem |
754 (MenuItem |
755 activeHelpKey: editMoveIn |
755 activeHelpKey: editMoveIn |
756 enabled: enableMovingInHolder |
756 enabled: enableMovingInHolder |
757 label: 'Move Into Next' |
757 label: 'Move Into Next' |
758 itemValue: doMoveIn: |
758 itemValue: doMoveIn: |
759 translateLabel: true |
759 translateLabel: true |
760 shortcutKey: CtrlCursorRight |
760 shortcutKey: CtrlCursorRight |
761 labelImage: (ResourceRetriever Icon downRightIcon 'Move Into Next') |
761 labelImage: (ResourceRetriever Icon downRightIcon 'Move Into Next') |
762 argument: inNext |
762 argument: inNext |
763 ) |
763 ) |
764 (MenuItem |
764 (MenuItem |
765 activeHelpKey: editMoveInAbove |
765 activeHelpKey: editMoveInAbove |
766 enabled: enableMovingInAboveHolder |
766 enabled: enableMovingInAboveHolder |
767 label: 'Move Into Previous' |
767 label: 'Move Into Previous' |
768 itemValue: doMoveIn: |
768 itemValue: doMoveIn: |
769 translateLabel: true |
769 translateLabel: true |
770 labelImage: (ResourceRetriever Icon upRightIcon 'Move Into Previous' ) |
770 labelImage: (ResourceRetriever Icon upRightIcon 'Move Into Previous' ) |
771 argument: inPrev |
771 argument: inPrev |
772 ) |
772 ) |
773 (MenuItem |
773 (MenuItem |
774 activeHelpKey: editMoveOut |
774 activeHelpKey: editMoveOut |
775 enabled: enableMovingOutHolder |
775 enabled: enableMovingOutHolder |
776 label: 'Move Out' |
776 label: 'Move Out' |
777 itemValue: doMoveOut |
777 itemValue: doMoveOut |
778 translateLabel: true |
778 translateLabel: true |
779 shortcutKey: CtrlCursorLeft |
779 shortcutKey: CtrlCursorLeft |
780 labelImage: (ResourceRetriever Icon leftDownIcon 'Move Out' ) |
780 labelImage: (ResourceRetriever Icon leftDownIcon 'Move Out' ) |
781 ) |
781 ) |
782 ) |
782 ) |
783 nil |
783 nil |
784 nil |
784 nil |
785 ) |
785 ) |
786 ! |
786 ! |
787 |
787 |
788 editMenuForMainMenuWithoutAccelerators |
788 editMenuForMainMenuWithoutAccelerators |
789 "This resource specification was automatically generated |
789 "This resource specification was automatically generated |
897 (Menu new fromLiteralArrayEncoding:(MenuEditor fileMenu)) startUp |
897 (Menu new fromLiteralArrayEncoding:(MenuEditor fileMenu)) startUp |
898 " |
898 " |
899 |
899 |
900 <resource: #menu> |
900 <resource: #menu> |
901 |
901 |
902 ^ |
902 ^ |
903 #(Menu |
903 #(Menu |
904 ( |
904 ( |
905 (MenuItem |
905 (MenuItem |
906 isVisible: isNotEditingSpecOnlyAndNotEmbeddedInBrowser |
906 isVisible: isNotEditingSpecOnlyAndNotEmbeddedInBrowser |
907 activeHelpKey: fileNew |
907 activeHelpKey: fileNew |
908 label: 'New' |
908 label: 'New' |
909 itemValue: doNew |
909 itemValue: doNew |
910 translateLabel: true |
910 translateLabel: true |
911 ) |
911 ) |
912 (MenuItem |
912 (MenuItem |
913 isVisible: isNotEditingSpecOnlyAndNotEmbeddedInBrowser |
913 isVisible: isNotEditingSpecOnlyAndNotEmbeddedInBrowser |
914 label: '-' |
914 label: '-' |
915 ) |
915 ) |
916 (MenuItem |
916 (MenuItem |
917 isVisible: isNotEditingSpecOnlyAndNotEmbeddedInBrowser |
917 isVisible: isNotEditingSpecOnlyAndNotEmbeddedInBrowser |
918 activeHelpKey: fileLoad |
918 activeHelpKey: fileLoad |
919 label: 'Load...' |
919 label: 'Load...' |
920 itemValue: doLoad |
920 itemValue: doLoad |
921 translateLabel: true |
921 translateLabel: true |
922 ) |
922 ) |
923 (MenuItem |
923 (MenuItem |
924 isVisible: isNotEditingSpecOnlyAndNotEmbeddedInBrowser |
924 isVisible: isNotEditingSpecOnlyAndNotEmbeddedInBrowser |
925 label: '-' |
925 label: '-' |
926 ) |
926 ) |
927 (MenuItem |
927 (MenuItem |
928 isVisible: isEditingSpecOnly |
928 isVisible: isEditingSpecOnly |
929 activeHelpKey: fileSaveSpec |
929 activeHelpKey: fileSaveSpec |
930 label: 'Save' |
930 label: 'Save' |
931 itemValue: doSave |
931 itemValue: doSave |
932 translateLabel: true |
932 translateLabel: true |
933 ) |
933 ) |
934 (MenuItem |
934 (MenuItem |
935 isVisible: isNotEditingSpecOnly |
935 isVisible: isNotEditingSpecOnly |
936 activeHelpKey: fileSave |
936 activeHelpKey: fileSave |
937 label: 'Save' |
937 label: 'Save' |
938 itemValue: doSave |
938 itemValue: doSave |
939 translateLabel: true |
939 translateLabel: true |
940 ) |
940 ) |
941 (MenuItem |
941 (MenuItem |
942 isVisible: isNotEditingSpecOnlyAndNotEmbeddedInBrowser |
942 isVisible: isNotEditingSpecOnlyAndNotEmbeddedInBrowser |
943 activeHelpKey: fileSaveAs |
943 activeHelpKey: fileSaveAs |
944 label: 'Save As...' |
944 label: 'Save As...' |
945 itemValue: doSaveAs |
945 itemValue: doSaveAs |
946 translateLabel: true |
946 translateLabel: true |
947 ) |
947 ) |
948 (MenuItem |
948 (MenuItem |
949 label: '-' |
949 label: '-' |
950 ) |
950 ) |
951 (MenuItem |
951 (MenuItem |
952 activeHelpKey: filePickAMenu |
952 activeHelpKey: filePickAMenu |
953 label: 'Pick a Menu...' |
953 label: 'Pick a Menu...' |
954 itemValue: doPickAMenu |
954 itemValue: doPickAMenu |
955 translateLabel: true |
955 translateLabel: true |
956 ) |
956 ) |
957 (MenuItem |
957 (MenuItem |
958 activeHelpKey: fileChooseAMenu |
958 activeHelpKey: fileChooseAMenu |
959 label: 'Choose a Menu...' |
959 label: 'Choose a Menu...' |
960 itemValue: doChooseAMenu |
960 itemValue: doChooseAMenu |
961 translateLabel: true |
961 translateLabel: true |
962 ) |
962 ) |
963 (MenuItem |
963 (MenuItem |
964 label: '-' |
964 label: '-' |
965 isVisible: isStandAlone |
965 isVisible: isStandAlone |
966 ) |
966 ) |
967 (MenuItem |
967 (MenuItem |
968 activeHelpKey: fileBrowseClass |
968 activeHelpKey: fileBrowseClass |
969 enabled: hasValidSpecClass |
969 enabled: hasValidSpecClass |
970 label: 'Browse Class' |
970 label: 'Browse Class' |
971 itemValue: doBrowseClass |
971 itemValue: doBrowseClass |
972 translateLabel: true |
972 translateLabel: true |
973 isVisible: isStandAlone |
973 isVisible: isStandAlone |
974 ) |
974 ) |
975 (MenuItem |
975 (MenuItem |
976 activeHelpKey: fileShowMenuSpec |
976 activeHelpKey: fileShowMenuSpec |
977 label: 'Show Menu Spec' |
977 label: 'Show Menu Spec' |
978 itemValue: doShowMenuSpec |
978 itemValue: doShowMenuSpec |
979 translateLabel: true |
979 translateLabel: true |
980 isVisible: isStandAlone |
980 isVisible: isStandAlone |
981 ) |
981 ) |
982 (MenuItem |
982 (MenuItem |
983 label: '-' |
983 label: '-' |
984 isVisible: isStandAlone |
984 isVisible: isStandAlone |
985 ) |
985 ) |
986 (MenuItem |
986 (MenuItem |
987 activeHelpKey: fileExit |
987 activeHelpKey: fileExit |
988 label: 'Exit' |
988 label: 'Exit' |
989 itemValue: closeRequest |
989 itemValue: closeRequest |
990 translateLabel: true |
990 translateLabel: true |
991 isVisible: isStandAlone |
991 isVisible: isStandAlone |
992 ) |
992 ) |
993 ) |
993 ) |
994 nil |
994 nil |
995 nil |
995 nil |
996 ) |
996 ) |
997 ! |
997 ! |
998 |
998 |
999 generateMenu |
999 generateMenu |
1000 "This resource specification was automatically generated |
1000 "This resource specification was automatically generated |
1096 (Menu new fromLiteralArrayEncoding:(MenuEditor menu)) startUp |
1096 (Menu new fromLiteralArrayEncoding:(MenuEditor menu)) startUp |
1097 " |
1097 " |
1098 |
1098 |
1099 <resource: #menu> |
1099 <resource: #menu> |
1100 |
1100 |
1101 ^ |
1101 ^ |
1102 #(Menu |
1102 #(Menu |
1103 ( |
1103 ( |
1104 (MenuItem |
1104 (MenuItem |
1105 label: '&File' |
1105 label: '&File' |
1106 translateLabel: true |
1106 translateLabel: true |
1107 submenuChannel: fileMenu |
1107 submenuChannel: fileMenu |
1108 keepLinkedMenu: true |
1108 keepLinkedMenu: true |
1109 ignoreMnemonicKeys: true |
1109 ignoreMnemonicKeys: true |
1110 ignoreShortcutKeys: true |
1110 ignoreShortcutKeys: true |
1111 ) |
1111 ) |
1112 (MenuItem |
1112 (MenuItem |
1113 label: '&Edit' |
1113 label: '&Edit' |
1114 translateLabel: true |
1114 translateLabel: true |
1115 submenuChannel: editMenuForMainMenuWithoutAccelerators |
1115 submenuChannel: editMenuForMainMenuWithoutAccelerators |
1116 keepLinkedMenu: true |
1116 keepLinkedMenu: true |
1117 ) |
1117 ) |
1118 (MenuItem |
1118 (MenuItem |
1119 enabled: hasSingleSelectionChannel |
1119 enabled: hasSingleSelectionChannel |
1120 label: 'Item' |
1120 label: 'Item' |
1121 translateLabel: true |
1121 translateLabel: true |
1122 submenuChannel: addMenu |
1122 submenuChannel: addMenu |
1123 keepLinkedMenu: true |
1123 keepLinkedMenu: true |
1124 ignoreMnemonicKeys: true |
1124 ignoreMnemonicKeys: true |
1125 ignoreShortcutKeys: true |
1125 ignoreShortcutKeys: true |
1126 ) |
1126 ) |
1127 (MenuItem |
1127 (MenuItem |
1128 isVisible: isNotEditingSpecOnly |
1128 isVisible: isNotEditingSpecOnly |
1129 label: 'Generate' |
1129 label: 'Generate' |
1130 translateLabel: true |
1130 translateLabel: true |
1131 submenuChannel: generateMenu |
1131 submenuChannel: generateMenu |
1132 keepLinkedMenu: true |
1132 keepLinkedMenu: true |
1133 ignoreMnemonicKeys: true |
1133 ignoreMnemonicKeys: true |
1134 ignoreShortcutKeys: true |
1134 ignoreShortcutKeys: true |
1135 ) |
1135 ) |
1136 (MenuItem |
1136 (MenuItem |
1137 label: 'Test' |
1137 label: 'Test' |
1138 translateLabel: true |
1138 translateLabel: true |
1139 submenuChannel: submenuTest |
1139 submenuChannel: submenuTest |
1140 ignoreMnemonicKeys: true |
1140 ignoreMnemonicKeys: true |
1141 ignoreShortcutKeys: true |
1141 ignoreShortcutKeys: true |
1142 ) |
1142 ) |
1143 (MenuItem |
1143 (MenuItem |
1144 label: 'Settings' |
1144 label: 'Settings' |
1145 translateLabel: true |
1145 translateLabel: true |
1146 submenuChannel: settingsMenu |
1146 submenuChannel: settingsMenu |
1147 keepLinkedMenu: true |
1147 keepLinkedMenu: true |
1148 ignoreMnemonicKeys: true |
1148 ignoreMnemonicKeys: true |
1149 ignoreShortcutKeys: true |
1149 ignoreShortcutKeys: true |
1150 ) |
1150 ) |
1151 (MenuItem |
1151 (MenuItem |
1152 label: 'History' |
1152 label: 'History' |
1153 translateLabel: true |
1153 translateLabel: true |
1154 isVisible: isStandAlone |
1154 isVisible: isStandAlone |
1155 submenuChannel: menuHistory |
1155 submenuChannel: menuHistory |
1156 ignoreMnemonicKeys: true |
1156 ignoreMnemonicKeys: true |
1157 ignoreShortcutKeys: true |
1157 ignoreShortcutKeys: true |
1158 ) |
1158 ) |
1159 (MenuItem |
1159 (MenuItem |
1160 label: 'MENU_Help' |
1160 label: 'MENU_Help' |
1161 translateLabel: true |
1161 translateLabel: true |
1162 startGroup: conditionalRight |
1162 startGroup: conditionalRight |
1163 submenuChannel: helpMenu |
1163 submenuChannel: helpMenu |
1164 keepLinkedMenu: true |
1164 keepLinkedMenu: true |
1165 ignoreMnemonicKeys: true |
1165 ignoreMnemonicKeys: true |
1166 ignoreShortcutKeys: true |
1166 ignoreShortcutKeys: true |
1167 ) |
1167 ) |
1168 ) |
1168 ) |
1169 nil |
1169 nil |
1170 nil |
1170 nil |
1171 ) |
1171 ) |
1172 ! |
1172 ! |
1173 |
1173 |
1174 settingsMenu |
1174 settingsMenu |
1175 "This resource specification was automatically generated |
1175 "This resource specification was automatically generated |
1260 (Menu new fromLiteralArrayEncoding:(MenuEditor toolbar)) startUp |
1260 (Menu new fromLiteralArrayEncoding:(MenuEditor toolbar)) startUp |
1261 " |
1261 " |
1262 |
1262 |
1263 <resource: #menu> |
1263 <resource: #menu> |
1264 |
1264 |
1265 ^ |
1265 ^ |
1266 #(Menu |
1266 #(Menu |
1267 ( |
1267 ( |
1268 (MenuItem |
1268 (MenuItem |
1269 activeHelpKey: fileNew |
1269 activeHelpKey: fileNew |
1270 label: 'New' |
1270 label: 'New' |
1271 itemValue: doNew |
1271 itemValue: doNew |
1272 translateLabel: true |
1272 translateLabel: true |
1273 isButton: true |
1273 isButton: true |
1274 labelImage: (ResourceRetriever ToolbarIconLibrary newMenuIcon) |
1274 labelImage: (ResourceRetriever ToolbarIconLibrary newMenuIcon) |
1275 ) |
1275 ) |
1276 (MenuItem |
1276 (MenuItem |
1277 label: '-' |
1277 label: '-' |
1278 ) |
1278 ) |
1279 (MenuItem |
1279 (MenuItem |
1280 activeHelpKey: fileLoad |
1280 activeHelpKey: fileLoad |
1281 label: 'Load' |
1281 label: 'Load' |
1282 itemValue: doLoad |
1282 itemValue: doLoad |
1283 translateLabel: true |
1283 translateLabel: true |
1284 isButton: true |
1284 isButton: true |
1285 isVisible: isNotEditingSpecOnly |
1285 isVisible: isNotEditingSpecOnly |
1286 submenuChannel: menuHistory |
1286 submenuChannel: menuHistory |
1287 labelImage: (ResourceRetriever ToolbarIconLibrary loadFromMethodIcon) |
1287 labelImage: (ResourceRetriever ToolbarIconLibrary loadFromMethodIcon) |
1288 keepLinkedMenu: true |
1288 keepLinkedMenu: true |
1289 ) |
1289 ) |
1290 (MenuItem |
1290 (MenuItem |
1291 activeHelpKey: fileSave |
1291 activeHelpKey: fileSave |
1292 label: 'Save' |
1292 label: 'Save' |
1293 itemValue: doSave |
1293 itemValue: doSave |
1294 translateLabel: true |
1294 translateLabel: true |
1295 isButton: true |
1295 isButton: true |
1296 isVisible: isNotEditingSpecOnly |
1296 isVisible: isNotEditingSpecOnly |
1297 labelImage: (ResourceRetriever ToolbarIconLibrary saveAsMethodIcon) |
1297 labelImage: (ResourceRetriever ToolbarIconLibrary saveAsMethodIcon) |
1298 ) |
1298 ) |
1299 (MenuItem |
1299 (MenuItem |
1300 activeHelpKey: fileSaveSpec |
1300 activeHelpKey: fileSaveSpec |
1301 label: 'Save' |
1301 label: 'Save' |
1302 itemValue: doSave |
1302 itemValue: doSave |
1303 translateLabel: true |
1303 translateLabel: true |
1304 isButton: true |
1304 isButton: true |
1305 isVisible: isEditingSpecOnly |
1305 isVisible: isEditingSpecOnly |
1306 labelImage: (ResourceRetriever XPToolbarIconLibrary saveImageIcon) |
1306 labelImage: (ResourceRetriever XPToolbarIconLibrary saveImageIcon) |
1307 ) |
1307 ) |
1308 (MenuItem |
1308 (MenuItem |
1309 label: '-' |
1309 label: '-' |
1310 ) |
1310 ) |
1311 (MenuItem |
1311 (MenuItem |
1312 activeHelpKey: editCut |
1312 activeHelpKey: editCut |
1313 enabled: hasSelectionChannel |
1313 enabled: hasSelectionChannel |
1314 label: 'Cut' |
1314 label: 'Cut' |
1315 itemValue: doCut |
1315 itemValue: doCut |
1316 translateLabel: true |
1316 translateLabel: true |
1317 isButton: true |
1317 isButton: true |
1318 labelImage: (ResourceRetriever ToolbarIconLibrary cutMenuItemIcon) |
1318 labelImage: (ResourceRetriever ToolbarIconLibrary cutMenuItemIcon) |
1319 ) |
1319 ) |
1320 (MenuItem |
1320 (MenuItem |
1321 activeHelpKey: editCopy |
1321 activeHelpKey: editCopy |
1322 enabled: hasSelectionChannel |
1322 enabled: hasSelectionChannel |
1323 label: 'Copy' |
1323 label: 'Copy' |
1324 itemValue: doCopy |
1324 itemValue: doCopy |
1325 translateLabel: true |
1325 translateLabel: true |
1326 isButton: true |
1326 isButton: true |
1327 labelImage: (ResourceRetriever ToolbarIconLibrary copyMenuItemIcon) |
1327 labelImage: (ResourceRetriever ToolbarIconLibrary copyMenuItemIcon) |
1328 ) |
1328 ) |
1329 (MenuItem |
1329 (MenuItem |
1330 activeHelpKey: editPaste |
1330 activeHelpKey: editPaste |
1331 enabled: canPasteHolder |
1331 enabled: canPasteHolder |
1332 label: 'Paste' |
1332 label: 'Paste' |
1333 itemValue: doPaste |
1333 itemValue: doPaste |
1334 translateLabel: true |
1334 translateLabel: true |
1335 isButton: true |
1335 isButton: true |
1336 labelImage: (ResourceRetriever ToolbarIconLibrary pasteMenuItemIcon) |
1336 labelImage: (ResourceRetriever ToolbarIconLibrary pasteMenuItemIcon) |
1337 ) |
1337 ) |
1338 (MenuItem |
1338 (MenuItem |
1339 label: '-' |
1339 label: '-' |
1340 ) |
1340 ) |
1341 (MenuItem |
1341 (MenuItem |
1342 activeHelpKey: addMenuItem |
1342 activeHelpKey: addMenuItem |
1343 enabled: hasSingleSelectionChannel |
1343 enabled: hasSingleSelectionChannel |
1344 label: 'Add Item' |
1344 label: 'Add Item' |
1345 itemValue: doCreateItem |
1345 itemValue: doCreateItem |
1346 translateLabel: true |
1346 translateLabel: true |
1347 isButton: true |
1347 isButton: true |
1348 labelImage: (ResourceRetriever #'MenuEditor::Item' iconItem) |
1348 labelImage: (ResourceRetriever #'MenuEditor::Item' iconItem) |
1349 ) |
1349 ) |
1350 (MenuItem |
1350 (MenuItem |
1351 activeHelpKey: addMenuSeparator |
1351 activeHelpKey: addMenuSeparator |
1352 enabled: hasSingleSelectionChannel |
1352 enabled: hasSingleSelectionChannel |
1353 label: 'Add Separator' |
1353 label: 'Add Separator' |
1354 itemValue: doCreateSep |
1354 itemValue: doCreateSep |
1355 translateLabel: true |
1355 translateLabel: true |
1356 isButton: true |
1356 isButton: true |
1357 labelImage: (ResourceRetriever #'MenuEditor::Item' iconSeparator) |
1357 labelImage: (ResourceRetriever #'MenuEditor::Item' iconSeparator) |
1358 ) |
1358 ) |
1359 (MenuItem |
1359 (MenuItem |
1360 activeHelpKey: addMenuSlice |
1360 activeHelpKey: addMenuSlice |
1361 enabled: hasSingleSelectionChannel |
1361 enabled: hasSingleSelectionChannel |
1362 label: 'Menu Slice' |
1362 label: 'Menu Slice' |
1363 itemValue: doCreateMenuSliceItem |
1363 itemValue: doCreateMenuSliceItem |
1364 translateLabel: true |
1364 translateLabel: true |
1365 isButton: true |
1365 isButton: true |
1366 labelImage: (ResourceRetriever #'MenuEditor::Item' iconSliceMenu) |
1366 labelImage: (ResourceRetriever #'MenuEditor::Item' iconSliceMenu) |
1367 ) |
1367 ) |
1368 (MenuItem |
1368 (MenuItem |
1369 activeHelpKey: addSubMenu |
1369 activeHelpKey: addSubMenu |
1370 enabled: hasSingleSelectionChannel |
1370 enabled: hasSingleSelectionChannel |
1371 label: 'Add Menu' |
1371 label: 'Add Menu' |
1372 itemValue: doCreateMenu |
1372 itemValue: doCreateMenu |
1373 translateLabel: true |
1373 translateLabel: true |
1374 isButton: true |
1374 isButton: true |
1375 submenuChannel: standardMenus |
1375 submenuChannel: standardMenus |
1376 labelImage: (ResourceRetriever #'MenuEditor::Item' iconMenu) |
1376 labelImage: (ResourceRetriever #'MenuEditor::Item' iconMenu) |
1377 keepLinkedMenu: true |
1377 keepLinkedMenu: true |
1378 ) |
1378 ) |
1379 (MenuItem |
1379 (MenuItem |
1380 activeHelpKey: addSubMenuLink |
1380 activeHelpKey: addSubMenuLink |
1381 enabled: hasSingleSelectionChannel |
1381 enabled: hasSingleSelectionChannel |
1382 label: 'Add Linked Menu' |
1382 label: 'Add Linked Menu' |
1383 itemValue: doCreateLinkedMenu |
1383 itemValue: doCreateLinkedMenu |
1384 translateLabel: true |
1384 translateLabel: true |
1385 isButton: true |
1385 isButton: true |
1386 labelImage: (ResourceRetriever #'MenuEditor::Item' iconLinkedMenu) |
1386 labelImage: (ResourceRetriever #'MenuEditor::Item' iconLinkedMenu) |
1387 ) |
1387 ) |
1388 (MenuItem |
1388 (MenuItem |
1389 activeHelpKey: addDelayedMenu |
1389 activeHelpKey: addDelayedMenu |
1390 enabled: canCreateDelayedMenuChannel |
1390 enabled: canCreateDelayedMenuChannel |
1391 label: 'Add Delayed Menu' |
1391 label: 'Add Delayed Menu' |
1392 itemValue: doCreateDelayedMenu: |
1392 itemValue: doCreateDelayedMenu: |
1393 translateLabel: true |
1393 translateLabel: true |
1394 isButton: true |
1394 isButton: true |
1395 labelImage: (ResourceRetriever #'MenuEditor::Item' iconDelayedMenu) |
1395 labelImage: (ResourceRetriever #'MenuEditor::Item' iconDelayedMenu) |
1396 argument: menu |
1396 argument: menu |
1397 ) |
1397 ) |
1398 (MenuItem |
1398 (MenuItem |
1399 activeHelpKey: addDelayedSubMenuLink |
1399 activeHelpKey: addDelayedSubMenuLink |
1400 enabled: canCreateDelayedMenuChannel |
1400 enabled: canCreateDelayedMenuChannel |
1401 label: 'Add Delayed Linked Menu' |
1401 label: 'Add Delayed Linked Menu' |
1402 itemValue: doCreateDelayedMenu: |
1402 itemValue: doCreateDelayedMenu: |
1403 translateLabel: true |
1403 translateLabel: true |
1404 isButton: true |
1404 isButton: true |
1405 labelImage: (ResourceRetriever #'MenuEditor::Item' iconDelayedLinkedMenu) |
1405 labelImage: (ResourceRetriever #'MenuEditor::Item' iconDelayedLinkedMenu) |
1406 argument: linkedMenu |
1406 argument: linkedMenu |
1407 ) |
1407 ) |
1408 (MenuItem |
1408 (MenuItem |
1409 label: '' |
1409 label: '' |
1410 ) |
1410 ) |
1411 (MenuItem |
1411 (MenuItem |
1412 activeHelpKey: editMoveUp |
1412 activeHelpKey: editMoveUp |
1413 enabled: enableMovingUpOrDownHolder |
1413 enabled: enableMovingUpOrDownHolder |
1414 label: 'Move Up' |
1414 label: 'Move Up' |
1415 itemValue: doMoveUp |
1415 itemValue: doMoveUp |
1416 translateLabel: true |
1416 translateLabel: true |
1417 isButton: true |
1417 isButton: true |
1418 startGroup: right |
1418 startGroup: right |
1419 labelImage: (ResourceRetriever Icon upIcon) |
1419 labelImage: (ResourceRetriever Icon upIcon) |
1420 ) |
1420 ) |
1421 (MenuItem |
1421 (MenuItem |
1422 activeHelpKey: editMoveDown |
1422 activeHelpKey: editMoveDown |
1423 enabled: enableMovingUpOrDownHolder |
1423 enabled: enableMovingUpOrDownHolder |
1424 label: 'Move Down' |
1424 label: 'Move Down' |
1425 itemValue: doMoveDown |
1425 itemValue: doMoveDown |
1426 translateLabel: true |
1426 translateLabel: true |
1427 isButton: true |
1427 isButton: true |
1428 labelImage: (ResourceRetriever Icon downIcon) |
1428 labelImage: (ResourceRetriever Icon downIcon) |
1429 ) |
1429 ) |
1430 (MenuItem |
1430 (MenuItem |
1431 activeHelpKey: editMoveIn |
1431 activeHelpKey: editMoveIn |
1432 enabled: enableMovingInHolder |
1432 enabled: enableMovingInHolder |
1433 label: 'Move Into Next' |
1433 label: 'Move Into Next' |
1434 itemValue: doMoveInNext |
1434 itemValue: doMoveInNext |
1435 translateLabel: true |
1435 translateLabel: true |
1436 isButton: true |
1436 isButton: true |
1437 labelImage: (ResourceRetriever Icon downRightIcon) |
1437 labelImage: (ResourceRetriever Icon downRightIcon) |
1438 ) |
1438 ) |
1439 (MenuItem |
1439 (MenuItem |
1440 activeHelpKey: editMoveInAbove |
1440 activeHelpKey: editMoveInAbove |
1441 enabled: enableMovingInAboveHolder |
1441 enabled: enableMovingInAboveHolder |
1442 label: 'Move Into Previous' |
1442 label: 'Move Into Previous' |
1443 itemValue: doMoveInPrevious |
1443 itemValue: doMoveInPrevious |
1444 translateLabel: true |
1444 translateLabel: true |
1445 isButton: true |
1445 isButton: true |
1446 labelImage: (ResourceRetriever Icon upRightIcon) |
1446 labelImage: (ResourceRetriever Icon upRightIcon) |
1447 ) |
1447 ) |
1448 (MenuItem |
1448 (MenuItem |
1449 activeHelpKey: editMoveOut |
1449 activeHelpKey: editMoveOut |
1450 enabled: enableMovingOutHolder |
1450 enabled: enableMovingOutHolder |
1451 label: 'Move Out' |
1451 label: 'Move Out' |
1452 itemValue: doMoveOut |
1452 itemValue: doMoveOut |
1453 translateLabel: true |
1453 translateLabel: true |
1454 isButton: true |
1454 isButton: true |
1455 labelImage: (ResourceRetriever Icon leftDownIcon) |
1455 labelImage: (ResourceRetriever Icon leftDownIcon) |
1456 ) |
1456 ) |
1457 ) |
1457 ) |
1458 nil |
1458 nil |
1459 nil |
1459 nil |
1460 ) |
1460 ) |
1461 ! ! |
1461 ! ! |
1462 |
1462 |
1463 !MenuEditor class methodsFor:'menu specs-standard'! |
1463 !MenuEditor class methodsFor:'menu specs-standard'! |
1464 |
1464 |
2690 "pick a menu and edit its spec method" |
2690 "pick a menu and edit its spec method" |
2691 |
2691 |
2692 |view subSpec app bldr spec menuSelector1 menuSelector2 info| |
2692 |view subSpec app bldr spec menuSelector1 menuSelector2 info| |
2693 |
2693 |
2694 self askForModification ifTrue:[ |
2694 self askForModification ifTrue:[ |
2695 view := Screen current viewFromUser. |
2695 view := Screen current viewFromUser. |
2696 (view isNil or:[view == Screen current rootView]) ifTrue:[ |
2696 (view isNil or:[view == Screen current rootView]) ifTrue:[ |
2697 ^ self |
2697 ^ self |
2698 ]. |
2698 ]. |
2699 view specClass == MenuPanelSpec ifTrue:[ |
2699 view specClass == MenuPanelSpec ifTrue:[ |
2700 (app := view application) isNil ifTrue:[ |
2700 (app := view application) isNil ifTrue:[ |
2701 info := 'Could not figure out the application class.' |
2701 info := 'Could not figure out the application class.' |
2702 ] ifFalse:[ |
2702 ] ifFalse:[ |
2703 (bldr := app builder) isNil ifTrue:[ |
2703 (bldr := app builder) isNil ifTrue:[ |
2704 info := 'Application has no builder.' |
2704 info := 'Application has no builder.' |
2705 ] ifFalse:[ |
2705 ] ifFalse:[ |
2706 menuSelector1 := bldr namedComponents keyAtValue:view ifAbsent:nil. |
2706 menuSelector1 := bldr namedComponents keyAtValue:view ifAbsent:nil. |
2707 (spec := bldr spec) isNil ifTrue:[ |
2707 (spec := bldr spec) isNil ifTrue:[ |
2708 info := 'Cannot fetch spec from applications builder.' |
2708 info := 'Cannot fetch spec from applications builder.' |
2709 ] ifFalse:[ |
2709 ] ifFalse:[ |
2710 subSpec := spec findSpecForWhich:[:subSpec | subSpec name = view name]. |
2710 subSpec := spec findSpecForWhich:[:subSpec | subSpec name = view name]. |
2711 subSpec isNil ifTrue:[ |
2711 subSpec isNil ifTrue:[ |
2712 info := 'Cannot find view-spec for ',view name asString,'.' |
2712 info := 'Cannot find view-spec for ',view name asString,'.' |
2713 ] ifFalse:[ |
2713 ] ifFalse:[ |
2714 menuSelector2 := subSpec menu. |
2714 menuSelector2 := subSpec menu. |
2715 ] |
2715 ] |
2716 ]. |
2716 ]. |
2717 (menuSelector1 isNil and:[ menuSelector2 isNil ]) ifTrue:[ |
2717 (menuSelector1 isNil and:[ menuSelector2 isNil ]) ifTrue:[ |
2718 info := 'menu is probably not provided by a menuSelector.' |
2718 info := 'menu is probably not provided by a menuSelector.' |
2719 ] ifFalse:[ |
2719 ] ifFalse:[ |
2720 (app class respondsTo:menuSelector1) ifTrue:[ |
2720 (app class respondsTo:menuSelector1) ifTrue:[ |
2721 self loadFromClass:app class andSelector:menuSelector1. |
2721 self loadFromClass:app class andSelector:menuSelector1. |
2722 ^ self. |
2722 ^ self. |
2723 ]. |
2723 ]. |
2724 (app class respondsTo:menuSelector2) ifTrue:[ |
2724 (app class respondsTo:menuSelector2) ifTrue:[ |
2725 self loadFromClass:app class andSelector:menuSelector2. |
2725 self loadFromClass:app class andSelector:menuSelector2. |
2726 ^ self. |
2726 ^ self. |
2727 ]. |
2727 ]. |
2728 info := 'menu is probably not provided by a menuSelector.' |
2728 info := 'menu is probably not provided by a menuSelector.' |
2729 ]. |
2729 ]. |
2730 ] |
2730 ] |
2731 ]. |
2731 ]. |
2732 info notNil ifTrue:[ |
2732 info notNil ifTrue:[ |
2733 app notNil ifTrue:[ |
2733 app notNil ifTrue:[ |
2734 (Dialog confirm:(info,'\\Browse ?' withCRs)) ifTrue:[ |
2734 (Dialog confirm:(info,'\\Browse ?' withCRs)) ifTrue:[ |
2735 app browse. |
2735 app browse. |
2736 ]. |
2736 ]. |
2737 ] ifFalse:[ |
2737 ] ifFalse:[ |
2738 Dialog information:info. |
2738 Dialog information:info. |
2739 ]. |
2739 ]. |
2740 ]. |
2740 ]. |
2741 ^ self. |
2741 ^ self. |
2742 ]. |
2742 ]. |
2743 ]. |
2743 ]. |
2744 ! |
2744 ! |
2745 |
2745 |
2746 doNew |
2746 doNew |
2747 "clear editing menu; start from scratch |
2747 "clear editing menu; start from scratch |
3358 UIPainter new openOnClass:MenuEditor::Item andSelector:#detailsEditSpec |
3358 UIPainter new openOnClass:MenuEditor::Item andSelector:#detailsEditSpec |
3359 " |
3359 " |
3360 |
3360 |
3361 <resource: #canvas> |
3361 <resource: #canvas> |
3362 |
3362 |
3363 ^ |
3363 ^ |
3364 #(FullSpec |
3364 #(FullSpec |
3365 name: detailsEditSpec |
3365 name: detailsEditSpec |
3366 window: |
3366 window: |
3367 (WindowSpec |
3367 (WindowSpec |
3368 label: 'Details Edit' |
3368 label: 'Details Edit' |
3369 name: 'Details Edit' |
3369 name: 'Details Edit' |
3370 min: (Point 10 10) |
3370 min: (Point 10 10) |
3371 bounds: (Rectangle 0 0 407 291) |
3371 bounds: (Rectangle 0 0 407 291) |
3372 ) |
3372 ) |
3373 component: |
3373 component: |
3374 (SpecCollection |
3374 (SpecCollection |
3375 collection: ( |
3375 collection: ( |
3376 (LabelSpec |
3376 (LabelSpec |
3377 label: 'Accelerator:' |
3377 label: 'Accelerator:' |
3378 name: 'shortcutKeyLabel' |
3378 name: 'shortcutKeyLabel' |
3379 layout: (AlignmentOrigin 107 0 26 0 1 0.5) |
3379 layout: (AlignmentOrigin 107 0 26 0 1 0.5) |
3380 activeHelpKey: detailsAccelerator |
3380 activeHelpKey: detailsAccelerator |
3381 translateLabel: true |
3381 translateLabel: true |
3382 resizeForLabel: true |
3382 resizeForLabel: true |
3383 adjust: right |
3383 adjust: right |
3384 ) |
3384 ) |
3385 (InputFieldSpec |
3385 (InputFieldSpec |
3386 name: 'shortcutKeyField' |
3386 name: 'shortcutKeyField' |
3387 layout: (LayoutFrame 110 0 15 0 -5 1.0 37 0) |
3387 layout: (LayoutFrame 110 0 15 0 -5 1.0 37 0) |
3388 activeHelpKey: detailsAccelerator |
3388 activeHelpKey: detailsAccelerator |
3389 tabable: true |
3389 tabable: true |
3390 model: shortcutKeyCharacter |
3390 model: shortcutKeyCharacter |
3391 group: inputGroup |
3391 group: inputGroup |
3392 type: symbolOrNil |
3392 type: symbolOrNil |
3393 immediateAccept: false |
3393 immediateAccept: false |
3394 acceptOnReturn: true |
3394 acceptOnReturn: true |
3395 acceptOnTab: true |
3395 acceptOnTab: true |
3396 acceptChannel: acceptChannel |
3396 acceptChannel: acceptChannel |
3397 modifiedChannel: modifiedChannel |
3397 modifiedChannel: modifiedChannel |
3398 acceptOnPointerLeave: false |
3398 acceptOnPointerLeave: false |
3399 ) |
3399 ) |
3400 (LabelSpec |
3400 (LabelSpec |
3401 label: 'Enabled:' |
3401 label: 'Enabled:' |
3402 name: 'enabledLabel' |
3402 name: 'enabledLabel' |
3403 layout: (AlignmentOrigin 107 0 51 0 1 0.5) |
3403 layout: (AlignmentOrigin 107 0 51 0 1 0.5) |
3404 activeHelpKey: detailsEnabled |
3404 activeHelpKey: detailsEnabled |
3405 translateLabel: true |
3405 translateLabel: true |
3406 resizeForLabel: true |
3406 resizeForLabel: true |
3407 adjust: right |
3407 adjust: right |
3408 ) |
3408 ) |
3409 (InputFieldSpec |
3409 (InputFieldSpec |
3410 name: 'enabledField' |
3410 name: 'enabledField' |
3411 layout: (LayoutFrame 110 0 40 0 -25 1.0 62 0) |
3411 layout: (LayoutFrame 110 0 40 0 -25 1.0 62 0) |
3412 activeHelpKey: detailsEnabled |
3412 activeHelpKey: detailsEnabled |
3413 tabable: true |
3413 tabable: true |
3414 model: enabled |
3414 model: enabled |
3415 group: inputGroup |
3415 group: inputGroup |
3416 type: symbolOrBooleanOrNil |
3416 type: symbolOrBooleanOrNil |
3417 immediateAccept: false |
3417 immediateAccept: false |
3418 acceptOnReturn: true |
3418 acceptOnReturn: true |
3419 acceptOnTab: true |
3419 acceptOnTab: true |
3420 acceptChannel: acceptChannel |
3420 acceptChannel: acceptChannel |
3421 modifiedChannel: modifiedChannel |
3421 modifiedChannel: modifiedChannel |
3422 acceptOnPointerLeave: false |
3422 acceptOnPointerLeave: false |
3423 ) |
3423 ) |
3424 (ActionButtonSpec |
3424 (ActionButtonSpec |
3425 label: 'browseActionImage' |
3425 label: 'browseActionImage' |
3426 name: 'Button1' |
3426 name: 'Button1' |
3427 layout: (LayoutFrame -25 1 40 0 -5 1 62 0) |
3427 layout: (LayoutFrame -25 1 40 0 -5 1 62 0) |
3428 activeHelpKey: browseMethod |
3428 activeHelpKey: browseMethod |
3429 hasCharacterOrientedLabel: false |
3429 hasCharacterOrientedLabel: false |
3430 translateLabel: true |
3430 translateLabel: true |
3431 resizeForLabel: true |
3431 resizeForLabel: true |
3432 tabable: true |
3432 tabable: true |
3433 model: doBrowseEnabledMethod |
3433 model: doBrowseEnabledMethod |
3434 ) |
3434 ) |
3435 (LabelSpec |
3435 (LabelSpec |
3436 label: 'Visibility:' |
3436 label: 'Visibility:' |
3437 name: 'visibilityLabel' |
3437 name: 'visibilityLabel' |
3438 layout: (AlignmentOrigin 107 0 76 0 1 0.5) |
3438 layout: (AlignmentOrigin 107 0 76 0 1 0.5) |
3439 activeHelpKey: detailsVisibility |
3439 activeHelpKey: detailsVisibility |
3440 translateLabel: true |
3440 translateLabel: true |
3441 resizeForLabel: true |
3441 resizeForLabel: true |
3442 adjust: right |
3442 adjust: right |
3443 ) |
3443 ) |
3444 (InputFieldSpec |
3444 (InputFieldSpec |
3445 name: 'isVisibleInputField' |
3445 name: 'isVisibleInputField' |
3446 layout: (LayoutFrame 110 0 65 0 -25 1.0 87 0) |
3446 layout: (LayoutFrame 110 0 65 0 -25 1.0 87 0) |
3447 activeHelpKey: detailsVisibility |
3447 activeHelpKey: detailsVisibility |
3448 tabable: true |
3448 tabable: true |
3449 model: isVisible |
3449 model: isVisible |
3450 group: inputGroup |
3450 group: inputGroup |
3451 type: symbolOrBooleanOrNil |
3451 type: symbolOrBooleanOrNil |
3452 immediateAccept: false |
3452 immediateAccept: false |
3453 acceptOnReturn: true |
3453 acceptOnReturn: true |
3454 acceptOnTab: true |
3454 acceptOnTab: true |
3455 acceptChannel: acceptChannel |
3455 acceptChannel: acceptChannel |
3456 modifiedChannel: modifiedChannel |
3456 modifiedChannel: modifiedChannel |
3457 acceptOnPointerLeave: false |
3457 acceptOnPointerLeave: false |
3458 ) |
3458 ) |
3459 (ActionButtonSpec |
3459 (ActionButtonSpec |
3460 label: 'browseActionImage' |
3460 label: 'browseActionImage' |
3461 name: 'Button2' |
3461 name: 'Button2' |
3462 layout: (LayoutFrame -25 1 65 0 -5 1 87 0) |
3462 layout: (LayoutFrame -25 1 65 0 -5 1 87 0) |
3463 activeHelpKey: browseMethod |
3463 activeHelpKey: browseMethod |
3464 hasCharacterOrientedLabel: false |
3464 hasCharacterOrientedLabel: false |
3465 translateLabel: true |
3465 translateLabel: true |
3466 resizeForLabel: true |
3466 resizeForLabel: true |
3467 tabable: true |
3467 tabable: true |
3468 model: doBrowseVisibilityMethod |
3468 model: doBrowseVisibilityMethod |
3469 ) |
3469 ) |
3470 (LabelSpec |
3470 (LabelSpec |
3471 label: 'Aux Value' |
3471 label: 'Aux Value' |
3472 name: 'auxLabel' |
3472 name: 'auxLabel' |
3473 layout: (AlignmentOrigin 107 0 101 0 1 0.5) |
3473 layout: (AlignmentOrigin 107 0 101 0 1 0.5) |
3474 activeHelpKey: detailsAuxValue |
3474 activeHelpKey: detailsAuxValue |
3475 translateLabel: true |
3475 translateLabel: true |
3476 resizeForLabel: true |
3476 resizeForLabel: true |
3477 adjust: right |
3477 adjust: right |
3478 ) |
3478 ) |
3479 (InputFieldSpec |
3479 (InputFieldSpec |
3480 name: 'auxInputField' |
3480 name: 'auxInputField' |
3481 layout: (LayoutFrame 110 0 90 0 -5 1.0 112 0) |
3481 layout: (LayoutFrame 110 0 90 0 -5 1.0 112 0) |
3482 activeHelpKey: detailsAuxValue |
3482 activeHelpKey: detailsAuxValue |
3483 tabable: true |
3483 tabable: true |
3484 model: auxValue |
3484 model: auxValue |
3485 group: inputGroup |
3485 group: inputGroup |
3486 type: smalltalkObjectOrNil |
3486 type: smalltalkObjectOrNil |
3487 immediateAccept: false |
3487 immediateAccept: false |
3488 acceptOnReturn: true |
3488 acceptOnReturn: true |
3489 acceptOnTab: true |
3489 acceptOnTab: true |
3490 acceptChannel: acceptChannel |
3490 acceptChannel: acceptChannel |
3491 modifiedChannel: modifiedChannel |
3491 modifiedChannel: modifiedChannel |
3492 acceptOnPointerLeave: false |
3492 acceptOnPointerLeave: false |
3493 ) |
3493 ) |
3494 (LabelSpec |
3494 (LabelSpec |
3495 label: 'Start Group:' |
3495 label: 'Start Group:' |
3496 name: 'StartGroupLabel' |
3496 name: 'StartGroupLabel' |
3497 layout: (AlignmentOrigin 107 0 139 0 1 0.5) |
3497 layout: (AlignmentOrigin 107 0 139 0 1 0.5) |
3498 activeHelpKey: detailsStartGroup |
3498 activeHelpKey: detailsStartGroup |
3499 translateLabel: true |
3499 translateLabel: true |
3500 resizeForLabel: true |
3500 resizeForLabel: true |
3501 adjust: right |
3501 adjust: right |
3502 ) |
3502 ) |
3503 (PopUpListSpec |
3503 (PopUpListSpec |
3504 label: 'left' |
3504 label: 'left' |
3505 name: 'StartGroupPopUp' |
3505 name: 'StartGroupPopUp' |
3506 layout: (LayoutFrame 110 0 128 0 -5 1.0 150 0) |
3506 layout: (LayoutFrame 110 0 128 0 -5 1.0 150 0) |
3507 activeHelpKey: detailsStartGroup |
3507 activeHelpKey: detailsStartGroup |
3508 tabable: true |
3508 tabable: true |
3509 model: startGroup |
3509 model: startGroup |
3510 menu: |
3510 menu: |
3511 (Array |
3511 (Array |
3512 left right |
3512 left right |
3513 conditionalRight |
3513 conditionalRight |
3514 ) |
3514 ) |
3515 ) |
3515 ) |
3516 (LabelSpec |
3516 (LabelSpec |
3517 label: 'Access Character Position:' |
3517 label: 'Access Character Position:' |
3518 name: 'accessCharLabel' |
3518 name: 'accessCharLabel' |
3519 layout: (AlignmentOrigin 217 0 170 0 1 0.5) |
3519 layout: (AlignmentOrigin 217 0 170 0 1 0.5) |
3520 translateLabel: true |
3520 translateLabel: true |
3521 resizeForLabel: true |
3521 resizeForLabel: true |
3522 adjust: right |
3522 adjust: right |
3523 ) |
3523 ) |
3524 (InputFieldSpec |
3524 (InputFieldSpec |
3525 name: 'accessCharField' |
3525 name: 'accessCharField' |
3526 layout: (LayoutFrame 220 0 159 0 -5 1.0 181 0) |
3526 layout: (LayoutFrame 220 0 159 0 -5 1.0 181 0) |
3527 activeHelpKey: detailsAccessCharaterPosition |
3527 activeHelpKey: detailsAccessCharaterPosition |
3528 tabable: true |
3528 tabable: true |
3529 model: accessCharacterPosition |
3529 model: accessCharacterPosition |
3530 group: inputGroup |
3530 group: inputGroup |
3531 type: numberOrNil |
3531 type: numberOrNil |
3532 immediateAccept: false |
3532 immediateAccept: false |
3533 acceptOnReturn: true |
3533 acceptOnReturn: true |
3534 acceptOnTab: true |
3534 acceptOnTab: true |
3535 acceptChannel: acceptChannel |
3535 acceptChannel: acceptChannel |
3536 modifiedChannel: modifiedChannel |
3536 modifiedChannel: modifiedChannel |
3537 acceptOnPointerLeave: false |
3537 acceptOnPointerLeave: false |
3538 ) |
3538 ) |
3539 (CheckBoxSpec |
3539 (CheckBoxSpec |
3540 label: 'Ignore Accelerator (i.e. Display Only)' |
3540 label: 'Ignore Accelerator (i.e. Display Only)' |
3541 name: 'ignoreShortcutKeysInItem' |
3541 name: 'ignoreShortcutKeysInItem' |
3542 layout: (AlignmentOrigin 42 0 204 0 0 0.5) |
3542 layout: (AlignmentOrigin 42 0 204 0 0 0.5) |
3543 activeHelpKey: detailsIgnoreAcceleratorKeys |
3543 activeHelpKey: detailsIgnoreAcceleratorKeys |
3544 visibilityChannel: hasNoSubmenu |
3544 visibilityChannel: hasNoSubmenu |
3545 model: ignoreShortcutKeys |
3545 model: ignoreShortcutKeys |
3546 translateLabel: true |
3546 translateLabel: true |
3547 resizeForLabel: true |
3547 resizeForLabel: true |
3548 ) |
3548 ) |
3549 (CheckBoxSpec |
3549 (CheckBoxSpec |
3550 label: 'Ignore Accelerators in Submenu' |
3550 label: 'Ignore Accelerators in Submenu' |
3551 name: 'ignoreShortcutKeys' |
3551 name: 'ignoreShortcutKeys' |
3552 layout: (AlignmentOrigin 42 0 204 0 0 0.5) |
3552 layout: (AlignmentOrigin 42 0 204 0 0 0.5) |
3553 activeHelpKey: detailsIgnoreAcceleratorKeys |
3553 activeHelpKey: detailsIgnoreAcceleratorKeys |
3554 visibilityChannel: hasSubmenu |
3554 visibilityChannel: hasSubmenu |
3555 model: ignoreShortcutKeys |
3555 model: ignoreShortcutKeys |
3556 translateLabel: true |
3556 translateLabel: true |
3557 resizeForLabel: true |
3557 resizeForLabel: true |
3558 ) |
3558 ) |
3559 (CheckBoxSpec |
3559 (CheckBoxSpec |
3560 label: 'Ignore Mnemonics in Submenu' |
3560 label: 'Ignore Mnemonics in Submenu' |
3561 name: 'ignoreMnemonicKeys' |
3561 name: 'ignoreMnemonicKeys' |
3562 layout: (AlignmentOrigin 42 0 232 0 0 0.5) |
3562 layout: (AlignmentOrigin 42 0 232 0 0 0.5) |
3563 activeHelpKey: detailsIgnoreMnemonicKeys |
3563 activeHelpKey: detailsIgnoreMnemonicKeys |
3564 visibilityChannel: hasSubmenu |
3564 visibilityChannel: hasSubmenu |
3565 model: ignoreMnemonicKeys |
3565 model: ignoreMnemonicKeys |
3566 translateLabel: true |
3566 translateLabel: true |
3567 resizeForLabel: true |
3567 resizeForLabel: true |
3568 ) |
3568 ) |
3569 (LabelSpec |
3569 (LabelSpec |
3570 label: 'Font:' |
3570 label: 'Font:' |
3571 name: 'fontLabel' |
3571 name: 'fontLabel' |
3572 layout: (AlignmentOrigin 107 0 271 0 1 0.5) |
3572 layout: (AlignmentOrigin 107 0 271 0 1 0.5) |
3573 translateLabel: true |
3573 translateLabel: true |
3574 resizeForLabel: true |
3574 resizeForLabel: true |
3575 adjust: right |
3575 adjust: right |
3576 ) |
3576 ) |
3577 (FontMenuSpec |
3577 (FontMenuSpec |
3578 name: 'fontMenu' |
3578 name: 'fontMenu' |
3579 layout: (LayoutFrame 110 0 260 0 -5 1.0 282 0) |
3579 layout: (LayoutFrame 110 0 260 0 -5 1.0 282 0) |
3580 activeHelpKey: fontMenu |
3580 activeHelpKey: fontMenu |
3581 model: font |
3581 model: font |
3582 allowSymbolicFonts: true |
3582 allowSymbolicFonts: true |
3583 ) |
3583 ) |
3584 ) |
3584 ) |
3585 |
3585 |
3586 ) |
3586 ) |
3587 ) |
3587 ) |
3588 |
3588 |
3589 "Modified: / 21-10-2010 / 14:15:09 / cg" |
3589 "Modified: / 21-10-2010 / 14:15:09 / cg" |
3590 ! ! |
3590 ! ! |
3591 |
3591 |
3925 MenuEditor::ImageResourceEditor open |
3925 MenuEditor::ImageResourceEditor open |
3926 " |
3926 " |
3927 |
3927 |
3928 <resource: #canvas> |
3928 <resource: #canvas> |
3929 |
3929 |
3930 ^ |
3930 ^ |
3931 #(FullSpec |
3931 #(FullSpec |
3932 name: windowSpec |
3932 name: windowSpec |
3933 window: |
3933 window: |
3934 (WindowSpec |
3934 (WindowSpec |
3935 label: 'Image Item' |
3935 label: 'Image Item' |
3936 name: 'Image Item' |
3936 name: 'Image Item' |
3937 min: (Point 10 10) |
3937 min: (Point 10 10) |
3938 bounds: (Rectangle 0 0 303 304) |
3938 bounds: (Rectangle 0 0 303 304) |
3939 ) |
3939 ) |
3940 component: |
3940 component: |
3941 (SpecCollection |
3941 (SpecCollection |
3942 collection: ( |
3942 collection: ( |
3943 (LabelSpec |
3943 (LabelSpec |
3944 label: 'Retriever:' |
3944 label: 'Retriever:' |
3945 name: 'retrieverLabel' |
3945 name: 'retrieverLabel' |
3946 layout: (AlignmentOrigin 107 0 26 0 1 0.5) |
3946 layout: (AlignmentOrigin 107 0 26 0 1 0.5) |
3947 activeHelpKey: imageRetriever |
3947 activeHelpKey: imageRetriever |
3948 translateLabel: true |
3948 translateLabel: true |
3949 resizeForLabel: true |
3949 resizeForLabel: true |
3950 adjust: right |
3950 adjust: right |
3951 ) |
3951 ) |
3952 (ComboBoxSpec |
3952 (ComboBoxSpec |
3953 name: 'retrieverHolder' |
3953 name: 'retrieverHolder' |
3954 layout: (LayoutFrame 110 0 15 0 -2 1.0 37 0) |
3954 layout: (LayoutFrame 110 0 15 0 -2 1.0 37 0) |
3955 activeHelpKey: imageRetriever |
3955 activeHelpKey: imageRetriever |
3956 tabable: true |
3956 tabable: true |
3957 model: retrieverHolder |
3957 model: retrieverHolder |
3958 type: symbolOrNil |
3958 type: symbolOrNil |
3959 immediateAccept: true |
3959 immediateAccept: true |
3960 acceptOnReturn: false |
3960 acceptOnReturn: false |
3961 acceptOnTab: false |
3961 acceptOnTab: false |
3962 acceptOnPointerLeave: false |
3962 acceptOnPointerLeave: false |
3963 entryCompletionBlock: entryCompletionForRetriever |
3963 entryCompletionBlock: entryCompletionForRetriever |
3964 comboList: retrieverList |
3964 comboList: retrieverList |
3965 isFilenameBox: false |
3965 isFilenameBox: false |
3966 ) |
3966 ) |
3967 (LabelSpec |
3967 (LabelSpec |
3968 label: 'Selector:' |
3968 label: 'Selector:' |
3969 name: 'iconLabel' |
3969 name: 'iconLabel' |
3970 layout: (AlignmentOrigin 107 0 51 0 1 0.5) |
3970 layout: (AlignmentOrigin 107 0 51 0 1 0.5) |
3971 activeHelpKey: imageSelector |
3971 activeHelpKey: imageSelector |
3972 translateLabel: true |
3972 translateLabel: true |
3973 resizeForLabel: true |
3973 resizeForLabel: true |
3974 adjust: right |
3974 adjust: right |
3975 ) |
3975 ) |
3976 (InputFieldSpec |
3976 (InputFieldSpec |
3977 name: 'selectorHolder' |
3977 name: 'selectorHolder' |
3978 layout: (LayoutFrame 110 0 40 0 -24 1.0 62 0) |
3978 layout: (LayoutFrame 110 0 40 0 -24 1.0 62 0) |
3979 activeHelpKey: imageSelector |
3979 activeHelpKey: imageSelector |
3980 tabable: true |
3980 tabable: true |
3981 model: selectorHolder |
3981 model: selectorHolder |
3982 group: inputGroup |
3982 group: inputGroup |
3983 type: symbolOrNil |
3983 type: symbolOrNil |
3984 immediateAccept: true |
3984 immediateAccept: true |
3985 acceptOnReturn: false |
3985 acceptOnReturn: false |
3986 acceptOnTab: false |
3986 acceptOnTab: false |
3987 modifiedChannel: modifiedChannel |
3987 modifiedChannel: modifiedChannel |
3988 acceptOnPointerLeave: false |
3988 acceptOnPointerLeave: false |
3989 ) |
3989 ) |
3990 (ActionButtonSpec |
3990 (ActionButtonSpec |
3991 label: '...' |
3991 label: '...' |
3992 name: 'browseButton' |
3992 name: 'browseButton' |
3993 layout: (LayoutFrame -22 1 40 0 -2 1 62 0) |
3993 layout: (LayoutFrame -22 1 40 0 -2 1 62 0) |
3994 activeHelpKey: browseResource |
3994 activeHelpKey: browseResource |
3995 tabable: true |
3995 tabable: true |
3996 model: doBrowseForImageResource |
3996 model: doBrowseForImageResource |
3997 ) |
3997 ) |
3998 (DividerSpec |
3998 (DividerSpec |
3999 name: 'Separator1' |
3999 name: 'Separator1' |
4000 layout: (LayoutFrame 0 0.0 66 0 0 1.0 70 0) |
4000 layout: (LayoutFrame 0 0.0 66 0 0 1.0 70 0) |
4001 ) |
4001 ) |
4002 (ViewSpec |
4002 (ViewSpec |
4003 name: 'SelectorFilterBox2' |
4003 name: 'SelectorFilterBox2' |
4004 layout: (LayoutFrame 0 0.0 74 0 0 1.0 96 0) |
4004 layout: (LayoutFrame 0 0.0 74 0 0 1.0 96 0) |
4005 activeHelpKey: selectorFilter |
4005 activeHelpKey: selectorFilter |
4006 component: |
4006 component: |
4007 (SpecCollection |
4007 (SpecCollection |
4008 collection: ( |
4008 collection: ( |
4009 (LabelSpec |
4009 (LabelSpec |
4010 label: 'Filter:' |
4010 label: 'Filter:' |
4011 name: 'Label1' |
4011 name: 'Label1' |
4012 layout: (AlignmentOrigin 107 0 11 0 1 0.5) |
4012 layout: (AlignmentOrigin 107 0 11 0 1 0.5) |
4013 activeHelpKey: selectorFilter |
4013 activeHelpKey: selectorFilter |
4014 translateLabel: true |
4014 translateLabel: true |
4015 resizeForLabel: true |
4015 resizeForLabel: true |
4016 adjust: right |
4016 adjust: right |
4017 ) |
4017 ) |
4018 (InputFieldSpec |
4018 (InputFieldSpec |
4019 name: 'EntryField1' |
4019 name: 'EntryField1' |
4020 layout: (LayoutFrame 110 0 0 0 -2 1 22 0) |
4020 layout: (LayoutFrame 110 0 0 0 -2 1 22 0) |
4021 model: selectorFilterHolder |
4021 model: selectorFilterHolder |
4022 immediateAccept: true |
4022 immediateAccept: true |
4023 acceptOnLeave: true |
4023 acceptOnLeave: true |
4024 acceptOnReturn: false |
4024 acceptOnReturn: false |
4025 acceptOnTab: false |
4025 acceptOnTab: false |
4026 acceptOnPointerLeave: false |
4026 acceptOnPointerLeave: false |
4027 activeHelpKey: selectorFilter |
4027 activeHelpKey: selectorFilter |
4028 ) |
4028 ) |
4029 ) |
4029 ) |
4030 |
4030 |
4031 ) |
4031 ) |
4032 ) |
4032 ) |
4033 (HierarchicalListViewSpec |
4033 (HierarchicalListViewSpec |
4034 name: 'imageList' |
4034 name: 'imageList' |
4035 layout: (LayoutFrame 2 0.0 100 0 -2 1.0 -60 1.0) |
4035 layout: (LayoutFrame 2 0.0 100 0 -2 1.0 -60 1.0) |
4036 activeHelpKey: imageImageList |
4036 activeHelpKey: imageImageList |
4037 model: imageHolder |
4037 model: imageHolder |
4038 menu: menuEditImage |
4038 menu: menuEditImage |
4039 hasHorizontalScrollBar: true |
4039 hasHorizontalScrollBar: true |
4040 hasVerticalScrollBar: true |
4040 hasVerticalScrollBar: true |
4041 miniScrollerHorizontal: true |
4041 miniScrollerHorizontal: true |
4042 listModel: imageList |
4042 listModel: imageList |
4043 useIndex: false |
4043 useIndex: false |
4044 highlightMode: label |
4044 highlightMode: label |
4045 postBuildCallback: postBuildImageViewer: |
4045 postBuildCallback: postBuildImageViewer: |
4046 ) |
4046 ) |
4047 (ViewSpec |
4047 (ViewSpec |
4048 name: 'Box1' |
4048 name: 'Box1' |
4049 layout: (LayoutFrame 20 0.0 -60 1.0 -20 1.0 0 1.0) |
4049 layout: (LayoutFrame 20 0.0 -60 1.0 -20 1.0 0 1.0) |
4050 level: 0 |
4050 level: 0 |
4051 component: |
4051 component: |
4052 (SpecCollection |
4052 (SpecCollection |
4053 collection: ( |
4053 collection: ( |
4054 (CheckBoxSpec |
4054 (CheckBoxSpec |
4055 label: 'Image & Label' |
4055 label: 'Image & Label' |
4056 name: 'iconAndLabelCheckBox' |
4056 name: 'iconAndLabelCheckBox' |
4057 layout: (AlignmentOrigin 0 0 17 0 0 0.5) |
4057 layout: (AlignmentOrigin 0 0 17 0 0 0.5) |
4058 activeHelpKey: imageImageAndLabel |
4058 activeHelpKey: imageImageAndLabel |
4059 tabable: true |
4059 tabable: true |
4060 model: iconAndLabelHolder |
4060 model: iconAndLabelHolder |
4061 translateLabel: true |
4061 translateLabel: true |
4062 ) |
4062 ) |
4063 (ActionButtonSpec |
4063 (ActionButtonSpec |
4064 label: 'Image Editor' |
4064 label: 'Image Editor' |
4065 name: 'imageEditorButton' |
4065 name: 'imageEditorButton' |
4066 layout: (AlignmentOrigin -69 1.0 17 0 0 0.5) |
4066 layout: (AlignmentOrigin -69 1.0 17 0 0 0.5) |
4067 activeHelpKey: imageImageEditor |
4067 activeHelpKey: imageImageEditor |
4068 hasCharacterOrientedLabel: false |
4068 hasCharacterOrientedLabel: false |
4069 foregroundColor: (Color 0.0 0.0 66.9993133440146) |
4069 foregroundColor: (Color 0.0 0.0 66.9993133440146) |
4070 tabable: true |
4070 tabable: true |
4071 model: doEditImage |
4071 model: doEditImage |
4072 ) |
4072 ) |
4073 (ActionButtonSpec |
4073 (ActionButtonSpec |
4074 label: 'Browse' |
4074 label: 'Browse' |
4075 name: 'Button1' |
4075 name: 'Button1' |
4076 layout: (AlignmentOrigin -69 1.0 41 0 0 0.5) |
4076 layout: (AlignmentOrigin -69 1.0 41 0 0 0.5) |
4077 activeHelpKey: imageBrowseImageClass |
4077 activeHelpKey: imageBrowseImageClass |
4078 hasCharacterOrientedLabel: false |
4078 hasCharacterOrientedLabel: false |
4079 foregroundColor: (Color 0.0 0.0 66.9993133440146) |
4079 foregroundColor: (Color 0.0 0.0 66.9993133440146) |
4080 tabable: true |
4080 tabable: true |
4081 model: doBrowseImageClass |
4081 model: doBrowseImageClass |
4082 ) |
4082 ) |
4083 ) |
4083 ) |
4084 |
4084 |
4085 ) |
4085 ) |
4086 ) |
4086 ) |
4087 ) |
4087 ) |
4088 |
4088 |
4089 ) |
4089 ) |
4090 ) |
4090 ) |
4091 |
4091 |
4092 "Modified: / 03-08-2011 / 10:16:13 / cg" |
4092 "Modified: / 03-08-2011 / 10:16:13 / cg" |
4093 ! ! |
4093 ! ! |
4094 |
4094 |
4578 UIPainter new openOnClass:MenuEditor::ActionItem andSelector:#basicsEditSpec |
4578 UIPainter new openOnClass:MenuEditor::ActionItem andSelector:#basicsEditSpec |
4579 " |
4579 " |
4580 |
4580 |
4581 <resource: #canvas> |
4581 <resource: #canvas> |
4582 |
4582 |
4583 ^ |
4583 ^ |
4584 #(FullSpec |
4584 #(FullSpec |
4585 name: basicsEditSpec |
4585 name: basicsEditSpec |
4586 window: |
4586 window: |
4587 (WindowSpec |
4587 (WindowSpec |
4588 label: 'basicsEditSpec' |
4588 label: 'basicsEditSpec' |
4589 name: 'basicsEditSpec' |
4589 name: 'basicsEditSpec' |
4590 min: (Point 10 10) |
4590 min: (Point 10 10) |
4591 bounds: (Rectangle 0 0 340 340) |
4591 bounds: (Rectangle 0 0 340 340) |
4592 ) |
4592 ) |
4593 component: |
4593 component: |
4594 (SpecCollection |
4594 (SpecCollection |
4595 collection: ( |
4595 collection: ( |
4596 (LabelSpec |
4596 (LabelSpec |
4597 label: 'Name Key:' |
4597 label: 'Name Key:' |
4598 name: 'nameKeyLabel' |
4598 name: 'nameKeyLabel' |
4599 layout: (AlignmentOrigin 107 0 25 0 1 0.5) |
4599 layout: (AlignmentOrigin 107 0 25 0 1 0.5) |
4600 activeHelpKey: basicsKey |
4600 activeHelpKey: basicsKey |
4601 translateLabel: true |
4601 translateLabel: true |
4602 resizeForLabel: true |
4602 resizeForLabel: true |
4603 adjust: right |
4603 adjust: right |
4604 ) |
4604 ) |
4605 (InputFieldSpec |
4605 (InputFieldSpec |
4606 name: 'nameKeyField' |
4606 name: 'nameKeyField' |
4607 layout: (LayoutFrame 110 0 15 0 -5 1.0 37 0) |
4607 layout: (LayoutFrame 110 0 15 0 -5 1.0 37 0) |
4608 activeHelpKey: basicsKey |
4608 activeHelpKey: basicsKey |
4609 tabable: true |
4609 tabable: true |
4610 model: nameKey |
4610 model: nameKey |
4611 group: inputGroup |
4611 group: inputGroup |
4612 type: symbolOrNil |
4612 type: symbolOrNil |
4613 immediateAccept: false |
4613 immediateAccept: false |
4614 acceptOnLeave: false |
4614 acceptOnLeave: false |
4615 acceptOnReturn: true |
4615 acceptOnReturn: true |
4616 acceptOnTab: true |
4616 acceptOnTab: true |
4617 acceptOnLostFocus: false |
4617 acceptOnLostFocus: false |
4618 acceptChannel: acceptChannel |
4618 acceptChannel: acceptChannel |
4619 modifiedChannel: modifiedChannel |
4619 modifiedChannel: modifiedChannel |
4620 acceptOnPointerLeave: false |
4620 acceptOnPointerLeave: false |
4621 ) |
4621 ) |
4622 (LabelSpec |
4622 (LabelSpec |
4623 label: 'Label:' |
4623 label: 'Label:' |
4624 name: 'labelLabel' |
4624 name: 'labelLabel' |
4625 layout: (AlignmentOrigin 107 0 51 0 1 0.5) |
4625 layout: (AlignmentOrigin 107 0 51 0 1 0.5) |
4626 activeHelpKey: basicsLabel |
4626 activeHelpKey: basicsLabel |
4627 translateLabel: true |
4627 translateLabel: true |
4628 resizeForLabel: true |
4628 resizeForLabel: true |
4629 adjust: right |
4629 adjust: right |
4630 ) |
4630 ) |
4631 (InputFieldSpec |
4631 (InputFieldSpec |
4632 name: 'labelField' |
4632 name: 'labelField' |
4633 layout: (LayoutFrame 110 0 40 0 -5 1.0 62 0) |
4633 layout: (LayoutFrame 110 0 40 0 -5 1.0 62 0) |
4634 activeHelpKey: basicsLabel |
4634 activeHelpKey: basicsLabel |
4635 tabable: true |
4635 tabable: true |
4636 model: rawLabel |
4636 model: rawLabel |
4637 group: inputGroup |
4637 group: inputGroup |
4638 immediateAccept: false |
4638 immediateAccept: false |
4639 acceptOnReturn: true |
4639 acceptOnReturn: true |
4640 acceptOnTab: true |
4640 acceptOnTab: true |
4641 acceptOnLostFocus: false |
4641 acceptOnLostFocus: false |
4642 acceptChannel: acceptChannel |
4642 acceptChannel: acceptChannel |
4643 modifiedChannel: modifiedChannel |
4643 modifiedChannel: modifiedChannel |
4644 acceptOnPointerLeave: false |
4644 acceptOnPointerLeave: false |
4645 ) |
4645 ) |
4646 (LabelSpec |
4646 (LabelSpec |
4647 label: 'Action:' |
4647 label: 'Action:' |
4648 name: 'valueLabel' |
4648 name: 'valueLabel' |
4649 layout: (AlignmentOrigin 107 0 82 0 1 0.5) |
4649 layout: (AlignmentOrigin 107 0 82 0 1 0.5) |
4650 activeHelpKey: basicsAction |
4650 activeHelpKey: basicsAction |
4651 translateLabel: true |
4651 translateLabel: true |
4652 resizeForLabel: true |
4652 resizeForLabel: true |
4653 adjust: right |
4653 adjust: right |
4654 ) |
4654 ) |
4655 (InputFieldSpec |
4655 (InputFieldSpec |
4656 name: 'valueField' |
4656 name: 'valueField' |
4657 layout: (LayoutFrame 110 0 71 0 -25 1.0 93 0) |
4657 layout: (LayoutFrame 110 0 71 0 -25 1.0 93 0) |
4658 activeHelpKey: basicsAction |
4658 activeHelpKey: basicsAction |
4659 tabable: true |
4659 tabable: true |
4660 model: itemValue |
4660 model: itemValue |
4661 group: inputGroup |
4661 group: inputGroup |
4662 type: symbolOrNil |
4662 type: symbolOrNil |
4663 immediateAccept: false |
4663 immediateAccept: false |
4664 acceptOnLeave: true |
4664 acceptOnLeave: true |
4665 acceptOnReturn: true |
4665 acceptOnReturn: true |
4666 acceptOnTab: true |
4666 acceptOnTab: true |
4667 acceptOnLostFocus: true |
4667 acceptOnLostFocus: true |
4668 acceptChannel: acceptChannel |
4668 acceptChannel: acceptChannel |
4669 modifiedChannel: modifiedChannel |
4669 modifiedChannel: modifiedChannel |
4670 acceptOnPointerLeave: true |
4670 acceptOnPointerLeave: true |
4671 ) |
4671 ) |
4672 (ActionButtonSpec |
4672 (ActionButtonSpec |
4673 label: 'browseActionImage' |
4673 label: 'browseActionImage' |
4674 name: 'Button1' |
4674 name: 'Button1' |
4675 layout: (LayoutFrame -25 1 71 0 -5 1 93 0) |
4675 layout: (LayoutFrame -25 1 71 0 -5 1 93 0) |
4676 hasCharacterOrientedLabel: false |
4676 hasCharacterOrientedLabel: false |
4677 translateLabel: true |
4677 translateLabel: true |
4678 resizeForLabel: true |
4678 resizeForLabel: true |
4679 tabable: true |
4679 tabable: true |
4680 model: doBrowseActionMethod |
4680 model: doBrowseActionMethod |
4681 activeHelpKey: browseMethod |
4681 activeHelpKey: browseMethod |
4682 ) |
4682 ) |
4683 (LabelSpec |
4683 (LabelSpec |
4684 label: 'Argument:' |
4684 label: 'Argument:' |
4685 name: 'argumentLabel' |
4685 name: 'argumentLabel' |
4686 layout: (AlignmentOrigin 107 0 107 0 1 0.5) |
4686 layout: (AlignmentOrigin 107 0 107 0 1 0.5) |
4687 activeHelpKey: basicsArgument |
4687 activeHelpKey: basicsArgument |
4688 translateLabel: true |
4688 translateLabel: true |
4689 resizeForLabel: true |
4689 resizeForLabel: true |
4690 adjust: right |
4690 adjust: right |
4691 ) |
4691 ) |
4692 (InputFieldSpec |
4692 (InputFieldSpec |
4693 name: 'argumentField' |
4693 name: 'argumentField' |
4694 layout: (LayoutFrame 110 0 96 0 -5 1.0 118 0) |
4694 layout: (LayoutFrame 110 0 96 0 -5 1.0 118 0) |
4695 activeHelpKey: basicsArgument |
4695 activeHelpKey: basicsArgument |
4696 tabable: true |
4696 tabable: true |
4697 model: argument |
4697 model: argument |
4698 group: inputGroup |
4698 group: inputGroup |
4699 type: smalltalkObjectOrNil |
4699 type: smalltalkObjectOrNil |
4700 immediateAccept: false |
4700 immediateAccept: false |
4701 acceptOnReturn: true |
4701 acceptOnReturn: true |
4702 acceptOnTab: true |
4702 acceptOnTab: true |
4703 acceptOnLostFocus: false |
4703 acceptOnLostFocus: false |
4704 acceptChannel: acceptChannel |
4704 acceptChannel: acceptChannel |
4705 modifiedChannel: modifiedChannel |
4705 modifiedChannel: modifiedChannel |
4706 acceptOnPointerLeave: false |
4706 acceptOnPointerLeave: false |
4707 ) |
4707 ) |
4708 (LabelSpec |
4708 (LabelSpec |
4709 label: 'Indication:' |
4709 label: 'Indication:' |
4710 name: 'indicationLabel' |
4710 name: 'indicationLabel' |
4711 layout: (AlignmentOrigin 107 0 138 0 1 0.5) |
4711 layout: (AlignmentOrigin 107 0 138 0 1 0.5) |
4712 activeHelpKey: basicsIndication |
4712 activeHelpKey: basicsIndication |
4713 translateLabel: true |
4713 translateLabel: true |
4714 resizeForLabel: true |
4714 resizeForLabel: true |
4715 adjust: right |
4715 adjust: right |
4716 ) |
4716 ) |
4717 (InputFieldSpec |
4717 (InputFieldSpec |
4718 name: 'indicationField' |
4718 name: 'indicationField' |
4719 layout: (LayoutFrame 110 0 127 0 -5 1.0 149 0) |
4719 layout: (LayoutFrame 110 0 127 0 -5 1.0 149 0) |
4720 activeHelpKey: basicsIndication |
4720 activeHelpKey: basicsIndication |
4721 enableChannel: indicationEnabled |
4721 enableChannel: indicationEnabled |
4722 tabable: true |
4722 tabable: true |
4723 model: indication |
4723 model: indication |
4724 group: inputGroup |
4724 group: inputGroup |
4725 type: symbolOrNil |
4725 type: symbolOrNil |
4726 immediateAccept: true |
4726 immediateAccept: true |
4727 acceptOnReturn: false |
4727 acceptOnReturn: false |
4728 acceptOnTab: false |
4728 acceptOnTab: false |
4729 acceptOnLostFocus: false |
4729 acceptOnLostFocus: false |
4730 modifiedChannel: modifiedChannel |
4730 modifiedChannel: modifiedChannel |
4731 acceptOnPointerLeave: false |
4731 acceptOnPointerLeave: false |
4732 ) |
4732 ) |
4733 (LabelSpec |
4733 (LabelSpec |
4734 label: 'Choice:' |
4734 label: 'Choice:' |
4735 name: 'choiceLabel' |
4735 name: 'choiceLabel' |
4736 layout: (AlignmentOrigin 107 0 163 0 1 0.5) |
4736 layout: (AlignmentOrigin 107 0 163 0 1 0.5) |
4737 activeHelpKey: basicsChoice |
4737 activeHelpKey: basicsChoice |
4738 translateLabel: true |
4738 translateLabel: true |
4739 resizeForLabel: true |
4739 resizeForLabel: true |
4740 adjust: right |
4740 adjust: right |
4741 ) |
4741 ) |
4742 (InputFieldSpec |
4742 (InputFieldSpec |
4743 name: 'choiceField' |
4743 name: 'choiceField' |
4744 layout: (LayoutFrame 110 0 152 0 -5 1.0 174 0) |
4744 layout: (LayoutFrame 110 0 152 0 -5 1.0 174 0) |
4745 activeHelpKey: basicsChoice |
4745 activeHelpKey: basicsChoice |
4746 enableChannel: choiceEnabled |
4746 enableChannel: choiceEnabled |
4747 tabable: true |
4747 tabable: true |
4748 model: choice |
4748 model: choice |
4749 group: inputGroup |
4749 group: inputGroup |
4750 type: symbolOrNil |
4750 type: symbolOrNil |
4751 immediateAccept: true |
4751 immediateAccept: true |
4752 acceptOnReturn: false |
4752 acceptOnReturn: false |
4753 acceptOnTab: false |
4753 acceptOnTab: false |
4754 acceptOnLostFocus: false |
4754 acceptOnLostFocus: false |
4755 modifiedChannel: modifiedChannel |
4755 modifiedChannel: modifiedChannel |
4756 acceptOnPointerLeave: false |
4756 acceptOnPointerLeave: false |
4757 ) |
4757 ) |
4758 (LabelSpec |
4758 (LabelSpec |
4759 label: 'Value:' |
4759 label: 'Value:' |
4760 name: 'choiceValueLabel' |
4760 name: 'choiceValueLabel' |
4761 layout: (AlignmentOrigin 107 0 188 0 1 0.5) |
4761 layout: (AlignmentOrigin 107 0 188 0 1 0.5) |
4762 activeHelpKey: basicsChoiceValue |
4762 activeHelpKey: basicsChoiceValue |
4763 translateLabel: true |
4763 translateLabel: true |
4764 resizeForLabel: true |
4764 resizeForLabel: true |
4765 adjust: right |
4765 adjust: right |
4766 ) |
4766 ) |
4767 (InputFieldSpec |
4767 (InputFieldSpec |
4768 name: 'choiceValueField' |
4768 name: 'choiceValueField' |
4769 layout: (LayoutFrame 110 0 177 0 -5 1.0 199 0) |
4769 layout: (LayoutFrame 110 0 177 0 -5 1.0 199 0) |
4770 activeHelpKey: basicsChoiceValue |
4770 activeHelpKey: basicsChoiceValue |
4771 enableChannel: choiceValueEnabled |
4771 enableChannel: choiceValueEnabled |
4772 tabable: true |
4772 tabable: true |
4773 model: choiceValue |
4773 model: choiceValue |
4774 group: inputGroup |
4774 group: inputGroup |
4775 type: smalltalkObjectOrNil |
4775 type: smalltalkObjectOrNil |
4776 immediateAccept: false |
4776 immediateAccept: false |
4777 acceptOnLeave: false |
4777 acceptOnLeave: false |
4778 acceptOnReturn: true |
4778 acceptOnReturn: true |
4779 acceptOnTab: true |
4779 acceptOnTab: true |
4780 acceptOnLostFocus: false |
4780 acceptOnLostFocus: false |
4781 acceptChannel: acceptChannel |
4781 acceptChannel: acceptChannel |
4782 modifiedChannel: modifiedChannel |
4782 modifiedChannel: modifiedChannel |
4783 acceptOnPointerLeave: false |
4783 acceptOnPointerLeave: false |
4784 ) |
4784 ) |
4785 (CheckBoxSpec |
4785 (CheckBoxSpec |
4786 label: 'Translate Label' |
4786 label: 'Translate Label' |
4787 name: 'translateLabelCheckBox' |
4787 name: 'translateLabelCheckBox' |
4788 layout: (AlignmentOrigin 7 0 213 0 0 0) |
4788 layout: (AlignmentOrigin 7 0 213 0 0 0) |
4789 activeHelpKey: basicsTranslateLabel |
4789 activeHelpKey: basicsTranslateLabel |
4790 tabable: true |
4790 tabable: true |
4791 model: translateLabel |
4791 model: translateLabel |
4792 translateLabel: true |
4792 translateLabel: true |
4793 ) |
4793 ) |
4794 (CheckBoxSpec |
4794 (CheckBoxSpec |
4795 label: 'Is Button' |
4795 label: 'Is Button' |
4796 name: 'isButtonCheckBox' |
4796 name: 'isButtonCheckBox' |
4797 layout: (AlignmentOrigin 7 0 238 0 0 0) |
4797 layout: (AlignmentOrigin 7 0 238 0 0 0) |
4798 activeHelpKey: basicsIsButton |
4798 activeHelpKey: basicsIsButton |
4799 tabable: true |
4799 tabable: true |
4800 model: isButton |
4800 model: isButton |
4801 translateLabel: true |
4801 translateLabel: true |
4802 ) |
4802 ) |
4803 (CheckBoxSpec |
4803 (CheckBoxSpec |
4804 label: 'Hide Menu after Activation' |
4804 label: 'Hide Menu after Activation' |
4805 name: 'hideMenuOnActivated' |
4805 name: 'hideMenuOnActivated' |
4806 layout: (AlignmentOrigin 7 0 263 0 0 0) |
4806 layout: (AlignmentOrigin 7 0 263 0 0 0) |
4807 activeHelpKey: hideMenuOnActivated |
4807 activeHelpKey: hideMenuOnActivated |
4808 tabable: true |
4808 tabable: true |
4809 model: hideMenuOnActivated |
4809 model: hideMenuOnActivated |
4810 translateLabel: true |
4810 translateLabel: true |
4811 ) |
4811 ) |
4812 (CheckBoxSpec |
4812 (CheckBoxSpec |
4813 label: 'BusyCursor while Active' |
4813 label: 'BusyCursor while Active' |
4814 name: 'showBusyCursorWhilePerforming' |
4814 name: 'showBusyCursorWhilePerforming' |
4815 layout: (AlignmentOrigin 7 0 288 0 0 0) |
4815 layout: (AlignmentOrigin 7 0 288 0 0 0) |
4816 activeHelpKey: showBusyCursorWhilePerforming |
4816 activeHelpKey: showBusyCursorWhilePerforming |
4817 tabable: true |
4817 tabable: true |
4818 model: showBusyCursorWhilePerforming |
4818 model: showBusyCursorWhilePerforming |
4819 translateLabel: true |
4819 translateLabel: true |
4820 ) |
4820 ) |
4821 (CheckBoxSpec |
4821 (CheckBoxSpec |
4822 label: 'Trigger On Down' |
4822 label: 'Trigger On Down' |
4823 name: 'triggerOnDown' |
4823 name: 'triggerOnDown' |
4824 layout: (AlignmentOrigin 25 0.5 238 0 0 0) |
4824 layout: (AlignmentOrigin 25 0.5 238 0 0 0) |
4825 activeHelpKey: triggerOnDown |
4825 activeHelpKey: triggerOnDown |
4826 enableChannel: hasNoDelayedMenuValue |
4826 enableChannel: hasNoDelayedMenuValue |
4827 tabable: true |
4827 tabable: true |
4828 model: triggerOnDown |
4828 model: triggerOnDown |
4829 translateLabel: true |
4829 translateLabel: true |
4830 ) |
4830 ) |
4831 (CheckBoxSpec |
4831 (CheckBoxSpec |
4832 label: 'Send To Originating Widget' |
4832 label: 'Send To Originating Widget' |
4833 name: 'sendToOriginator' |
4833 name: 'sendToOriginator' |
4834 layout: (AlignmentOrigin 7 0 313 0 0 0) |
4834 layout: (AlignmentOrigin 7 0 313 0 0 0) |
4835 activeHelpKey: sendToOriginator |
4835 activeHelpKey: sendToOriginator |
4836 enableChannel: hasItemValue |
4836 enableChannel: hasItemValue |
4837 tabable: true |
4837 tabable: true |
4838 model: sendToOriginator |
4838 model: sendToOriginator |
4839 translateLabel: true |
4839 translateLabel: true |
4840 ) |
4840 ) |
4841 ) |
4841 ) |
4842 |
4842 |
4843 ) |
4843 ) |
4844 ) |
4844 ) |
4845 |
4845 |
4846 "Modified: / 21-10-2010 / 14:14:49 / cg" |
4846 "Modified: / 21-10-2010 / 14:14:49 / cg" |
4847 ! ! |
4847 ! ! |
4848 |
4848 |
4849 !MenuEditor::ActionItem class methodsFor:'interface-editor'! |
4849 !MenuEditor::ActionItem class methodsFor:'interface-editor'! |
4850 |
4850 |
4851 addBindingsTo:aspects for:aMenuEditor |
4851 addBindingsTo:aspects for:aMenuEditor |
4852 "add additional bindings to the aspects |
4852 "add additional bindings to the aspects |
4853 " |
4853 " |
4854 aspects |
4854 aspects |
4855 at:#indicationEnabled |
4855 at:#indicationEnabled |
4856 ifAbsentPut:[ BlockValue with:[:a | a size == 0 ] argument:(aspects at:#choice)]. |
4856 ifAbsentPut:[ BlockValue with:[:a | a size == 0 ] argument:(aspects at:#choice)]. |
4857 |
4857 |
4858 aspects |
4858 aspects |
4859 at:#choiceEnabled |
4859 at:#choiceEnabled |
4860 ifAbsentPut:[ BlockValue with:[:a | a size == 0 ] argument:(aspects at:#indication)]. |
4860 ifAbsentPut:[ BlockValue with:[:a | a size == 0 ] argument:(aspects at:#indication)]. |
4861 |
4861 |
4862 aspects |
4862 aspects |
4863 at:#choiceValueEnabled |
4863 at:#choiceValueEnabled |
4864 ifAbsentPut:[ BlockValue with:[:a | a size ~~ 0 ] argument:(aspects at:#choice)]. |
4864 ifAbsentPut:[ BlockValue with:[:a | a size ~~ 0 ] argument:(aspects at:#choice)]. |
4865 |
4865 |
4866 aspects |
4866 aspects |
4867 at:#hasNoDelayedMenuValue |
4867 at:#hasNoDelayedMenuValue |
4868 ifAbsentPut:[true asValue]. |
4868 ifAbsentPut:[true asValue]. |
4869 ! ! |
4869 ! ! |
4870 |
4870 |
4871 !MenuEditor::ActionItem methodsFor:'accessing'! |
4871 !MenuEditor::ActionItem methodsFor:'accessing'! |
4872 |
4872 |
4873 menuItem |
4873 menuItem |
5032 "Do not manually edit this!! If it is corrupted, |
5032 "Do not manually edit this!! If it is corrupted, |
5033 the UIPainter may not be able to read the specification." |
5033 the UIPainter may not be able to read the specification." |
5034 |
5034 |
5035 " |
5035 " |
5036 UIPainter new openOnClass:MenuEditor::LinkedMenuItem andSelector:#basicsEditSpec |
5036 UIPainter new openOnClass:MenuEditor::LinkedMenuItem andSelector:#basicsEditSpec |
5037 " |
|
5038 |
|
5039 <resource: #canvas> |
|
5040 |
|
5041 ^ |
|
5042 #(FullSpec |
|
5043 name: basicsEditSpec |
|
5044 window: |
|
5045 (WindowSpec |
|
5046 label: 'basicsEditSpec' |
|
5047 name: 'basicsEditSpec' |
|
5048 min: (Point 10 10) |
|
5049 bounds: (Rectangle 0 0 340 340) |
|
5050 ) |
|
5051 component: |
|
5052 (SpecCollection |
|
5053 collection: ( |
|
5054 (LabelSpec |
|
5055 label: 'Name Key:' |
|
5056 name: 'nameKeyLabel' |
|
5057 layout: (AlignmentOrigin 107 0 25 0 1 0.5) |
|
5058 activeHelpKey: basicsKey |
|
5059 visibilityChannel: notDelayedMenu |
|
5060 translateLabel: true |
|
5061 resizeForLabel: true |
|
5062 adjust: right |
|
5063 ) |
|
5064 (InputFieldSpec |
|
5065 name: 'nameKeyField' |
|
5066 layout: (LayoutFrame 110 0 15 0 -5 1.0 37 0) |
|
5067 activeHelpKey: basicsKey |
|
5068 visibilityChannel: notDelayedMenu |
|
5069 tabable: true |
|
5070 model: nameKey |
|
5071 group: inputGroup |
|
5072 type: symbolOrNil |
|
5073 immediateAccept: false |
|
5074 acceptOnLeave: false |
|
5075 acceptOnReturn: true |
|
5076 acceptOnTab: true |
|
5077 acceptOnLostFocus: false |
|
5078 acceptChannel: acceptChannel |
|
5079 modifiedChannel: modifiedChannel |
|
5080 acceptOnPointerLeave: false |
|
5081 ) |
|
5082 (LabelSpec |
|
5083 label: 'Label:' |
|
5084 name: 'labelLabel' |
|
5085 layout: (AlignmentOrigin 107 0 51 0 1 0.5) |
|
5086 activeHelpKey: basicsLabel |
|
5087 visibilityChannel: notDelayedMenu |
|
5088 translateLabel: true |
|
5089 resizeForLabel: true |
|
5090 adjust: right |
|
5091 ) |
|
5092 (InputFieldSpec |
|
5093 name: 'labelField' |
|
5094 layout: (LayoutFrame 110 0 40 0 -5 1.0 62 0) |
|
5095 activeHelpKey: basicsLabel |
|
5096 visibilityChannel: notDelayedMenu |
|
5097 tabable: true |
|
5098 model: rawLabel |
|
5099 group: inputGroup |
|
5100 immediateAccept: false |
|
5101 acceptOnReturn: true |
|
5102 acceptOnTab: true |
|
5103 acceptOnLostFocus: false |
|
5104 acceptChannel: acceptChannel |
|
5105 modifiedChannel: modifiedChannel |
|
5106 acceptOnPointerLeave: false |
|
5107 ) |
|
5108 (LabelSpec |
|
5109 label: 'Menu:' |
|
5110 name: 'menuLabel' |
|
5111 layout: (AlignmentOrigin 107 0 90 0 1 0.5) |
|
5112 activeHelpKey: basicsLabel |
|
5113 translateLabel: true |
|
5114 resizeForLabel: true |
|
5115 adjust: right |
|
5116 ) |
|
5117 (InputFieldSpec |
|
5118 name: 'menuField' |
|
5119 layout: (LayoutFrame 110 0 79 0 -5 1.0 101 0) |
|
5120 activeHelpKey: basicsMenu |
|
5121 tabable: true |
|
5122 model: submenuChannel |
|
5123 group: inputGroup |
|
5124 type: symbolOrNil |
|
5125 immediateAccept: false |
|
5126 acceptOnReturn: true |
|
5127 acceptOnTab: true |
|
5128 acceptOnLostFocus: false |
|
5129 acceptChannel: acceptChannel |
|
5130 modifiedChannel: modifiedChannel |
|
5131 acceptOnPointerLeave: false |
|
5132 ) |
|
5133 (LabelSpec |
|
5134 label: 'Argument:' |
|
5135 name: 'argumentLabel' |
|
5136 layout: (AlignmentOrigin 107 0 115 0 1 0.5) |
|
5137 activeHelpKey: basicsLabel |
|
5138 translateLabel: true |
|
5139 resizeForLabel: true |
|
5140 adjust: right |
|
5141 ) |
|
5142 (InputFieldSpec |
|
5143 name: 'argumentField' |
|
5144 layout: (LayoutFrame 110 0 104 0 -5 1.0 126 0) |
|
5145 activeHelpKey: basicsMenuArgument |
|
5146 enableChannel: notDelayedMenu |
|
5147 tabable: true |
|
5148 model: argument |
|
5149 group: inputGroup |
|
5150 type: smalltalkObjectOrNil |
|
5151 immediateAccept: false |
|
5152 acceptOnReturn: true |
|
5153 acceptOnTab: true |
|
5154 acceptOnLostFocus: false |
|
5155 acceptChannel: acceptChannel |
|
5156 modifiedChannel: modifiedChannel |
|
5157 acceptOnPointerLeave: false |
|
5158 ) |
|
5159 (CheckBoxSpec |
|
5160 label: 'Translate Label' |
|
5161 name: 'translateLabelCheckBox' |
|
5162 layout: (Point 20 213) |
|
5163 activeHelpKey: basicsTranslateLabel |
|
5164 visibilityChannel: notDelayedMenu |
|
5165 tabable: true |
|
5166 model: translateLabel |
|
5167 translateLabel: true |
|
5168 ) |
|
5169 (CheckBoxSpec |
|
5170 label: 'Is Button' |
|
5171 name: 'isButtonCheckBox' |
|
5172 layout: (Point 20 238) |
|
5173 activeHelpKey: basicsIsButton |
|
5174 visibilityChannel: notDelayedMenu |
|
5175 tabable: true |
|
5176 model: isButton |
|
5177 translateLabel: true |
|
5178 ) |
|
5179 (CheckBoxSpec |
|
5180 label: 'Horizontal Layout' |
|
5181 name: 'horizontalLayout' |
|
5182 layout: (Point 20 263) |
|
5183 activeHelpKey: horizontalLayout |
|
5184 tabable: true |
|
5185 model: horizontalLayout |
|
5186 translateLabel: true |
|
5187 ) |
|
5188 (CheckBoxSpec |
|
5189 label: 'Do not Destroy Linked Menu' |
|
5190 name: 'keepLinkedMenu' |
|
5191 layout: (Point 20 288) |
|
5192 activeHelpKey: keepLinkedMenu |
|
5193 tabable: true |
|
5194 model: keepLinkedMenu |
|
5195 translateLabel: true |
|
5196 ) |
|
5197 ) |
|
5198 |
|
5199 ) |
|
5200 ) |
|
5201 ! ! |
|
5202 |
|
5203 !MenuEditor::LinkedMenuItem methodsFor:'accessing'! |
|
5204 |
|
5205 argument:aValue |
|
5206 menuItem argument:aValue. |
|
5207 ! |
|
5208 |
|
5209 menuItem |
|
5210 "returns self as a MenuItem |
|
5211 " |
|
5212 |item| |
|
5213 |
|
5214 item := super menuItem. |
|
5215 item submenuChannel:(self submenuChannel). |
|
5216 ^ item |
|
5217 ! |
|
5218 |
|
5219 slices |
|
5220 self isDelayedMenu ifTrue:[ |
|
5221 ^ #( |
|
5222 (Basics basicsEditSpec ) |
|
5223 ) |
|
5224 ]. |
|
5225 |
|
5226 ^ #( |
|
5227 (Basics basicsEditSpec ) |
|
5228 (Details detailsEditSpec) |
|
5229 (Image image ) |
|
5230 (Help help) |
|
5231 ) |
|
5232 ! |
|
5233 |
|
5234 submenuChannel |
|
5235 ^ menuItem submenuChannel ? #unspecified |
|
5236 ! |
|
5237 |
|
5238 submenuChannel:aValue |
|
5239 menuItem submenuChannel:aValue. |
|
5240 ! ! |
|
5241 |
|
5242 !MenuEditor::LinkedMenuItem methodsFor:'aspects'! |
|
5243 |
|
5244 aspectAt:aKey put:aValue |
|
5245 "set a specific aspect named aKey to the aValue" |
|
5246 |
|
5247 aKey == #submenuChannel ifTrue:[ ^ self submenuChannel:aValue ]. |
|
5248 super aspectAt:aKey put:aValue. |
|
5249 |
|
5250 "Modified: / 05-09-2006 / 17:47:39 / cg" |
|
5251 ! |
|
5252 |
|
5253 getDelayedAttributesFrom:anItem |
|
5254 |
|
5255 menuItem rawLabel:'Delayed'. |
|
5256 |
|
5257 menuItem submenuChannel:(self validateValue:(anItem submenuChannel)). |
|
5258 menuItem horizontalLayout:(self validateValue:(anItem horizontalLayout)). |
|
5259 menuItem keepLinkedMenu:(self validateValue:(anItem keepLinkedMenu)). |
|
5260 ! |
|
5261 |
|
5262 setDelayedAttributesTo:aMenuItem |
|
5263 aMenuItem submenuChannel:(self submenuChannel). |
|
5264 aMenuItem horizontalLayout:(menuItem horizontalLayout). |
|
5265 aMenuItem keepLinkedMenu:(menuItem keepLinkedMenu). |
|
5266 ! ! |
|
5267 |
|
5268 !MenuEditor::LinkedMenuItem methodsFor:'displaying'! |
|
5269 |
|
5270 displayLabel |
|
5271 "returns the label dependent on is delayed or not |
|
5272 " |
|
5273 self isDelayedMenu ifTrue:[ ^ self submenuChannel ]. |
|
5274 ^ menuItem rawLabel |
|
5275 ! |
|
5276 |
|
5277 icon |
|
5278 self isDelayedMenu ifTrue:[ ^ self class iconDelayedLinkedMenu ]. |
|
5279 ^ self class iconLinkedMenu |
|
5280 ! ! |
|
5281 |
|
5282 !MenuEditor::LinkedMenuItem methodsFor:'initialization'! |
|
5283 |
|
5284 initialize |
|
5285 "setup default values on the item |
|
5286 " |
|
5287 super initialize. |
|
5288 |
|
5289 "setting default values |
|
5290 " |
|
5291 "/ CG: Thu, 08 May 2008 11:16:54 GMT |
|
5292 "/ I think having keepLinkedMenu true by default |
|
5293 "/ will confuse newcomers (even me occasionally) |
|
5294 "/ (will search, why the menu is not updated...) |
|
5295 |
|
5296 "/ menuItem keepLinkedMenu:true. |
|
5297 menuItem keepLinkedMenu:false. |
|
5298 ! ! |
|
5299 |
|
5300 !MenuEditor::LinkedMenuItem methodsFor:'queries'! |
|
5301 |
|
5302 isKindOfMenu |
|
5303 ^ true |
|
5304 ! ! |
|
5305 |
|
5306 !MenuEditor::MenuSliceItem class methodsFor:'defaults'! |
|
5307 |
|
5308 defaultLabel |
|
5309 ^ 'Menu Slice' |
|
5310 ! ! |
|
5311 |
|
5312 !MenuEditor::MenuSliceItem class methodsFor:'interface specs'! |
|
5313 |
|
5314 basicsEditSpec |
|
5315 "This resource specification was automatically generated |
|
5316 by the UIPainter of ST/X." |
|
5317 |
|
5318 "Do not manually edit this!! If it is corrupted, |
|
5319 the UIPainter may not be able to read the specification." |
|
5320 |
|
5321 " |
|
5322 UIPainter new openOnClass:MenuEditor::MenuSliceItem andSelector:#basicsEditSpec |
|
5323 " |
|
5324 |
|
5325 <resource: #canvas> |
|
5326 |
|
5327 ^ |
|
5328 #(FullSpec |
|
5329 name: basicsEditSpec |
|
5330 window: |
|
5331 (WindowSpec |
|
5332 label: 'basicsEditSpec' |
|
5333 name: 'basicsEditSpec' |
|
5334 min: (Point 10 10) |
|
5335 bounds: (Rectangle 0 0 344 146) |
|
5336 ) |
|
5337 component: |
|
5338 (SpecCollection |
|
5339 collection: ( |
|
5340 (LabelSpec |
|
5341 label: 'Name Key:' |
|
5342 name: 'nameKeyLabel' |
|
5343 layout: (AlignmentOrigin 107 0 25 0 1 0.5) |
|
5344 activeHelpKey: basicsKey |
|
5345 visibilityChannel: notDelayedMenu |
|
5346 translateLabel: true |
|
5347 resizeForLabel: true |
|
5348 adjust: right |
|
5349 ) |
|
5350 (InputFieldSpec |
|
5351 name: 'nameKeyField' |
|
5352 layout: (LayoutFrame 110 0 15 0 -5 1.0 37 0) |
|
5353 activeHelpKey: basicsKey |
|
5354 visibilityChannel: notDelayedMenu |
|
5355 tabable: true |
|
5356 model: nameKey |
|
5357 group: inputGroup |
|
5358 type: symbolOrNil |
|
5359 immediateAccept: false |
|
5360 acceptOnLeave: false |
|
5361 acceptOnReturn: true |
|
5362 acceptOnTab: true |
|
5363 acceptOnLostFocus: false |
|
5364 acceptChannel: acceptChannel |
|
5365 modifiedChannel: modifiedChannel |
|
5366 acceptOnPointerLeave: false |
|
5367 ) |
|
5368 (LabelSpec |
|
5369 label: 'Label:' |
|
5370 name: 'labelLabel' |
|
5371 layout: (AlignmentOrigin 107 0 51 0 1 0.5) |
|
5372 activeHelpKey: basicsLabel |
|
5373 visibilityChannel: notDelayedMenu |
|
5374 translateLabel: true |
|
5375 resizeForLabel: true |
|
5376 adjust: right |
|
5377 ) |
|
5378 (InputFieldSpec |
|
5379 name: 'labelField' |
|
5380 layout: (LayoutFrame 110 0 40 0 -5 1.0 62 0) |
|
5381 activeHelpKey: basicsLabel |
|
5382 visibilityChannel: notDelayedMenu |
|
5383 tabable: true |
|
5384 model: rawLabel |
|
5385 group: inputGroup |
|
5386 immediateAccept: false |
|
5387 acceptOnReturn: true |
|
5388 acceptOnTab: true |
|
5389 acceptOnLostFocus: false |
|
5390 acceptChannel: acceptChannel |
|
5391 modifiedChannel: modifiedChannel |
|
5392 acceptOnPointerLeave: false |
|
5393 ) |
|
5394 (LabelSpec |
|
5395 label: 'Menu:' |
|
5396 name: 'menuLabel' |
|
5397 layout: (AlignmentOrigin 107 0 90 0 1 0.5) |
|
5398 activeHelpKey: basicsLabel |
|
5399 translateLabel: true |
|
5400 resizeForLabel: true |
|
5401 adjust: right |
|
5402 ) |
|
5403 (InputFieldSpec |
|
5404 name: 'menuField' |
|
5405 layout: (LayoutFrame 110 0 79 0 -5 1.0 101 0) |
|
5406 activeHelpKey: basicsMenu |
|
5407 tabable: true |
|
5408 model: submenuChannel |
|
5409 group: inputGroup |
|
5410 type: symbolOrNil |
|
5411 immediateAccept: false |
|
5412 acceptOnReturn: true |
|
5413 acceptOnTab: true |
|
5414 acceptOnLostFocus: false |
|
5415 acceptChannel: acceptChannel |
|
5416 modifiedChannel: modifiedChannel |
|
5417 acceptOnPointerLeave: false |
|
5418 ) |
|
5419 (LabelSpec |
|
5420 label: 'Argument:' |
|
5421 name: 'argumentLabel' |
|
5422 layout: (AlignmentOrigin 107 0 115 0 1 0.5) |
|
5423 activeHelpKey: basicsLabel |
|
5424 translateLabel: true |
|
5425 resizeForLabel: true |
|
5426 adjust: right |
|
5427 ) |
|
5428 (InputFieldSpec |
|
5429 name: 'argumentField' |
|
5430 layout: (LayoutFrame 110 0 104 0 -5 1.0 126 0) |
|
5431 activeHelpKey: basicsMenuArgument |
|
5432 enableChannel: notDelayedMenu |
|
5433 tabable: true |
|
5434 model: argument |
|
5435 group: inputGroup |
|
5436 type: smalltalkObjectOrNil |
|
5437 immediateAccept: false |
|
5438 acceptOnReturn: true |
|
5439 acceptOnTab: true |
|
5440 acceptOnLostFocus: false |
|
5441 acceptChannel: acceptChannel |
|
5442 modifiedChannel: modifiedChannel |
|
5443 acceptOnPointerLeave: false |
|
5444 ) |
|
5445 ) |
|
5446 |
|
5447 ) |
|
5448 ) |
|
5449 ! ! |
|
5450 |
|
5451 !MenuEditor::MenuSliceItem methodsFor:'accessing'! |
|
5452 |
|
5453 icon |
|
5454 ^ self class iconSliceMenu |
|
5455 ! |
|
5456 |
|
5457 menuItem |
|
5458 "returns self as a MenuItem |
|
5459 " |
|
5460 |item| |
|
5461 |
|
5462 item := super menuItem. |
|
5463 item submenuChannel:(self submenuChannel). |
|
5464 item isMenuSlice:true. |
|
5465 ^ item |
|
5466 ! |
|
5467 |
|
5468 slices |
|
5469 ^ #( |
|
5470 (Basics basicsEditSpec) |
|
5471 ) |
|
5472 ! ! |
|
5473 |
|
5474 !MenuEditor::MenuSliceItem methodsFor:'aspects'! |
|
5475 |
|
5476 argument:aValue |
|
5477 menuItem argument:aValue. |
|
5478 ! |
|
5479 |
|
5480 aspectAt:aKey put:aValue |
|
5481 "set a specific aspect named aKey to the aValue" |
|
5482 |
|
5483 aKey == #submenuChannel ifTrue:[ ^ self submenuChannel:aValue ]. |
|
5484 aKey == #isSliceMenu ifTrue:[ ^ self ]. |
|
5485 |
|
5486 super aspectAt:aKey put:aValue. |
|
5487 |
|
5488 "Modified: / 05-09-2006 / 17:47:42 / cg" |
|
5489 ! |
|
5490 |
|
5491 submenuChannel |
|
5492 ^ menuItem submenuChannel ? #unspecified |
|
5493 ! |
|
5494 |
|
5495 submenuChannel:aValue |
|
5496 menuItem submenuChannel:aValue. |
|
5497 ! ! |
|
5498 |
|
5499 !MenuEditor::RegularMenuItem class methodsFor:'defaults'! |
|
5500 |
|
5501 defaultDelayedLabel |
|
5502 ^ 'delayed' |
|
5503 ! |
|
5504 |
|
5505 defaultLabel |
|
5506 ^ 'Menu' |
|
5507 ! ! |
|
5508 |
|
5509 !MenuEditor::RegularMenuItem class methodsFor:'instance creation'! |
|
5510 |
|
5511 menu:aMenu labeled:aString |
|
5512 |item| |
|
5513 |
|
5514 item := self new. |
|
5515 item menu:aMenu labeled:aString. |
|
5516 ^ item |
|
5517 ! |
|
5518 |
|
5519 menu:aMenu labeled:aString translateLabel:translateLabel |
|
5520 |item| |
|
5521 |
|
5522 item := self new. |
|
5523 item menu:aMenu labeled:aString. |
|
5524 item translateLabel:translateLabel. |
|
5525 ^ item |
|
5526 ! ! |
|
5527 |
|
5528 !MenuEditor::RegularMenuItem class methodsFor:'interface specs'! |
|
5529 |
|
5530 basicsEditSpec |
|
5531 "This resource specification was automatically generated |
|
5532 by the UIPainter of ST/X." |
|
5533 |
|
5534 "Do not manually edit this!! If it is corrupted, |
|
5535 the UIPainter may not be able to read the specification." |
|
5536 |
|
5537 " |
|
5538 UIPainter new openOnClass:MenuEditor::RegularMenuItem andSelector:#basicsEditSpec |
|
5539 " |
5037 " |
5540 |
5038 |
5541 <resource: #canvas> |
5039 <resource: #canvas> |
5542 |
5040 |
5543 ^ |
5041 ^ |
5634 activeHelpKey: horizontalLayout |
5183 activeHelpKey: horizontalLayout |
5635 tabable: true |
5184 tabable: true |
5636 model: horizontalLayout |
5185 model: horizontalLayout |
5637 translateLabel: true |
5186 translateLabel: true |
5638 ) |
5187 ) |
|
5188 (CheckBoxSpec |
|
5189 label: 'Do not Destroy Linked Menu' |
|
5190 name: 'keepLinkedMenu' |
|
5191 layout: (Point 20 288) |
|
5192 activeHelpKey: keepLinkedMenu |
|
5193 tabable: true |
|
5194 model: keepLinkedMenu |
|
5195 translateLabel: true |
|
5196 ) |
5639 ) |
5197 ) |
5640 |
5198 |
5641 ) |
5199 ) |
5642 ) |
5200 ) |
5643 ! ! |
5201 ! ! |
5644 |
5202 |
|
5203 !MenuEditor::LinkedMenuItem methodsFor:'accessing'! |
|
5204 |
|
5205 argument:aValue |
|
5206 menuItem argument:aValue. |
|
5207 ! |
|
5208 |
|
5209 menuItem |
|
5210 "returns self as a MenuItem |
|
5211 " |
|
5212 |item| |
|
5213 |
|
5214 item := super menuItem. |
|
5215 item submenuChannel:(self submenuChannel). |
|
5216 ^ item |
|
5217 ! |
|
5218 |
|
5219 slices |
|
5220 self isDelayedMenu ifTrue:[ |
|
5221 ^ #( |
|
5222 (Basics basicsEditSpec ) |
|
5223 ) |
|
5224 ]. |
|
5225 |
|
5226 ^ #( |
|
5227 (Basics basicsEditSpec ) |
|
5228 (Details detailsEditSpec) |
|
5229 (Image image ) |
|
5230 (Help help) |
|
5231 ) |
|
5232 ! |
|
5233 |
|
5234 submenuChannel |
|
5235 ^ menuItem submenuChannel ? #unspecified |
|
5236 ! |
|
5237 |
|
5238 submenuChannel:aValue |
|
5239 menuItem submenuChannel:aValue. |
|
5240 ! ! |
|
5241 |
|
5242 !MenuEditor::LinkedMenuItem methodsFor:'aspects'! |
|
5243 |
|
5244 aspectAt:aKey put:aValue |
|
5245 "set a specific aspect named aKey to the aValue" |
|
5246 |
|
5247 aKey == #submenuChannel ifTrue:[ ^ self submenuChannel:aValue ]. |
|
5248 super aspectAt:aKey put:aValue. |
|
5249 |
|
5250 "Modified: / 05-09-2006 / 17:47:39 / cg" |
|
5251 ! |
|
5252 |
|
5253 getDelayedAttributesFrom:anItem |
|
5254 |
|
5255 menuItem rawLabel:'Delayed'. |
|
5256 |
|
5257 menuItem submenuChannel:(self validateValue:(anItem submenuChannel)). |
|
5258 menuItem horizontalLayout:(self validateValue:(anItem horizontalLayout)). |
|
5259 menuItem keepLinkedMenu:(self validateValue:(anItem keepLinkedMenu)). |
|
5260 ! |
|
5261 |
|
5262 setDelayedAttributesTo:aMenuItem |
|
5263 aMenuItem submenuChannel:(self submenuChannel). |
|
5264 aMenuItem horizontalLayout:(menuItem horizontalLayout). |
|
5265 aMenuItem keepLinkedMenu:(menuItem keepLinkedMenu). |
|
5266 ! ! |
|
5267 |
|
5268 !MenuEditor::LinkedMenuItem methodsFor:'displaying'! |
|
5269 |
|
5270 displayLabel |
|
5271 "returns the label dependent on is delayed or not |
|
5272 " |
|
5273 self isDelayedMenu ifTrue:[ ^ self submenuChannel ]. |
|
5274 ^ menuItem rawLabel |
|
5275 ! |
|
5276 |
|
5277 icon |
|
5278 self isDelayedMenu ifTrue:[ ^ self class iconDelayedLinkedMenu ]. |
|
5279 ^ self class iconLinkedMenu |
|
5280 ! ! |
|
5281 |
|
5282 !MenuEditor::LinkedMenuItem methodsFor:'initialization'! |
|
5283 |
|
5284 initialize |
|
5285 "setup default values on the item |
|
5286 " |
|
5287 super initialize. |
|
5288 |
|
5289 "setting default values |
|
5290 " |
|
5291 "/ CG: Thu, 08 May 2008 11:16:54 GMT |
|
5292 "/ I think having keepLinkedMenu true by default |
|
5293 "/ will confuse newcomers (even me occasionally) |
|
5294 "/ (will search, why the menu is not updated...) |
|
5295 |
|
5296 "/ menuItem keepLinkedMenu:true. |
|
5297 menuItem keepLinkedMenu:false. |
|
5298 ! ! |
|
5299 |
|
5300 !MenuEditor::LinkedMenuItem methodsFor:'queries'! |
|
5301 |
|
5302 isKindOfMenu |
|
5303 ^ true |
|
5304 ! ! |
|
5305 |
|
5306 !MenuEditor::MenuSliceItem class methodsFor:'defaults'! |
|
5307 |
|
5308 defaultLabel |
|
5309 ^ 'Menu Slice' |
|
5310 ! ! |
|
5311 |
|
5312 !MenuEditor::MenuSliceItem class methodsFor:'interface specs'! |
|
5313 |
|
5314 basicsEditSpec |
|
5315 "This resource specification was automatically generated |
|
5316 by the UIPainter of ST/X." |
|
5317 |
|
5318 "Do not manually edit this!! If it is corrupted, |
|
5319 the UIPainter may not be able to read the specification." |
|
5320 |
|
5321 " |
|
5322 UIPainter new openOnClass:MenuEditor::MenuSliceItem andSelector:#basicsEditSpec |
|
5323 " |
|
5324 |
|
5325 <resource: #canvas> |
|
5326 |
|
5327 ^ |
|
5328 #(FullSpec |
|
5329 name: basicsEditSpec |
|
5330 window: |
|
5331 (WindowSpec |
|
5332 label: 'basicsEditSpec' |
|
5333 name: 'basicsEditSpec' |
|
5334 min: (Point 10 10) |
|
5335 bounds: (Rectangle 0 0 344 146) |
|
5336 ) |
|
5337 component: |
|
5338 (SpecCollection |
|
5339 collection: ( |
|
5340 (LabelSpec |
|
5341 label: 'Name Key:' |
|
5342 name: 'nameKeyLabel' |
|
5343 layout: (AlignmentOrigin 107 0 25 0 1 0.5) |
|
5344 activeHelpKey: basicsKey |
|
5345 visibilityChannel: notDelayedMenu |
|
5346 translateLabel: true |
|
5347 resizeForLabel: true |
|
5348 adjust: right |
|
5349 ) |
|
5350 (InputFieldSpec |
|
5351 name: 'nameKeyField' |
|
5352 layout: (LayoutFrame 110 0 15 0 -5 1.0 37 0) |
|
5353 activeHelpKey: basicsKey |
|
5354 visibilityChannel: notDelayedMenu |
|
5355 tabable: true |
|
5356 model: nameKey |
|
5357 group: inputGroup |
|
5358 type: symbolOrNil |
|
5359 immediateAccept: false |
|
5360 acceptOnLeave: false |
|
5361 acceptOnReturn: true |
|
5362 acceptOnTab: true |
|
5363 acceptOnLostFocus: false |
|
5364 acceptChannel: acceptChannel |
|
5365 modifiedChannel: modifiedChannel |
|
5366 acceptOnPointerLeave: false |
|
5367 ) |
|
5368 (LabelSpec |
|
5369 label: 'Label:' |
|
5370 name: 'labelLabel' |
|
5371 layout: (AlignmentOrigin 107 0 51 0 1 0.5) |
|
5372 activeHelpKey: basicsLabel |
|
5373 visibilityChannel: notDelayedMenu |
|
5374 translateLabel: true |
|
5375 resizeForLabel: true |
|
5376 adjust: right |
|
5377 ) |
|
5378 (InputFieldSpec |
|
5379 name: 'labelField' |
|
5380 layout: (LayoutFrame 110 0 40 0 -5 1.0 62 0) |
|
5381 activeHelpKey: basicsLabel |
|
5382 visibilityChannel: notDelayedMenu |
|
5383 tabable: true |
|
5384 model: rawLabel |
|
5385 group: inputGroup |
|
5386 immediateAccept: false |
|
5387 acceptOnReturn: true |
|
5388 acceptOnTab: true |
|
5389 acceptOnLostFocus: false |
|
5390 acceptChannel: acceptChannel |
|
5391 modifiedChannel: modifiedChannel |
|
5392 acceptOnPointerLeave: false |
|
5393 ) |
|
5394 (LabelSpec |
|
5395 label: 'Menu:' |
|
5396 name: 'menuLabel' |
|
5397 layout: (AlignmentOrigin 107 0 90 0 1 0.5) |
|
5398 activeHelpKey: basicsLabel |
|
5399 translateLabel: true |
|
5400 resizeForLabel: true |
|
5401 adjust: right |
|
5402 ) |
|
5403 (InputFieldSpec |
|
5404 name: 'menuField' |
|
5405 layout: (LayoutFrame 110 0 79 0 -5 1.0 101 0) |
|
5406 activeHelpKey: basicsMenu |
|
5407 tabable: true |
|
5408 model: submenuChannel |
|
5409 group: inputGroup |
|
5410 type: symbolOrNil |
|
5411 immediateAccept: false |
|
5412 acceptOnReturn: true |
|
5413 acceptOnTab: true |
|
5414 acceptOnLostFocus: false |
|
5415 acceptChannel: acceptChannel |
|
5416 modifiedChannel: modifiedChannel |
|
5417 acceptOnPointerLeave: false |
|
5418 ) |
|
5419 (LabelSpec |
|
5420 label: 'Argument:' |
|
5421 name: 'argumentLabel' |
|
5422 layout: (AlignmentOrigin 107 0 115 0 1 0.5) |
|
5423 activeHelpKey: basicsLabel |
|
5424 translateLabel: true |
|
5425 resizeForLabel: true |
|
5426 adjust: right |
|
5427 ) |
|
5428 (InputFieldSpec |
|
5429 name: 'argumentField' |
|
5430 layout: (LayoutFrame 110 0 104 0 -5 1.0 126 0) |
|
5431 activeHelpKey: basicsMenuArgument |
|
5432 enableChannel: notDelayedMenu |
|
5433 tabable: true |
|
5434 model: argument |
|
5435 group: inputGroup |
|
5436 type: smalltalkObjectOrNil |
|
5437 immediateAccept: false |
|
5438 acceptOnReturn: true |
|
5439 acceptOnTab: true |
|
5440 acceptOnLostFocus: false |
|
5441 acceptChannel: acceptChannel |
|
5442 modifiedChannel: modifiedChannel |
|
5443 acceptOnPointerLeave: false |
|
5444 ) |
|
5445 ) |
|
5446 |
|
5447 ) |
|
5448 ) |
|
5449 ! ! |
|
5450 |
|
5451 !MenuEditor::MenuSliceItem methodsFor:'accessing'! |
|
5452 |
|
5453 icon |
|
5454 ^ self class iconSliceMenu |
|
5455 ! |
|
5456 |
|
5457 menuItem |
|
5458 "returns self as a MenuItem |
|
5459 " |
|
5460 |item| |
|
5461 |
|
5462 item := super menuItem. |
|
5463 item submenuChannel:(self submenuChannel). |
|
5464 item isMenuSlice:true. |
|
5465 ^ item |
|
5466 ! |
|
5467 |
|
5468 slices |
|
5469 ^ #( |
|
5470 (Basics basicsEditSpec) |
|
5471 ) |
|
5472 ! ! |
|
5473 |
|
5474 !MenuEditor::MenuSliceItem methodsFor:'aspects'! |
|
5475 |
|
5476 argument:aValue |
|
5477 menuItem argument:aValue. |
|
5478 ! |
|
5479 |
|
5480 aspectAt:aKey put:aValue |
|
5481 "set a specific aspect named aKey to the aValue" |
|
5482 |
|
5483 aKey == #submenuChannel ifTrue:[ ^ self submenuChannel:aValue ]. |
|
5484 aKey == #isSliceMenu ifTrue:[ ^ self ]. |
|
5485 |
|
5486 super aspectAt:aKey put:aValue. |
|
5487 |
|
5488 "Modified: / 05-09-2006 / 17:47:42 / cg" |
|
5489 ! |
|
5490 |
|
5491 submenuChannel |
|
5492 ^ menuItem submenuChannel ? #unspecified |
|
5493 ! |
|
5494 |
|
5495 submenuChannel:aValue |
|
5496 menuItem submenuChannel:aValue. |
|
5497 ! ! |
|
5498 |
|
5499 !MenuEditor::RegularMenuItem class methodsFor:'defaults'! |
|
5500 |
|
5501 defaultDelayedLabel |
|
5502 ^ 'delayed' |
|
5503 ! |
|
5504 |
|
5505 defaultLabel |
|
5506 ^ 'Menu' |
|
5507 ! ! |
|
5508 |
|
5509 !MenuEditor::RegularMenuItem class methodsFor:'instance creation'! |
|
5510 |
|
5511 menu:aMenu labeled:aString |
|
5512 |item| |
|
5513 |
|
5514 item := self new. |
|
5515 item menu:aMenu labeled:aString. |
|
5516 ^ item |
|
5517 ! |
|
5518 |
|
5519 menu:aMenu labeled:aString translateLabel:translateLabel |
|
5520 |item| |
|
5521 |
|
5522 item := self new. |
|
5523 item menu:aMenu labeled:aString. |
|
5524 item translateLabel:translateLabel. |
|
5525 ^ item |
|
5526 ! ! |
|
5527 |
|
5528 !MenuEditor::RegularMenuItem class methodsFor:'interface specs'! |
|
5529 |
|
5530 basicsEditSpec |
|
5531 "This resource specification was automatically generated |
|
5532 by the UIPainter of ST/X." |
|
5533 |
|
5534 "Do not manually edit this!! If it is corrupted, |
|
5535 the UIPainter may not be able to read the specification." |
|
5536 |
|
5537 " |
|
5538 UIPainter new openOnClass:MenuEditor::RegularMenuItem andSelector:#basicsEditSpec |
|
5539 " |
|
5540 |
|
5541 <resource: #canvas> |
|
5542 |
|
5543 ^ |
|
5544 #(FullSpec |
|
5545 name: basicsEditSpec |
|
5546 window: |
|
5547 (WindowSpec |
|
5548 label: 'basicsEditSpec' |
|
5549 name: 'basicsEditSpec' |
|
5550 min: (Point 10 10) |
|
5551 bounds: (Rectangle 0 0 340 340) |
|
5552 ) |
|
5553 component: |
|
5554 (SpecCollection |
|
5555 collection: ( |
|
5556 (LabelSpec |
|
5557 label: 'Name Key:' |
|
5558 name: 'nameKeyLabel' |
|
5559 layout: (AlignmentOrigin 107 0 25 0 1 0.5) |
|
5560 activeHelpKey: basicsKey |
|
5561 visibilityChannel: notDelayedMenu |
|
5562 translateLabel: true |
|
5563 resizeForLabel: true |
|
5564 adjust: right |
|
5565 ) |
|
5566 (InputFieldSpec |
|
5567 name: 'nameKeyField' |
|
5568 layout: (LayoutFrame 110 0 15 0 -5 1.0 37 0) |
|
5569 activeHelpKey: basicsKey |
|
5570 visibilityChannel: notDelayedMenu |
|
5571 tabable: true |
|
5572 model: nameKey |
|
5573 group: inputGroup |
|
5574 type: symbolOrNil |
|
5575 immediateAccept: false |
|
5576 acceptOnLeave: false |
|
5577 acceptOnReturn: true |
|
5578 acceptOnTab: true |
|
5579 acceptOnLostFocus: false |
|
5580 acceptChannel: acceptChannel |
|
5581 modifiedChannel: modifiedChannel |
|
5582 acceptOnPointerLeave: false |
|
5583 ) |
|
5584 (LabelSpec |
|
5585 label: 'Label:' |
|
5586 name: 'labelLabel' |
|
5587 layout: (AlignmentOrigin 107 0 51 0 1 0.5) |
|
5588 activeHelpKey: basicsLabel |
|
5589 visibilityChannel: notDelayedMenu |
|
5590 translateLabel: true |
|
5591 resizeForLabel: true |
|
5592 adjust: right |
|
5593 ) |
|
5594 (InputFieldSpec |
|
5595 name: 'labelField' |
|
5596 layout: (LayoutFrame 110 0 40 0 -5 1.0 62 0) |
|
5597 activeHelpKey: basicsLabel |
|
5598 visibilityChannel: notDelayedMenu |
|
5599 tabable: true |
|
5600 model: rawLabel |
|
5601 group: inputGroup |
|
5602 immediateAccept: false |
|
5603 acceptOnReturn: true |
|
5604 acceptOnTab: true |
|
5605 acceptOnLostFocus: false |
|
5606 acceptChannel: acceptChannel |
|
5607 modifiedChannel: modifiedChannel |
|
5608 acceptOnPointerLeave: false |
|
5609 ) |
|
5610 (CheckBoxSpec |
|
5611 label: 'Translate Label' |
|
5612 name: 'translateLabelCheckBox' |
|
5613 layout: (Point 20 213) |
|
5614 activeHelpKey: basicsTranslateLabel |
|
5615 visibilityChannel: notDelayedMenu |
|
5616 tabable: true |
|
5617 model: translateLabel |
|
5618 translateLabel: true |
|
5619 ) |
|
5620 (CheckBoxSpec |
|
5621 label: 'Is Button' |
|
5622 name: 'isButtonCheckBox' |
|
5623 layout: (Point 20 238) |
|
5624 activeHelpKey: basicsIsButton |
|
5625 visibilityChannel: notDelayedMenu |
|
5626 tabable: true |
|
5627 model: isButton |
|
5628 translateLabel: true |
|
5629 ) |
|
5630 (CheckBoxSpec |
|
5631 label: 'Horizontal Layout' |
|
5632 name: 'horizontalLayout' |
|
5633 layout: (Point 20 263) |
|
5634 activeHelpKey: horizontalLayout |
|
5635 tabable: true |
|
5636 model: horizontalLayout |
|
5637 translateLabel: true |
|
5638 ) |
|
5639 ) |
|
5640 |
|
5641 ) |
|
5642 ) |
|
5643 ! ! |
|
5644 |
5645 !MenuEditor::RegularMenuItem methodsFor:'accessing'! |
5645 !MenuEditor::RegularMenuItem methodsFor:'accessing'! |
5646 |
5646 |
5647 argument:aValue |
5647 argument:aValue |
5648 "/ ignorred. |
5648 "/ ignorred. |
5649 ! |
5649 ! |
5650 |
5650 |
5651 menu:aMenu labeled:aString |
5651 menu:aMenu labeled:aString |
5652 |expanded item menu| |
5652 |expanded item menu| |
5653 |
5653 |
5654 self criticalDo:[ |
5654 self criticalDo:[ |
5655 self isRootItem ifTrue:[ expanded := true ] |
5655 self isRootItem ifTrue:[ expanded := true ] |
5656 ifFalse:[ expanded := isExpanded ]. |
5656 ifFalse:[ expanded := isExpanded ]. |
5657 |
5657 |
5658 self removeAll. |
5658 self removeAll. |
5659 self rawLabel:aString. |
5659 self rawLabel:aString. |
5660 |
5660 |
5661 menu := aMenu value. |
5661 menu := aMenu value. |
5662 |
5662 |
5663 (menu isNil or:[menu isString]) ifTrue:[ |
5663 (menu isNil or:[menu isString]) ifTrue:[ |
5664 menu := nil |
5664 menu := nil |
5665 ] ifFalse:[ |
5665 ] ifFalse:[ |
5666 aMenu isCollection ifTrue:[ menu := Menu decodeFromLiteralArray:aMenu ] |
5666 aMenu isCollection ifTrue:[ menu := Menu decodeFromLiteralArray:aMenu ] |
5667 ifFalse:[ menu := aMenu ]. |
5667 ifFalse:[ menu := aMenu ]. |
5668 |
5668 |
5669 menu hasItems ifFalse:[ |
5669 menu hasItems ifFalse:[ |
5670 menu := nil |
5670 menu := nil |
5671 ]. |
5671 ]. |
5672 ]. |
5672 ]. |
5673 menu notNil ifTrue:[ |
5673 menu notNil ifTrue:[ |
5674 isExpanded := false. "/ discard change notifications |
5674 isExpanded := false. "/ discard change notifications |
5675 children := OrderedCollection new. |
5675 children := OrderedCollection new. |
5676 |
5676 |
5677 menu itemsDo:[:el| |
5677 menu itemsDo:[:el| |
5678 item := self class menuItem:el. |
5678 item := self class menuItem:el. |
5679 item parent:self. |
5679 item parent:self. |
5680 children add:item. |
5680 children add:item. |
5681 ]. |
5681 ]. |
5682 expanded ifTrue:[ self expand ]. |
5682 expanded ifTrue:[ self expand ]. |
5683 ]. |
5683 ]. |
5684 isExpanded := expanded. |
5684 isExpanded := expanded. |
5685 ]. |
5685 ]. |
5686 self changed |
5686 self changed |
5687 |
5687 |
5688 "Modified: / 29-11-2011 / 11:28:33 / cg" |
5688 "Modified: / 29-11-2011 / 11:28:33 / cg" |
5689 ! |
5689 ! |