MenuEditor.st
changeset 412 330bf61c53b5
parent 411 7f21bc19cd51
child 414 116cf2acebe3
--- 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"
 
-    <resource: #keyboard ( #Delete #BackSpace #Cut #Copy #Paste ) >
-
-    (key == #Cut or:[key == #Delete or:[key == #BackSpace]]) ifTrue: [
-        ^ self doCut
-    ].
+    <resource: #keyboard (#Delete #BackSpace #Cut #Copy #Paste)>
+
+    (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'!