UIPainterView.st
changeset 55 19e021c8f1ef
parent 53 d03569a6ff03
child 57 5af567f52811
--- a/UIPainterView.st	Mon Feb 17 18:23:19 1997 +0100
+++ b/UIPainterView.st	Tue Feb 18 11:38:57 1997 +0100
@@ -11,7 +11,7 @@
 "
 
 UIObjectView subclass:#UIPainterView
-	instanceVariableNames:'fontPanel code viewProperties superclassName className methodName
+	instanceVariableNames:'fontPanel viewProperties superclassName className methodName
 		categoryName'
 	classVariableNames:'HandCursor'
 	poolDictionaries:''
@@ -86,6 +86,13 @@
     "Modified: 5.9.1995 / 18:47:17 / claus"
 !
 
+className:aClassName superclassName:aSuperclassName selector:aSelector
+    className := aClassName.
+    superclassName := aSuperclassName.
+    methodName := aSelector.
+
+!
+
 methodName
     ^ methodName
 
@@ -132,7 +139,7 @@
 
 ! !
 
-!UIPainterView methodsFor:'code manipulation'!
+!UIPainterView ignoredMethodsFor:'code manipulation'!
 
 changeClass
     |box classNameHolder superclassNameHolder|
@@ -240,7 +247,7 @@
     ].
 ! !
 
-!UIPainterView methodsFor:'generating output'!
+!UIPainterView ignoredMethodsFor:'generating output'!
 
 generateClassDefinition
     |defCode|
@@ -253,21 +260,29 @@
     defCode := defCode , '  category:''' , categoryName , '''\'.
     defCode := defCode , Character excla asString , '\\'.
 
-    code := code , (defCode withCRs)
+    ^ defCode withCRs
 
 
 
-!
+! !
+
+!UIPainterView methodsFor:'generating output'!
 
 generateCode
+    "generate code for the windowSpec method"
+
+    |code|
+
     code := ''.
-    (Smalltalk classNamed:className) isNil ifTrue:[
-        self generateClassDefinition.
-    ].
-"/    self generateInitMethod.
-    code := code , self generateWindowSpec.
-    self generateOutlets.
 
+"/    (Smalltalk classNamed:className asSymbol) isNil ifTrue:[
+"/        code := code , self generateClassDefinition.
+"/    ].
+"/    code := code , self generateInitMethod.
+
+    code := code , self generateWindowSpecMethodSource.
+
+"/    code := code , self generateAspectMethods.
 
     ^ code withCRs
 
@@ -277,10 +292,12 @@
 !UIPainterView ignoredMethodsFor:'generating output'!
 
 generateInitCodeForGroup:aGroup
-    |c name p objects outlets moreCode sym typ val|
+    |code c name p objects outlets moreCode sym typ val|
 
     " <name> := <GroupClass> in:<name-of-superview>"
 
+    code := ''.
+
     p := self propertyOfGroup:aGroup.
     name := p at:#variableName.
     c := '  ' , name , ' := ' , (aGroup class name) , ' new.\'.
@@ -291,9 +308,9 @@
 
     objects := p at:#controlledObjects ifAbsent:[nil].
     objects notNil ifTrue:[
-	objects do:[:controlledObject |
-	    c := c , name , ' add:' , (self variableNameOf:controlledObject) , '.\'
-	]
+        objects do:[:controlledObject |
+            c := c , name , ' add:' , (self variableNameOf:controlledObject) , '.\'
+        ]
     ].
 
     code := code , c withCRs
@@ -305,38 +322,43 @@
 !
 
 generateInitCodeForOtherStuff
-    |g c name p outlets moreCode sym typ val|
+    |code g c name p outlets moreCode sym typ val|
+
+    code := ''.
 
     "generate code for groups"
 
     viewProperties do:[:props |
-	g := props at:#group ifAbsent:[nil].
-	g notNil ifTrue:[
-	    self generateInitCodeForGroup:g
-	]
-    ]
+        g := props at:#group ifAbsent:[nil].
+        g notNil ifTrue:[
+            code := code , (self generateInitCodeForGroup:g)
+        ]
+    ].
+    ^ code
 
 
 !
 
 generateInitCodeForView:aView
-    |c name p outlets moreCode sym typ val|
+    |code c name p outlets moreCode sym typ val|
 
     " <name> := <ViewClass> in:<name-of-superview>"
 
+    code := ''.
+
     p := self propertyOfView:aView.
     name := p at:#variableName.
     c := '    ' , name , ' := ' ,
-	 (aView class name) , ' in:' , (self variableNameOf:(aView superView)) , '.\'.
+         (aView class name) , ' in:' , (self variableNameOf:(aView superView)) , '.\'.
 
     " <name> origin:(...) extent:(...)"
 
     c := c , '    ' , name , ' origin:(', aView origin printString , ')'
-		    , ' extent:(', aView extent printString , ').\'.
+                    , ' extent:(', aView extent printString , ').\'.
 
     moreCode := p at:#initCode ifAbsent:nil.
     moreCode notNil ifTrue:[
-	c := c , moreCode , '\' withCRs
+        c := c , moreCode , '\' withCRs
     ].
 
     code := code , c withCRs.
@@ -345,51 +367,52 @@
 
     outlets := p at:#outlets ifAbsent:[nil].
     outlets notNil ifTrue:[
-	outlets do:[:selectorOutlet |
-	    sym := selectorOutlet at:#selector.
-	    typ := selectorOutlet at:#type.
-	    val := selectorOutlet at:#value.
-	    c :=  '    ' , name , ' ' , sym.
-	    (typ == #number) ifTrue:[
-		c := c , val printString
-	    ].
-	    (typ == #string) ifTrue:[
-		c := c , '''' , val , ''''
-	    ].
-	    (typ == #text) ifTrue:[
-		c := c , '''' , val asString , ''''
-	    ].
-	    (typ == #strings) ifTrue:[
-		c := c , '#( '.
-		val asText do:[:aString |
-		    c := c , '''' , aString , ''' '
-		].
-		c := c , ')'
-	    ].
-	    (typ == #block) ifTrue:[
-		c := c , val
-	    ].
-	    (typ == #color) ifTrue:[
-		c := c , '(Color name:''' , val , ''')'
-	    ].
-	    c := c , '.' , Character cr asString.
-	    code := code , c
-	]
+        outlets do:[:selectorOutlet |
+            sym := selectorOutlet at:#selector.
+            typ := selectorOutlet at:#type.
+            val := selectorOutlet at:#value.
+            c :=  '    ' , name , ' ' , sym.
+            (typ == #number) ifTrue:[
+                c := c , val printString
+            ].
+            (typ == #string) ifTrue:[
+                c := c , '''' , val , ''''
+            ].
+            (typ == #text) ifTrue:[
+                c := c , '''' , val asString , ''''
+            ].
+            (typ == #strings) ifTrue:[
+                c := c , '#( '.
+                val asText do:[:aString |
+                    c := c , '''' , aString , ''' '
+                ].
+                c := c , ')'
+            ].
+            (typ == #block) ifTrue:[
+                c := c , val
+            ].
+            (typ == #color) ifTrue:[
+                c := c , '(Color name:''' , val , ''')'
+            ].
+            c := c , '.' , Character cr asString.
+            code := code , c
+        ]
     ].
 
     self subviewsOf:aView do:[:v |
-	self generateInitCodeForView:v
-    ]
+        code := code , (self generateInitCodeForView:v)
+    ].
+    ^ code.
 
     "Modified: 5.9.1995 / 20:06:07 / claus"
 !
 
 generateInitMethod
-    |defCode|
+    |defCode code|
 
     defCode := Character excla asString ,
-	       className , ' methodsFor:''initialization''' ,
-	       Character excla asString , '\\'.
+               className , ' methodsFor:''initialization''' ,
+               Character excla asString , '\\'.
 
     defCode := defCode , 'initialize\'.
     defCode := defCode , '    super initialize.\'.
@@ -398,13 +421,13 @@
     defCode := defCode , Character excla asString , '\\'.
 
     defCode := defCode , 'setupSubViews\'.
-    code := code , defCode withCRs.
+    code := defCode withCRs.
 
     self subviewsOf:self do:[:v |
-	self generateInitCodeForView:v
+        code := code , (self generateInitCodeForView:v)
     ].
 
-    self generateInitCodeForOtherStuff.
+    code := code , (self generateInitCodeForOtherStuff).
 
     code := code , '    ^ self\' withCRs.
 
@@ -412,22 +435,22 @@
     defCode := defCode , 'setupLocalStuff\'.
     defCode := defCode , '    ^ self\'.
     defCode := defCode , Character excla asString , ' ' ,
-			 Character excla asString , '\\'.
+                         Character excla asString , '\\'.
 
-    code := code , defCode withCRs
-
+    code := code , defCode withCRs.
+    ^ code.
 
 
 
 
+!
+
+generateOutlets
+    ^ self
 ! !
 
 !UIPainterView methodsFor:'generating output'!
 
-generateOutlets
-    ^ self
-!
-
 generateSpecFor:something
     "generate a spec for a view or collection of views
     "
@@ -449,8 +472,8 @@
     ^ spec
 !
 
-generateWindowSpec
-    |spec specArray str|
+generateWindowSpecMethodSource
+    |spec specArray str code|
 
     subViews remove:inputView.
     [
@@ -458,8 +481,8 @@
     ] valueNowOrOnUnwindDo:[
         subViews addFirst:inputView.
     ].
+    specArray := spec literalArrayEncoding.
 
-    specArray := spec literalArrayEncoding.
     str := WriteStream on:String new.
     self prettyPrintSpecArray:specArray on:str indent:5.
 
@@ -491,11 +514,15 @@
     ^ code withCRs
 
     "Modified: 5.9.1995 / 21:01:35 / claus"
-!
+! !
+
+!UIPainterView ignoredMethodsFor:'generating output'!
 
 nameOfClass
     ^ 'NewView'
-!
+! !
+
+!UIPainterView methodsFor:'generating output'!
 
 outletValueOf:aSymbol for:aView
 "/    |c name p outlets moreCode sym typ val|
@@ -619,7 +646,9 @@
         newSpec name:name
     ].
 
-!
+! !
+
+!UIPainterView ignoredMethodsFor:'generating output'!
 
 subviewVariableNames
     |names|
@@ -627,7 +656,9 @@
     names := ''.
     viewProperties do:[:p| names := names , ' ' , (p name)].
   ^ names
-!
+! !
+
+!UIPainterView methodsFor:'generating output'!
 
 subviewsOf:aView do:aBlock
     |subs v|
@@ -725,7 +756,6 @@
     className      := 'NewApplication'.
     methodName     := 'windowSpec'.
     categoryName   := 'Applications'.
-
     viewProperties := OrderedCollection new.
     HandCursor     := Cursor leftHand.