*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Mon, 13 Nov 2000 12:08:35 +0100
changeset 1425 a196da536bff
parent 1424 d7367ae7f85e
child 1426 fcf2ecbdde67
*** empty log message ***
MenuEditor.st
resources/MenuEditor.rs
--- a/MenuEditor.st	Tue Nov 07 12:52:50 2000 +0100
+++ b/MenuEditor.st	Mon Nov 13 12:08:35 2000 +0100
@@ -22,6 +22,13 @@
 	category:'Interface-UIPainter'
 !
 
+SelectionInTreeView subclass:#TreeView
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:MenuEditor
+!
+
 Object subclass:#Item
 	instanceVariableNames:'activeHelpKey enabled label value nameKey indication shortcutKey
 		accessCharacterPos retriever icon iconAndLabel submenuChannel
@@ -33,13 +40,6 @@
 	privateIn:MenuEditor
 !
 
-SelectionInTreeView subclass:#TreeView
-	instanceVariableNames:''
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:MenuEditor
-!
-
 !MenuEditor class methodsFor:'documentation'!
 
 copyright
@@ -297,7 +297,8 @@
 
     ^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') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 255 0 0 0 255 0 0 0 255 0 255 255 255 255 0 255 0 255 127 0 0 0 127 0 0 0 127 0 127 127 127 127 0 127 0 127 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]!
+        ifAbsentPut:[(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@ADQDQDQDQDQDQH@D"H"H"H"H"H"K0@RH"H"H"H"H"H/@A????????????<@D@@@@@@@@@@@C0@PL3L0DQDQDQD_@A@3L3LBH"H"H"<@DCL3L3@"H"H"K0@PL3L3L0??????@A@@@@L3L@@@@@<@DQDQDCL3@PLAG0@RH"H"@3L0@3@/@AH"H"H L3L3L0<@G?????<CL3L3L@@P@@@@@@@3L3LO@ADQDQDQDP@CLA<@D"H"H"H"H LBK0@RH"H"H"H"@BH/@B????????????<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 255 0 0 0 255 0 0 0 255 0 255 255 255 255 0 255 0 255 127 0 0 0 127 0 0 0 127 0 127 127 127 127 0 127 0 127 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]
+!
 
 menuItemImage
     "This resource specification was automatically generated
@@ -314,7 +315,8 @@
 
     ^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') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]!
+        ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'UUUUUUUQUUUUUUUPUUUUUUU_UUUUUUUPUUUUUUUP@@@@@@@@EUUUUUVAF*****+HF:?+::;@F:.+*?;@F:.+::;@F:.+*:;@F:.+::;@F*****+DK??????A@@@@@@@@UUUUUUUPUUUUUUUXUUUUUUUPUUUUUUUPUUUUUUUPUUUUUUUX') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]
+!
 
 menuSeparatorImage
     "This resource specification was automatically generated
@@ -331,7 +333,8 @@
 
     ^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') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]!
+        ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'UUUUUUURUUUUUUUPUUUUUUUPUUUUUUUPUUUUUUUP@@@@@@@@EUUUUUV@F*****+DF*****+CF?????+@F0@@@@[@F%UUUU[HF*****+@F*****+@K??????N@@@@@@@HUUUUUUUPUUUUUUUPUUUUUUUWUUUUUUUXUUUUUUUPUUUUUUUP') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]
+!
 
 submenuImage
     "This resource specification was automatically generated
@@ -348,7 +351,8 @@
 
     ^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??????@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]! !
+        ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@EUUUUUV@F*****+@F*****+@G??????GD@@@@@C@EUUUUUWLF*****+@F*****+@G??????HD@@@@@C@EUUUUUW@F*****+@F*****+OG??????@D@@@@@C@EUUUUUW@F*****+@F*****+@K??????@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]
+! !
 
 !MenuEditor class methodsFor:'interface specs'!
 
@@ -1604,17 +1608,17 @@
                     
                      #(
                        #(#MenuItem
-                          #label: 'Standard File Menu'
+                          #label: 'Standard Menu: File'
                           #translateLabel: true
                           #value: #doCreateStandardFileMenu
                       )
                        #(#MenuItem
-                          #label: 'Standard Edit Menu'
+                          #label: 'Standard Menu: Edit'
                           #translateLabel: true
                           #value: #doCreateStandardEditMenu
                       )
                        #(#MenuItem
-                          #label: 'Standard Help Menu'
+                          #label: 'Standard Menu: Help'
                           #translateLabel: true
                           #value: #doCreateStandardHelpMenu
                       )
@@ -2701,361 +2705,6 @@
     modified := true.
 ! !
 
-!MenuEditor::Item class methodsFor:'constants'!
-
-separatorList
-    "get the list of available separator types"
-
-    ^#('blank' 'single line' 'double line')
-!
-
-separatorSlices
-    "get the list of menu spec values of the corresponding separator types"
-
-   ^ #(
-        ( #blank        ''  )
-        ( #single       '-' )
-        ( #double       '=' )
-      )
-! !
-
-!MenuEditor::Item class methodsFor:'documentation'!
-
-documentation
-"
-    implements the contents assigned to a TreeItem. An instance
-    is associated with one item and keeps all its information
-
-    [see also:]
-        TreeItem
-        MenuEditor
-
-    [author:]
-        Claus Atzkern
-"
-
-
-! !
-
-!MenuEditor::Item methodsFor:'accessing'!
-
-activeHelpKey
-    "get the help key of the menu item"
-
-    ^activeHelpKey
-!
-
-activeHelpKey:aKey
-    "set the help key of the menu item"
-
-    activeHelpKey := aKey
-!
-
-label
-    "get the value of the menu item"
-
-    ^label
-!
-
-label:something
-    "set the value of the menu item"
-
-    label := something ? '-'
-!
-
-separatorType
-    "get the separator type assigned to item or nil"
-
-    label size > 1 
-    ifFalse:
-    [
-        label size  == 0  ifTrue:[^#blank].
-        label first == $- ifTrue:[^#single].
-        label first == $= ifTrue:[^#double].
-    ].    
-    ^nil
-
-!
-
-startGroup:aSymbolOrNil
-    "set the startGroup attribute"
-
-    startGroup := aSymbolOrNil
-
-    "Created: / 23.8.1998 / 15:56:03 / cg"
-!
-
-submenuChannel
-    "return the value of the instance variable 'submenuChannel' (automatically generated)"
-
-    ^submenuChannel
-!
-
-submenuChannel:aChannel
-    "get the submenuChannel"
-
-    submenuChannel := aChannel
-!
-
-translateLabel:aBoolean
-    "set/clear the translate to national-language flag"
-
-    translateLabel := aBoolean
-
-    "Created: / 6.6.1998 / 17:23:33 / cg"
-!
-
-value:aSymbol
-    "set the value attribute"
-
-    value := aSymbol
-
-    "Created: / 23.8.1998 / 16:02:10 / cg"
-! !
-
-!MenuEditor::Item methodsFor:'building'!
-
-buildFromAspects:aspects
-    "read the values of the aspects into my values"
-
-    |name|
-    self isSeparator 
-    ifFalse:
-    [
-        name  := label.
-        label := (aspects at:#label) value.
-
-        (label isNil or:[self isSeparator]) ifTrue:[
-            (aspects at:#label) value:(label := name)
-        ].
-
-        enabled            := (aspects at:#enabled) value.
-        value              := (aspects at:#value) value.
-        nameKey            := (aspects at:#nameKey) value.
-        indication         := (aspects at:#indication) value.
-        choice             := (aspects at:#choice) value.
-        choiceValue        := (aspects at:#choiceValue) value.
-        shortcutKey        := (aspects at:#shortcutKey) value.
-        startGroup         := (aspects at:#startGroup) value.
-        accessCharacterPos := (aspects at:#accessCharacterPos) value.
-        showBusyCursorWhilePerforming := (aspects at:#showBusyCursorWhilePerforming) value.
-        triggerOnDown      := (aspects at:#triggerOnDown) value.
-        keepLinkedMenu     := (aspects at:#keepLinkedMenu) value ? false.
-        font               := (aspects at:#font) value.
-        argument           := (aspects at:#argument) value.
-        translateLabel     := (aspects at:#translateLabel) value.
-        isButton           := (aspects at:#isButton) value.
-        auxValue           := (aspects at:#auxValue) value.
-
-        argument isString ifTrue:[
-            argument size > 1 ifTrue:[
-                (argument at:1) == $# ifTrue:[
-                    argument := (argument copyFrom:2) asSymbol
-                ]
-            ]
-        ].
-        submenuChannel    := (aspects at:#submenuChannel) value.
-        retriever         := (aspects at:#retriever) value.
-        icon              := (aspects at:#icon) value.
-        iconAndLabel      := (aspects at:#iconAndLabel) value.
-    ]
-    ifTrue:
-    [
-        name  := (aspects at:#seperatorSelection) selectionIndex.
-        label := (self class separatorSlices at:name) last.
-    ].
-    isVisible := (aspects at:#isVisible) value.
-    hideMenuOnActivated := (aspects at:#hideMenuOnActivated) value.
-
-    "Modified: / 14.8.1998 / 15:36:38 / cg"
-!
-
-buildFromMenuItem:anItem
-    "read the attributes of anItem into my values"
-
-    |rtv|
-
-    self label:(anItem rawLabel).
-    activeHelpKey := anItem activeHelpKey.
-
-    (enabled := anItem enabled) isSymbol ifFalse:[
-        enabled := nil
-    ].
-    (value := anItem value) isSymbol ifFalse:[
-        value := nil.
-    ].
-    (indication := anItem indication) isSymbol ifFalse:[
-        indication := nil
-    ].
-    (choice := anItem choice) isSymbol ifFalse:[
-        choice := nil
-    ].
-    choiceValue         := anItem choiceValue.
-    nameKey             := anItem nameKey.
-    shortcutKey         := anItem shortcutKeyCharacter.
-    startGroup          := anItem startGroup.
-    accessCharacterPos  := anItem accessCharacterPosition.
-    showBusyCursorWhilePerforming  := anItem showBusyCursorWhilePerforming.
-    triggerOnDown       := anItem triggerOnDown.
-    keepLinkedMenu      := anItem keepLinkedMenu.
-    font                := anItem font.
-    argument            := anItem argument.
-
-    submenuChannel      := anItem submenuChannel.
-    translateLabel      := anItem translateLabel.
-    isButton            := anItem isButton.
-    isVisible           := anItem isVisible.
-    hideMenuOnActivated := anItem hideMenuOnActivated.
-    auxValue            := anItem auxValue.
-
-    (((rtv := anItem adornment) notNil)
-    and:[(rtv := rtv labelImage) isKindOf:ResourceRetriever])
-    ifTrue:
-    [
-        retriever := rtv className.
-        icon      := rtv selector.
-        (iconAndLabel := rtv labelText notNil) ifTrue:[
-            label := rtv labelText.
-        ]
-    ]
-
-    "Modified: / 29.9.1998 / 11:18:25 / cg"
-! !
-
-!MenuEditor::Item methodsFor:'conversion'!
-
-asMenuItem
-    "converts self to a menu item"
-
-    |item rcv|
-
-    item := MenuItem labeled:label.
-    item isVisible:isVisible.
-    item hideMenuOnActivated:hideMenuOnActivated.
-
-    self isSeparator ifFalse:[    
-        item activeHelpKey:activeHelpKey.
-        item enabled:enabled.
-        item accessCharacterPosition:accessCharacterPos.
-        item showBusyCursorWhilePerforming:showBusyCursorWhilePerforming.
-        item triggerOnDown:triggerOnDown.
-        item keepLinkedMenu:keepLinkedMenu.
-        item font:font.
-        item argument:argument.
-        item submenuChannel:submenuChannel.
-        item nameKey:nameKey.
-        item shortcutKeyCharacter:shortcutKey.
-        item startGroup:startGroup.
-        item value:value.
-        item indication:indication.
-        item choice:choice.
-        item choiceValue:choiceValue.
-        item translateLabel: translateLabel.
-        item isButton: isButton.
-        item auxValue: auxValue.
-
-        icon notNil ifTrue:[
-            rcv := ResourceRetriever new.
-            rcv className:retriever.
-            rcv selector:icon.
-            iconAndLabel == true ifTrue:[
-                rcv labelText:label
-            ].
-            item labelImage:rcv
-        ]
-    ].
-    ^item
-
-    "Modified: / 14.8.1998 / 15:36:35 / cg"
-!
-
-toAspects:aspects
-    "put my values into the values of aspects"
-
-    |type|
-    (type := self separatorType) notNil ifTrue: [
-        type := self class separatorSlices findFirst:[:el| el first == type ].
-        (aspects at:#seperatorSelection) selectionIndex:type.
-    ] ifFalse: [
-        (aspects at:#label)                value:label.
-        (aspects at:#enabled)              value:enabled.
-        (aspects at:#value)                value:value.
-        (aspects at:#nameKey)              value:nameKey.
-        (aspects at:#indication)           value:indication.
-        (aspects at:#choice)               value:choice.
-        (aspects at:#choiceValue)          value:choiceValue.
-        (aspects at:#shortcutKey)          value:shortcutKey.
-        (aspects at:#startGroup)           value:startGroup.
-        (aspects at:#accessCharacterPos)   value:accessCharacterPos.
-        (aspects at:#showBusyCursorWhilePerforming)   value:showBusyCursorWhilePerforming.
-        (aspects at:#triggerOnDown)        value:triggerOnDown.
-        (aspects at:#keepLinkedMenu)       value:(keepLinkedMenu ? false).
-        (aspects at:#font)                 value:font.
-        (aspects at:#translateLabel)       value:translateLabel.
-        (aspects at:#submenuChannel)       value:submenuChannel.
-        (aspects at:#retriever)            value:retriever.
-        (aspects at:#icon)                 value:icon.
-        (aspects at:#iconAndLabel)         value:iconAndLabel.
-        (aspects at:#isButton)             value:isButton.
-        (aspects at:#auxValue)             value:auxValue.
-
-        (aspects at:#argument)
-            value:(argument isSymbol
-                        ifTrue: ['#', argument] 
-                        ifFalse:[argument]).
-    ].
-    (aspects at:#isVisible) value:isVisible.
-    (aspects at:#hideMenuOnActivated) value:(hideMenuOnActivated ? true).
-
-    "Modified: / 14.8.1998 / 15:37:29 / cg"
-! !
-
-!MenuEditor::Item methodsFor:'queries'!
-
-iconFor: aNode
-    "get the icon of the menu item for the tree view"
-
-    (aNode hasChildren or: [aNode parent isNil])
-    ifTrue:
-    [
-        ^MenuEditor submenuImage
-    ]
-    ifFalse:
-    [
-        submenuChannel notNil 
-        ifTrue:
-        [
-            ^MenuEditor linkSubmenuImage
-        ]
-        ifFalse:
-        [
-            self isSeparator 
-                ifTrue:  [^MenuEditor menuSeparatorImage]
-                ifFalse: [^MenuEditor menuItemImage]
-        ]
-    ]
-!
-
-isSeparator
-    "return true if item is a seperator"
-
-    ^self separatorType notNil
-!
-
-treeViewLabel
-    "get the label of the menu item for the tree view"
-
-    ^label
-" asBoldText, 
-        (value notNil ifTrue: [': [', 
-                value ,
-                (argument isString ifTrue: [' ', (Text string: argument emphasis: #italic)] ifFalse: ['']),
-                 ']'] ifFalse: [''])
-
-
-"
-! !
-
 !MenuEditor::TreeView class methodsFor:'documentation'!
 
 documentation
@@ -3554,6 +3203,361 @@
     app updateChannels
 ! !
 
+!MenuEditor::Item class methodsFor:'constants'!
+
+separatorList
+    "get the list of available separator types"
+
+    ^#('blank' 'single line' 'double line')
+!
+
+separatorSlices
+    "get the list of menu spec values of the corresponding separator types"
+
+   ^ #(
+        ( #blank        ''  )
+        ( #single       '-' )
+        ( #double       '=' )
+      )
+! !
+
+!MenuEditor::Item class methodsFor:'documentation'!
+
+documentation
+"
+    implements the contents assigned to a TreeItem. An instance
+    is associated with one item and keeps all its information
+
+    [see also:]
+        TreeItem
+        MenuEditor
+
+    [author:]
+        Claus Atzkern
+"
+
+
+! !
+
+!MenuEditor::Item methodsFor:'accessing'!
+
+activeHelpKey
+    "get the help key of the menu item"
+
+    ^activeHelpKey
+!
+
+activeHelpKey:aKey
+    "set the help key of the menu item"
+
+    activeHelpKey := aKey
+!
+
+label
+    "get the value of the menu item"
+
+    ^label
+!
+
+label:something
+    "set the value of the menu item"
+
+    label := something ? '-'
+!
+
+separatorType
+    "get the separator type assigned to item or nil"
+
+    label size > 1 
+    ifFalse:
+    [
+        label size  == 0  ifTrue:[^#blank].
+        label first == $- ifTrue:[^#single].
+        label first == $= ifTrue:[^#double].
+    ].    
+    ^nil
+
+!
+
+startGroup:aSymbolOrNil
+    "set the startGroup attribute"
+
+    startGroup := aSymbolOrNil
+
+    "Created: / 23.8.1998 / 15:56:03 / cg"
+!
+
+submenuChannel
+    "return the value of the instance variable 'submenuChannel' (automatically generated)"
+
+    ^submenuChannel
+!
+
+submenuChannel:aChannel
+    "get the submenuChannel"
+
+    submenuChannel := aChannel
+!
+
+translateLabel:aBoolean
+    "set/clear the translate to national-language flag"
+
+    translateLabel := aBoolean
+
+    "Created: / 6.6.1998 / 17:23:33 / cg"
+!
+
+value:aSymbol
+    "set the value attribute"
+
+    value := aSymbol
+
+    "Created: / 23.8.1998 / 16:02:10 / cg"
+! !
+
+!MenuEditor::Item methodsFor:'building'!
+
+buildFromAspects:aspects
+    "read the values of the aspects into my values"
+
+    |name|
+    self isSeparator 
+    ifFalse:
+    [
+        name  := label.
+        label := (aspects at:#label) value.
+
+        (label isNil or:[self isSeparator]) ifTrue:[
+            (aspects at:#label) value:(label := name)
+        ].
+
+        enabled            := (aspects at:#enabled) value.
+        value              := (aspects at:#value) value.
+        nameKey            := (aspects at:#nameKey) value.
+        indication         := (aspects at:#indication) value.
+        choice             := (aspects at:#choice) value.
+        choiceValue        := (aspects at:#choiceValue) value.
+        shortcutKey        := (aspects at:#shortcutKey) value.
+        startGroup         := (aspects at:#startGroup) value.
+        accessCharacterPos := (aspects at:#accessCharacterPos) value.
+        showBusyCursorWhilePerforming := (aspects at:#showBusyCursorWhilePerforming) value.
+        triggerOnDown      := (aspects at:#triggerOnDown) value.
+        keepLinkedMenu     := (aspects at:#keepLinkedMenu) value ? false.
+        font               := (aspects at:#font) value.
+        argument           := (aspects at:#argument) value.
+        translateLabel     := (aspects at:#translateLabel) value.
+        isButton           := (aspects at:#isButton) value.
+        auxValue           := (aspects at:#auxValue) value.
+
+        argument isString ifTrue:[
+            argument size > 1 ifTrue:[
+                (argument at:1) == $# ifTrue:[
+                    argument := (argument copyFrom:2) asSymbol
+                ]
+            ]
+        ].
+        submenuChannel    := (aspects at:#submenuChannel) value.
+        retriever         := (aspects at:#retriever) value.
+        icon              := (aspects at:#icon) value.
+        iconAndLabel      := (aspects at:#iconAndLabel) value.
+    ]
+    ifTrue:
+    [
+        name  := (aspects at:#seperatorSelection) selectionIndex.
+        label := (self class separatorSlices at:name) last.
+    ].
+    isVisible := (aspects at:#isVisible) value.
+    hideMenuOnActivated := (aspects at:#hideMenuOnActivated) value.
+
+    "Modified: / 14.8.1998 / 15:36:38 / cg"
+!
+
+buildFromMenuItem:anItem
+    "read the attributes of anItem into my values"
+
+    |rtv|
+
+    self label:(anItem rawLabel).
+    activeHelpKey := anItem activeHelpKey.
+
+    (enabled := anItem enabled) isSymbol ifFalse:[
+        enabled := nil
+    ].
+    (value := anItem value) isSymbol ifFalse:[
+        value := nil.
+    ].
+    (indication := anItem indication) isSymbol ifFalse:[
+        indication := nil
+    ].
+    (choice := anItem choice) isSymbol ifFalse:[
+        choice := nil
+    ].
+    choiceValue         := anItem choiceValue.
+    nameKey             := anItem nameKey.
+    shortcutKey         := anItem shortcutKeyCharacter.
+    startGroup          := anItem startGroup.
+    accessCharacterPos  := anItem accessCharacterPosition.
+    showBusyCursorWhilePerforming  := anItem showBusyCursorWhilePerforming.
+    triggerOnDown       := anItem triggerOnDown.
+    keepLinkedMenu      := anItem keepLinkedMenu.
+    font                := anItem font.
+    argument            := anItem argument.
+
+    submenuChannel      := anItem submenuChannel.
+    translateLabel      := anItem translateLabel.
+    isButton            := anItem isButton.
+    isVisible           := anItem isVisible.
+    hideMenuOnActivated := anItem hideMenuOnActivated.
+    auxValue            := anItem auxValue.
+
+    (((rtv := anItem adornment) notNil)
+    and:[(rtv := rtv labelImage) isKindOf:ResourceRetriever])
+    ifTrue:
+    [
+        retriever := rtv className.
+        icon      := rtv selector.
+        (iconAndLabel := rtv labelText notNil) ifTrue:[
+            label := rtv labelText.
+        ]
+    ]
+
+    "Modified: / 29.9.1998 / 11:18:25 / cg"
+! !
+
+!MenuEditor::Item methodsFor:'conversion'!
+
+asMenuItem
+    "converts self to a menu item"
+
+    |item rcv|
+
+    item := MenuItem labeled:label.
+    item isVisible:isVisible.
+    item hideMenuOnActivated:hideMenuOnActivated.
+
+    self isSeparator ifFalse:[    
+        item activeHelpKey:activeHelpKey.
+        item enabled:enabled.
+        item accessCharacterPosition:accessCharacterPos.
+        item showBusyCursorWhilePerforming:showBusyCursorWhilePerforming.
+        item triggerOnDown:triggerOnDown.
+        item keepLinkedMenu:keepLinkedMenu.
+        item font:font.
+        item argument:argument.
+        item submenuChannel:submenuChannel.
+        item nameKey:nameKey.
+        item shortcutKeyCharacter:shortcutKey.
+        item startGroup:startGroup.
+        item value:value.
+        item indication:indication.
+        item choice:choice.
+        item choiceValue:choiceValue.
+        item translateLabel: translateLabel.
+        item isButton: isButton.
+        item auxValue: auxValue.
+
+        icon notNil ifTrue:[
+            rcv := ResourceRetriever new.
+            rcv className:retriever.
+            rcv selector:icon.
+            iconAndLabel == true ifTrue:[
+                rcv labelText:label
+            ].
+            item labelImage:rcv
+        ]
+    ].
+    ^item
+
+    "Modified: / 14.8.1998 / 15:36:35 / cg"
+!
+
+toAspects:aspects
+    "put my values into the values of aspects"
+
+    |type|
+    (type := self separatorType) notNil ifTrue: [
+        type := self class separatorSlices findFirst:[:el| el first == type ].
+        (aspects at:#seperatorSelection) selectionIndex:type.
+    ] ifFalse: [
+        (aspects at:#label)                value:label.
+        (aspects at:#enabled)              value:enabled.
+        (aspects at:#value)                value:value.
+        (aspects at:#nameKey)              value:nameKey.
+        (aspects at:#indication)           value:indication.
+        (aspects at:#choice)               value:choice.
+        (aspects at:#choiceValue)          value:choiceValue.
+        (aspects at:#shortcutKey)          value:shortcutKey.
+        (aspects at:#startGroup)           value:startGroup.
+        (aspects at:#accessCharacterPos)   value:accessCharacterPos.
+        (aspects at:#showBusyCursorWhilePerforming)   value:showBusyCursorWhilePerforming.
+        (aspects at:#triggerOnDown)        value:triggerOnDown.
+        (aspects at:#keepLinkedMenu)       value:(keepLinkedMenu ? false).
+        (aspects at:#font)                 value:font.
+        (aspects at:#translateLabel)       value:translateLabel.
+        (aspects at:#submenuChannel)       value:submenuChannel.
+        (aspects at:#retriever)            value:retriever.
+        (aspects at:#icon)                 value:icon.
+        (aspects at:#iconAndLabel)         value:iconAndLabel.
+        (aspects at:#isButton)             value:isButton.
+        (aspects at:#auxValue)             value:auxValue.
+
+        (aspects at:#argument)
+            value:(argument isSymbol
+                        ifTrue: ['#', argument] 
+                        ifFalse:[argument]).
+    ].
+    (aspects at:#isVisible) value:isVisible.
+    (aspects at:#hideMenuOnActivated) value:(hideMenuOnActivated ? true).
+
+    "Modified: / 14.8.1998 / 15:37:29 / cg"
+! !
+
+!MenuEditor::Item methodsFor:'queries'!
+
+iconFor: aNode
+    "get the icon of the menu item for the tree view"
+
+    (aNode hasChildren or: [aNode parent isNil])
+    ifTrue:
+    [
+        ^MenuEditor submenuImage
+    ]
+    ifFalse:
+    [
+        submenuChannel notNil 
+        ifTrue:
+        [
+            ^MenuEditor linkSubmenuImage
+        ]
+        ifFalse:
+        [
+            self isSeparator 
+                ifTrue:  [^MenuEditor menuSeparatorImage]
+                ifFalse: [^MenuEditor menuItemImage]
+        ]
+    ]
+!
+
+isSeparator
+    "return true if item is a seperator"
+
+    ^self separatorType notNil
+!
+
+treeViewLabel
+    "get the label of the menu item for the tree view"
+
+    ^label
+" asBoldText, 
+        (value notNil ifTrue: [': [', 
+                value ,
+                (argument isString ifTrue: [' ', (Text string: argument emphasis: #italic)] ifFalse: ['']),
+                 ']'] ifFalse: [''])
+
+
+"
+! !
+
 !MenuEditor class methodsFor:'documentation'!
 
 version
--- a/resources/MenuEditor.rs	Tue Nov 07 12:52:50 2000 +0100
+++ b/resources/MenuEditor.rs	Mon Nov 13 12:08:35 2000 +0100
@@ -14,6 +14,15 @@
 'Menu Separator'      'Trennzeile'
 'Submenu'             'Untermenu'
 'Submenu Link'        'Untermenu Referenz'
+'Standard Submenu'    'Standart Untermenu'
+
+'Standard Menu: File'    'Standart Menu: Datei'
+'Standard Menu: Edit'    'Standart Menu: Bearbeiten'
+'Standard Menu: Help'    'Standart Menu: Hilfe'
+
+'Standard File Menu'    'Standart Menu: Datei'
+'Standard Edit Menu'    'Standart Menu: Bearbeiten'
+'Standard Help Menu'    'Standart Menu: Hilfe'
 
 ; '%1 spec was modified !'        '%1-Spezifikation wurde verändert !'
 ; 'Forget it and proceed'         'Trotzdem weiter'