diff -r 7f21bc19cd51 -r 330bf61c53b5 MenuEditor.st --- a/MenuEditor.st Fri Jan 16 17:00:50 1998 +0100 +++ b/MenuEditor.st Fri Jan 16 19:02:23 1998 +0100 @@ -380,7 +380,7 @@ ) #(#MenuItem #'label:' 'History' - #'accessCharacterPosition:' 1 + #'accessCharacterPosition:' 2 #'submenuChannel:' #menuHistory ) #(#MenuItem @@ -1491,8 +1491,8 @@ specCanvas := SubCanvas origin:0.0@0.0 corner:1.0@1.0 in:noteBook. helpCanvas client:helpTool. - helpTool masterApplication:self. - helpTool modifiedHolder:(self modifiedChannel). + helpTool masterApplication:self. + helpTool modifiedHolder: self modifiedChannel. builder aspectAt:#noteBookView put:noteBook. ]. @@ -1538,8 +1538,7 @@ update:something with:aParameter from:changedObject "one of my value holders has changed its value, so let me set the editing menu as modified" - self modifiedChannel value: true. - isModified := true. + self modifiedChannel value: true ! updateEnabledChannels @@ -1547,7 +1546,7 @@ |node parent next state| - state := false. + state := false. (node := self treeView selectedNode) notNil ifTrue: @@ -1709,7 +1708,7 @@ tabSelection: aSelection - |sel| + |sel| tabSelection = aSelection ifTrue:[ ^ self ]. @@ -1725,11 +1724,11 @@ tabSelection := 1 ]. - self isHelpToolSelected ifTrue:[ + self isHelpToolSelected ifTrue:[ self helpTool helpKey:(self helpKey). helpCanvas raise. - ] ifFalse:[ - sel := (slices at:tabSelection) last. + ] ifFalse:[ + sel := (slices at:tabSelection) last. aspects do: [:holder| holder release]. specCanvas client:self spec:(self class perform:sel) builder:builder. aspects do: [:holder| holder addDependent:self]. @@ -1765,6 +1764,8 @@ self valueOfInfoLabel value: className, ' << ', aSelector ]. + self treeView selection: 2. + self menuChanged ! @@ -1787,8 +1788,8 @@ ! closeRequest - "close request - " + "close request" + self checkModified ifTrue: [super closeRequest] @@ -1842,8 +1843,7 @@ readStream := aMessage readStream. aClass := Smalltalk at: (readStream upTo: $ ) asSymbol. aSelector := readStream upToEnd asSymbol. - self buildFrom: aClass andSelector: aSelector. - self treeView selection: nil + self buildFrom: aClass andSelector: aSelector ] ! @@ -1874,11 +1874,18 @@ (sel isKindOf:Menu) ifTrue:[ self buildFrom:cls andSelector:nil. - ^ self treeView buildFromMenu:sel. + ^self treeView buildFromMenu:sel. ] ]. - self buildFrom:cls andSelector:sel. + self buildFrom:cls andSelector:sel +! + +postOpenWith:aBuilder + + self isHelpToolSelected + ifTrue: [helpCanvas raise] + ifFalse: [specCanvas raise] ! ! !MenuEditor methodsFor:'user interactions'! @@ -1917,7 +1924,7 @@ aspects do:[:anAspect| anAspect value:nil]. node contents toAspects:aspects ]. - self modifiedChannel value:false + self modifiedChannel value: false ! @@ -2602,16 +2609,14 @@ keyPress:key x:x y:y "invoked if any key was pressed" - - - (key == #Cut or:[key == #Delete or:[key == #BackSpace]]) ifTrue: [ - ^ self doCut - ]. + + + (key == #Cut or:[key == #Delete or:[key == #BackSpace]]) ifTrue: [^self doCut]. key == #Copy ifTrue:[^self doCopy]. key == #Paste ifTrue:[^self doPaste]. - super keyPress:key x:x y:y. + super keyPress:key x:x y:y ! ! @@ -2647,7 +2652,7 @@ self showDirectoryIndicator: true. self showDirectoryIndicatorForRoot: false. self selectConditionBlock: [:i|self application checkMenuItemModified]. - self validateDoubleClickBlock: [:node| node ~~ listOfNodes first] + self validateDoubleClickBlock: [:node| node ~~ listOfNodes first]. ! ! !MenuEditor::TreeView methodsFor:'menus'!