diff -r 5bf03bf611c8 -r fc00fc231df2 MenuEditor.st --- a/MenuEditor.st Thu Feb 05 22:10:09 1998 +0100 +++ b/MenuEditor.st Thu Feb 05 22:15:36 1998 +0100 @@ -141,7 +141,7 @@ 'A boolean value holder, a boolean evaluating block, or a boolean returning selector for specifying indication state.' #basicsIsButton -'Toggles on/off a button behavior.' +'Turns on/off a button behavior.' #basicsLabel 'Label of the item.' @@ -162,7 +162,7 @@ 'List of valid separators.' #basicsTranslateLabel -'Toggles on/off translation behavior of the label via class resource file.' +'Turns on/off translation behavior of the label via class resource file.' #detailsAccelerator 'Key to be pressed to select the menu item from the keyboard (accelerator key).' @@ -189,7 +189,7 @@ 'Saves current menu spec and if modified the help spec.' #imageImageAndLabel -'Toggles on/off displaying both image and textual label.' +'Turns on/off displaying both image and textual label.' #imageImageEditor 'Opens an Image Editor on retriever and selector.' @@ -1048,13 +1048,13 @@ #'enabled:' #isStandAlone ) #(#MenuItem - #'label:' 'Define Menu Class...' + #'label:' 'Define Class...' #'value:' #doDefineClass #'activeHelpKey:' #fileDefineClass #'enabled:' #isStandAlone ) #(#MenuItem - #'label:' 'Browse Menu Class' + #'label:' 'Browse Class' #'value:' #doBrowseAppClass #'activeHelpKey:' #fileBrowseClass ) @@ -2772,13 +2772,16 @@ doCut - |selectedNodes| - self doCopy. - selectedNodes := self selection asSortedCollection. - self selectedNodesRemove. - self selection: selectedNodes first - 1. - self setModified. - + self checkMenuItemModified + ifTrue: + [ + |selectedNodes| + self doCopy. + selectedNodes := self selection asSortedCollection. + self selectedNodesRemove. + self selection: selectedNodes first - 1. + self setModified. + ] ! @@ -2794,20 +2797,29 @@ addElement: aNode "add something after selection" - (aNode isCollection not and: [aNode name = 'Item']) - ifTrue: + self checkMenuItemModified + ifTrue: [ - |label| - label := aNode name, ' ', - (self selectedNode parent notNil ifTrue: - [(((self selectedNode children size = 0 ifTrue: [self selectedNode parent children] ifFalse: [self selectedNode children]) select: [:node| - |lab| lab := node contents label. ((node children size = 0) & node contents submenuChannel isNil & (lab ~= '-') & (lab ~= '=') & (lab ~= ''))]) size + 1) printString] ifFalse: ['1']). - aNode name: label. - aNode contents label: label. - ]. - self selectedNodeAdd: aNode. - aNode isCollection ifFalse: [self selectNode: aNode] ifTrue: [self selection: (aNode collect: [:node| self indexOfNode: node])]. - self setModified. + (aNode isCollection not and: [aNode name = 'Item']) + ifTrue: + [ + |label| + label := aNode name, ' ', + (self selectedNode parent notNil ifTrue: + [(((self selectedNode children size = 0 ifTrue: [self selectedNode parent children] ifFalse: [self selectedNode children]) select: [:node| + |lab| lab := node contents label. ((node children size = 0) & node contents submenuChannel isNil & (lab ~= '-') & (lab ~= '=') & (lab ~= ''))]) size + 1) printString] ifFalse: ['1']). + aNode name: label. + aNode contents label: label. + ]. + self selectedNodeAdd: aNode. + aNode isCollection ifFalse: [self selectNode: aNode] ifTrue: [self selection: (aNode collect: [:node| self indexOfNode: node])]. + self setModified. + ] +! + +checkMenuItemModified + + ^self topView application checkMenuItemModified ! nodeLabel:aLabel