--- a/UIPainter.st Wed Feb 15 17:49:23 2006 +0100
+++ b/UIPainter.st Wed Feb 15 17:49:33 2006 +0100
@@ -14,7 +14,7 @@
"{ Package: 'stx:libtool2' }"
ToolApplicationModel subclass:#UIPainter
- instanceVariableNames:'specClass specSelector specSuperclassName aspects treeView
+ instanceVariableNames:'specClassName specSelector specSuperclassName aspects treeView
selectionPanel tabSelection modified specTool layoutTool helpTool'
classVariableNames:''
poolDictionaries:''
@@ -2430,10 +2430,10 @@
applBuilder := helpTool builder.
applWindow := ApplicationSubView origin:0.0@0.0 corner:1.0@1.0 in:noteBook.
applWindow level:0.
- helpTool loadFromClass:specClass.
+ helpTool loadFromClass:specClassName.
helpTool masterApplication:self.
applBuilder window:applWindow.
- applWindow client:helpTool spec:#windowSpec builder:applBuilder.
+ applWindow client:helpTool spec:#innerSpec builder:applBuilder.
applBuilder window:applWindow.
helpTool modifiedHolder:modifiedChannel.
@@ -2515,8 +2515,8 @@
|cls editor specTool columnHolder tableSelector columns|
- (cls := self resolveName:specClass) isNil ifTrue:[
- self askForSaving ifTrue:[cls := self resolveName:specClass].
+ (cls := self resolveName:specClassName) isNil ifTrue:[
+ self askForSaving ifTrue:[cls := self resolveName:specClassName].
].
cls isNil ifTrue:[^ self].
@@ -2574,8 +2574,8 @@
|cls selectorOrMenu editor selectedSpec spec holder|
- (cls := self resolveName:specClass) isNil ifTrue:[
- self askForSaving ifTrue:[cls := self resolveName:specClass].
+ (cls := self resolveName:specClassName) isNil ifTrue:[
+ self askForSaving ifTrue:[cls := self resolveName:specClassName].
].
cls isNil ifTrue:[^ self].
@@ -2623,7 +2623,7 @@
|selector editor spec|
- (self resolveName:specClass) isNil ifTrue:[
+ (self resolveName:specClassName) isNil ifTrue:[
self askForSaving ifFalse: [^self]
].
@@ -2634,7 +2634,7 @@
editor := HierarchicalListEditor new.
editor masterApplication:self.
- editor openModalOnClass:specClass andSelector:selector.
+ editor openModalOnClass:specClassName andSelector:selector.
editor specSelector ~= selector ifTrue:[
editor hasSaved ifTrue:[
@@ -2652,16 +2652,16 @@
|spec cls meta sel|
- (self resolveName:specClass) isNil ifTrue:[
+ (self resolveName:specClassName) isNil ifTrue:[
self askForSaving ifFalse: [^self]
].
spec := self specTool specification.
cls := spec majorKey.
cls isNil ifTrue:[
- cls := specClass.
+ cls := specClassName.
].
- (cls := self resolveName:cls inClass:(Smalltalk at: specClass asSymbol)) isNil ifTrue:[
+ (cls := self resolveName:cls inClass:(Smalltalk at: specClassName asSymbol)) isNil ifTrue:[
spec majorKey isNil ifTrue:[
^ self warn:'Cannot find class (no majorKey specified).'.
].
@@ -2685,8 +2685,8 @@
|selector editor spec cls holder|
- (cls := self resolveName:specClass) isNil ifTrue:[
- self askForSaving ifTrue:[cls := self resolveName:specClass].
+ (cls := self resolveName:specClassName) isNil ifTrue:[
+ self askForSaving ifTrue:[cls := self resolveName:specClassName].
].
cls isNil ifTrue:[^ self].
@@ -2901,9 +2901,9 @@
defaultInfoLabel
"returns the default info label"
- specClass isNil ifTrue: [^'No class and selector defined.'].
+ specClassName isNil ifTrue: [^'No class and selector defined.'].
specSelector isNil ifTrue: [^'No selector defined.'].
- ^specClass printString, ' >> ', specSelector
+ ^specClassName printString, ' >> ', specSelector
"Modified: / 20.6.1998 / 16:49:16 / cg"
! !
@@ -3035,9 +3035,9 @@
|superclass cls|
- specClass isNil ifTrue:[^ false].
-
- cls := self resolveName:specClass.
+ specClassName isNil ifTrue:[^ false].
+
+ cls := self resolveName:specClassName.
cls isNil ifTrue:[
superclass := self resolveName:specSuperclassName.
@@ -3047,24 +3047,24 @@
^ false.
].
- (self confirm:'Create class ' , specClass asBoldText, '?') ifTrue:[
+ (self confirm:'Create class ' , specClassName asBoldText, '?') ifTrue:[
cls := superclass
- subclass:(specClass asSymbol)
+ subclass:(specClassName asSymbol)
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'Applications'.
- cls name ~= specClass ifTrue:[
+ cls name ~= specClassName ifTrue:[
self information:'Created new class is ' , cls name.
- specClass := cls name
+ specClassName := cls name
].
^ true.
].
^ false.
].
cls isBehavior ifFalse:[
- self warn:'A global named ' , specClass , ' exists, but it is no class.'.
+ self warn:'A global named ' , specClassName , ' exists, but it is no class.'.
^ false.
].
@@ -3085,7 +3085,7 @@
].
(cls isSubclassOf:superclass) ifFalse:[
- self information:('A global named ' , specClass , ' exists,\' ,
+ self information:('A global named ' , specClassName , ' exists,\' ,
'but is not a subclass of ' , superclass name , '.\\' ,
'Check and try again if that is not what you want.') withCRs.
]
@@ -3159,8 +3159,8 @@
specSelector := (selector ? '').
specSuperclassName := superClassName.
- (specClass notNil and:[ selector notNil ]) ifTrue:[
- self addHistoryEntryForClass:specClass selector:specSelector.
+ (specClassName notNil and:[ selector notNil ]) ifTrue:[
+ self addHistoryEntryForClass:specClassName selector:specSelector.
self updateInfoLabel
].
@@ -3183,10 +3183,10 @@
"sets the specClass and updates the Help Tool"
aClassOrClassName isBehavior
- ifTrue: [ specClass := aClassOrClassName ]
- ifFalse:[ specClass := Smalltalk classNamed:aClassOrClassName ].
-
- self helpTool loadFromClass:specClass.
+ ifTrue: [ specClassName := aClassOrClassName ]
+ ifFalse:[ specClassName := Smalltalk classNamed:aClassOrClassName ].
+
+ self helpTool loadFromClass:specClassName.
self clearModifiedFlag.
! !
@@ -3224,7 +3224,7 @@
hasSpecClass
"answers whether an application class is defined"
- ^ (self resolveName:specClass) notNil
+ ^ (self resolveName:specClassName) notNil
!
hasSpecClassAndSelector
@@ -3498,6 +3498,14 @@
].
!
+initialize
+ super initialize.
+
+ modified := false.
+ aspects := IdentityDictionary new.
+ aspects at:#classNameChannel put:'NewApplication' asValue.
+!
+
loadFromClass:aClass andSelector:selector
"loads a window spec by evaluating aMessageString
(which is something like 'fooClass windowSpec')"
@@ -3529,22 +3537,18 @@
|cls painterView painter topView galleryWindow icon name|
- modified := false.
- aspects := IdentityDictionary new.
- specClass notNil ifTrue:[
- specClass isBehavior ifTrue:[
- name := specClass nameWithoutPrefix.
+ specClassName notNil ifTrue:[
+ specClassName isBehavior ifTrue:[
+ name := specClassName nameWithoutPrefix.
] ifFalse:[
- name := specClass printString string
+ name := specClassName printString string
]
].
- aspects at:#classNameChannel
- put:((specClass notNil ifTrue:[ specClass ] ifFalse:[ 'NewApplication' ])
- asValue).
+ (aspects at:#classNameChannel) value:(specClassName ? 'NewApplication').
specSuperclassName isNil ifTrue:[
- specClass notNil ifTrue:[
- (cls := self resolveName:specClass) notNil ifTrue:[
+ specClassName notNil ifTrue:[
+ (cls := self resolveName:specClassName) notNil ifTrue:[
specSuperclassName := cls superclass name.
]
]
@@ -3620,7 +3624,7 @@
].
specSelector := aSelector.
- specClass := aClass.
+ specClassName := aClass.
self openInterface.
@@ -3638,13 +3642,13 @@
super postBuildWith:aBuilder.
- cls := specClass.
+ cls := specClassName.
cls isString ifTrue:[
cls := Smalltalk at:(cls string asSymbol)
].
sel := specSelector.
specSelector := nil.
- specClass := nil.
+ specClassName := nil.
painter := self painter.
settings := self class settings.
@@ -3874,7 +3878,7 @@
self warn:'The current window spec has not yet been saved!!\\The System Browser will show the code of the old window spec.' withCRs.
].
- UserPreferences systemBrowserClass openInClass:(self resolveName:specClass)
+ UserPreferences systemBrowserClass openInClass:(self resolveName:specClassName)
!
doBrowseViewClass
@@ -3910,26 +3914,26 @@
[
again := false.
- aspects at:#classNameChannel put:(specClass ? 'NewApplication') asValue.
+ aspects at:#classNameChannel put:(specClassName ? 'NewApplication') asValue.
aspects at:#methodNameChannel put:(specSelector ? 'windowSpec') asValue.
aspects at:#superclassNameChannel put:(specSuperclassName ? 'ApplicationModel') asValue.
(self openDialogInterface:#dialogSpecForDefiningClassAndSelector) ifTrue:[
- specClass := readFromModelKeyed value:#classNameChannel.
+ specClassName := readFromModelKeyed value:#classNameChannel.
specSelector := readFromModelKeyed value:#methodNameChannel.
specSuperclassName := readFromModelKeyed value:#superclassNameChannel.
(again := self checkClassAndSelector not) ifFalse:[
- self painter className:specClass
+ self painter className:specClassName
superclassName:specSuperclassName
selector:specSelector.
].
again ifFalse:[
- ((Smalltalk at:specClass asSymbol) notNil
- and:[ (Smalltalk at:specClass asSymbol) class includesSelector:specSelector ])
+ ((Smalltalk at:specClassName asSymbol) notNil
+ and:[ (Smalltalk at:specClassName asSymbol) class includesSelector:specSelector ])
ifTrue:[
- (self confirm:('%1 already implements %2. Overwrite ?' bindWith:specClass with:specSelector))
+ (self confirm:('%1 already implements %2. Overwrite ?' bindWith:specClassName with:specSelector))
ifFalse:[
again := true.
].
@@ -3941,11 +3945,11 @@
] doWhile:[again].
- specClass := specClass isBehavior ifTrue:[specClass name]
- ifFalse:[specClass].
+ specClassName := specClassName isBehavior ifTrue:[specClassName name]
+ ifFalse:[specClassName].
self clearModifiedFlag.
- self helpTool buildAndMergeFromClass:specClass.
+ self helpTool buildAndMergeFromClass:specClassName.
self updateInfoLabel
"Modified: / 16.7.1998 / 18:26:33 / cg"
@@ -4138,7 +4142,7 @@
(ResourceSelectionBrowser
request: 'Load Window Spec From Class'
onSuperclass: nil
- andClass: specClass
+ andClass: specClassName
andSelector: specSelector ? #windowSpec
withResourceTypes: #(canvas))
!
@@ -4153,14 +4157,14 @@
classAndSelector := ResourceSelectionBrowser
request: 'Load Subspec From Class'
onSuperclass: nil
- andClass: specClass
+ andClass: specClassName
andSelector: specSelector
withResourceTypes: #(canvas).
classAndSelector isNil ifTrue:[^ self].
class := classAndSelector methodClass.
selector := classAndSelector methodSelector.
- (class == specClass and: [selector == specSelector]) ifTrue: [
+ (class == specClassName and: [selector == specSelector]) ifTrue: [
self warn: 'Current interface as subspec not allowed!!'.
^ self.
].
@@ -4173,7 +4177,7 @@
"removes all widgets, specClass, and specSelector"
self askForModification ifFalse: [^nil].
- specClass := specSelector := nil.
+ specClassName := specSelector := nil.
self painter removeAll.
treeView canvas topView name: UIPainter defaultNameOfCanvas.
treeView canvas topView label: UIPainter defaultNameOfCanvas.
@@ -4231,13 +4235,13 @@
]
].
- (specClass notNil and:[ specClass isClass ]) ifFalse:[
- self warn:('Oops - cannot save - class not found: ' , specClass).
+ (specClassName notNil and:[ specClassName isClass ]) ifFalse:[
+ self warn:('Oops - cannot save - class not found: ' , specClassName).
^ nil
].
painter := self painter.
painter
- class:specClass
+ class:specClassName
superclassName:specSuperclassName
selector:specSelector.
@@ -4257,8 +4261,8 @@
self updateInfoLabel.
modified := false.
painter resetModification.
- (specClass respondsTo:specSelector) ifTrue:[
- self addHistoryEntryForClass:specClass selector:specSelector.
+ (specClassName respondsTo:specSelector) ifTrue:[
+ self addHistoryEntryForClass:specClassName selector:specSelector.
].
!
@@ -4273,7 +4277,7 @@
classAndSelector := ResourceSelectionBrowser
request: 'Save Window Spec In Class'
onSuperclass: #Object
- andClass: (specClass ? #ApplicationModel) asSymbol
+ andClass: (specClassName ? #ApplicationModel) asSymbol
andSelector: specSelector ? #windowSpec
withResourceTypes: #(canvas).
@@ -4282,9 +4286,9 @@
modified := false.
self painter resetModification.
- specClass := classAndSelector methodClass.
+ specClassName := classAndSelector methodClass.
specSelector := classAndSelector methodSelector.
- specSuperclassName := specClass superclass name.
+ specSuperclassName := specClassName superclass name.
self doSave.
^ true
!
@@ -4310,9 +4314,9 @@
]
].
- cls := self resolveName:specClass.
+ cls := self resolveName:specClassName.
cls isNil ifTrue:[
- self warn:'Oops cannot start application - no class:' , specClass.
+ self warn:'Oops cannot start application - no class:' , specClassName.
^ nil
].
((application := cls new) respondsTo:#openInterface:) ifFalse:[