--- a/UIPainter.st Tue Jun 24 16:14:38 1997 +0200
+++ b/UIPainter.st Tue Jun 24 19:13:55 1997 +0200
@@ -339,10 +339,10 @@
#(#FullSpec
#'window:'
#(#WindowSpec
- #'name:' 'Painter'
+ #'name:' 'uIPainterView'
#'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
#'label:' 'Painter'
- #'bounds:' #(#Rectangle 0 0 334 158)
+ #'bounds:' #(#Rectangle 0 0 391 170)
)
#'component:'
#(#SpecCollection
@@ -350,28 +350,28 @@
#(
#(#LabelSpec
#'name:' 'classLabel'
- #'layout:' #(#AlignmentOrigin 43 0 58 0 0 1)
+ #'layout:' #(#AlignmentOrigin 45 0.11 51 0 1 0.5)
#'label:' 'class:'
#'adjust:' #right
#'resizeForLabel:' true
)
#(#LabelSpec
#'name:' 'superClassLabel'
- #'layout:' #(#AlignmentOrigin 12 0 84 0 0 1)
+ #'layout:' #(#AlignmentOrigin 45 0.11 77 0 1 0.5)
#'label:' 'superclass:'
#'adjust:' #right
#'resizeForLabel:' true
)
#(#LabelSpec
#'name:' 'selectorLabel'
- #'layout:' #(#AlignmentOrigin 27 0 112 0 0 1)
+ #'layout:' #(#AlignmentOrigin 45 0.11 105 0 1 0.5)
#'label:' 'selector:'
#'adjust:' #right
#'resizeForLabel:' true
)
#(#InputFieldSpec
#'name:' 'methodNameField'
- #'layout:' #(#LayoutFrame 90 0 95 0 -5 1.0 117 0)
+ #'layout:' #(#LayoutFrame 47 0.11 95 0 -5 1.0 117 0)
#'tabable:' true
#'model:' #methodNameChannel
)
@@ -384,13 +384,13 @@
)
#(#InputFieldSpec
#'name:' 'classNameField'
- #'layout:' #(#LayoutFrame 90 0 39 0 -5 1.0 61 0)
+ #'layout:' #(#LayoutFrame 47 0.11 39 0 -5 1.0 61 0)
#'tabable:' true
#'model:' #classNameChannel
)
#(#ComboBoxSpec
#'name:' 'comboBox1'
- #'layout:' #(#LayoutFrame 90 0 67 0 -5 1.0 89 0)
+ #'layout:' #(#LayoutFrame 47 0.11 67 0 -5 1.0 89 0)
#'tabable:' true
#'model:' #superclassNameChannel
#'comboList:' #superclassNameDefaults
@@ -407,7 +407,7 @@
#'label:' 'cancel'
#'tabable:' true
#'model:' #cancel
- #'extent:' #(#Point 162 24)
+ #'extent:' #(#Point 191 24)
)
#(#ActionButtonSpec
#'name:' 'button2'
@@ -415,7 +415,7 @@
#'tabable:' true
#'isDefault:' true
#'model:' #accept
- #'extent:' #(#Point 163 24)
+ #'extent:' #(#Point 191 24)
)
)
)
@@ -427,6 +427,8 @@
)
)
)
+
+ "Modified: 24.6.1997 / 18:50:14 / cg"
!
windowSpec
@@ -991,6 +993,28 @@
raiseUIView:aView
aView map.
aView bePartner.
+!
+
+setClass:cls selector:selector
+ |clsName superClassName|
+
+ clsName := cls name.
+ superClassName := cls superclass name.
+
+ (self aspectFor:#classNameChannel) value:clsName.
+ (self aspectFor:#methodNameChannel) value:(selector ? '').
+ (self aspectFor:#superclassNameChannel) value:superClassName.
+
+ self painter
+ className:clsName
+ superclassName:superClassName
+ selector:(selector ? '').
+
+ specClass := clsName.
+ specSelector := (selector ? '').
+ specSuperclass := superClassName.
+
+ "Modified: 24.6.1997 / 19:07:01 / cg"
! !
!UIPainter methodsFor:'queries'!
@@ -1161,20 +1185,25 @@
aClass notNil ifTrue:[
painter := self painter.
- specClass := aClass name.
- specSuperclass := aClass superclass name.
- specSelector := aSelector.
- (aspects at:#classNameChannel) value:specClass.
- (aspects at:#superclassNameChannel) value:specSuperclass.
- (aspects at:#methodNameChannel) value:specSelector asSymbol.
+ self setClass:aClass selector:aSelector.
+"/ specClass := aClass name.
+"/ specSuperclass := aClass superclass name.
+"/ specSelector := aSelector.
+"/
+"/ (aspects at:#classNameChannel) value:specClass.
+"/ (aspects at:#superclassNameChannel) value:specSuperclass.
+"/ (aspects at:#methodNameChannel) value:specSelector asSymbol.
+"/
+"/ painter
+"/ className:aClass name
+"/ superclassName:aClass superclass name
+"/ selector:aSelector.
- painter className:aClass name.
- painter methodName:aSelector.
painter setupFromSpec:(aClass perform:aSelector).
]
- "Modified: 17.6.1997 / 14:41:25 / cg"
+ "Modified: 24.6.1997 / 19:07:05 / cg"
! !
!UIPainter methodsFor:'user interaction - dialog'!
@@ -1303,8 +1332,8 @@
]
].
- className := '' asValue.
- methodName := '' asValue.
+ className := (specClass ? '') asValue.
+ methodName := (specSelector ? '') asValue.
painter := self painter.
(s := painter className) notNil ifTrue:[
@@ -1345,16 +1374,18 @@
self warn:'not a windowSpec method'
].
"/ ok, got it
- painter className:className value.
- painter methodName:methodName value.
+
+ self setClass:cls selector:sel.
+
painter setupFromSpec:spec.
- ^ self
+
+ ^ self
]
]
]
] doWhile:[accepted and:[failed]].
- "Modified: 17.6.1997 / 12:33:36 / cg"
+ "Modified: 24.6.1997 / 18:59:29 / cg"
!
doInstallAspects
@@ -1452,7 +1483,7 @@
!
doPickAView
- |painter view className methodName cls sel accepted spec s|
+ |painter view cls spec|
objectList painter isModified ifTrue:[
(self confirm:'pick another interface without saving your modifications ?') ifFalse:[
@@ -1466,11 +1497,19 @@
spec := UISpecification fromView:view topView.
"/ ok, got it
+
+ view application notNil ifTrue:[
+ cls := view application class
+ ] ifFalse:[
+ cls := view class
+ ].
+ self setClass:cls selector:nil.
+
painter setupFromSpec:spec.
- painter className:view class name.
- painter methodName:#newSpec.
]
]
+
+ "Modified: 24.6.1997 / 19:02:57 / cg"
!
doRaise