--- 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
- "
-
- <resource: #canvas>
-
- ^
-
- #(#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
- "
-
- <resource: #menu>
-
- ^
-
- #(#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"
-
- <resource: #canvas>
-
- ^
-
- #(#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
- "
-
- <resource: #menu>
-
- ^
-
- #(#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
- "
-
- <resource: #menu>
-
- ^
-
- #(#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
- "
-
- <resource: #menu>
-
- ^
-
- #(#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
- "
-
- <resource: #menu>
-
- ^
-
- #(#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
- "
-
- <resource: #image>
-
- ^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?????<CL3L3L@@P@@@@@@@3L3LO@ADQDQDQDP@CLA<@D"H"H"H"H LBK0@RH"H"H"H"@BH/@B????????????<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b'); colorMap:((OrderedCollection new add:(Color black); add:(Color white); add:(Color grey:66.9978); add:(Color red:100.0 green:0.0 blue:0.0); add:(Color red:0.0 green:100.0 blue:0.0); add:(Color red:0.0 green:0.0 blue:100.0); add:(Color red:0.0 green:100.0 blue:100.0); add:(Color red:100.0 green:100.0 blue:0.0); add:(Color red:100.0 green:0.0 blue:100.0); add:(Color red:49.9962 green:0.0 blue:0.0); add:(Color red:0.0 green:49.9962 blue:0.0); add:(Color red:0.0 green:0.0 blue:49.9962); add:(Color red:0.0 green:49.9962 blue:49.9962); add:(Color red:49.9962 green:49.9962 blue:0.0); add:(Color red:49.9962 green:0.0 blue:49.9962); add:(Color grey:49.9962); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); yourself); yourself]!
-
-menuItemImage
- "Generated by the Image Editor"
- "
- ImageEditor openOnClass:self andSelector:#menuItemImage
- "
-
- <resource: #image>
-
- ^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:'@@@@@@@@@@@@@@@@@@@@???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); yourself); yourself]!
-
-menuSeparatorImage
- "Generated by the Image Editor"
- "
- ImageEditor openOnClass:self andSelector:#menuSeparatorImage
- "
-
- <resource: #image>
-
- ^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:'@@@@@@@@@@@@@@@@@@@@???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); yourself); yourself]!
-
-submenuImage
- "Generated by the Image Editor"
- "
- ImageEditor openOnClass:self andSelector:#submenuImage
- "
-
- <resource: #image>
-
- ^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:'???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); yourself); yourself]! !
-
-!MenuEditor class methodsFor:'slices'!
-
-slicesItem
- ^#(
- (Basics basicsItemSpec)
- (Details detailsEditSpec)
- (Image imageEditSpec)
- )
-
-!
-
-slicesLink
- ^#(
- (Basics basicsLinkSpec)
- (Details detailsEditSpec)
- (Image imageEditSpec)
- )
-
-!
-
-slicesMenu
- ^#(
- (Basics basicsMenuSpec)
- (Details detailsEditSpec)
- (Image imageEditSpec)
- )
-
-!
-
-slicesRootMenu
- ^#(
- (Basics basicsRootSpec)
- )
-
-!
-
-slicesSeparatorMenu
- ^#(
- (Basics basicsSeparatorSpec)
- )
-
-! !
-
-!MenuEditor class methodsFor:'specs'!
-
basicsItemSpec
"this window spec was automatically generated by the ST/X UIPainter"
@@ -1205,6 +585,62 @@
)
!
+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
+ "
+
+ <resource: #canvas>
+
+ ^
+
+ #(#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"
+
+ <resource: #canvas>
+
+ ^
+
+ #(#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
+ "
+
+ <resource: #menu>
+
+ ^
+
+ #(#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
+ "
+
+ <resource: #menu>
+
+ ^
+
+ #(#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
+ "
+
+ <resource: #menu>
+
+ ^
+
+ #(#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
+ "
+
+ <resource: #menu>
+
+ ^
+
+ #(#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
+ "
+
+ <resource: #menu>
+
+ ^
+
+ #(#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
+ "
+
+ <resource: #image>
+
+ ^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?????<CL3L3L@@P@@@@@@@3L3LO@ADQDQDQDP@CLA<@D"H"H"H"H LBK0@RH"H"H"H"@BH/@B????????????<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b'); colorMap:((OrderedCollection new add:(Color black); add:(Color white); add:(Color grey:66.9978); add:(Color red:100.0 green:0.0 blue:0.0); add:(Color red:0.0 green:100.0 blue:0.0); add:(Color red:0.0 green:0.0 blue:100.0); add:(Color red:0.0 green:100.0 blue:100.0); add:(Color red:100.0 green:100.0 blue:0.0); add:(Color red:100.0 green:0.0 blue:100.0); add:(Color red:49.9962 green:0.0 blue:0.0); add:(Color red:0.0 green:49.9962 blue:0.0); add:(Color red:0.0 green:0.0 blue:49.9962); add:(Color red:0.0 green:49.9962 blue:49.9962); add:(Color red:49.9962 green:49.9962 blue:0.0); add:(Color red:49.9962 green:0.0 blue:49.9962); add:(Color grey:49.9962); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); yourself); yourself]!
+
+menuItemImage
+ "Generated by the Image Editor"
+ "
+ ImageEditor openOnClass:self andSelector:#menuItemImage
+ "
+
+ <resource: #image>
+
+ ^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:'@@@@@@@@@@@@@@@@@@@@???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); yourself); yourself]!
+
+menuSeparatorImage
+ "Generated by the Image Editor"
+ "
+ ImageEditor openOnClass:self andSelector:#menuSeparatorImage
+ "
+
+ <resource: #image>
+
+ ^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:'@@@@@@@@@@@@@@@@@@@@???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); yourself); yourself]!
+
+submenuImage
+ "Generated by the Image Editor"
+ "
+ ImageEditor openOnClass:self andSelector:#submenuImage
+ "
+
+ <resource: #image>
+
+ ^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:'???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); yourself); yourself]! !
+
+!MenuEditor class methodsFor:'slices'!
+
+slicesItem
+ ^#(
+ (Basics basicsItemSpec)
+ (Details detailsEditSpec)
+ (Image imageEditSpec)
+ )
+
+!
+
+slicesLink
+ ^#(
+ (Basics basicsLinkSpec)
+ (Details detailsEditSpec)
+ (Image imageEditSpec)
+ )
+
+!
+
+slicesMenu
+ ^#(
+ (Basics basicsMenuSpec)
+ (Details detailsEditSpec)
+ (Image imageEditSpec)
+ )
+
+!
+
+slicesRootMenu
+ ^#(
+ (Basics basicsRootSpec)
+ )
+
+!
+
+slicesSeparatorMenu
+ ^#(
+ (Basics basicsSeparatorSpec)
+ )
+
! !
!MenuEditor methodsFor:'accessing'!