--- a/TabListEditor.st Mon Feb 13 09:50:37 2006 +0100
+++ b/TabListEditor.st Mon Feb 13 09:50:52 2006 +0100
@@ -1245,44 +1245,6 @@
!TabListEditor methodsFor:'building'!
-buildFromClass:aClass andSelector:aSelector
- "build from class and selector
- "
- |cls spec|
-
- self testMode value: false.
- self selection:0.
-
- "if opened on a tab list"
- (aClass isNil and: [aSelector isNil and: [listOfTabs size > 0]]) ifTrue:[
- listOfTabs notEmpty ifTrue:[self selection:1].
- ^ nil
- ].
- listOfTabs removeAll.
-
- cls := self resolveName:aClass.
- specSelector := aSelector.
-
- cls notNil ifTrue:[
- specSelector notNil ifTrue:[
-
- (cls respondsTo:specSelector) ifTrue:[
- spec := cls perform:specSelector.
-
- spec size ~~ 0 ifTrue:[
- spec do:[:aTab|
- listOfTabs add:aTab.
- ].
- self addToHistory:(cls name, ' ', specSelector) -> #loadFromMessage:
- ]
- ]
- ]
- ].
-
- modified := false.
- listOfTabs notEmpty ifTrue:[ self selection:1 ].
-!
-
buildFromResourceSpec:aListSpec
self buildFromTabList:aListSpec
!
@@ -1294,9 +1256,45 @@
listOfTabs removeAll.
aTabList do:[:aTabItem| listOfTabs add: aTabItem ].
- modified := false.
+ self clearModified.
listOfTabs notEmpty ifTrue:[ self selection:1 ].
+!
+loadFromClass:aClass andSelector:aSelector
+ "build from class and selector"
+
+ |cls spec|
+
+ self assert:(aClass isNil or:[aClass isClass]).
+
+ self testMode value: false.
+ self selection:0.
+
+ "if opened on a tab list"
+ (aClass isNil and: [aSelector isNil and: [listOfTabs size > 0]]) ifFalse:[
+ listOfTabs removeAll.
+
+ cls := aClass isBehavior ifTrue:[ aClass ] ifFalse:[ self resolveName:aClass].
+ specSelector := aSelector.
+
+ cls notNil ifTrue:[
+ specSelector notNil ifTrue:[
+
+ (cls respondsTo: aSelector) ifTrue:[
+ spec := cls perform: aSelector.
+ ].
+ spec size ~~ 0 ifTrue:[
+ spec do:[:aTab|
+ listOfTabs add:aTab.
+ ].
+ self addHistoryEntryForClass:cls selector:specSelector.
+ ]
+ ]
+ ].
+
+ self clearModified.
+ ].
+ listOfTabs notEmpty ifTrue:[ self selection:1 ].
! !
!TabListEditor methodsFor:'change & update'!
@@ -1440,7 +1438,7 @@
] ifFalse:[
listOfTabs add:aTab afterIndex:idx
].
- modified := true.
+ self setModified.
].
!
@@ -1514,9 +1512,8 @@
].
self selection:index.
self updateAllToolInstances.
- modified := true.
+ self setModified.
].
-
!
doGenerateAspectMethod
@@ -1588,8 +1585,7 @@
listOfTabs add:tab beforeIndex:idx.
self setSelection:idx.
- modified := true.
-
+ self setModified.
!
doPaste
@@ -1603,8 +1599,8 @@
!
doSave
- "generate code for class and instance
- "
+ "generate code for class and instance"
+
|cls code spec category mthd list|
(specClass notNil and:[specSelector notNil])
@@ -1663,8 +1659,8 @@
]
].
- self addToHistory:(cls name, ' ', specSelector) -> #loadFromMessage:.
- modified := false.
+ self addHistoryEntryForClass:cls selector:specSelector.
+ self clearModified.
hasSaved := true.
!