UIPainter.st
changeset 142 75f927b856f6
parent 137 335faeed1663
child 144 bca8b1953ee8
equal deleted inserted replaced
141:d06c04391233 142:75f927b856f6
   318     "
   318     "
   319 
   319 
   320     <resource: #canvas>
   320     <resource: #canvas>
   321 
   321 
   322     ^
   322     ^
   323 
   323      
   324        #(#FullSpec
   324        #(#FullSpec
   325           #'window:' 
   325           #'window:' 
   326            #(#WindowSpec
   326            #(#WindowSpec
   327               #'name:' 'uIPainterView'
   327               #'name:' 'uIPainterView'
   328               #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
   328               #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
   335                #(
   335                #(
   336                  #(#LabelSpec
   336                  #(#LabelSpec
   337                     #'name:' 'label1'
   337                     #'name:' 'label1'
   338                     #'layout:' #(#LayoutFrame 10 0 50 0 110 0 70 0)
   338                     #'layout:' #(#LayoutFrame 10 0 50 0 110 0 70 0)
   339                     #'label:' 'class:'
   339                     #'label:' 'class:'
   340                     #'foregroundColor:' #(#Color 0.0 0.0 0.0)
       
   341                     #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
       
   342                     #'initiallyInvisible:' false
       
   343                     #'translateLabel:' false
       
   344                     #'level:' 0
       
   345                     #'adjust:' #right
   340                     #'adjust:' #right
   346                     #'hasCharacterOrientedLabel:' true
       
   347                 )
   341                 )
   348                  #(#LabelSpec
   342                  #(#LabelSpec
   349                     #'name:' 'label2'
   343                     #'name:' 'label2'
   350                     #'layout:' #(#LayoutFrame 10 0 90 0 110 0 110 0)
   344                     #'layout:' #(#LayoutFrame 10 0 90 0 110 0 110 0)
   351                     #'label:' 'superclass:'
   345                     #'label:' 'superclass:'
   352                     #'foregroundColor:' #(#Color 0.0 0.0 0.0)
       
   353                     #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
       
   354                     #'initiallyInvisible:' false
       
   355                     #'translateLabel:' false
       
   356                     #'level:' 0
       
   357                     #'adjust:' #right
   346                     #'adjust:' #right
   358                     #'hasCharacterOrientedLabel:' true
       
   359                 )
   347                 )
   360                  #(#LabelSpec
   348                  #(#LabelSpec
   361                     #'name:' 'label3'
   349                     #'name:' 'label3'
   362                     #'layout:' #(#LayoutFrame 10 0 130 0 110 0 150 0)
   350                     #'layout:' #(#LayoutFrame 10 0 130 0 110 0 150 0)
   363                     #'label:' 'selector:'
   351                     #'label:' 'selector:'
   364                     #'foregroundColor:' #(#Color 0.0 0.0 0.0)
       
   365                     #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
       
   366                     #'initiallyInvisible:' false
       
   367                     #'translateLabel:' false
       
   368                     #'level:' 0
       
   369                     #'adjust:' #right
   352                     #'adjust:' #right
   370                     #'hasCharacterOrientedLabel:' true
       
   371                 )
   353                 )
   372                  #(#InputFieldSpec
   354                  #(#InputFieldSpec
   373                     #'name:' 'classNameField'
   355                     #'name:' 'classNameField'
   374                     #'layout:' #(#LayoutFrame 120 0 50 0 289 0 72 0)
   356                     #'layout:' #(#LayoutFrame 120 0 50 0 289 0 72 0)
   375                     #'model:' #classNameChannel
   357                     #'model:' #classNameChannel
   376                     #'tabable:' true
   358                     #'tabable:' true
   377                     #'immediateAccept:' true
       
   378                     #'hasBorder:' false
       
   379                 )
   359                 )
   380                  #(#InputFieldSpec
   360                  #(#InputFieldSpec
   381                     #'name:' 'superclassNameField'
   361                     #'name:' 'superclassNameField'
   382                     #'layout:' #(#LayoutFrame 120 0 90 0 289 0 112 0)
   362                     #'layout:' #(#LayoutFrame 120 0 90 0 289 0 112 0)
   383                     #'model:' #superclassNameChannel
   363                     #'model:' #superclassNameChannel
   384                     #'tabable:' true
   364                     #'tabable:' true
   385                     #'immediateAccept:' true
       
   386                     #'hasBorder:' false
       
   387                 )
   365                 )
   388                  #(#InputFieldSpec
   366                  #(#InputFieldSpec
   389                     #'name:' 'methodNameField'
   367                     #'name:' 'methodNameField'
   390                     #'layout:' #(#LayoutFrame 120 0 130 0 289 0 152 0)
   368                     #'layout:' #(#LayoutFrame 120 0 130 0 289 0 152 0)
   391                     #'model:' #methodNameChannel
   369                     #'model:' #methodNameChannel
   392                     #'tabable:' true
   370                     #'tabable:' true
   393                     #'immediateAccept:' true
       
   394                     #'hasBorder:' false
       
   395                 )
   371                 )
   396                  #(#ActionButtonSpec
   372                  #(#ActionButtonSpec
   397                     #'name:' 'button1'
   373                     #'name:' 'button1'
   398                     #'layout:' #(#LayoutFrame 30 0 180 0 129 0 209 0)
   374                     #'layout:' #(#LayoutFrame 30 0 180 0 129 0 209 0)
   399                     #'label:' 'cancel'
   375                     #'label:' 'cancel'
   400                     #'foregroundColor:' #(#Color 0.0 0.0 0.0)
       
   401                     #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
       
   402                     #'translateLabel:' false
       
   403                     #'tabable:' true
   376                     #'tabable:' true
   404                     #'model:' #cancel
   377                     #'model:' #cancel
   405                     #'isTriggerOnDown:' false
   378                     #'isTriggerOnDown:' false
       
   379                     #'autoRepeat:' false
   406                 )
   380                 )
   407                  #(#ActionButtonSpec
   381                  #(#ActionButtonSpec
   408                     #'name:' 'button2'
   382                     #'name:' 'button2'
   409                     #'layout:' #(#LayoutFrame 160 0 180 0 259 0 209 0)
   383                     #'layout:' #(#LayoutFrame 160 0 180 0 259 0 209 0)
   410                     #'label:' 'ok'
   384                     #'label:' 'ok'
   411                     #'foregroundColor:' #(#Color 0.0 0.0 0.0)
       
   412                     #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
       
   413                     #'translateLabel:' false
       
   414                     #'tabable:' true
   385                     #'tabable:' true
   415                     #'isDefault:' true
   386                     #'isDefault:' true
   416                     #'model:' #accept
   387                     #'model:' #accept
   417                     #'isTriggerOnDown:' false
   388                     #'isTriggerOnDown:' false
       
   389                     #'autoRepeat:' false
   418                 )
   390                 )
   419                  #(#LabelSpec
   391                  #(#LabelSpec
   420                     #'name:' 'boxLabel'
   392                     #'name:' 'boxLabel'
   421                     #'layout:' #(#LayoutFrame 0 0.0 11 0 0 1.0 32 0)
   393                     #'layout:' #(#LayoutFrame 0 0.0 11 0 0 1.0 32 0)
   422                     #'label:' 'class & selector for code:'
   394                     #'label:' 'class & selector for code:'
   423                     #'foregroundColor:' #(#Color 0.0 0.0 0.0)
       
   424                     #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
       
   425                     #'initiallyInvisible:' false
       
   426                     #'translateLabel:' false
       
   427                     #'level:' 0
       
   428                     #'adjust:' #left
   395                     #'adjust:' #left
   429                     #'hasCharacterOrientedLabel:' true
       
   430                 )
   396                 )
   431               )
   397               )
   432           )
   398           )
   433       )
   399       )
   434 
       
   435 !
   400 !
   436 
   401 
   437 windowSpec
   402 windowSpec
   438     "this window spec was automatically generated by the ST/X UIPainter"
   403     "this window spec was automatically generated by the ST/X UIPainter"
   439 
   404 
   464                #(
   429                #(
   465                  #(#MenuPanelSpec
   430                  #(#MenuPanelSpec
   466                     #'name:' 'menuPullDown'
   431                     #'name:' 'menuPullDown'
   467                     #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 24 0)
   432                     #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 24 0)
   468                     #'menu:' #menuPullDown
   433                     #'menu:' #menuPullDown
   469                     #'showSeparatingLines:' false
       
   470                     #'verticalLayout:' false
       
   471                     #'fitFirstPanel:' true
       
   472                 )
   434                 )
   473                  #(#MenuPanelSpec
   435                  #(#MenuPanelSpec
   474                     #'name:' 'menuAlignment'
   436                     #'name:' 'menuAlignment'
   475                     #'layout:' #(#LayoutFrame 0 0.0 29 0 233 0 54 0)
   437                     #'layout:' #(#LayoutFrame 0 0.0 29 0 233 0 54 0)
   476                     #'menu:' #menuAlignment
   438                     #'menu:' #menuAlignment
   477                     #'showSeparatingLines:' true
   439                     #'showSeparatingLines:' true
   478                     #'verticalLayout:' false
       
   479                     #'fitFirstPanel:' true
       
   480                 )
   440                 )
   481                  #(#PanelViewSpec
   441                  #(#PanelViewSpec
   482                     #'name:' 'panelViewButtons'
   442                     #'name:' 'panelViewButtons'
   483                     #'layout:' #(#LayoutFrame -125 1.0 25 0.0 0 1.0 58 0.0)
   443                     #'layout:' #(#LayoutFrame -125 1.0 25 0.0 0 1.0 58 0.0)
   484                     #'component:' 
   444                     #'component:' 
   544                  #(#SequenceViewSpec
   504                  #(#SequenceViewSpec
   545                     #'name:' 'objectTree'
   505                     #'name:' 'objectTree'
   546                     #'layout:' #(#LayoutFrame 0 0.0 59 0.0 0 0.35 0 1.0)
   506                     #'layout:' #(#LayoutFrame 0 0.0 59 0.0 0 0.35 0 1.0)
   547                     #'enableChannel:' #enableChannel
   507                     #'enableChannel:' #enableChannel
   548                     #'menu:' #objectListMenu
   508                     #'menu:' #objectListMenu
   549                     #'tabable:' false
       
   550                     #'model:' #objectList
   509                     #'model:' #objectList
   551                     #'hasHorizontalScrollBar:' true
   510                     #'hasHorizontalScrollBar:' true
   552                     #'hasVerticalScrollBar:' true
   511                     #'hasVerticalScrollBar:' true
   553                     #'miniScrollerHorizontal:' true
   512                     #'miniScrollerHorizontal:' true
   554                     #'miniScrollerVertical:' false
       
   555                     #'isMultiSelect:' true
   513                     #'isMultiSelect:' true
   556                     #'doubleClickSelector:' #doubleClick
   514                     #'doubleClickSelector:' #doubleClick
   557                     #'useIndex:' true
   515                     #'useIndex:' true
   558                 )
   516                 )
   559                  #(#NoteBookViewSpec
   517                  #(#NoteBookViewSpec
   566                         #fixed #medium
   524                         #fixed #medium
   567                         #roman #'10'
   525                         #roman #'10'
   568                     )
   526                     )
   569                     #'model:' #tabModel
   527                     #'model:' #tabModel
   570                     #'tabWidget:' #Window
   528                     #'tabWidget:' #Window
   571                     #'useIndex:' false
       
   572                     #'level:' 0
   529                     #'level:' 0
   573                     #'canvas:' #noteBookView
   530                     #'canvas:' #noteBookView
   574                 )
   531                 )
   575                  #(#HorizontalPanelViewSpec
   532                  #(#HorizontalPanelViewSpec
   576                     #'name:' 'modifyPanel'
   533                     #'name:' 'modifyPanel'
   790 !
   747 !
   791 
   748 
   792 objectListChanged
   749 objectListChanged
   793     "something changed in the painter view
   750     "something changed in the painter view
   794     "
   751     "
   795     |setSel slices list spec props|
   752     |setSel slices list spec props size|
   796 
   753 
   797     props := objectList selectedProperty.
   754     props := objectList selectedProperty.
   798     tabSelection := nil.
   755     tabSelection := nil.
   799 
   756 
   800     props isNil ifFalse:[
   757     props isNil ifFalse:[
   801         currentView := props view.
   758         currentView := props view.
       
   759 
       
   760         (currentView == layoutTool forView) ifTrue:[
       
   761             ^ self
       
   762         ].
   802         layoutTool forView:currentView.
   763         layoutTool forView:currentView.
   803 
       
   804         spec   := props spec copy.
   764         spec   := props spec copy.
   805         slices := spec class slices.
   765         slices := spec class slices.
   806         list   := slices collect:[:slice| slice first asString ].
   766         size   := slices size + 1.
   807         list add:'Dimension'.
   767         list   := Array new:size.
       
   768         slices keysAndValuesDo:[:i :s|list at:i put:(s first asString)].
       
   769         list at:size put:'Dimension'.
   808         (self tabList) value:list.
   770         (self tabList) value:list.
   809 
   771 
   810         (list findFirst:[:aName| aName = lastSlice]) ~~ 0 ifTrue:[
   772         (list findFirst:[:aName| aName = lastSlice]) ~~ 0 ifTrue:[
   811             setSel := lastSlice
   773             setSel := lastSlice
   812         ]
   774         ]