update
authorca
Wed, 04 Jun 1997 13:28:48 +0200
changeset 137 335faeed1663
parent 136 42a2a4494281
child 138 035c98964c38
update
UIPainter.st
UIPainterView.st
--- a/UIPainter.st	Wed May 28 13:32:48 1997 +0200
+++ b/UIPainter.st	Wed Jun 04 13:28:48 1997 +0200
@@ -187,44 +187,6 @@
                        )
          )
         #(#MenuItem
-                #'label:' 'font'
-                #'value:' #font
-                #'submenu:' 
-                        #(#Menu #(
-                                 #(#MenuItem
-                                        #'label:' 'larger'
-                                        #'value:' #largerFont
-                                  )
-                                 #(#MenuItem
-                                        #'label:' 'smaller'
-                                        #'value:' #smallerFont
-                                  )
-                                 #(#MenuItem
-                                        #'label:' 'normal'
-                                        #'value:' #normalFont
-                                  )
-                                 #(#MenuItem
-                                        #'label:' 'bold'
-                                        #'value:' #boldFont
-                                  )
-                                 #(#MenuItem
-                                        #'label:' 'italic'
-                                        #'value:' #italicFont
-                                  )
-                                 #(#MenuItem
-                                        #'label:' 'bold italic'
-                                        #'value:' #boldItalicFont
-                                  )
-                                 #(#MenuItem
-                                        #'label:' 'font panel'
-                                        #'value:' #showFontPanel
-                                 )
-                                )
-                                #(2 4)
-                                nil
-                        )
-         )
-        #(#MenuItem
                 #'label:' 'special'
                 #'value:' #special
                 #'submenu:' 
@@ -253,12 +215,12 @@
                                         #'submenu:'
                                                 #(#Menu #(
                                                         #(#MenuItem
-                                                                #'label:' '\c show'
-                                                                #'value:' #gridShown
+                                                                #'label:' 'show'
+                                                                #'indication:' #gridShown:
                                                          )
                                                         #(#MenuItem
-                                                                #'label:' '\c align'
-                                                                #'value:' #gridAlign
+                                                                #'label:' 'align'
+                                                                #'indication:' #gridAlign:
                                                          )
                                                         )
                                                         nil
@@ -329,8 +291,8 @@
                 #'submenu:'
                         #(#Menu #(
                                 #(#MenuItem
-                                        #'label:' '\c test mode'
-                                        #'value:' #testMode
+                                        #'label:' 'test mode'
+                                        #'indication:' #testMode:
                                  )
                                 )
                                 nil
@@ -494,164 +456,155 @@
               #'name:' 'uIPainterView'
               #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
               #'label:' 'Tree-View'
-              #'bounds:' #(#Rectangle 0 0 460 390)
+              #'bounds:' #(#Rectangle 0 0 478 429)
           )
           #'component:' 
            #(#SpecCollection
               #'collection:' 
                #(
-                 #(#ViewSpec
-                    #'name:' 'view1'
-                    #'layout:' #(#LayoutFrame 0 0.0 29 0.0 0 1.0 0 1.0)
-                    #'component:' 
-                     #(#SpecCollection
-                        #'collection:' 
-                         #(
-                           #(#SequenceViewSpec
-                              #'name:' 'selectionInList'
-                              #'layout:' #(#LayoutFrame 0 0.0 40 0.0 0 0.35 0 1.0)
-                              #'enableChannel:' #enableChannel
-                              #'menu:' #objectListMenu
-                              #'model:' #objectList
-                              #'callbacksSpec:' 
-                               #(#UIEventCallbackSubSpec
-                                  #'doubleClickSelector:' #doubleClick
-                              )
-                              #'hasHorizontalScrollBar:' true
-                              #'hasVerticalScrollBar:' true
-                              #'miniScrollerHorizontal:' false
-                              #'miniScrollerVertical:' false
-                              #'isMultiSelect:' true
-                          )
-                           #(#PanelViewSpec
-                              #'name:' 'panelViewButtons'
-                              #'layout:' #(#LayoutFrame -130 1.0 0 0.0 0 1.0 35 0.0)
-                              #'component:' 
-                               #(#SpecCollection
-                                  #'collection:' 
-                                   #(
-                                     #(#ActionButtonSpec
-                                        #'name:' 'moveLeft'
-                                        #'label:' ''
-                                        #'translateLabel:' true
-                                        #'labelChannel:' #'LABELb_moveLeft.xbm'
-                                        #'defaultable:' true
-                                        #'model:' #moveSelectionLeft
-                                        #'isTriggerOnDown:' true
-                                        #'enableChannel:' #enableChannel
-                                        #'autoRepeat:' true
-                                        #'extent:' #(#Point 26 24)
-                                    )
-                                     #(#ActionButtonSpec
-                                        #'name:' 'moveRight'
-                                        #'label:' ''
-                                        #'translateLabel:' true
-                                        #'labelChannel:' #'LABELb_moveRight.xbm'
-                                        #'defaultable:' true
-                                        #'model:' #moveSelectionRight
-                                        #'isTriggerOnDown:' true
-                                        #'enableChannel:' #enableChannel
-                                        #'autoRepeat:' true
-                                        #'extent:' #(#Point 26 24)
-                                    )
-                                     #(#ActionButtonSpec
-                                        #'name:' 'moveUp'
-                                        #'label:' ''
-                                        #'translateLabel:' true
-                                        #'labelChannel:' #'LABELb_moveUp.xbm'
-                                        #'defaultable:' true
-                                        #'model:' #moveSelectionUp
-                                        #'isTriggerOnDown:' true
-                                        #'enableChannel:' #enableChannel
-                                        #'autoRepeat:' true
-                                        #'extent:' #(#Point 26 24)
-                                    )
-                                     #(#ActionButtonSpec
-                                        #'name:' 'moveDown'
-                                        #'label:' ''
-                                        #'translateLabel:' true
-                                        #'labelChannel:' #'LABELb_moveDown.xbm'
-                                        #'defaultable:' true
-                                        #'model:' #moveSelectionDown
-                                        #'isTriggerOnDown:' true
-                                        #'enableChannel:' #enableChannel
-                                        #'autoRepeat:' true
-                                        #'extent:' #(#Point 26 24)
-                                    )
-                                  )
-                              )
-                              #'level:' 1
-                              #'horizontalLayout:' #fitSpace
-                              #'verticalLayout:' #fitSpace
-                              #'horizontalSpace:' 4
-                              #'verticalSpace:' 4
-                          )
-                           #(#NoteBookViewSpec
-                              #'name:' 'propertyView'
-                              #'layout:' #(#LayoutFrame 0 0.35 40 0.0 0 1.0 -30 1.0)
-                              #'model:' #tabModel
-                              #'menu:' #tabList
-                              #'tabWidget:' #Window
-                              #'direction:' #top
-                              #'useIndex:' false
-                              #'fitLastRow:' true
-                              #'moveSelectedRow:' true
-                              #'enableChannel:' #enableChannel
-                              #'level:' 0
-                              #'canvas:' #noteBookView
-                          )
-                           #(#HorizontalPanelViewSpec
-                              #'name:' 'hrzPanelViewOk'
-                              #'layout:' #(#LayoutFrame 0 0.35 -30 1.0 0 1.0 0 1.0)
-                              #'component:' 
-                               #(#SpecCollection
-                                  #'collection:' 
-                                   #(
-                                     #(#ActionButtonSpec
-                                        #'name:' 'cancelButton'
-                                        #'label:' 'cancel'
-                                        #'model:' #cancel
-                                        #'isTriggerOnDown:' false
-                                        #'enableChannel:' #modifiedChannel
-                                        #'autoRepeat:' false
-                                        #'extent:' #(#Point 145 24)
-                                    )
-                                     #(#ActionButtonSpec
-                                        #'name:' 'acceptButton'
-                                        #'label:' 'ok'
-                                        #'model:' #accept
-                                        #'isTriggerOnDown:' false
-                                        #'enableChannel:' #modifiedChannel
-                                        #'autoRepeat:' false
-                                        #'extent:' #(#Point 145 24)
-                                    )
-                                  )
-                              )
-                              #'level:' 0
-                              #'horizontalLayout:' #fitSpace
-                              #'verticalLayout:' #fitSpace
-                              #'horizontalSpace:' 3
-                              #'verticalSpace:' 3
-                          )
-                           #(#MenuPanelSpec
-                              #'name:' 'menuPanel1'
-                              #'layout:' #(#LayoutFrame 0 0.0 0 0.0 -226 1.0 25 0)
-                              #'menu:' #menuAlignment
-                              #'showSeparatingLines:' true
-                              #'verticalLayout:' false
-                              #'fitFirstPanel:' true
-                          )
-                        )
-                    )
-                )
                  #(#MenuPanelSpec
-                    #'name:' 'menuBar1'
+                    #'name:' 'menuPullDown'
                     #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 24 0)
                     #'menu:' #menuPullDown
                     #'showSeparatingLines:' false
                     #'verticalLayout:' false
                     #'fitFirstPanel:' true
                 )
+                 #(#MenuPanelSpec
+                    #'name:' 'menuAlignment'
+                    #'layout:' #(#LayoutFrame 0 0.0 29 0 233 0 54 0)
+                    #'menu:' #menuAlignment
+                    #'showSeparatingLines:' true
+                    #'verticalLayout:' false
+                    #'fitFirstPanel:' true
+                )
+                 #(#PanelViewSpec
+                    #'name:' 'panelViewButtons'
+                    #'layout:' #(#LayoutFrame -125 1.0 25 0.0 0 1.0 58 0.0)
+                    #'component:' 
+                     #(#SpecCollection
+                        #'collection:' 
+                         #(
+                           #(#ActionButtonSpec
+                              #'name:' 'moveLeft'
+                              #'label:' ''
+                              #'translateLabel:' true
+                              #'labelChannel:' #'LABELb_moveLeft.xbm'
+                              #'defaultable:' true
+                              #'model:' #moveSelectionLeft
+                              #'isTriggerOnDown:' true
+                              #'enableChannel:' #enableChannel
+                              #'autoRepeat:' false
+                              #'extent:' #(#Point 26 24)
+                          )
+                           #(#ActionButtonSpec
+                              #'name:' 'moveRight'
+                              #'label:' ''
+                              #'translateLabel:' true
+                              #'labelChannel:' #'LABELb_moveRight.xbm'
+                              #'defaultable:' true
+                              #'model:' #moveSelectionRight
+                              #'isTriggerOnDown:' true
+                              #'enableChannel:' #enableChannel
+                              #'autoRepeat:' false
+                              #'extent:' #(#Point 26 24)
+                          )
+                           #(#ActionButtonSpec
+                              #'name:' 'moveUp'
+                              #'label:' ''
+                              #'translateLabel:' true
+                              #'labelChannel:' #'LABELb_moveUp.xbm'
+                              #'defaultable:' true
+                              #'model:' #moveSelectionUp
+                              #'isTriggerOnDown:' true
+                              #'enableChannel:' #enableChannel
+                              #'autoRepeat:' false
+                              #'extent:' #(#Point 26 24)
+                          )
+                           #(#ActionButtonSpec
+                              #'name:' 'moveDown'
+                              #'label:' ''
+                              #'translateLabel:' true
+                              #'labelChannel:' #'LABELb_moveDown.xbm'
+                              #'defaultable:' true
+                              #'model:' #moveSelectionDown
+                              #'isTriggerOnDown:' true
+                              #'enableChannel:' #enableChannel
+                              #'autoRepeat:' false
+                              #'extent:' #(#Point 26 24)
+                          )
+                        )
+                    )
+                    #'level:' 1
+                    #'horizontalLayout:' #fitSpace
+                    #'verticalLayout:' #fitSpace
+                    #'horizontalSpace:' 4
+                    #'verticalSpace:' 4
+                )
+                 #(#SequenceViewSpec
+                    #'name:' 'objectTree'
+                    #'layout:' #(#LayoutFrame 0 0.0 59 0.0 0 0.35 0 1.0)
+                    #'enableChannel:' #enableChannel
+                    #'menu:' #objectListMenu
+                    #'tabable:' false
+                    #'model:' #objectList
+                    #'hasHorizontalScrollBar:' true
+                    #'hasVerticalScrollBar:' true
+                    #'miniScrollerHorizontal:' true
+                    #'miniScrollerVertical:' false
+                    #'isMultiSelect:' true
+                    #'doubleClickSelector:' #doubleClick
+                    #'useIndex:' true
+                )
+                 #(#NoteBookViewSpec
+                    #'name:' 'noteBook'
+                    #'layout:' #(#LayoutFrame 0 0.35 59 0.0 0 1.0 -30 1.0)
+                    #'enableChannel:' #enableChannel
+                    #'menu:' #tabList
+                    #'style:' 
+                     #(#FontDescription
+                        #fixed #medium
+                        #roman #'10'
+                    )
+                    #'model:' #tabModel
+                    #'tabWidget:' #Window
+                    #'useIndex:' false
+                    #'level:' 0
+                    #'canvas:' #noteBookView
+                )
+                 #(#HorizontalPanelViewSpec
+                    #'name:' 'modifyPanel'
+                    #'layout:' #(#LayoutFrame 0 0.35 -30 1.0 0 1.0 0 1.0)
+                    #'component:' 
+                     #(#SpecCollection
+                        #'collection:' 
+                         #(
+                           #(#ActionButtonSpec
+                              #'name:' 'cancelButton'
+                              #'label:' 'cancel'
+                              #'model:' #cancel
+                              #'isTriggerOnDown:' false
+                              #'enableChannel:' #modifiedChannel
+                              #'autoRepeat:' false
+                              #'extent:' #(#Point 151 24)
+                          )
+                           #(#ActionButtonSpec
+                              #'name:' 'acceptButton'
+                              #'label:' 'ok'
+                              #'model:' #accept
+                              #'isTriggerOnDown:' false
+                              #'enableChannel:' #modifiedChannel
+                              #'autoRepeat:' false
+                              #'extent:' #(#Point 151 24)
+                          )
+                        )
+                    )
+                    #'level:' 0
+                    #'horizontalLayout:' #fitSpace
+                    #'verticalLayout:' #fitSpace
+                    #'horizontalSpace:' 3
+                    #'verticalSpace:' 3
+                )
               )
           )
       )
@@ -686,14 +639,14 @@
     specView specEdited:(self painter specFor:currentView).
     layoutTool forView:currentView.
     self modifiedChannel value:false.
+!
+
+doubleClick
+    objectList selectGroup
 ! !
 
 !UIPainter methodsFor:'aspects'!
 
-doubleClick
-    objectList selectGroup
-!
-
 enableChannel
     "true if modifications are allowed otherwise running test
     "
@@ -778,6 +731,7 @@
 
     (holder := builder bindingAt:#tabList) isNil ifTrue:[
         builder aspectAt:#tabList put:(holder :=  ValueHolder new).
+        holder value:#( '  ' '  ' ).
     ].
     ^ holder
 !
--- a/UIPainterView.st	Wed May 28 13:32:48 1997 +0200
+++ b/UIPainterView.st	Wed Jun 04 13:28:48 1997 +0200
@@ -601,6 +601,13 @@
                 code := code , thisCode
             ]
         ].
+        aProp spec actionSelectors do:[:aSel|
+            (cls implements:aSel asSymbol) ifFalse:[
+                "/ kludge ..
+                thisCode := (self generateActionMethodFor:aSel spec:protoSpec inClass:cls).
+                code := code , thisCode
+            ]
+        ].
 
     ].
     ^ code
@@ -970,6 +977,15 @@
 
 !UIPainterView methodsFor:'initialization'!
 
+destroy
+    "remove dependencies
+    "
+    listHolder notNil ifTrue:[
+        listHolder removeDependent:self.
+    ].
+    super destroy.
+!
+
 initialize
     "setup attributes
     "
@@ -1023,21 +1039,6 @@
 
 !UIPainterView methodsFor:'menus'!
 
-showFontPanel
-    |action theFont fontPanel|
-
-    self hasSelection ifTrue:[
-        fontPanel := FontPanel new. 
-        action := [:aFontDescription | theFont := aFontDescription].
-        fontPanel action:action.
-        fontPanel showAtPointer.
-        fontPanel destroy.
-        theFont notNil ifTrue:[
-            self changeFont:theFont
-        ]
-    ]
-!
-
 showMiddleButtonMenu
     "show the middle button menu; this returns nil
     "
@@ -2052,7 +2053,9 @@
     selection := self selectionIndex.
 
     selection size == 1 ifTrue:[
-        ^ propertyList at:(selection at:1)
+        propertyList size ~~ 0 ifTrue:[
+            ^ propertyList at:(selection first)
+        ]
     ].
     ^ nil
 !