# HG changeset patch # User Claus Gittinger # Date 1139820652 -3600 # Node ID c1b9c7d9e8f4e05e3f6e4b1d47200b87bc78dc72 # Parent 469f9fd5302126d42518094e92ff4f6949309c70 code cleanup & refactoring diff -r 469f9fd53021 -r c1b9c7d9e8f4 TabListEditor.st --- 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. !