enhanced class & method dialog
authorClaus Gittinger <cg@exept.de>
Tue, 17 Jun 1997 13:12:20 +0200
changeset 157 ce974dce3dd4
parent 156 b332d7117c40
child 158 6e7f892308ae
enhanced class & method dialog
UIPainter.st
--- a/UIPainter.st	Tue Jun 17 12:39:23 1997 +0200
+++ b/UIPainter.st	Tue Jun 17 13:12:20 1997 +0200
@@ -343,7 +343,7 @@
               #'name:' 'uIPainterView'
               #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
               #'label:' 'unnamed canvas'
-              #'bounds:' #(#Rectangle 0 0 300 223)
+              #'bounds:' #(#Rectangle 0 0 392 223)
           )
           #'component:' 
            #(#SpecCollection
@@ -369,40 +369,30 @@
                 )
                  #(#InputFieldSpec
                     #'name:' 'classNameField'
-                    #'layout:' #(#LayoutFrame 120 0 50 0 289 0 72 0)
-                    #'model:' #classNameChannel
+                    #'layout:' #(#LayoutFrame 120 0 50 0 -2 1.0 72 0)
                     #'tabable:' true
-                )
-                 #(#InputFieldSpec
-                    #'name:' 'superclassNameField'
-                    #'layout:' #(#LayoutFrame 120 0 90 0 289 0 112 0)
-                    #'model:' #superclassNameChannel
-                    #'tabable:' true
+                    #'model:' #classNameChannel
                 )
                  #(#InputFieldSpec
                     #'name:' 'methodNameField'
-                    #'layout:' #(#LayoutFrame 120 0 130 0 289 0 152 0)
+                    #'layout:' #(#LayoutFrame 120 0 130 0 -2 1.0 152 0)
+                    #'tabable:' true
                     #'model:' #methodNameChannel
-                    #'tabable:' true
                 )
                  #(#ActionButtonSpec
                     #'name:' 'button1'
-                    #'layout:' #(#LayoutFrame 30 0 180 0 129 0 209 0)
+                    #'layout:' #(#AlignmentOrigin -2 0.5 195 0 1 0.5)
                     #'label:' 'cancel'
                     #'tabable:' true
                     #'model:' #cancel
-                    #'isTriggerOnDown:' false
-                    #'autoRepeat:' false
                 )
                  #(#ActionButtonSpec
                     #'name:' 'button2'
-                    #'layout:' #(#LayoutFrame 160 0 180 0 259 0 209 0)
+                    #'layout:' #(#AlignmentOrigin 2 0.5 195 0 0 0.5)
                     #'label:' 'ok'
                     #'tabable:' true
                     #'isDefault:' true
                     #'model:' #accept
-                    #'isTriggerOnDown:' false
-                    #'autoRepeat:' false
                 )
                  #(#LabelSpec
                     #'name:' 'boxLabel'
@@ -410,9 +400,21 @@
                     #'label:' 'class & selector for code:'
                     #'adjust:' #left
                 )
+                 #(#ComboBoxSpec
+                    #'name:' 'comboBox1'
+                    #'layout:' #(#LayoutFrame 120 0 90 0 -2 1.0 112 0)
+                    #'tabable:' true
+                    #'model:' #superclassNameChannel
+                    #'immediateAccept:' false
+                    #'acceptOnLeave:' true
+                    #'acceptOnLostFocus:' true
+                    #'comboList:' #superclassNameDefaults
+                )
               )
           )
       )
+
+    "Modified: 17.6.1997 / 13:02:12 / cg"
 !
 
 windowSpec
@@ -594,7 +596,6 @@
 !UIPainter methodsFor:'actions'!
 
 accept
-    "automatically generated by UIPainter ..."
     |layout|
 
     tabSelection = layoutTool label ifTrue:[
@@ -613,6 +614,7 @@
     ].
     self cancel
 
+    "Modified: 17.6.1997 / 12:50:59 / cg"
 !
 
 cancel
@@ -630,8 +632,6 @@
 !UIPainter methodsFor:'active help'!
 
 activeHelpTool
-    "automatically generated by UIPainter ..."
-
     |cls|
 
     activeHelpTool isNil ifTrue:[
@@ -650,6 +650,8 @@
         ].
     ].
     ^ activeHelpTool
+
+    "Modified: 17.6.1997 / 12:51:15 / cg"
 !
 
 showHelp:aHelpText for:view
@@ -979,6 +981,7 @@
         (specSuperclass notNil ifTrue:[specSuperclass]
                          ifFalse:['ApplicationModel']) asValue
     ).
+    aspects at:#superclassNameDefaults put:#('ApplicationModel' 'SimpleDialog') asValue.
     aspects at:#methodNameChannel put:(
         (specSelector notNil ifTrue:[specSelector]
                             ifFalse:[#windowSpec]) asValue
@@ -1014,6 +1017,7 @@
     selectionPanel openWindow.
     selectionPanel window application:self.
 
+    "Modified: 17.6.1997 / 13:06:25 / cg"
 !
 
 openNewWindowCanvas
@@ -1036,17 +1040,28 @@
     "
     |painter|
 
+    aClass isNil ifTrue:[
+        self warn:'nil class given (class was probably renamed ?)'.
+    ].
+
     self openInterface.
 
-    painter        := self painter.
-    specClass      := aClass name.
-    specSuperclass := aClass superclass name.
-    specSelector   := aSelector.
+    aClass notNil ifTrue:[
+        painter        := self painter.
+        specClass      := aClass name.
+        specSuperclass := aClass superclass name.
+        specSelector   := aSelector.
 
-    painter className:aClass name.
-    painter methodName:aSelector.
-    painter setupFromSpec:(aClass perform:aSelector).
+        (aspects at:#classNameChannel) value:specClass.
+        (aspects at:#superclassNameChannel) value:specSuperclass.
+        (aspects at:#methodNameChannel) value:specSelector.
 
+        painter className:aClass name.
+        painter methodName:aSelector.
+        painter setupFromSpec:(aClass perform:aSelector).
+    ]
+
+    "Modified: 17.6.1997 / 13:04:48 / cg"
 ! !
 
 !UIPainter methodsFor:'user interaction - dialog'!
@@ -1111,7 +1126,6 @@
 
     [
         again := false.
-
         (self openDialogInterface:#nameAndSelectorSpec) ifTrue:[
 
             specClass := (self aspectFor:#classNameChannel) value.
@@ -1127,7 +1141,7 @@
 
     ] doWhile:[again]
 
-
+    "Modified: 17.6.1997 / 13:04:26 / cg"
 ! !
 
 !UIPainter methodsFor:'user interaction - pullDown'!