# HG changeset patch # User ca # Date 865423728 -7200 # Node ID 335faeed1663b26df004e05e89463e451f6a6570 # Parent 42a2a449428169c7ec49413f5037628edaf68922 update diff -r 42a2a4494281 -r 335faeed1663 UIPainter.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 ! diff -r 42a2a4494281 -r 335faeed1663 UIPainterView.st --- 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 !