*** empty log message ***
authortz
Sat, 14 Feb 1998 22:51:19 +0100
changeset 637 0fac61dcb6fd
parent 636 b06bea6cbe1b
child 638 a82372d61cf8
*** empty log message ***
MenuEditor.st
--- a/MenuEditor.st	Sat Feb 14 22:42:27 1998 +0100
+++ b/MenuEditor.st	Sat Feb 14 22:51:19 1998 +0100
@@ -1758,19 +1758,12 @@
 
 !MenuEditor methodsFor:'startup / release'!
 
-buildFrom:aClass andSelector:aSelector
-
-    |oldClass|
-
-    self valueOfEnablingCommitButtons value: false.
-    oldClass := self specClass.
-    self specClass:aClass.
-    specSelector := aSelector.
-
-    (self isStandAlone and:[oldClass ~= specClass]) ifTrue:[
+buildFromClass:aClass andSelector:aSelector
+
+    self isStandAlone ifTrue:[
         self helpTool helpSpecFrom:specClass
     ].              
-    self treeView buildFrom: specClass andSelector: specSelector.
+    self treeView buildFromClass: aClass andSelector: specSelector.
 
     self updateHistory.
     self updateInfoLabel.
@@ -1811,7 +1804,7 @@
         ]
         
     ].
-    self buildFrom:cls andSelector:sel
+    self buildFromClass:cls andSelector:sel
 !
 
 postOpenWith:aBuilder
@@ -1830,6 +1823,8 @@
 
     |node|
 
+    super accept.
+
     node := self treeView selectedNode.
     node notNil
     ifTrue:
@@ -1847,8 +1842,7 @@
             specSelector := self treeView selectorName.
         ]
     ].
-    self valueOfEnablingCommitButtons value:false.
-    modified := true
+
 !
 
 cancel
@@ -1871,7 +1865,8 @@
     self askForModification
     ifTrue: 
     [
-        self buildFrom: nil andSelector: self treeView selectorName
+        specClass := specSelector := nil.
+        self buildFromClass: nil andSelector: #menu
     ]
 !
 
@@ -1893,18 +1888,11 @@
 doSave
     |cls treeView menu spec mthd category code|
 
-    cls := self resolveName:(self specClass).
-
-    cls isNil ifTrue:[
-        ^ self information:'No valid class defined!!'.
-    ].
-
+    super doSave ifTrue: [^nil].
+
+    cls := self resolveName: specClass.
     treeView := self treeView.
     menu     := treeView asMenu.
-
-    menu isNil ifTrue:[
-        ^ self information:'No menu defined!!'
-    ].
     menu := menu literalArrayEncoding.
     spec := WriteStream on:String new.
     UISpecification prettyPrintSpecArray:menu on:spec indent:5.
@@ -1955,9 +1943,7 @@
 
 doSaveAs
 
-    super doSaveAs.
-
-    self treeView selectorName: specSelector
+    super doSaveAs ifTrue: [self treeView selectorName: specSelector]
 !
 
 doStepDown
@@ -2310,7 +2296,7 @@
 
 !MenuEditor::TreeView methodsFor:'building'!
 
-buildFrom:aClass andSelector:aSelector
+buildFromClass:aClass andSelector:aSelector
 
     |spec cls menu node|