*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Sun, 10 May 2009 22:49:47 +0200
changeset 2505 2d43dbc0e86c
parent 2504 8746b7a4d215
child 2506 b85f4799add5
*** empty log message ***
UIPainterView.st
--- a/UIPainterView.st	Sun May 10 16:09:06 2009 +0200
+++ b/UIPainterView.st	Sun May 10 22:49:47 2009 +0200
@@ -1633,7 +1633,12 @@
                 ]
             ].
             vSpec isNil ifTrue:[
-                self warn:'Oops - could not create spec for some view'
+                (Dialog 
+                    confirm:('Oops - could not create spec for view: %1\\Continue ?' bindWith:aView printString) withCRs
+                    noLabel:'Abort')
+                ifFalse:[
+                    AbortSignal raise
+                ].
             ].
             spec add:vSpec
         ].
@@ -2435,22 +2440,22 @@
     |mySpec subSpecs|
 
     mySpec := self specFor:aView.
-
     (mySpec notNil and:[mySpec class supportsSubComponents]) ifTrue:[
-        (aView subViews notNil) ifTrue:[
-            aView components notEmptyOrNil ifTrue:[ self halt ].
-            aView subViews do:[:aSubView||spec|
-                spec := self fullSpecFor:aSubView.
-                spec notNil ifTrue:[
-                    subSpecs isNil ifTrue:[
-                        subSpecs := OrderedCollection new
-                    ].
-                    subSpecs add:spec.
-                ].
+        subSpecs isNil ifTrue:[
+            subSpecs := OrderedCollection new
+        ].
+
+        ((aView components ? #()) , (aView subViews ? #())) do:[:aSubViewOrComponent |
+            |spec|
+
+            spec := self fullSpecFor:aSubViewOrComponent.
+            spec notNil ifTrue:[
+                subSpecs add:spec.
             ].
-            subSpecs notNil ifTrue:[
-                mySpec component:(SpecCollection new collection:subSpecs)
-            ]
+        ].
+
+        subSpecs notEmptyOrNil ifTrue:[
+            mySpec component:(SpecCollection new collection:subSpecs)
         ]
     ].
     ^ mySpec