UIPainter.st
changeset 564 df1f1e84d94a
parent 547 930b3df19305
child 565 8fdeb11c72fd
equal deleted inserted replaced
563:81f54df8d333 564:df1f1e84d94a
    20 	category:'Interface-UIPainter'
    20 	category:'Interface-UIPainter'
    21 !
    21 !
    22 
    22 
    23 SelectionInTreeView subclass:#TreeView
    23 SelectionInTreeView subclass:#TreeView
    24 	instanceVariableNames:'lastDrawnMaster cvsEventsDisabled windowSpec'
    24 	instanceVariableNames:'lastDrawnMaster cvsEventsDisabled windowSpec'
    25 	classVariableNames:'Images'
    25 	classVariableNames:''
    26 	poolDictionaries:''
    26 	poolDictionaries:''
    27 	privateIn:UIPainter
    27 	privateIn:UIPainter
    28 !
    28 !
    29 
    29 
    30 !UIPainter class methodsFor:'documentation'!
    30 !UIPainter class methodsFor:'documentation'!
   501      
   501      
   502        #(#FullSpec
   502        #(#FullSpec
   503           #'window:' 
   503           #'window:' 
   504            #(#WindowSpec
   504            #(#WindowSpec
   505               #'name:' 'Tree-View'
   505               #'name:' 'Tree-View'
   506               #'layout:' #(#LayoutFrame 6 0 406 0 558 0 931 0)
   506               #'layout:' #(#LayoutFrame 6 0 391 0 558 0 916 0)
   507               #'label:' 'Tree-View'
   507               #'label:' 'Tree-View'
   508               #'min:' #(#Point 10 10)
   508               #'min:' #(#Point 10 10)
   509               #'max:' #(#Point 1160 870)
   509               #'max:' #(#Point 1160 870)
   510               #'bounds:' #(#Rectangle 6 406 559 932)
   510               #'bounds:' #(#Rectangle 6 391 559 917)
   511               #'menu:' #menu
   511               #'menu:' #menu
   512               #'usePreferredExtent:' false
   512               #'usePreferredExtent:' false
   513           )
   513           )
   514           #'component:' 
   514           #'component:' 
   515            #(#SpecCollection
   515            #(#SpecCollection
   550                                         #'name:' 'specHolderView'
   550                                         #'name:' 'specHolderView'
   551                                         #'component:' 
   551                                         #'component:' 
   552                                          #(#SpecCollection
   552                                          #(#SpecCollection
   553                                             #'collection:' 
   553                                             #'collection:' 
   554                                              #(
   554                                              #(
   555                                                #(#HorizontalPanelViewSpec
   555                                                #(#ViewSpec
   556                                                   #'name:' 'panelViewButtons'
   556                                                   #'name:' 'View'
   557                                                   #'layout:' #(#LayoutFrame 0 0.0 0 0 0 1.0 25 0)
   557                                                   #'layout:' #(#LayoutFrame 0 0.0 0 0 0 1.0 28 0)
   558                                                   #'component:' 
   558                                                   #'component:' 
   559                                                    #(#SpecCollection
   559                                                    #(#SpecCollection
   560                                                       #'collection:' 
   560                                                       #'collection:' 
   561                                                        #(
   561                                                        #(
   562                                                          #(#ArrowButtonSpec
   562                                                          #(#HorizontalPanelViewSpec
   563                                                             #'name:' 'moveLeft'
   563                                                             #'name:' 'panelViewButtons'
   564                                                             #'activeHelpKey:' #moveSelectionLeft
   564                                                             #'layout:' #(#LayoutFrame 0 0.0 2 0 0 0.5 26 0)
   565                                                             #'tabable:' true
   565                                                             #'component:' 
   566                                                             #'model:' #moveSelectionLeft
   566                                                              #(#SpecCollection
   567                                                             #'enableChannel:' #canMoveOrAlignSelection
   567                                                                 #'collection:' 
   568                                                             #'isTriggerOnDown:' true
   568                                                                  #(
   569                                                             #'direction:' #left
   569                                                                    #(#CheckBoxSpec
   570                                                             #'extent:' #(#Point 22 22)
   570                                                                       #'name:' 'checkBox1'
       
   571                                                                       #'model:' #galleryShown
       
   572                                                                       #'label:' 'Gallery'
       
   573                                                                       #'extent:' #(#Point 82 22)
       
   574                                                                   )
       
   575                                                                    #(#CheckBoxSpec
       
   576                                                                       #'name:' 'checkBox2'
       
   577                                                                       #'model:' #painterShown
       
   578                                                                       #'label:' 'Canvas'
       
   579                                                                       #'extent:' #(#Point 119 22)
       
   580                                                                   )
       
   581                                                                 )
       
   582                                                             )
       
   583                                                             #'horizontalLayout:' #left
       
   584                                                             #'verticalLayout:' #top
       
   585                                                             #'horizontalSpace:' 4
       
   586                                                             #'verticalSpace:' 4
   571                                                         )
   587                                                         )
   572                                                          #(#ArrowButtonSpec
   588                                                          #(#HorizontalPanelViewSpec
   573                                                             #'name:' 'moveRight'
   589                                                             #'name:' 'horizontalPanelView1'
   574                                                             #'activeHelpKey:' #moveSelectionRight
   590                                                             #'layout:' #(#LayoutFrame 0 0.5 2 0 0 1.0 26 0)
   575                                                             #'model:' #moveSelectionRight
   591                                                             #'component:' 
   576                                                             #'enableChannel:' #canMoveOrAlignSelection
   592                                                              #(#SpecCollection
   577                                                             #'isTriggerOnDown:' true
   593                                                                 #'collection:' 
   578                                                             #'direction:' #right
   594                                                                  #(
   579                                                             #'extent:' #(#Point 22 22)
   595                                                                    #(#ArrowButtonSpec
   580                                                         )
   596                                                                       #'name:' 'arrowButton1'
   581                                                          #(#ArrowButtonSpec
   597                                                                       #'activeHelpKey:' #moveSelectionLeft
   582                                                             #'name:' 'moveDown'
   598                                                                       #'tabable:' true
   583                                                             #'activeHelpKey:' #moveSelectionDown
   599                                                                       #'model:' #moveSelectionLeft
   584                                                             #'model:' #moveSelectionDown
   600                                                                       #'enableChannel:' #canMoveOrAlignSelection
   585                                                             #'enableChannel:' #canMoveOrAlignSelection
   601                                                                       #'isTriggerOnDown:' true
   586                                                             #'isTriggerOnDown:' true
   602                                                                       #'direction:' #left
   587                                                             #'direction:' #down
   603                                                                       #'extent:' #(#Point 22 22)
   588                                                             #'extent:' #(#Point 22 22)
   604                                                                   )
   589                                                         )
   605                                                                    #(#ArrowButtonSpec
   590                                                          #(#ArrowButtonSpec
   606                                                                       #'name:' 'arrowButton2'
   591                                                             #'name:' 'moveUp'
   607                                                                       #'activeHelpKey:' #moveSelectionRight
   592                                                             #'activeHelpKey:' #moveSelectionUp
   608                                                                       #'model:' #moveSelectionRight
   593                                                             #'model:' #moveSelectionUp
   609                                                                       #'enableChannel:' #canMoveOrAlignSelection
   594                                                             #'enableChannel:' #canMoveOrAlignSelection
   610                                                                       #'isTriggerOnDown:' true
   595                                                             #'isTriggerOnDown:' true
   611                                                                       #'direction:' #right
   596                                                             #'direction:' #up
   612                                                                       #'extent:' #(#Point 22 22)
   597                                                             #'extent:' #(#Point 22 22)
   613                                                                   )
   598                                                         )
   614                                                                    #(#ArrowButtonSpec
   599                                                          #(#LabelSpec
   615                                                                       #'name:' 'arrowButton3'
   600                                                             #'name:' 'label1'
   616                                                                       #'activeHelpKey:' #moveSelectionDown
   601                                                             #'label:' ' '
   617                                                                       #'model:' #moveSelectionDown
   602                                                             #'extent:' #(#Point 14 22)
   618                                                                       #'enableChannel:' #canMoveOrAlignSelection
   603                                                         )
   619                                                                       #'isTriggerOnDown:' true
   604                                                          #(#CheckBoxSpec
   620                                                                       #'direction:' #down
   605                                                             #'name:' 'checkBox1'
   621                                                                       #'extent:' #(#Point 22 22)
   606                                                             #'model:' #galleryShown
   622                                                                   )
   607                                                             #'label:' 'Gallery'
   623                                                                    #(#ArrowButtonSpec
   608                                                             #'extent:' #(#Point 82 22)
   624                                                                       #'name:' 'arrowButton4'
   609                                                         )
   625                                                                       #'activeHelpKey:' #moveSelectionUp
   610                                                          #(#CheckBoxSpec
   626                                                                       #'model:' #moveSelectionUp
   611                                                             #'name:' 'checkBox2'
   627                                                                       #'enableChannel:' #canMoveOrAlignSelection
   612                                                             #'model:' #painterShown
   628                                                                       #'isTriggerOnDown:' true
   613                                                             #'label:' 'Canvas'
   629                                                                       #'direction:' #up
   614                                                             #'extent:' #(#Point 119 22)
   630                                                                       #'extent:' #(#Point 22 22)
       
   631                                                                   )
       
   632                                                                 )
       
   633                                                             )
       
   634                                                             #'horizontalLayout:' #right
       
   635                                                             #'verticalLayout:' #top
       
   636                                                             #'horizontalSpace:' 4
       
   637                                                             #'verticalSpace:' 4
   615                                                         )
   638                                                         )
   616                                                       )
   639                                                       )
   617                                                   )
   640                                                   )
   618                                                   #'level:' 1
   641                                                   #'level:' 1
   619                                                   #'horizontalLayout:' #left
       
   620                                                   #'verticalLayout:' #top
       
   621                                                   #'horizontalSpace:' 4
       
   622                                                   #'verticalSpace:' 4
       
   623                                               )
   642                                               )
   624                                                #(#NoteBookViewSpec
   643                                                #(#NoteBookViewSpec
   625                                                   #'name:' 'noteBook'
   644                                                   #'name:' 'noteBook'
   626                                                   #'layout:' #(#LayoutFrame 0 0.0 26 0.0 0 1.0 -30 1.0)
   645                                                   #'layout:' #(#LayoutFrame 0 0.0 29 0.0 0 1.0 -30 1.0)
   627                                                   #'enableChannel:' #enableChannel
   646                                                   #'enableChannel:' #enableChannel
   628                                                   #'tabable:' true
   647                                                   #'tabable:' true
   629                                                   #'model:' #tabModel
   648                                                   #'model:' #tabModel
   630                                                   #'menu:' #tabList
   649                                                   #'menu:' #tabList
   631                                                   #'style:' #(#FontDescription #helvetica #medium #roman 10)
   650                                                   #'style:' #(#FontDescription #helvetica #medium #roman 10)
   813              #(#MenuItem
   832              #(#MenuItem
   814                 #'label:' 'Edit'
   833                 #'label:' 'Edit'
   815                 #'submenuChannel:' #menuEdit
   834                 #'submenuChannel:' #menuEdit
   816             )
   835             )
   817              #(#MenuItem
   836              #(#MenuItem
       
   837                 #'label:' 'Add'
       
   838                 #'submenuChannel:' #menuAdd
       
   839             )
       
   840              #(#MenuItem
   818                 #'label:' 'Align'
   841                 #'label:' 'Align'
   819                 #'submenuChannel:' #menuAlign
   842                 #'submenuChannel:' #menuAlign
   820             )
   843             )
   821              #(#MenuItem
   844              #(#MenuItem
   822                 #'label:' 'Test'
   845                 #'label:' 'Test'
   867             )
   890             )
   868              #(#MenuItem
   891              #(#MenuItem
   869                 #'label:' 'Help'
   892                 #'label:' 'Help'
   870                 #'startGroup:' #right
   893                 #'startGroup:' #right
   871                 #'submenuChannel:' #menuHelp
   894                 #'submenuChannel:' #menuHelp
       
   895             )
       
   896           ) nil
       
   897           nil
       
   898       )
       
   899 !
       
   900 
       
   901 menuAdd
       
   902     "this window spec was automatically generated by the ST/X MenuEditor"
       
   903 
       
   904     "do not manually edit this - the builder may not be able to
       
   905      handle the specification if its corrupted."
       
   906 
       
   907     "
       
   908      MenuEditor new openOnClass:UIPainter andSelector:#menuAdd
       
   909      (Menu new fromLiteralArrayEncoding:(UIPainter menuAdd)) startUp
       
   910     "
       
   911 
       
   912     <resource: #menu>
       
   913 
       
   914     ^
       
   915      
       
   916        #(#Menu
       
   917           
       
   918            #(
       
   919              #(#MenuItem
       
   920                 #'label:' 'Buttons'
       
   921                 #'submenu:' 
       
   922                  #(#Menu
       
   923                     
       
   924                      #(
       
   925                        #(#MenuItem
       
   926                           #'label:' 'Action Button'
       
   927                           #'value:' #'addWidget:'
       
   928                           #'argument:' #ActionButtonSpec
       
   929                           #'labelImage:' #(#ResourceRetriever #ActionButtonSpec #icon 'Action Button')
       
   930                       )
       
   931                        #(#MenuItem
       
   932                           #'label:' 'Arrow Button'
       
   933                           #'value:' #'addWidget:'
       
   934                           #'argument:' #ArrowButtonSpec
       
   935                           #'labelImage:' #(#ResourceRetriever #ArrowButtonSpec #icon 'Arrow Button')
       
   936                       )
       
   937                        #(#MenuItem
       
   938                           #'label:' '-'
       
   939                       )
       
   940                        #(#MenuItem
       
   941                           #'label:' 'Toggle'
       
   942                           #'value:' #'addWidget:'
       
   943                           #'argument:' #ToggleSpec
       
   944                           #'labelImage:' #(#ResourceRetriever #ToggleSpec #icon 'Toggle')
       
   945                       )
       
   946                        #(#MenuItem
       
   947                           #'label:' 'Radio Button'
       
   948                           #'value:' #'addWidget:'
       
   949                           #'argument:' #RadioButtonSpec
       
   950                           #'labelImage:' #(#ResourceRetriever #RadioButtonSpec #icon 'Radio Button')
       
   951                       )
       
   952                        #(#MenuItem
       
   953                           #'label:' '-'
       
   954                       )
       
   955                        #(#MenuItem
       
   956                           #'label:' 'Check Box'
       
   957                           #'value:' #'addWidget:'
       
   958                           #'argument:' #CheckBoxSpec
       
   959                           #'labelImage:' #(#ResourceRetriever #CheckBoxSpec #icon 'Check Box')
       
   960                       )
       
   961                        #(#MenuItem
       
   962                           #'label:' '-'
       
   963                       )
       
   964                        #(#MenuItem
       
   965                           #'label:' 'Up Down Button'
       
   966                           #'value:' #'addWidget:'
       
   967                           #'argument:' #UpDownButtonSpec
       
   968                           #'labelImage:' #(#ResourceRetriever #UpDownButtonSpec #icon 'Up Down Button')
       
   969                       )
       
   970                        #(#MenuItem
       
   971                           #'label:' '-'
       
   972                       )
       
   973                        #(#MenuItem
       
   974                           #'label:' 'Slider'
       
   975                           #'value:' #'addWidget:'
       
   976                           #'argument:' #SliderSpec
       
   977                           #'labelImage:' #(#ResourceRetriever #SliderSpec #icon 'Slider')
       
   978                       )
       
   979                        #(#MenuItem
       
   980                           #'label:' 'Thumb Wheel'
       
   981                           #'value:' #'addWidget:'
       
   982                           #'argument:' #ThumbWheelSpec
       
   983                           #'labelImage:' #(#ResourceRetriever #ThumbWheelSpec #icon 'Thumb Wheel')
       
   984                       )
       
   985                     ) nil
       
   986                     nil
       
   987                 )
       
   988             )
       
   989              #(#MenuItem
       
   990                 #'label:' 'Menus'
       
   991                 #'submenu:' 
       
   992                  #(#Menu
       
   993                     
       
   994                      #(
       
   995                        #(#MenuItem
       
   996                           #'label:' 'Combo Box'
       
   997                           #'value:' #'addWidget:'
       
   998                           #'argument:' #ComboBoxSpec
       
   999                           #'labelImage:' #(#ResourceRetriever #ComboBoxSpec #icon 'Combo Box')
       
  1000                       )
       
  1001                        #(#MenuItem
       
  1002                           #'label:' 'Combo List'
       
  1003                           #'value:' #'addWidget:'
       
  1004                           #'argument:' #ComboListSpec
       
  1005                           #'labelImage:' #(#ResourceRetriever #ComboListSpec #icon 'Combo List')
       
  1006                       )
       
  1007                        #(#MenuItem
       
  1008                           #'label:' 'PopUp List'
       
  1009                           #'value:' #'addWidget:'
       
  1010                           #'argument:' #PopUpListSpec
       
  1011                           #'labelImage:' #(#ResourceRetriever #ComboListSpec #icon 'PopUp List')
       
  1012                       )
       
  1013                        #(#MenuItem
       
  1014                           #'label:' '-'
       
  1015                       )
       
  1016                        #(#MenuItem
       
  1017                           #'label:' 'Tab'
       
  1018                           #'value:' #'addWidget:'
       
  1019                           #'argument:' #TabViewSpec
       
  1020                           #'labelImage:' #(#ResourceRetriever #TabViewSpec #icon 'Tab')
       
  1021                       )
       
  1022                        #(#MenuItem
       
  1023                           #'label:' 'Note Book'
       
  1024                           #'value:' #'addWidget:'
       
  1025                           #'argument:' #NoteBookViewSpec
       
  1026                           #'labelImage:' #(#ResourceRetriever #NoteBookViewSpec #icon 'Note Book')
       
  1027                       )
       
  1028                        #(#MenuItem
       
  1029                           #'label:' 'Gallery'
       
  1030                           #'value:' #'addWidget:'
       
  1031                           #'argument:' #UIGalleryViewSpec
       
  1032                           #'labelImage:' #(#ResourceRetriever #UIGalleryViewSpec #icon 'Gallery')
       
  1033                       )
       
  1034                        #(#MenuItem
       
  1035                           #'label:' '-'
       
  1036                       )
       
  1037                        #(#MenuItem
       
  1038                           #'label:' 'Menu Panel'
       
  1039                           #'value:' #'addWidget:'
       
  1040                           #'argument:' #MenuPanelSpec
       
  1041                           #'labelImage:' #(#ResourceRetriever #MenuPanelSpec #icon 'Menu Panel')
       
  1042                       )
       
  1043                     ) nil
       
  1044                     nil
       
  1045                 )
       
  1046             )
       
  1047              #(#MenuItem
       
  1048                 #'label:' 'Text Views'
       
  1049                 #'submenu:' 
       
  1050                  #(#Menu
       
  1051                     
       
  1052                      #(
       
  1053                        #(#MenuItem
       
  1054                           #'label:' 'Text Editor'
       
  1055                           #'value:' #'addWidget:'
       
  1056                           #'argument:' #TextEditorSpec
       
  1057                           #'labelImage:' #(#ResourceRetriever #TextEditorSpec #icon 'Text Editor')
       
  1058                       )
       
  1059                        #(#MenuItem
       
  1060                           #'label:' 'Input Field'
       
  1061                           #'value:' #'addWidget:'
       
  1062                           #'argument:' #InputFieldSpec
       
  1063                           #'labelImage:' #(#ResourceRetriever #InputFieldSpec #icon 'Input Field')
       
  1064                       )
       
  1065                        #(#MenuItem
       
  1066                           #'label:' '-'
       
  1067                       )
       
  1068                        #(#MenuItem
       
  1069                           #'label:' 'Label'
       
  1070                           #'value:' #'addWidget:'
       
  1071                           #'argument:' #LabelSpec
       
  1072                           #'labelImage:' #(#ResourceRetriever #LabelSpec #icon 'Label')
       
  1073                       )
       
  1074                        #(#MenuItem
       
  1075                           #'label:' '-'
       
  1076                       )
       
  1077                        #(#MenuItem
       
  1078                           #'label:' 'HTML View'
       
  1079                           #'value:' #'addWidget:'
       
  1080                           #'argument:' #HTMLViewSpec
       
  1081                           #'labelImage:' #(#ResourceRetriever #HTMLViewSpec #icon 'HTML View')
       
  1082                       )
       
  1083                     ) nil
       
  1084                     nil
       
  1085                 )
       
  1086             )
       
  1087              #(#MenuItem
       
  1088                 #'label:' 'Lists'
       
  1089                 #'submenu:' 
       
  1090                  #(#Menu
       
  1091                     
       
  1092                      #(
       
  1093                        #(#MenuItem
       
  1094                           #'label:' 'List'
       
  1095                           #'value:' #'addWidget:'
       
  1096                           #'argument:' #SequenceViewSpec
       
  1097                           #'labelImage:' #(#ResourceRetriever #SequenceViewSpec #icon 'List')
       
  1098                       )
       
  1099                        #(#MenuItem
       
  1100                           #'label:' 'Data Set List'
       
  1101                           #'value:' #'addWidget:'
       
  1102                           #'argument:' #DataSetSpec
       
  1103                           #'labelImage:' #(#ResourceRetriever #DataSetSpec #icon 'Data Set List')
       
  1104                       )
       
  1105                        #(#MenuItem
       
  1106                           #'label:' '-'
       
  1107                       )
       
  1108                        #(#MenuItem
       
  1109                           #'label:' 'Tree List'
       
  1110                           #'value:' #'addWidget:'
       
  1111                           #'argument:' #SelectionInTreeViewSpec
       
  1112                           #'labelImage:' #(#ResourceRetriever #SelectionInTreeViewSpec #icon 'Tree List')
       
  1113                       )
       
  1114                        #(#MenuItem
       
  1115                           #'label:' 'File Tree List'
       
  1116                           #'value:' #'addWidget:'
       
  1117                           #'argument:' #FileSelectionTreeSpec
       
  1118                           #'labelImage:' #(#ResourceRetriever #FileSelectionTreeSpec #icon 'File Tree List')
       
  1119                       )
       
  1120                     ) nil
       
  1121                     nil
       
  1122                 )
       
  1123             )
       
  1124              #(#MenuItem
       
  1125                 #'label:' 'Boxes'
       
  1126                 #'submenu:' 
       
  1127                  #(#Menu
       
  1128                     
       
  1129                      #(
       
  1130                        #(#MenuItem
       
  1131                           #'label:' 'Box'
       
  1132                           #'value:' #'addWidget:'
       
  1133                           #'argument:' #ViewSpec
       
  1134                           #'labelImage:' #(#ResourceRetriever #ViewSpec #icon 'Box')
       
  1135                       )
       
  1136                        #(#MenuItem
       
  1137                           #'label:' 'Framed Box'
       
  1138                           #'value:' #'addWidget:'
       
  1139                           #'argument:' #FramedBoxSpec
       
  1140                           #'labelImage:' #(#ResourceRetriever #FramedBoxSpec #icon 'Framed Box')
       
  1141                       )
       
  1142                        #(#MenuItem
       
  1143                           #'label:' '-'
       
  1144                       )
       
  1145                        #(#MenuItem
       
  1146                           #'label:' 'Horizontal Panel'
       
  1147                           #'value:' #'addWidget:'
       
  1148                           #'argument:' #HorizontalPanelViewSpec
       
  1149                           #'labelImage:' #(#ResourceRetriever #HorizontalPanelViewSpec #icon 'Horizontal Panel')
       
  1150                       )
       
  1151                        #(#MenuItem
       
  1152                           #'label:' 'Vertical Panel'
       
  1153                           #'value:' #'addWidget:'
       
  1154                           #'argument:' #VerticalPanelViewSpec
       
  1155                           #'labelImage:' #(#ResourceRetriever #VerticalPanelViewSpec #icon 'Vertical Panel')
       
  1156                       )
       
  1157                        #(#MenuItem
       
  1158                           #'label:' '-'
       
  1159                       )
       
  1160                        #(#MenuItem
       
  1161                           #'label:' 'Area Panel'
       
  1162                           #'value:' #'addWidget:'
       
  1163                           #'argument:' #PanelViewSpec
       
  1164                           #'labelImage:' #(#ResourceRetriever #PanelViewSpec #icon 'Area Panel')
       
  1165                       )
       
  1166                        #(#MenuItem
       
  1167                           #'label:' '-'
       
  1168                       )
       
  1169                        #(#MenuItem
       
  1170                           #'label:' 'Variable Horizontal Panel'
       
  1171                           #'value:' #'addWidget:'
       
  1172                           #'argument:' #VariableHorizontalPanelSpec
       
  1173                           #'labelImage:' #(#ResourceRetriever #VariableHorizontalPanelSpec #icon 'Variable Horizontal Panel')
       
  1174                       )
       
  1175                        #(#MenuItem
       
  1176                           #'label:' 'Variable Vertical Panel'
       
  1177                           #'value:' #'addWidget:'
       
  1178                           #'argument:' #VariableVerticalPanelSpec
       
  1179                           #'labelImage:' #(#ResourceRetriever #VariableVerticalPanelSpec #icon 'Variable Vertical Panel')
       
  1180                       )
       
  1181                     ) nil
       
  1182                     nil
       
  1183                 )
       
  1184             )
       
  1185              #(#MenuItem
       
  1186                 #'label:' 'Misc'
       
  1187                 #'submenu:' 
       
  1188                  #(#Menu
       
  1189                     
       
  1190                      #(
       
  1191                        #(#MenuItem
       
  1192                           #'label:' 'Arbitrary Component'
       
  1193                           #'value:' #'addWidget:'
       
  1194                           #'argument:' #ArbitraryComponentSpec
       
  1195                           #'labelImage:' #(#ResourceRetriever #ArbitraryComponentSpec #icon 'Arbitrary Component')
       
  1196                       )
       
  1197                        #(#MenuItem
       
  1198                           #'label:' '-'
       
  1199                       )
       
  1200                        #(#MenuItem
       
  1201                           #'label:' 'Sub Specification'
       
  1202                           #'value:' #'addWidget:'
       
  1203                           #'argument:' #UISubSpecification
       
  1204                           #'labelImage:' #(#ResourceRetriever #ArbitraryComponentSpec #icon 'Sub Specification')
       
  1205                       )
       
  1206                        #(#MenuItem
       
  1207                           #'label:' 'Sub Canvas'
       
  1208                           #'value:' #'addWidget:'
       
  1209                           #'argument:' #SubCanvasSpec
       
  1210                           #'labelImage:' #(#ResourceRetriever #SubCanvasSpec #icon 'Sub Canvas')
       
  1211                       )
       
  1212                        #(#MenuItem
       
  1213                           #'label:' '-'
       
  1214                       )
       
  1215                        #(#MenuItem
       
  1216                           #'label:' 'Progress Indicator'
       
  1217                           #'value:' #'addWidget:'
       
  1218                           #'argument:' #ProgressIndicatorSpec
       
  1219                           #'labelImage:' #(#ResourceRetriever #ProgressIndicatorSpec #icon 'Progress Indicator')
       
  1220                       )
       
  1221                        #(#MenuItem
       
  1222                           #'label:' '-'
       
  1223                       )
       
  1224                        #(#MenuItem
       
  1225                           #'label:' 'Divider'
       
  1226                           #'value:' #'addWidget:'
       
  1227                           #'argument:' #DividerSpec
       
  1228                           #'labelImage:' #(#ResourceRetriever #DividerSpec #icon 'Divider')
       
  1229                       )
       
  1230                        #(#MenuItem
       
  1231                           #'label:' 'Region'
       
  1232                           #'value:' #'addWidget:'
       
  1233                           #'argument:' #RegionSpec
       
  1234                           #'labelImage:' #(#ResourceRetriever #RegionSpec #icon 'Region')
       
  1235                       )
       
  1236                     ) nil
       
  1237                     nil
       
  1238                 )
   872             )
  1239             )
   873           ) nil
  1240           ) nil
   874           nil
  1241           nil
   875       )
  1242       )
   876 !
  1243 !
  1486         ]
  1853         ]
  1487     ].
  1854     ].
  1488     self modifiedChannel value:false.
  1855     self modifiedChannel value:false.
  1489 !
  1856 !
  1490 
  1857 
       
  1858 addWidget: aSpecClass
       
  1859 
       
  1860     self addWidgetOfSpec: (Array with: (Smalltalk at: aSpecClass) new)
       
  1861 
       
  1862 !
       
  1863 
  1491 addWidgetOfSpec: aSpec
  1864 addWidgetOfSpec: aSpec
  1492 
  1865 
  1493     |newSel|
  1866     |newSel|  
  1494     (newSel := self pasteSpecifications:aSpec keepLayout:false at:0@0) notNil
  1867     (newSel := self pasteSpecifications:aSpec keepLayout:false at:0@0) notNil
  1495     ifTrue:
  1868     ifTrue:
  1496     [
  1869     [
  1497         self select: newSel
  1870         self select: newSel
  1498     ]
  1871     ]
  1499     ifFalse:
  1872     ifFalse:
  1500     [   
  1873     [   
  1501         treeView selection size = 0
  1874         ((treeView selection size = 0) or: [treeView selectedNode isNil])
  1502         ifTrue:
  1875         ifTrue:
  1503         [                          
  1876         [                          
  1504             treeView selection: #(1).
  1877             treeView selection: #(1).
  1505         ]
  1878         ]
  1506         ifFalse:
  1879         ifFalse:
  1507         [
  1880         [  
  1508             treeView selectNode: (treeView detectNode: [:n| n = treeView selectedNode parent])
  1881             treeView selectNode: (treeView detectNode: [:n| n = treeView selectedNode parent])
  1509         ].
  1882         ].
  1510         self addWidgetOfSpec: aSpec
  1883         self addWidgetOfSpec: aSpec
  1511     ]
  1884     ]
  1512 
  1885 
  2890 "
  3263 "
  2891 
  3264 
  2892 
  3265 
  2893 ! !
  3266 ! !
  2894 
  3267 
  2895 !UIPainter::TreeView class methodsFor:'startup / release'!
       
  2896 
       
  2897 preSnapshot
       
  2898 
       
  2899     Images notNil ifTrue: [Images removeAll]
       
  2900 ! !
       
  2901 
       
  2902 !UIPainter::TreeView methodsFor:'accessing'!
  3268 !UIPainter::TreeView methodsFor:'accessing'!
  2903 
  3269 
  2904 canvas
  3270 canvas
  2905     "returns the canvas( UIPainter )
  3271     "returns the canvas( UIPainter )
  2906     "
  3272     "
  3309 !UIPainter::TreeView methodsFor:'initialization'!
  3675 !UIPainter::TreeView methodsFor:'initialization'!
  3310 
  3676 
  3311 initialize
  3677 initialize
  3312     "initialization; set multiple select and model
  3678     "initialization; set multiple select and model
  3313     "
  3679     "
  3314     Images := Images ? IdentityDictionary new.
  3680 
  3315     super initialize.
  3681     super initialize.
       
  3682 
  3316     self multipleSelectOk:true.
  3683     self multipleSelectOk:true.
  3317     cvsEventsDisabled := false.
  3684     cvsEventsDisabled := false.
  3318     self showDirectoryIndicator: true.
  3685     self showDirectoryIndicator: true.
  3319     self showDirectoryIndicatorForRoot: false
  3686     self showDirectoryIndicatorForRoot: false
  3320 ! !
  3687 ! !
  3322 !UIPainter::TreeView methodsFor:'private'!
  3689 !UIPainter::TreeView methodsFor:'private'!
  3323 
  3690 
  3324 figureFor:aNode
  3691 figureFor:aNode
  3325     "returns image for an spec item"
  3692     "returns image for an spec item"
  3326 
  3693 
  3327     |cls image|
  3694     |cls icon|
  3328 
  3695 
  3329     cls := aNode contents spec class.
  3696     cls := aNode contents spec class.
  3330     aNode contents spec isNil ifTrue: [cls := WindowSpec].
  3697     aNode contents spec isNil ifTrue: [cls := WindowSpec].
  3331     cls := cls withAllSuperclasses detect: [:cls| cls class implements: #icon] ifNone: [^nil].
  3698     icon := cls icon.
  3332     image := Images at: cls name ifAbsent: [Images at: cls name put: cls icon].
  3699     icon extent y > 16 ifTrue: [icon := icon magnifiedBy: 16/icon extent y].
  3333     image device ~~ device ifTrue: [image := image onDevice: device].
  3700     icon device ~~ device ifTrue: [icon := icon onDevice: device].
  3334     image extent y > 16 ifTrue: [image := image magnifiedBy: 16/image extent y].
  3701     ^icon
  3335     ^image
       
  3336 !
  3702 !
  3337 
  3703 
  3338 selectionChangedFrom:oldSelection
  3704 selectionChangedFrom:oldSelection
  3339     "selection has changed. update master selection and raise notification
  3705     "selection has changed. update master selection and raise notification
  3340      to canvas in case of enabled cvs events
  3706      to canvas in case of enabled cvs events