--- 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|