diff -r 6ced725af608 -r 3c59244da8c8 MenuEditor.st --- a/MenuEditor.st Thu Jan 29 19:34:51 1998 +0100 +++ b/MenuEditor.st Thu Jan 29 19:43:19 1998 +0100 @@ -118,12 +118,6 @@ ^ super helpSpec addPairsFrom:#( -#aboutSTX -'Open an InfoBox about running ST/X.' - -#aboutThisAppliaction -'Open an InfoBox about release and author.' - #accessCharaterPos 'The index of the access character position into the textual label (optional).' @@ -133,21 +127,6 @@ #enbled 'This enabled field specifies the name of the aspect (-method or binding) in your application, which returns a value holder holding a boolean, a block which evaluates to either true or false, a selector which returns either true or false or simply true or false. The value, true or false, specifies whether the respective field can be selected, a value of true, or not, a value of false.' -#fileExit -'Exit current application.' - -#helpClassDocumentation -'Open a HTML-browser with a class documentation for the current application.' - -#helpProgrammersGuide -'Open a HTML-browser with a programmers guide.' - -#helpShowHelp -'Toggle on/off displaying help texts.' - -#helpTutorial -'Open a HTML-browser with tutorial for beginners.' - #icon 'Selector which returns an image to be displayed.' @@ -186,605 +165,6 @@ !MenuEditor class methodsFor:'interface specs'! -classDefineSpec - "this window spec was automatically generated by the ST/X UIPainter" - - "do not manually edit this - the painter/builder may not be able to - handle the specification if its corrupted." - - " - UIPainter new openOnClass:MenuEditor andSelector:#classDefineSpec - MenuEditor new openInterface:#classDefineSpec - " - - - - ^ - - #(#FullSpec - #'window:' - #(#WindowSpec - #'name:' 'MenuEditor' - #'layout:' #(#LayoutFrame 262 0 426 0 508 0 519 0) - #'label:' 'MenuEditor' - #'min:' #(#Point 10 10) - #'max:' #(#Point 1152 900) - #'bounds:' #(#Rectangle 262 426 509 520) - #'usePreferredExtent:' false - ) - #'component:' - #(#SpecCollection - #'collection:' - #( - #(#LabelSpec - #'name:' 'boxLabel' - #'layout:' #(#LayoutFrame 2 0.0 4 0 -2 1.0 24 0) - #'label:' 'Class for menu spec:' - #'adjust:' #left - #'resizeForLabel:' true - ) - #(#InputFieldSpec - #'name:' 'classNameField' - #'layout:' #(#LayoutFrame 2 0.0 27 0 -2 1.0 49 0) - #'tabable:' true - #'model:' #classNameChannel - #'acceptOnReturn:' false - #'acceptOnTab:' false - ) - #(#UISubSpecification - #'name:' 'SubSpecification' - #'layout:' #(#LayoutFrame 0 0 -29 1 0 1 -5 1) - #'majorKey:' #ToolApplicationModel - #'minorKey:' #windowSpecForCommitWithoutChannels - ) - ) - ) - ) -! - -menuAdd - "this window spec was automatically generated by the ST/X MenuEditor" - - "do not manually edit this - the builder may not be able to - handle the specification if its corrupted." - - " - MenuEditor new openOnClass:MenuEditor andSelector:#menuAdd - (Menu new fromLiteralArrayEncoding:(MenuEditor menuAdd)) startUp - " - - - - ^ - - #(#Menu - - #( - #(#MenuItem - #'label:' 'Item' - #'value:' #doCreateItem - #'labelImage:' #(#ResourceRetriever #MenuEditor #menuItemImage 'Item') - ) - #(#MenuItem - #'label:' 'Separator' - #'value:' #doCreateSep - #'labelImage:' #(#ResourceRetriever #MenuEditor #menuSeparatorImage 'Separator') - ) - #(#MenuItem - #'label:' '-' - ) - #(#MenuItem - #'label:' 'Submenu' - #'value:' #doCreateMenu - #'labelImage:' #(#ResourceRetriever #MenuEditor #submenuImage 'Submenu') - ) - #(#MenuItem - #'label:' 'Submenu Link' - #'value:' #doCreateLink - #'labelImage:' #(#ResourceRetriever #MenuEditor #linkSubmenuImage 'Submenu Link') - ) - ) nil - nil - ) -! - -windowSpec - "this window spec was automatically generated by the ST/X UIPainter" - - "do not manually edit this - the painter/builder may not be able to - handle the specification if its corrupted." - - " - UIPainter new openOnClass:MenuEditor andSelector:#windowSpec - MenuEditor new openInterface:#windowSpec - " - "MenuEditor open" - - - - ^ - - #(#FullSpec - #'window:' - #(#WindowSpec - #'name:' 'Menu Builder' - #'layout:' #(#LayoutFrame 221 0 394 0 800 0 777 0) - #'label:' 'Menu Builder' - #'min:' #(#Point 10 10) - #'max:' #(#Point 1152 900) - #'bounds:' #(#Rectangle 221 394 801 778) - #'menu:' #menu - #'usePreferredExtent:' false - ) - #'component:' - #(#SpecCollection - #'collection:' - #( - #(#MenuPanelSpec - #'name:' 'menuToolbarView' - #'layout:' #(#LayoutFrame 0 0.0 0 0 0 1.0 32 0) - #'menu:' #menuToolbar - #'showSeparatingLines:' true - ) - #(#VariableHorizontalPanelSpec - #'name:' 'variableHorizontalPanel1' - #'layout:' #(#LayoutFrame 0 0.0 34 0.0 0 1.0 -22 1.0) - #'component:' - #(#SpecCollection - #'collection:' - #( - #(#ArbitraryComponentSpec - #'name:' 'painterView' - #'menu:' #menuEdit - #'hasHorizontalScrollBar:' true - #'hasVerticalScrollBar:' true - #'component:' #treeView - #'hasBorder:' false - ) - #(#ViewSpec - #'name:' 'view1' - #'component:' - #(#SpecCollection - #'collection:' - #( - #(#NoteBookViewSpec - #'name:' 'specificationView' - #'layout:' #(#LayoutFrame 1 0.0 0 0.0 1 1.0 -26 1.0) - #'tabable:' true - #'model:' #tabModel - #'menu:' #tabList - #'useIndex:' true - #'canvas:' #noteBookView - ) - #(#UISubSpecification - #'name:' 'SubSpecification' - #'layout:' #(#LayoutFrame 2 0.0 -26 1 -2 1.0 -2 1.0) - #'majorKey:' #ToolApplicationModel - #'minorKey:' #windowSpecForCommit - ) - ) - ) - #'level:' -1 - ) - ) - ) - #'level:' 1 - #'handles:' #(#Any 0.384483 1.0) - ) - #(#UISubSpecification - #'name:' 'infoBarSubSpec' - #'layout:' #(#LayoutFrame 0 0.0 -22 1 0 1.0 0 1.0) - #'majorKey:' #ToolApplicationModel - #'minorKey:' #windowSpecForInfoBar - ) - ) - ) - ) -! ! - -!MenuEditor class methodsFor:'menu specs'! - -menu - "this window spec was automatically generated by the ST/X MenuEditor" - - "do not manually edit this - the builder may not be able to - handle the specification if its corrupted." - - " - MenuEditor new openOnClass:MenuEditor andSelector:#menu - (Menu new fromLiteralArrayEncoding:(MenuEditor menu)) startUp - " - - - - ^ - - #(#Menu - - #( - #(#MenuItem - #'label:' 'About' - #'accessCharacterPosition:' 1 - #'labelImage:' #(#ResourceRetriever nil #icon) - #'submenuChannel:' #menuAbout - ) - #(#MenuItem - #'label:' 'File' - #'translateLabel:' true - #'value:' #file - #'submenu:' - #(#Menu - - #( - #(#MenuItem - #'label:' 'New' - #'value:' #doNew - ) - #(#MenuItem - #'label:' '-' - ) - #(#MenuItem - #'label:' 'Load...' - #'translateLabel:' true - #'value:' #doFromClass - #'enabled:' #isStandAlone - ) - #(#MenuItem - #'label:' '-' - ) - #(#MenuItem - #'label:' 'Save' - #'value:' #doInstallSpec - ) - #(#MenuItem - #'label:' '-' - ) - #(#MenuItem - #'label:' 'Pick A Menu' - #'value:' #doPickAMenu - #'enabled:' #isStandAlone - ) - #(#MenuItem - #'label:' 'Define Menu Class...' - #'value:' #doDefineClass - #'enabled:' #isStandAlone - ) - #(#MenuItem - #'label:' 'Browse Menu Class' - #'value:' #doBrowseAppClass - ) - #(#MenuItem - #'label:' '-' - ) - #(#MenuItem - #'label:' 'Exit' - #'translateLabel:' true - #'value:' #closeRequest - ) - ) nil - nil - ) - ) - #(#MenuItem - #'label:' 'Edit' - #'submenuChannel:' #menuEdit - ) - #(#MenuItem - #'label:' 'Add' - #'submenuChannel:' #menuAdd - ) - #(#MenuItem - #'label:' 'Test' - #'submenuChannel:' #submenuTest - ) - #(#MenuItem - #'label:' 'History' - #'submenuChannel:' #menuHistory - ) - #(#MenuItem - #'label:' 'Help' - #'submenuChannel:' #menuHelp - ) - ) nil - nil - ) -! - -menuDefaultLink - "this window spec was automatically generated by the ST/X MenuEditor" - - "do not manually edit this - the builder may not be able to - handle the specification if its corrupted." - - " - MenuEditor new openOnClass:MenuEditor andSelector:#menuDefaultLink - (Menu new fromLiteralArrayEncoding:(MenuEditor menuDefaultLink)) startUp - " - - - - ^ - - #(#Menu - - #( - #(#MenuItem - #'label:' '!! derives from application !!' - ) - ) nil - nil - ) -! - -menuEdit - "this window spec was automatically generated by the ST/X MenuEditor" - - "do not manually edit this - the builder may not be able to - handle the specification if its corrupted." - - " - MenuEditor new openOnClass:MenuEditor andSelector:#menuEdit - (Menu new fromLiteralArrayEncoding:(MenuEditor menuEdit)) startUp - " - - - - ^ - - #(#Menu - - #( - #(#MenuItem - #'label:' 'Cut' - #'value:' #doCut - #'enabled:' #hasValidSelection - #'shortcutKeyCharacter:' #Cut - ) - #(#MenuItem - #'label:' 'Copy' - #'value:' #doCopy - #'enabled:' #hasValidSelection - #'shortcutKeyCharacter:' #Copy - ) - #(#MenuItem - #'label:' 'Paste' - #'value:' #doPaste - #'enabled:' #hasAnySingleSelection - #'shortcutKeyCharacter:' #Paste - ) - #(#MenuItem - #'label:' '-' - ) - #(#MenuItem - #'label:' 'Move Up' - #'value:' #doStepUp - #'enabled:' #enabledStepOver - #'labelImage:' #(#ResourceRetriever #MenuEditor #upIcon 'Move Up') - ) - #(#MenuItem - #'label:' 'Move Down' - #'value:' #doStepDown - #'enabled:' #enabledStepOver - #'labelImage:' #(#ResourceRetriever #MenuEditor #downIcon 'Move Down') - ) - #(#MenuItem - #'label:' 'Move In' - #'value:' #doStepIn - #'enabled:' #enabledStepIn - #'labelImage:' #(#ResourceRetriever #MenuEditor #downRightIcon 'Move In') - ) - #(#MenuItem - #'label:' 'Move Out' - #'value:' #doStepOut - #'enabled:' #enabledStepOut - #'labelImage:' #(#ResourceRetriever #MenuEditor #leftDownIcon 'Move Out') - ) - ) nil - nil - ) -! - -menuToolbar - "this window spec was automatically generated by the ST/X MenuEditor" - - "do not manually edit this - the builder may not be able to - handle the specification if its corrupted." - - " - MenuEditor new openOnClass:MenuEditor andSelector:#menuToolbar - (Menu new fromLiteralArrayEncoding:(MenuEditor menuToolbar)) startUp - " - - - - ^ - - #(#Menu - - #( - #(#MenuItem - #'label:' 'New' - #'isButton:' true - #'value:' #doNew - #'labelImage:' #(#ResourceRetriever nil #newIcon) - ) - #(#MenuItem - #'label:' 'Load' - #'isButton:' true - #'value:' #doFromClass - #'labelImage:' #(#ResourceRetriever nil #loadIcon) - ) - #(#MenuItem - #'label:' 'Save' - #'isButton:' true - #'value:' #doInstallSpec - #'labelImage:' #(#ResourceRetriever nil #saveIcon) - ) - #(#MenuItem - #'label:' '' - ) - #(#MenuItem - #'label:' 'Create Item' - #'isButton:' true - #'value:' #doCreateItem - #'enabled:' #hasAnySingleSelection - #'labelImage:' #(#ResourceRetriever nil #menuItemImage) - ) - #(#MenuItem - #'label:' 'Create Separator' - #'isButton:' true - #'value:' #doCreateSep - #'enabled:' #hasAnySingleSelection - #'labelImage:' #(#ResourceRetriever nil #menuSeparatorImage) - ) - #(#MenuItem - #'label:' '' - ) - #(#MenuItem - #'label:' 'Create Menu' - #'isButton:' true - #'value:' #doCreateMenu - #'enabled:' #hasAnySingleSelection - #'labelImage:' #(#ResourceRetriever nil #submenuImage) - ) - #(#MenuItem - #'label:' 'Create Link' - #'isButton:' true - #'value:' #doCreateLink - #'enabled:' #hasAnySingleSelection - #'labelImage:' #(#ResourceRetriever nil #linkSubmenuImage) - ) - #(#MenuItem - #'label:' '' - ) - #(#MenuItem - #'label:' 'Move Up' - #'isButton:' true - #'value:' #doStepUp - #'enabled:' #enabledStepOver - #'labelImage:' #(#ResourceRetriever nil #upIcon) - ) - #(#MenuItem - #'label:' 'Move Down' - #'isButton:' true - #'value:' #doStepDown - #'enabled:' #enabledStepOver - #'labelImage:' #(#ResourceRetriever nil #downIcon) - ) - #(#MenuItem - #'label:' 'Move In' - #'isButton:' true - #'value:' #doStepIn - #'enabled:' #enabledStepIn - #'labelImage:' #(#ResourceRetriever nil #downRightIcon) - ) - #(#MenuItem - #'label:' 'Move Out' - #'isButton:' true - #'value:' #doStepOut - #'enabled:' #enabledStepOut - #'labelImage:' #(#ResourceRetriever nil #leftDownIcon) - ) - ) nil - nil - ) -! ! - -!MenuEditor class methodsFor:'resources'! - -linkSubmenuImage - "Generated by the Image Editor" - " - ImageEditor openOnClass:self andSelector:#linkSubmenuImage - " - - - - ^Icon - constantNamed:#'MenuEditor linkSubmenuImage' - ifAbsentPut:[(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@ADQDQDQDQDQDQH@D"H"H"H"H"H"K0@RH"H"H"H"H"H/@A????????????<@D@@@@@@@@@@@C0@PL3L0DQDQDQD_@A@3L3LBH"H"H"<@DCL3L3@"H"H"K0@PL3L3L0??????@A@@@@L3L@@@@@<@DQDQDCL3@PLAG0@RH"H"@3L0@3@/@AH"H"H L3L3L0<@G????? - - ^Icon - constantNamed:#'MenuEditor menuItemImage' - ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'UUUUUUUQUUUUUUUPUUUUUUU_UUUUUUUPUUUUUUUP@@@@@@@@EUUUUUVAF*****+HF:?+::;@F:.+*?;@F:.+::;@F:.+*:;@F:.+::;@F*****+DK??????A@@@@@@@@UUUUUUUPUUUUUUUXUUUUUUUPUUUUUUUPUUUUUUUPUUUUUUUX'); colorMap:(((Array new:4) at:1 put:((Color black)); at:2 put:((Color white)); at:3 put:((Color grey:66.9978)); at:4 put:((Color grey:49.9962)); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@??? - - ^Icon - constantNamed:#'MenuEditor menuSeparatorImage' - ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'UUUUUUURUUUUUUUPUUUUUUUPUUUUUUUPUUUUUUUP@@@@@@@@EUUUUUV@F*****+DF*****+CF?????+@F0@@@@[@F%UUUU[HF*****+@F*****+@K??????N@@@@@@@HUUUUUUUPUUUUUUUPUUUUUUUWUUUUUUUXUUUUUUUPUUUUUUUP'); colorMap:(((Array new:4) at:1 put:((Color black)); at:2 put:((Color white)); at:3 put:((Color grey:66.9978)); at:4 put:((Color grey:49.9962)); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@??? - - ^Icon - constantNamed:#'MenuEditor submenuImage' - ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@EUUUUUV@F*****+@F*****+@G??????GD@@@@@C@EUUUUUWLF*****+@F*****+@G??????HD@@@@@C@EUUUUUW@F*****+@F*****+OG??????@D@@@@@C@EUUUUUW@F*****+@F*****+@K??????@@@@@@@@@@@@@@@@@'); colorMap:(((Array new:4) at:1 put:((Color black)); at:2 put:((Color white)); at:3 put:((Color grey:66.9978)); at:4 put:((Color grey:49.9962)); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??? + + ^ + + #(#FullSpec + #'window:' + #(#WindowSpec + #'name:' 'Menu Editor' + #'layout:' #(#LayoutFrame 262 0 426 0 508 0 519 0) + #'label:' 'Menu Editor' + #'min:' #(#Point 10 10) + #'max:' #(#Point 1152 900) + #'bounds:' #(#Rectangle 262 426 509 520) + #'usePreferredExtent:' false + ) + #'component:' + #(#SpecCollection + #'collection:' + #( + #(#LabelSpec + #'name:' 'boxLabel' + #'layout:' #(#LayoutFrame 2 0.0 4 0 -2 1.0 24 0) + #'label:' 'Class for code:' + #'adjust:' #left + #'resizeForLabel:' true + ) + #(#InputFieldSpec + #'name:' 'classNameField' + #'layout:' #(#LayoutFrame 2 0.0 27 0 -2 1.0 49 0) + #'tabable:' true + #'model:' #classNameChannel + #'acceptOnReturn:' false + #'acceptOnTab:' false + ) + #(#UISubSpecification + #'name:' 'SubSpecification' + #'layout:' #(#LayoutFrame 0 0 -29 1 0 1 -5 1) + #'majorKey:' #ToolApplicationModel + #'minorKey:' #windowSpecForCommitWithoutChannels + ) + ) + ) + ) +! + detailsEditSpec "this window spec was automatically generated by the ST/X UIPainter" @@ -1373,6 +809,547 @@ ) ) ) +! + +windowSpec + "this window spec was automatically generated by the ST/X UIPainter" + + "do not manually edit this - the painter/builder may not be able to + handle the specification if its corrupted." + + " + UIPainter new openOnClass:MenuEditor andSelector:#windowSpec + MenuEditor new openInterface:#windowSpec + " + "MenuEditor open" + + + + ^ + + #(#FullSpec + #'window:' + #(#WindowSpec + #'name:' 'Menu Builder' + #'layout:' #(#LayoutFrame 221 0 394 0 800 0 777 0) + #'label:' 'Menu Builder' + #'min:' #(#Point 10 10) + #'max:' #(#Point 1152 900) + #'bounds:' #(#Rectangle 221 394 801 778) + #'menu:' #menu + #'usePreferredExtent:' false + ) + #'component:' + #(#SpecCollection + #'collection:' + #( + #(#MenuPanelSpec + #'name:' 'menuToolbarView' + #'layout:' #(#LayoutFrame 0 0.0 0 0 0 1.0 32 0) + #'menu:' #menuToolbar + #'showSeparatingLines:' true + ) + #(#VariableHorizontalPanelSpec + #'name:' 'variableHorizontalPanel1' + #'layout:' #(#LayoutFrame 0 0.0 34 0.0 0 1.0 -22 1.0) + #'component:' + #(#SpecCollection + #'collection:' + #( + #(#ArbitraryComponentSpec + #'name:' 'painterView' + #'menu:' #menuEdit + #'hasHorizontalScrollBar:' true + #'hasVerticalScrollBar:' true + #'component:' #treeView + #'hasBorder:' false + ) + #(#ViewSpec + #'name:' 'view1' + #'component:' + #(#SpecCollection + #'collection:' + #( + #(#NoteBookViewSpec + #'name:' 'specificationView' + #'layout:' #(#LayoutFrame 1 0.0 0 0.0 1 1.0 -26 1.0) + #'tabable:' true + #'model:' #tabModel + #'menu:' #tabList + #'useIndex:' true + #'canvas:' #noteBookView + ) + #(#UISubSpecification + #'name:' 'SubSpecification' + #'layout:' #(#LayoutFrame 2 0.0 -26 1 -2 1.0 -2 1.0) + #'majorKey:' #ToolApplicationModel + #'minorKey:' #windowSpecForCommit + ) + ) + ) + #'level:' -1 + ) + ) + ) + #'level:' 1 + #'handles:' #(#Any 0.384483 1.0) + ) + #(#UISubSpecification + #'name:' 'infoBarSubSpec' + #'layout:' #(#LayoutFrame 0 0.0 -22 1 0 1.0 0 1.0) + #'majorKey:' #ToolApplicationModel + #'minorKey:' #windowSpecForInfoBar + ) + ) + ) + ) +! ! + +!MenuEditor class methodsFor:'menu specs'! + +menu + "this window spec was automatically generated by the ST/X MenuEditor" + + "do not manually edit this - the builder may not be able to + handle the specification if its corrupted." + + " + MenuEditor new openOnClass:MenuEditor andSelector:#menu + (Menu new fromLiteralArrayEncoding:(MenuEditor menu)) startUp + " + + + + ^ + + #(#Menu + + #( + #(#MenuItem + #'label:' 'About' + #'accessCharacterPosition:' 1 + #'labelImage:' #(#ResourceRetriever nil #icon) + #'submenuChannel:' #menuAbout + ) + #(#MenuItem + #'label:' 'File' + #'translateLabel:' true + #'value:' #file + #'submenu:' + #(#Menu + + #( + #(#MenuItem + #'label:' 'New' + #'value:' #doNew + ) + #(#MenuItem + #'label:' '-' + ) + #(#MenuItem + #'label:' 'Load...' + #'translateLabel:' true + #'value:' #doFromClass + #'enabled:' #isStandAlone + ) + #(#MenuItem + #'label:' '-' + ) + #(#MenuItem + #'label:' 'Save' + #'value:' #doInstallSpec + ) + #(#MenuItem + #'label:' '-' + ) + #(#MenuItem + #'label:' 'Pick A Menu' + #'value:' #doPickAMenu + #'enabled:' #isStandAlone + ) + #(#MenuItem + #'label:' 'Define Menu Class...' + #'value:' #doDefineClass + #'enabled:' #isStandAlone + ) + #(#MenuItem + #'label:' 'Browse Menu Class' + #'value:' #doBrowseAppClass + ) + #(#MenuItem + #'label:' '-' + ) + #(#MenuItem + #'label:' 'Exit' + #'translateLabel:' true + #'value:' #closeRequest + ) + ) nil + nil + ) + ) + #(#MenuItem + #'label:' 'Edit' + #'submenuChannel:' #menuEdit + ) + #(#MenuItem + #'label:' 'Add' + #'submenuChannel:' #menuAdd + ) + #(#MenuItem + #'label:' 'Test' + #'submenuChannel:' #submenuTest + ) + #(#MenuItem + #'label:' 'History' + #'submenuChannel:' #menuHistory + ) + #(#MenuItem + #'label:' 'Help' + #'submenuChannel:' #menuHelp + ) + ) nil + nil + ) +! + +menuAdd + "this window spec was automatically generated by the ST/X MenuEditor" + + "do not manually edit this - the builder may not be able to + handle the specification if its corrupted." + + " + MenuEditor new openOnClass:MenuEditor andSelector:#menuAdd + (Menu new fromLiteralArrayEncoding:(MenuEditor menuAdd)) startUp + " + + + + ^ + + #(#Menu + + #( + #(#MenuItem + #'label:' 'Item' + #'value:' #doCreateItem + #'labelImage:' #(#ResourceRetriever #MenuEditor #menuItemImage 'Item') + ) + #(#MenuItem + #'label:' 'Separator' + #'value:' #doCreateSep + #'labelImage:' #(#ResourceRetriever #MenuEditor #menuSeparatorImage 'Separator') + ) + #(#MenuItem + #'label:' '-' + ) + #(#MenuItem + #'label:' 'Submenu' + #'value:' #doCreateMenu + #'labelImage:' #(#ResourceRetriever #MenuEditor #submenuImage 'Submenu') + ) + #(#MenuItem + #'label:' 'Submenu Link' + #'value:' #doCreateLink + #'labelImage:' #(#ResourceRetriever #MenuEditor #linkSubmenuImage 'Submenu Link') + ) + ) nil + nil + ) +! + +menuDefaultLink + "this window spec was automatically generated by the ST/X MenuEditor" + + "do not manually edit this - the builder may not be able to + handle the specification if its corrupted." + + " + MenuEditor new openOnClass:MenuEditor andSelector:#menuDefaultLink + (Menu new fromLiteralArrayEncoding:(MenuEditor menuDefaultLink)) startUp + " + + + + ^ + + #(#Menu + + #( + #(#MenuItem + #'label:' '!! derives from application !!' + ) + ) nil + nil + ) +! + +menuEdit + "this window spec was automatically generated by the ST/X MenuEditor" + + "do not manually edit this - the builder may not be able to + handle the specification if its corrupted." + + " + MenuEditor new openOnClass:MenuEditor andSelector:#menuEdit + (Menu new fromLiteralArrayEncoding:(MenuEditor menuEdit)) startUp + " + + + + ^ + + #(#Menu + + #( + #(#MenuItem + #'label:' 'Cut' + #'value:' #doCut + #'enabled:' #hasValidSelection + #'shortcutKeyCharacter:' #Cut + ) + #(#MenuItem + #'label:' 'Copy' + #'value:' #doCopy + #'enabled:' #hasValidSelection + #'shortcutKeyCharacter:' #Copy + ) + #(#MenuItem + #'label:' 'Paste' + #'value:' #doPaste + #'enabled:' #hasAnySingleSelection + #'shortcutKeyCharacter:' #Paste + ) + #(#MenuItem + #'label:' '-' + ) + #(#MenuItem + #'label:' 'Move Up' + #'value:' #doStepUp + #'enabled:' #enabledStepOver + #'labelImage:' #(#ResourceRetriever #MenuEditor #upIcon 'Move Up') + ) + #(#MenuItem + #'label:' 'Move Down' + #'value:' #doStepDown + #'enabled:' #enabledStepOver + #'labelImage:' #(#ResourceRetriever #MenuEditor #downIcon 'Move Down') + ) + #(#MenuItem + #'label:' 'Move In' + #'value:' #doStepIn + #'enabled:' #enabledStepIn + #'labelImage:' #(#ResourceRetriever #MenuEditor #downRightIcon 'Move In') + ) + #(#MenuItem + #'label:' 'Move Out' + #'value:' #doStepOut + #'enabled:' #enabledStepOut + #'labelImage:' #(#ResourceRetriever #MenuEditor #leftDownIcon 'Move Out') + ) + ) nil + nil + ) +! + +menuToolbar + "this window spec was automatically generated by the ST/X MenuEditor" + + "do not manually edit this - the builder may not be able to + handle the specification if its corrupted." + + " + MenuEditor new openOnClass:MenuEditor andSelector:#menuToolbar + (Menu new fromLiteralArrayEncoding:(MenuEditor menuToolbar)) startUp + " + + + + ^ + + #(#Menu + + #( + #(#MenuItem + #'label:' 'New' + #'isButton:' true + #'value:' #doNew + #'labelImage:' #(#ResourceRetriever nil #newIcon) + ) + #(#MenuItem + #'label:' 'Load' + #'isButton:' true + #'value:' #doFromClass + #'labelImage:' #(#ResourceRetriever nil #loadIcon) + ) + #(#MenuItem + #'label:' 'Save' + #'isButton:' true + #'value:' #doInstallSpec + #'labelImage:' #(#ResourceRetriever nil #saveIcon) + ) + #(#MenuItem + #'label:' '' + ) + #(#MenuItem + #'label:' 'Create Item' + #'isButton:' true + #'value:' #doCreateItem + #'enabled:' #hasAnySingleSelection + #'labelImage:' #(#ResourceRetriever nil #menuItemImage) + ) + #(#MenuItem + #'label:' 'Create Separator' + #'isButton:' true + #'value:' #doCreateSep + #'enabled:' #hasAnySingleSelection + #'labelImage:' #(#ResourceRetriever nil #menuSeparatorImage) + ) + #(#MenuItem + #'label:' '' + ) + #(#MenuItem + #'label:' 'Create Menu' + #'isButton:' true + #'value:' #doCreateMenu + #'enabled:' #hasAnySingleSelection + #'labelImage:' #(#ResourceRetriever nil #submenuImage) + ) + #(#MenuItem + #'label:' 'Create Link' + #'isButton:' true + #'value:' #doCreateLink + #'enabled:' #hasAnySingleSelection + #'labelImage:' #(#ResourceRetriever nil #linkSubmenuImage) + ) + #(#MenuItem + #'label:' '' + ) + #(#MenuItem + #'label:' 'Move Up' + #'isButton:' true + #'value:' #doStepUp + #'enabled:' #enabledStepOver + #'labelImage:' #(#ResourceRetriever nil #upIcon) + ) + #(#MenuItem + #'label:' 'Move Down' + #'isButton:' true + #'value:' #doStepDown + #'enabled:' #enabledStepOver + #'labelImage:' #(#ResourceRetriever nil #downIcon) + ) + #(#MenuItem + #'label:' 'Move In' + #'isButton:' true + #'value:' #doStepIn + #'enabled:' #enabledStepIn + #'labelImage:' #(#ResourceRetriever nil #downRightIcon) + ) + #(#MenuItem + #'label:' 'Move Out' + #'isButton:' true + #'value:' #doStepOut + #'enabled:' #enabledStepOut + #'labelImage:' #(#ResourceRetriever nil #leftDownIcon) + ) + ) nil + nil + ) +! ! + +!MenuEditor class methodsFor:'resources'! + +linkSubmenuImage + "Generated by the Image Editor" + " + ImageEditor openOnClass:self andSelector:#linkSubmenuImage + " + + + + ^Icon + constantNamed:#'MenuEditor linkSubmenuImage' + ifAbsentPut:[(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@ADQDQDQDQDQDQH@D"H"H"H"H"H"K0@RH"H"H"H"H"H/@A????????????<@D@@@@@@@@@@@C0@PL3L0DQDQDQD_@A@3L3LBH"H"H"<@DCL3L3@"H"H"K0@PL3L3L0??????@A@@@@L3L@@@@@<@DQDQDCL3@PLAG0@RH"H"@3L0@3@/@AH"H"H L3L3L0<@G????? + + ^Icon + constantNamed:#'MenuEditor menuItemImage' + ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'UUUUUUUQUUUUUUUPUUUUUUU_UUUUUUUPUUUUUUUP@@@@@@@@EUUUUUVAF*****+HF:?+::;@F:.+*?;@F:.+::;@F:.+*:;@F:.+::;@F*****+DK??????A@@@@@@@@UUUUUUUPUUUUUUUXUUUUUUUPUUUUUUUPUUUUUUUPUUUUUUUX'); colorMap:(((Array new:4) at:1 put:((Color black)); at:2 put:((Color white)); at:3 put:((Color grey:66.9978)); at:4 put:((Color grey:49.9962)); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@??? + + ^Icon + constantNamed:#'MenuEditor menuSeparatorImage' + ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'UUUUUUURUUUUUUUPUUUUUUUPUUUUUUUPUUUUUUUP@@@@@@@@EUUUUUV@F*****+DF*****+CF?????+@F0@@@@[@F%UUUU[HF*****+@F*****+@K??????N@@@@@@@HUUUUUUUPUUUUUUUPUUUUUUUWUUUUUUUXUUUUUUUPUUUUUUUP'); colorMap:(((Array new:4) at:1 put:((Color black)); at:2 put:((Color white)); at:3 put:((Color grey:66.9978)); at:4 put:((Color grey:49.9962)); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@??? + + ^Icon + constantNamed:#'MenuEditor submenuImage' + ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@EUUUUUV@F*****+@F*****+@G??????GD@@@@@C@EUUUUUWLF*****+@F*****+@G??????HD@@@@@C@EUUUUUW@F*****+@F*****+OG??????@D@@@@@C@EUUUUUW@F*****+@F*****+@K??????@@@@@@@@@@@@@@@@@'); colorMap:(((Array new:4) at:1 put:((Color black)); at:2 put:((Color white)); at:3 put:((Color grey:66.9978)); at:4 put:((Color grey:49.9962)); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???