--- a/UIPainter.st Wed Aug 30 15:23:07 2006 +0200
+++ b/UIPainter.st Mon Sep 04 11:06:49 2006 +0200
@@ -2459,7 +2459,7 @@
applBuilder := helpTool builder.
applWindow := ApplicationSubView origin:0.0@0.0 corner:1.0@1.0 in:noteBook.
applWindow level:0.
- helpTool loadFromClass:specClassName.
+ helpTool loadFromClass:specClass.
helpTool masterApplication:self.
applBuilder window:applWindow.
applWindow client:helpTool spec:#innerSpec builder:applBuilder.
@@ -2480,6 +2480,8 @@
specTool modifiedHolder:modifiedChannel.
].
^ noteBook
+
+ "Modified: / 31-08-2006 / 10:11:15 / cg"
!
painterShown
@@ -2923,11 +2925,11 @@
defaultInfoLabel
"returns the default info label"
- specClassName isNil ifTrue: [^'No class and selector defined.'].
+ specClassName isNil ifTrue: [^'No class defined.'].
specSelector isNil ifTrue: [^'No selector defined.'].
^ specClassName printString, ' >> ', specSelector
- "Modified: / 20.6.1998 / 16:49:16 / cg"
+ "Modified: / 31-08-2006 / 10:12:03 / cg"
! !
!UIPainter methodsFor:'help spec'!
@@ -3214,11 +3216,12 @@
specSuperclassName := superClassName.
(specClassName notNil and:[ selector notNil ]) ifTrue:[
- self addHistoryEntryForClass:specClassName selector:specSelector.
+ self addHistoryEntryForClass:specClass selector:specSelector.
self updateInfoLabel
].
- "Modified: / 5.2.1998 / 09:44:58 / stefan"
+ "Modified: / 05-02-1998 / 09:44:58 / stefan"
+ "Modified: / 31-08-2006 / 10:14:49 / cg"
!
setViewInLayoutTool:aView spec:aSpec
@@ -3233,15 +3236,31 @@
!
+specClass
+ specClass isNil ifTrue:[
+ specClassName notNil ifTrue:[
+ specClass := Smalltalk classNamed:specClassName.
+ ]
+ ].
+ ^ specClass
+
+ "Created: / 31-08-2006 / 10:08:43 / cg"
+ "Modified: / 04-09-2006 / 10:39:21 / cg"
+!
+
specClass:aClassOrClassName
"sets the specClass and updates the Help Tool"
aClassOrClassName isBehavior
- ifTrue: [ specClassName := aClassOrClassName ]
- ifFalse:[ specClassName := Smalltalk classNamed:aClassOrClassName ].
-
- self helpTool loadFromClass:specClassName.
- self clearModifiedFlag.
+ ifTrue: [ specClass := aClassOrClassName.
+ specClassName := aClassOrClassName name ]
+ ifFalse:[ specClass := Smalltalk classNamed:aClassOrClassName.
+ specClassName := aClassOrClassName ].
+
+ self helpTool loadFromClass:specClass.
+ self clearModifiedFlag.
+
+ "Modified: / 31-08-2006 / 10:10:22 / cg"
! !
!UIPainter methodsFor:'private-tools'!
@@ -3564,10 +3583,7 @@
|cls sel|
- cls := specClassName.
- cls isString ifTrue:[
- cls := Smalltalk at:(cls string asSymbol)
- ].
+ cls := self specClass.
sel := specSelector.
cls notNil ifTrue:[
self setClass:cls selector:sel.
@@ -3590,7 +3606,7 @@
self updateInfoLabel.
- "Modified: / 22.8.1998 / 17:41:34 / cg"
+ "Modified: / 31-08-2006 / 10:12:53 / cg"
!
loadFromClass:aClass andSelector:selector
@@ -3624,7 +3640,7 @@
|cls topView galleryWindow icon name|
- specClassName notNil ifTrue:[
+ self specClass notNil ifTrue:[
specClassName isBehavior ifTrue:[
name := specClassName nameWithoutPrefix.
] ifFalse:[
@@ -3700,6 +3716,8 @@
painterView window waitUntilVisible.
self window waitUntilVisible.
[ Delay waitForSeconds:0.5. self window topView raise ] fork.
+
+ "Modified: / 31-08-2006 / 10:13:16 / cg"
!
openOnClass:aClass
@@ -3717,14 +3735,15 @@
].
specSelector := aSelector.
- specClassName := aClass.
+ specClass := aClass.
+ specClassName := aClass name.
self openInterface.
"/ specSelector := aSelector.
"/ specClass := aClass.
- "Modified: / 21.8.1998 / 20:59:15 / cg"
+ "Modified: / 31-08-2006 / 10:13:31 / cg"
!
postBuildWith: aBuilder
@@ -4221,12 +4240,14 @@
self askForModification ifFalse: [^nil].
self loadFromMessage:
- (ResourceSelectionBrowser
- request: 'Load Window Spec From Class'
- onSuperclass: nil
- andClass: specClassName
- andSelector: specSelector ? #windowSpec
- withResourceTypes: #(canvas))
+ (ResourceSelectionBrowser
+ request: 'Load Window Spec From Class'
+ onSuperclass: nil
+ andClass: self specClass
+ andSelector: specSelector ? #windowSpec
+ withResourceTypes: #(canvas))
+
+ "Modified: / 31-08-2006 / 10:14:01 / cg"
!
doLoadSubspec
@@ -4239,7 +4260,7 @@
classAndSelector := ResourceSelectionBrowser
request: 'Load Subspec From Class'
onSuperclass: nil
- andClass: specClassName
+ andClass: self specClass
andSelector: specSelector
withResourceTypes: #(canvas).
@@ -4253,13 +4274,15 @@
(class respondsTo:selector) ifTrue:[
self addWidgetOfSpec:(Array with: (UISubSpecification new majorKey: class name; minorKey: selector))
]
+
+ "Modified: / 31-08-2006 / 10:13:56 / cg"
!
doNew
"removes all widgets, specClass, and specSelector"
self askForModification ifFalse: [^nil].
- specClassName := specSelector := nil.
+ specClass := specClassName := specSelector := nil.
self painter removeAll.
treeView canvas topView name: UIPainter defaultNameOfCanvas.
treeView canvas topView label: UIPainter defaultNameOfCanvas.
@@ -4268,6 +4291,8 @@
treeView selectedNode changed.
self tabModel value: self tabList value first.
self updateInfoLabel.
+
+ "Modified: / 31-08-2006 / 10:14:10 / cg"
!
doOpenWidgetDocumentation