UISelectionPanel.st
changeset 987 1147acb8ac80
parent 985 ec4907d7cdfd
child 1044 e63478a6e668
equal deleted inserted replaced
986:4361ba4dbbdc 987:1147acb8ac80
     1 "
     1 "
     2  COPYRIGHT (c) 1997 by Claus Gittinger / eXept Software AG
     2  COPYRIGHT (c) 1997 by Claus Gittinger / eXept Software AG
     3 	      All Rights Reserved
     3               All Rights Reserved
     4 
     4 
     5  This software is furnished under a license and may be used
     5  This software is furnished under a license and may be used
     6  only in accordance with the terms of that license and with the
     6  only in accordance with the terms of that license and with the
     7  inclusion of the above copyright notice.   This software may not
     7  inclusion of the above copyright notice.   This software may not
     8  be provided or otherwise made available to, or used by, any
     8  be provided or otherwise made available to, or used by, any
    11 "
    11 "
    12 
    12 
    13 
    13 
    14 
    14 
    15 ApplicationModel subclass:#UISelectionPanel
    15 ApplicationModel subclass:#UISelectionPanel
    16 	instanceVariableNames:'userClass userSpecs userLabels majorSelection clipBoardSpec'
    16         instanceVariableNames:'userClass userSpecs userLabels majorSelection clipBoardSpec'
    17 	classVariableNames:'UserClass UserSpecs UserLabels'
    17         classVariableNames:'UserClass UserSpecs UserLabels'
    18 	poolDictionaries:''
    18         poolDictionaries:''
    19 	category:'Interface-UIPainter'
    19         category:'Interface-UIPainter'
    20 !
    20 !
    21 
    21 
    22 Object subclass:#UserDefinedGallery
    22 Object subclass:#UserDefinedGallery
    23 	instanceVariableNames:''
    23         instanceVariableNames:''
    24 	classVariableNames:'LabelList SelectorList HolderList NextUniqueNumber'
    24         classVariableNames:'LabelList SelectorList HolderList NextUniqueNumber'
    25 	poolDictionaries:''
    25         poolDictionaries:''
    26 	privateIn:UISelectionPanel
    26         privateIn:UISelectionPanel
    27 !
    27 !
    28 
    28 
    29 !UISelectionPanel class methodsFor:'documentation'!
    29 !UISelectionPanel class methodsFor:'documentation'!
    30 
    30 
    31 copyright
    31 copyright
    32 "
    32 "
    33  COPYRIGHT (c) 1997 by Claus Gittinger / eXept Software AG
    33  COPYRIGHT (c) 1997 by Claus Gittinger / eXept Software AG
    34 	      All Rights Reserved
    34               All Rights Reserved
    35 
    35 
    36  This software is furnished under a license and may be used
    36  This software is furnished under a license and may be used
    37  only in accordance with the terms of that license and with the
    37  only in accordance with the terms of that license and with the
    38  inclusion of the above copyright notice.   This software may not
    38  inclusion of the above copyright notice.   This software may not
    39  be provided or otherwise made available to, or used by, any
    39  be provided or otherwise made available to, or used by, any
    48 "
    48 "
    49     implements a selection panel, keeping widgets which could be placed
    49     implements a selection panel, keeping widgets which could be placed
    50     into the UIPainter by drag & drop.
    50     into the UIPainter by drag & drop.
    51 
    51 
    52     [start with:]
    52     [start with:]
    53 	UISelectionPanel open
    53         UISelectionPanel open
    54 
    54 
    55     [author:]
    55     [author:]
    56 	Claus Gittinger
    56         Claus Gittinger
    57 	Claus Atzkern
    57         Claus Atzkern
    58 
    58 
    59     [see also:]
    59     [see also:]
    60 	TabView
    60         TabView
    61 	NoteBookView
    61         NoteBookView
    62 	UIGalleryView
    62         UIGalleryView
    63 	UIPainter
    63         UIPainter
    64 
    64 
    65 "
    65 "
    66 
    66 
    67 ! !
    67 ! !
    68 
    68 
    80 !UISelectionPanel class methodsFor:'accessing'!
    80 !UISelectionPanel class methodsFor:'accessing'!
    81 
    81 
    82 specifications
    82 specifications
    83 
    83 
    84     ^ #(
    84     ^ #(
    85 	#( 'Standard'  #( 
    85         #( 'Standard'  #( 
    86 			    #('Buttons' standardButtons)
    86                             #('Buttons' standardButtons)
    87 			    #('Menus'   standardMenus)
    87                             #('Menus'   standardMenus)
    88 			    #('Text'    standardTexts)
    88                             #('Text'    standardTexts)
    89 			    #('Lists'   standardLists)
    89                             #('Lists'   standardLists)
    90 			    #('Groups'  standardGroups)
    90                             #('Groups'  standardGroups)
    91 			    #('Misc'    standardMisc)
    91                             #('Misc'    standardMisc)
    92 			 )
    92                          )
    93 	 )
    93          )
    94 
    94 
    95 	#( 'Clipboard'  #(
    95         #( 'Clipboard'  #(
    96 			    #('Copy & Paste Buffer'     clipBoardSpec)
    96                             #('Copy & Paste Buffer'     clipBoardSpec)
    97 			  )
    97                           )
    98 	 )
    98          )
    99 
    99 
   100 	#( 'User Def.'   #userDefined )
   100         #( 'User Def.'   #userDefined )
   101      )
   101      )
   102 
   102 
   103     "Modified: / 21.4.1998 / 12:04:22 / cg"
   103     "Modified: / 21.4.1998 / 12:04:22 / cg"
   104 !
   104 !
   105 
   105 
   118     UserSpecs := aSpecAccessSelector.
   118     UserSpecs := aSpecAccessSelector.
   119     UserLabels := aLabelListAccessSelector.
   119     UserLabels := aLabelListAccessSelector.
   120 
   120 
   121     "
   121     "
   122      UISelectionPanel 
   122      UISelectionPanel 
   123 	userClass:UISelectionPanel::VariableUserDefinedGallery
   123         userClass:UISelectionPanel::VariableUserDefinedGallery
   124 	specSelector:#listOfSelectors
   124         specSelector:#listOfSelectors
   125 	labelSelector:#listOfLabels
   125         labelSelector:#listOfLabels
   126     "
   126     "
   127 
   127 
   128     "Modified: / 5.12.1997 / 13:54:47 / cg"
   128     "Modified: / 5.12.1997 / 13:54:47 / cg"
   129     "Created: / 5.12.1997 / 13:56:10 / cg"
   129     "Created: / 5.12.1997 / 13:56:10 / cg"
   130 ! !
   130 ! !
   145     <resource: #canvas>
   145     <resource: #canvas>
   146 
   146 
   147     ^
   147     ^
   148      
   148      
   149        #(#FullSpec
   149        #(#FullSpec
   150 	  #window: 
   150           #window: 
   151 	   #(#WindowSpec
   151            #(#WindowSpec
   152 	      #name: 'uIPainterView'
   152               #name: 'uIPainterView'
   153 	      #layout: #(#LayoutFrame 110 0 366 0 424 0 581 0)
   153               #layout: #(#LayoutFrame 110 0 366 0 424 0 581 0)
   154 	      #label: 'Painter'
   154               #label: 'Painter'
   155 	      #min: #(#Point 10 10)
   155               #min: #(#Point 10 10)
   156 	      #max: #(#Point 1280 1024)
   156               #max: #(#Point 1280 1024)
   157 	      #bounds: #(#Rectangle 110 366 425 582)
   157               #bounds: #(#Rectangle 110 366 425 582)
   158 	      #usePreferredExtent: false
   158               #usePreferredExtent: false
   159 	  )
   159           )
   160 	  #component: 
   160           #component: 
   161 	   #(#SpecCollection
   161            #(#SpecCollection
   162 	      #collection: 
   162               #collection: 
   163 	       #(
   163                #(
   164 		 #(#LabelSpec
   164                  #(#LabelSpec
   165 		    #name: 'title'
   165                     #name: 'title'
   166 		    #layout: #(#Point 5 10)
   166                     #layout: #(#Point 5 10)
   167 		    #label: 'Class & selectors to access user specs:'
   167                     #label: 'Class & selectors to access user specs:'
   168 		    #adjust: #left
   168                     #adjust: #left
   169 		    #resizeForLabel: true
   169                     #resizeForLabel: true
   170 		)
   170                 )
   171 		 #(#LabelSpec
   171                  #(#LabelSpec
   172 		    #name: 'classLabel'
   172                     #name: 'classLabel'
   173 		    #layout: #(#AlignmentOrigin 68 0.11 51 0 1 0.5)
   173                     #layout: #(#AlignmentOrigin 68 0.11 51 0 1 0.5)
   174 		    #label: 'Class:'
   174                     #label: 'Class:'
   175 		    #adjust: #right
   175                     #adjust: #right
   176 		    #resizeForLabel: true
   176                     #resizeForLabel: true
   177 		)
   177                 )
   178 		 #(#InputFieldSpec
   178                  #(#InputFieldSpec
   179 		    #name: 'classField'
   179                     #name: 'classField'
   180 		    #layout: #(#LayoutFrame 74 0.11 39 0 -5 1.0 61 0)
   180                     #layout: #(#LayoutFrame 74 0.11 39 0 -5 1.0 61 0)
   181 		    #tabable: true
   181                     #tabable: true
   182 		    #model: #className
   182                     #model: #className
   183 		    #type: #string
   183                     #type: #string
   184 		)
   184                 )
   185 		 #(#LabelSpec
   185                  #(#LabelSpec
   186 		    #name: 'labelsLabel'
   186                     #name: 'labelsLabel'
   187 		    #layout: #(#AlignmentOrigin 68 0.11 74 0 1 0.5)
   187                     #layout: #(#AlignmentOrigin 68 0.11 74 0 1 0.5)
   188 		    #label: 'Labels:'
   188                     #label: 'Labels:'
   189 		    #adjust: #right
   189                     #adjust: #right
   190 		    #resizeForLabel: true
   190                     #resizeForLabel: true
   191 		)
   191                 )
   192 		 #(#InputFieldSpec
   192                  #(#InputFieldSpec
   193 		    #name: 'labelsField'
   193                     #name: 'labelsField'
   194 		    #layout: #(#LayoutFrame 74 0.11 64 0 -5 1.0 86 0)
   194                     #layout: #(#LayoutFrame 74 0.11 64 0 -5 1.0 86 0)
   195 		    #tabable: true
   195                     #tabable: true
   196 		    #model: #labelsKey
   196                     #model: #labelsKey
   197 		    #type: #symbolOrNil
   197                     #type: #symbolOrNil
   198 		)
   198                 )
   199 		 #(#LabelSpec
   199                  #(#LabelSpec
   200 		    #name: 'specsLabel'
   200                     #name: 'specsLabel'
   201 		    #layout: #(#AlignmentOrigin 68 0.11 99 0 1 0.5)
   201                     #layout: #(#AlignmentOrigin 68 0.11 99 0 1 0.5)
   202 		    #label: 'Specifications:'
   202                     #label: 'Specifications:'
   203 		    #adjust: #right
   203                     #adjust: #right
   204 		    #resizeForLabel: true
   204                     #resizeForLabel: true
   205 		)
   205                 )
   206 		 #(#InputFieldSpec
   206                  #(#InputFieldSpec
   207 		    #name: 'specsField'
   207                     #name: 'specsField'
   208 		    #layout: #(#LayoutFrame 74 0.11 89 0 -5 1.0 111 0)
   208                     #layout: #(#LayoutFrame 74 0.11 89 0 -5 1.0 111 0)
   209 		    #tabable: true
   209                     #tabable: true
   210 		    #model: #specsKey
   210                     #model: #specsKey
   211 		    #type: #symbolOrNil
   211                     #type: #symbolOrNil
   212 		)
   212                 )
   213 		 #(#HorizontalPanelViewSpec
   213                  #(#HorizontalPanelViewSpec
   214 		    #name: 'commitPanel'
   214                     #name: 'commitPanel'
   215 		    #layout: #(#LayoutFrame 0 0.0 -23 1.0 0 1.0 0 1.0)
   215                     #layout: #(#LayoutFrame 0 0.0 -23 1.0 0 1.0 0 1.0)
   216 		    #component: 
   216                     #component: 
   217 		     #(#SpecCollection
   217                      #(#SpecCollection
   218 			#collection: 
   218                         #collection: 
   219 			 #(
   219                          #(
   220 			   #(#ActionButtonSpec
   220                            #(#ActionButtonSpec
   221 			      #name: 'cancel'
   221                               #name: 'cancel'
   222 			      #label: 'cancel'
   222                               #label: 'cancel'
   223 			      #tabable: true
   223                               #tabable: true
   224 			      #model: #cancel
   224                               #model: #cancel
   225 			      #extent: #(#Point 153 23)
   225                               #extent: #(#Point 153 23)
   226 			  )
   226                           )
   227 			   #(#ActionButtonSpec
   227                            #(#ActionButtonSpec
   228 			      #name: 'accept'
   228                               #name: 'accept'
   229 			      #label: 'ok'
   229                               #label: 'ok'
   230 			      #tabable: true
   230                               #tabable: true
   231 			      #model: #accept
   231                               #model: #accept
   232 			      #isDefault: true
   232                               #isDefault: true
   233 			      #extent: #(#Point 153 23)
   233                               #extent: #(#Point 153 23)
   234 			  )
   234                           )
   235 			)
   235                         )
   236 		    )
   236                     )
   237 		    #horizontalLayout: #fitSpace
   237                     #horizontalLayout: #fitSpace
   238 		    #verticalLayout: #fit
   238                     #verticalLayout: #fit
   239 		    #horizontalSpace: 3
   239                     #horizontalSpace: 3
   240 		    #verticalSpace: 3
   240                     #verticalSpace: 3
   241 		)
   241                 )
   242 		 #(#CheckBoxSpec
   242                  #(#CheckBoxSpec
   243 		    #name: 'updateDefaultResources'
   243                     #name: 'updateDefaultResources'
   244 		    #layout: #(#Point 5 133)
   244                     #layout: #(#Point 5 133)
   245 		    #model: #updateDefaultResources
   245                     #model: #updateDefaultResources
   246 		    #label: 'Update Default Resources'
   246                     #label: 'Update Default Resources'
   247 		)
   247                 )
   248 	      )
   248               )
   249 	  )
   249           )
   250       )
   250       )
   251 !
   251 !
   252 
   252 
   253 windowSpec
   253 windowSpec
   254     "This resource specification was automatically generated
   254     "This resource specification was automatically generated
   266     <resource: #canvas>
   266     <resource: #canvas>
   267 
   267 
   268     ^
   268     ^
   269 
   269 
   270        #(#FullSpec
   270        #(#FullSpec
   271 	  #window: 
   271           #window: 
   272 	   #(#WindowSpec
   272            #(#WindowSpec
   273 	      #name: 'Widget Gallery'
   273               #name: 'Widget Gallery'
   274 	      #layout: #(#LayoutFrame 134 0 100 0 654 0 382 0)
   274               #layout: #(#LayoutFrame 134 0 100 0 654 0 382 0)
   275 	      #label: 'Widget Gallery'
   275               #label: 'Widget Gallery'
   276 	      #min: #(#Point 100 280)
   276               #min: #(#Point 100 280)
   277 	      #max: #(#Point 1160 870)
   277               #max: #(#Point 1160 870)
   278 	      #bounds: #(#Rectangle 134 100 655 383)
   278               #bounds: #(#Rectangle 134 100 655 383)
   279 	      #usePreferredExtent: false
   279               #usePreferredExtent: false
   280 	  )
   280           )
   281 	  #component: 
   281           #component: 
   282 	   #(#SpecCollection
   282            #(#SpecCollection
   283 	      #collection: 
   283               #collection: 
   284 	       #(
   284                #(
   285 		 #(#UIGalleryViewSpec
   285                  #(#UIGalleryViewSpec
   286 		    #name: 'gallery'
   286                     #name: 'gallery'
   287 		    #layout: #(#LayoutFrame 0 0.0 0 0.0 -40 1.0 0 1.0)
   287                     #layout: #(#LayoutFrame 0 0.0 0 0.0 -40 1.0 0 1.0)
   288 		    #tabable: true
   288                     #tabable: true
   289 		    #model: #galleryModel
   289                     #model: #galleryModel
   290 		    #menu: #galleryList
   290                     #menu: #galleryList
   291 		    #useIndex: true
   291                     #useIndex: true
   292 		    #minorKeys: #minorKeys
   292                     #minorKeys: #minorKeys
   293 		    #clientSpec: #clientSpec
   293                     #clientSpec: #clientSpec
   294 		    #raiseMenu: #raiseMenu
   294                     #raiseMenu: #raiseMenu
   295 		)
   295                 )
   296 		 #(#TabViewSpec
   296                  #(#TabViewSpec
   297 		    #name: 'major'
   297                     #name: 'major'
   298 		    #layout: #(#LayoutFrame -40 1.0 30 0.0 0 1.0 0 1.0)
   298                     #layout: #(#LayoutFrame -40 1.0 30 0.0 0 1.0 0 1.0)
   299 		    #model: #majorChannel
   299                     #model: #majorChannel
   300 		    #menu: #majorList
   300                     #menu: #majorList
   301 		    #direction: #right
   301                     #direction: #right
   302 		    #useIndex: true
   302                     #useIndex: true
   303 		)
   303                 )
   304 	      )
   304               )
   305 	  )
   305           )
   306       )
   306       )
   307 
   307 
   308     "Modified: / 5.9.1998 / 17:43:14 / cg"
   308     "Modified: / 5.9.1998 / 17:43:14 / cg"
   309 ! !
   309 ! !
   310 
   310 
   313 menuSelected
   313 menuSelected
   314 
   314 
   315     <resource: #menu>
   315     <resource: #menu>
   316 
   316 
   317     ^ #(#Menu #(
   317     ^ #(#Menu #(
   318 		#(#MenuItem
   318                 #(#MenuItem
   319 			#'label:' 'copy'
   319                         #'label:' 'copy'
   320 			#'value:' #copy
   320                         #'value:' #copy
   321 		 )
   321                  )
   322 		#(#MenuItem
   322                 #(#MenuItem
   323 			#'label:' 'cut'
   323                         #'label:' 'cut'
   324 			#'value:' #cut
   324                         #'value:' #cut
   325 		 )
   325                  )
   326 		)
   326                 )
   327 	       nil
   327                nil
   328 	       nil
   328                nil
   329 	)
   329         )
   330 
   330 
   331     "Modified: / 29.10.1997 / 03:20:30 / cg"
   331     "Modified: / 29.10.1997 / 03:20:30 / cg"
   332 !
   332 !
   333 
   333 
   334 menuUnselected
   334 menuUnselected
   335     <resource: #menu>
   335     <resource: #menu>
   336 
   336 
   337     ^ #(#Menu #(
   337     ^ #(#Menu #(
   338 		#(#MenuItem
   338                 #(#MenuItem
   339 			#'label:' 'paste'
   339                         #'label:' 'paste'
   340 			#'value:' #paste
   340                         #'value:' #paste
   341 		 )
   341                  )
   342 		)
   342                 )
   343 	       nil
   343                nil
   344 	       nil
   344                nil
   345 	)
   345         )
   346 
   346 
   347     "Modified: / 29.10.1997 / 03:20:38 / cg"
   347     "Modified: / 29.10.1997 / 03:20:38 / cg"
   348 ! !
   348 ! !
   349 
   349 
   350 !UISelectionPanel class methodsFor:'standard specifications'!
   350 !UISelectionPanel class methodsFor:'standard specifications'!
   364     <resource: #canvas>
   364     <resource: #canvas>
   365 
   365 
   366     ^
   366     ^
   367      
   367      
   368        #(#FullSpec
   368        #(#FullSpec
   369 	  #window: 
   369           #window: 
   370 	   #(#WindowSpec
   370            #(#WindowSpec
   371 	      #name: 'Buttons'
   371               #name: 'Buttons'
   372 	      #layout: #(#LayoutFrame 39 0 189 0 517 0 392 0)
   372               #layout: #(#LayoutFrame 39 0 189 0 517 0 392 0)
   373 	      #label: 'Buttons'
   373               #label: 'Buttons'
   374 	      #min: #(#Point 10 10)
   374               #min: #(#Point 10 10)
   375 	      #max: #(#Point 1280 1024)
   375               #max: #(#Point 1280 1024)
   376 	      #bounds: #(#Rectangle 39 189 518 393)
   376               #bounds: #(#Rectangle 39 189 518 393)
   377 	      #usePreferredExtent: false
   377               #usePreferredExtent: false
   378 	  )
   378           )
   379 	  #component: 
   379           #component: 
   380 	   #(#SpecCollection
   380            #(#SpecCollection
   381 	      #collection: 
   381               #collection: 
   382 	       #(
   382                #(
   383 		 #(#ActionButtonSpec
   383                  #(#ActionButtonSpec
   384 		    #name: 'Button'
   384                     #name: 'Button'
   385 		    #layout: #(#LayoutFrame 15 0 15 0 140 0 37 0)
   385                     #layout: #(#LayoutFrame 15 0 15 0 140 0 37 0)
   386 		    #label: 'Button'
   386                     #label: 'Button'
   387 		    #translateLabel: true
   387                     #translateLabel: true
   388 		)
   388                 )
   389 		 #(#ActionButtonSpec
   389                  #(#ActionButtonSpec
   390 		    #name: 'Button - OK'
   390                     #name: 'Button - OK'
   391 		    #layout: #(#LayoutFrame 15 0 47 0 140 0 69 0)
   391                     #layout: #(#LayoutFrame 15 0 47 0 140 0 69 0)
   392 		    #label: 'OK'
   392                     #label: 'OK'
   393 		    #translateLabel: true
   393                     #translateLabel: true
   394 		    #model: #accept
   394                     #model: #accept
   395 		)
   395                 )
   396 		 #(#ActionButtonSpec
   396                  #(#ActionButtonSpec
   397 		    #name: 'Button - Cancel'
   397                     #name: 'Button - Cancel'
   398 		    #layout: #(#LayoutFrame 15 0 79 0 140 0 101 0)
   398                     #layout: #(#LayoutFrame 15 0 79 0 140 0 101 0)
   399 		    #label: 'Cancel'
   399                     #label: 'Cancel'
   400 		    #translateLabel: true
   400                     #translateLabel: true
   401 		    #model: #cancel
   401                     #model: #cancel
   402 		)
   402                 )
   403 		 #(#ActionButtonSpec
   403                  #(#ActionButtonSpec
   404 		    #name: 'Button - Help'
   404                     #name: 'Button - Help'
   405 		    #layout: #(#LayoutFrame 15 0 111 0 140 0 133 0)
   405                     #layout: #(#LayoutFrame 15 0 111 0 140 0 133 0)
   406 		    #label: 'Help'
   406                     #label: 'Help'
   407 		    #translateLabel: true
   407                     #translateLabel: true
   408 		    #model: #help
   408                     #model: #help
   409 		)
   409                 )
   410 		 #(#ActionButtonSpec
   410                  #(#ActionButtonSpec
   411 		    #name: 'Button - Close'
   411                     #name: 'Button - Close'
   412 		    #layout: #(#LayoutFrame 15 0 143 0 140 0 165 0)
   412                     #layout: #(#LayoutFrame 15 0 143 0 140 0 165 0)
   413 		    #label: 'Close'
   413                     #label: 'Close'
   414 		    #translateLabel: true
   414                     #translateLabel: true
   415 		    #model: #closeRequest
   415                     #model: #closeRequest
   416 		)
   416                 )
   417 		 #(#ToggleSpec
   417                  #(#ToggleSpec
   418 		    #name: 'Toggle'
   418                     #name: 'Toggle'
   419 		    #layout: #(#LayoutFrame 157 0 15 0 293 0 37 0)
   419                     #layout: #(#LayoutFrame 157 0 15 0 293 0 37 0)
   420 		    #label: 'Toggle'
   420                     #label: 'Toggle'
   421 		    #isTriggerOnDown: true
   421                     #isTriggerOnDown: true
   422 		    #translateLabel: true
   422                     #translateLabel: true
   423 		    #lampColor: #(#Color 100.0 100.0 0.0)
   423                     #lampColor: #(#Color 100.0 100.0 0.0)
   424 		)
   424                 )
   425 		 #(#RadioButtonSpec
   425                  #(#RadioButtonSpec
   426 		    #name: 'Radio Button'
   426                     #name: 'Radio Button'
   427 		    #layout: #(#LayoutFrame 157 0.0 47 0 293 0 69 0)
   427                     #layout: #(#LayoutFrame 157 0.0 47 0 293 0 69 0)
   428 		    #label: 'Radio Button'
   428                     #label: 'Radio Button'
   429 		    #isTriggerOnDown: true
   429                     #isTriggerOnDown: true
   430 		    #translateLabel: true
   430                     #translateLabel: true
   431 		    #lampColor: #(#Color 100.0 100.0 0.0)
   431                     #lampColor: #(#Color 100.0 100.0 0.0)
   432 		)
   432                 )
   433 		 #(#CheckBoxSpec
   433                  #(#CheckBoxSpec
   434 		    #name: 'Check Box'
   434                     #name: 'Check Box'
   435 		    #layout: #(#LayoutFrame 157 0 79 0 293 0 101 0)
   435                     #layout: #(#LayoutFrame 157 0 79 0 293 0 101 0)
   436 		    #translateLabel: true
   436                     #translateLabel: true
   437 		    #label: 'Check Box'
   437                     #label: 'Check Box'
   438 		)
   438                 )
   439 		 #(#CheckToggleSpec
   439                  #(#CheckToggleSpec
   440 		    #name: 'Check Toggle'
   440                     #name: 'Check Toggle'
   441 		    #layout: #(#LayoutOrigin 157 0 113 0)
   441                     #layout: #(#LayoutOrigin 157 0 113 0)
   442 		    #isTriggerOnDown: true
   442                     #isTriggerOnDown: true
   443 		    #showLamp: false
   443                     #showLamp: false
   444 		    #lampColor: #(#Color 100.0 100.0 0.0)
   444                     #lampColor: #(#Color 100.0 100.0 0.0)
   445 		)
   445                 )
   446 		 #(#LabelSpec
   446                  #(#LabelSpec
   447 		    #name: 'CheckToggleLabel'
   447                     #name: 'CheckToggleLabel'
   448 		    #layout: #(#AlignmentOrigin 183 0 112 0 0 0)
   448                     #layout: #(#AlignmentOrigin 183 0 112 0 0 0)
   449 		    #label: 'Check Toggle'
   449                     #label: 'Check Toggle'
   450 		    #adjust: #left
   450                     #adjust: #left
   451 		    #resizeForLabel: true
   451                     #resizeForLabel: true
   452 		    #canUIDrag: false
   452                     #canUIDrag: false
   453 		)
   453                 )
   454 		 #(#ButtonSpec
   454                  #(#ButtonSpec
   455 		    #name: 'Model Button'
   455                     #name: 'Model Button'
   456 		    #layout: #(#LayoutFrame 309 0 15 0 445 0 37 0)
   456                     #layout: #(#LayoutFrame 309 0 15 0 445 0 37 0)
   457 		    #label: 'Model Button'
   457                     #label: 'Model Button'
   458 		    #translateLabel: true
   458                     #translateLabel: true
   459 		)
   459                 )
   460 		 #(#LabelSpec
   460                  #(#LabelSpec
   461 		    #name: 'UpDownButtonLabel'
   461                     #name: 'UpDownButtonLabel'
   462 		    #layout: #(#AlignmentOrigin 361 0 49 0 0 0)
   462                     #layout: #(#AlignmentOrigin 361 0 49 0 0 0)
   463 		    #label: 'Spin Button'
   463                     #label: 'Spin Button'
   464 		    #adjust: #left
   464                     #adjust: #left
   465 		    #resizeForLabel: true
   465                     #resizeForLabel: true
   466 		    #canUIDrag: false
   466                     #canUIDrag: false
   467 		)
   467                 )
   468 		 #(#UpDownButtonSpec
   468                  #(#UpDownButtonSpec
   469 		    #name: 'UpDown Button'
   469                     #name: 'UpDown Button'
   470 		    #layout: #(#LayoutFrame 309 0 47 0 354 0 69 0)
   470                     #layout: #(#LayoutFrame 309 0 47 0 354 0 69 0)
   471 		    #orientation: #horizontal
   471                     #orientation: #horizontal
   472 		)
   472                 )
   473 		 #(#LabelSpec
   473                  #(#LabelSpec
   474 		    #name: 'ArrowButtonsLabel'
   474                     #name: 'ArrowButtonsLabel'
   475 		    #layout: #(#AlignmentOrigin 361 0 83 0 0 0)
   475                     #layout: #(#AlignmentOrigin 361 0 83 0 0 0)
   476 		    #label: 'Arrow Button'
   476                     #label: 'Arrow Button'
   477 		    #adjust: #left
   477                     #adjust: #left
   478 		    #resizeForLabel: true
   478                     #resizeForLabel: true
   479 		    #canUIDrag: false
   479                     #canUIDrag: false
   480 		)
   480                 )
   481 		 #(#ArrowButtonSpec
   481                  #(#ArrowButtonSpec
   482 		    #name: 'Arrow Button'
   482                     #name: 'Arrow Button'
   483 		    #layout: #(#LayoutFrame 309 0 79 0 331 0 101 0)
   483                     #layout: #(#LayoutFrame 309 0 79 0 331 0 101 0)
   484 		    #isTriggerOnDown: true
   484                     #isTriggerOnDown: true
   485 		    #direction: #right
   485                     #direction: #right
   486 		)
   486                 )
   487 	      )
   487               )
   488 	  )
   488           )
   489       )
   489       )
   490 
   490 
   491     "Modified: / 20.5.1998 / 03:25:21 / cg"
   491     "Modified: / 20.5.1998 / 03:25:21 / cg"
   492 !
   492 !
   493 
   493 
   505     <resource: #canvas>
   505     <resource: #canvas>
   506 
   506 
   507     ^
   507     ^
   508      
   508      
   509        #(#FullSpec
   509        #(#FullSpec
   510 	  #window: 
   510           #window: 
   511 	   #(#WindowSpec
   511            #(#WindowSpec
   512 	      #name: 'Graphs'
   512               #name: 'Graphs'
   513 	      #layout: #(#LayoutFrame 114 0 373 0 583 0 615 0)
   513               #layout: #(#LayoutFrame 114 0 373 0 583 0 615 0)
   514 	      #label: 'Graphs'
   514               #label: 'Graphs'
   515 	      #min: #(#Point 10 10)
   515               #min: #(#Point 10 10)
   516 	      #max: #(#Point 1280 1024)
   516               #max: #(#Point 1280 1024)
   517 	      #bounds: #(#Rectangle 114 373 584 616)
   517               #bounds: #(#Rectangle 114 373 584 616)
   518 	      #usePreferredExtent: false
   518               #usePreferredExtent: false
   519 	  )
   519           )
   520 	  #component: 
   520           #component: 
   521 	   #(#SpecCollection
   521            #(#SpecCollection
   522 	      #collection: 
   522               #collection: 
   523 	       #(
   523                #(
   524 		 #(#GraphColumnView2DSpec
   524                  #(#GraphColumnView2DSpec
   525 		    #name: 'GraphColumnView2D'
   525                     #name: 'GraphColumnView2D'
   526 		    #layout: #(#LayoutFrame 15 0 15 0 220 0 110 0)
   526                     #layout: #(#LayoutFrame 15 0 15 0 220 0 110 0)
   527 		    #gridX: 0
   527                     #gridX: 0
   528 		    #gridY: 0
   528                     #gridY: 0
   529 		)
   529                 )
   530 		 #(#LabelSpec
   530                  #(#LabelSpec
   531 		    #name: 'GraphColumnView2DLabel'
   531                     #name: 'GraphColumnView2DLabel'
   532 		    #layout: #(#AlignmentOrigin 19 0 19 0 0 0)
   532                     #layout: #(#AlignmentOrigin 19 0 19 0 0 0)
   533 		    #label: 'GraphColumnViewView2D'
   533                     #label: 'GraphColumnViewView2D'
   534 		    #style: #(#FontDescription #helvetica #medium #roman 10)
   534                     #style: #(#FontDescription #helvetica #medium #roman 10)
   535 		    #adjust: #left
   535                     #adjust: #left
   536 		    #resizeForLabel: true
   536                     #resizeForLabel: true
   537 		    #canUIDrag: false
   537                     #canUIDrag: false
   538 		)
   538                 )
   539 		 #(#GraphColumnView3DSpec
   539                  #(#GraphColumnView3DSpec
   540 		    #name: 'GraphColumnView3D'
   540                     #name: 'GraphColumnView3D'
   541 		    #layout: #(#LayoutFrame 240 0 15 0 445 0 110 0)
   541                     #layout: #(#LayoutFrame 240 0 15 0 445 0 110 0)
   542 		)
   542                 )
   543 		 #(#LabelSpec
   543                  #(#LabelSpec
   544 		    #name: 'GraphColumnView3DLabel'
   544                     #name: 'GraphColumnView3DLabel'
   545 		    #layout: #(#AlignmentOrigin 244 0 19 0 0 0)
   545                     #layout: #(#AlignmentOrigin 244 0 19 0 0 0)
   546 		    #label: 'GraphColumnViewView3D'
   546                     #label: 'GraphColumnViewView3D'
   547 		    #style: #(#FontDescription #helvetica #medium #roman 10)
   547                     #style: #(#FontDescription #helvetica #medium #roman 10)
   548 		    #adjust: #left
   548                     #adjust: #left
   549 		    #resizeForLabel: true
   549                     #resizeForLabel: true
   550 		    #canUIDrag: false
   550                     #canUIDrag: false
   551 		)
   551                 )
   552 	      )
   552               )
   553 	  )
   553           )
   554       )
   554       )
   555 !
   555 !
   556 
   556 
   557 standardGroups
   557 standardGroups
   558     "this window spec was automatically generated by the ST/X UIPainter"
   558     "this window spec was automatically generated by the ST/X UIPainter"
   568     <resource: #canvas>
   568     <resource: #canvas>
   569 
   569 
   570     ^
   570     ^
   571      
   571      
   572        #(#FullSpec
   572        #(#FullSpec
   573 	  #window: 
   573           #window: 
   574 	   #(#WindowSpec
   574            #(#WindowSpec
   575 	      #name: 'Groups'
   575               #name: 'Groups'
   576 	      #layout: #(#LayoutFrame 147 0 281 0 647 0 520 0)
   576               #layout: #(#LayoutFrame 147 0 281 0 647 0 520 0)
   577 	      #label: 'Groups'
   577               #label: 'Groups'
   578 	      #min: #(#Point 10 10)
   578               #min: #(#Point 10 10)
   579 	      #max: #(#Point 1280 1024)
   579               #max: #(#Point 1280 1024)
   580 	      #bounds: #(#Rectangle 147 281 648 521)
   580               #bounds: #(#Rectangle 147 281 648 521)
   581 	      #usePreferredExtent: false
   581               #usePreferredExtent: false
   582 	  )
   582           )
   583 	  #component: 
   583           #component: 
   584 	   #(#SpecCollection
   584            #(#SpecCollection
   585 	      #collection: 
   585               #collection: 
   586 	       #(
   586                #(
   587 		 #(#ViewSpec
   587                  #(#ViewSpec
   588 		    #name: 'Box'
   588                     #name: 'Box'
   589 		    #layout: #(#LayoutFrame 15 0 15 0 220 0 110 0)
   589                     #layout: #(#LayoutFrame 15 0 15 0 220 0 110 0)
   590 		)
   590                 )
   591 		 #(#LabelSpec
   591                  #(#LabelSpec
   592 		    #name: 'ViewLabel'
   592                     #name: 'ViewLabel'
   593 		    #layout: #(#AlignmentOrigin 18 0 17 0 0 0)
   593                     #layout: #(#AlignmentOrigin 18 0 17 0 0 0)
   594 		    #label: 'Box'
   594                     #label: 'Box'
   595 		    #style: #(#FontDescription #helvetica #medium #roman 10)
   595                     #style: #(#FontDescription #helvetica #medium #roman 10)
   596 		    #adjust: #left
   596                     #adjust: #left
   597 		    #resizeForLabel: true
   597                     #resizeForLabel: true
   598 		    #canUIDrag: false
   598                     #canUIDrag: false
   599 		)
   599                 )
   600 		 #(#LabelSpec
   600                  #(#LabelSpec
   601 		    #name: 'VPanelLabel'
   601                     #name: 'VPanelLabel'
   602 		    #layout: #(#LayoutFrame 15 0 116 0 220 0 139 0)
   602                     #layout: #(#LayoutFrame 15 0 116 0 220 0 139 0)
   603 		    #label: 'Variable Panels'
   603                     #label: 'Variable Panels'
   604 		    #style: #(#FontDescription #helvetica #medium #roman 10)
   604                     #style: #(#FontDescription #helvetica #medium #roman 10)
   605 		    #adjust: #left
   605                     #adjust: #left
   606 		    #canUIDrag: false
   606                     #canUIDrag: false
   607 		)
   607                 )
   608 		 #(#VariableHorizontalPanelSpec
   608                  #(#VariableHorizontalPanelSpec
   609 		    #name: 'Variable Horizontal Panel'
   609                     #name: 'Variable Horizontal Panel'
   610 		    #layout: #(#LayoutFrame 15 0 140 0 110 0 230 0)
   610                     #layout: #(#LayoutFrame 15 0 140 0 110 0 230 0)
   611 		    #component: 
   611                     #component: 
   612 		     #(#SpecCollection
   612                      #(#SpecCollection
   613 			#collection: 
   613                         #collection: 
   614 			 #(
   614                          #(
   615 			   #(#LabelSpec
   615                            #(#LabelSpec
   616 			      #name: 'label4'
   616                               #name: 'label4'
   617 			      #label: 'A'
   617                               #label: 'A'
   618 			      #style: #(#FontDescription #helvetica #medium #roman 12)
   618                               #style: #(#FontDescription #helvetica #medium #roman 12)
   619 			      #level: 2
   619                               #level: 2
   620 			      #canUIDrag: false
   620                               #canUIDrag: false
   621 			  )
   621                           )
   622 			   #(#LabelSpec
   622                            #(#LabelSpec
   623 			      #name: 'label5'
   623                               #name: 'label5'
   624 			      #label: 'B'
   624                               #label: 'B'
   625 			      #style: #(#FontDescription #helvetica #medium #roman 12)
   625                               #style: #(#FontDescription #helvetica #medium #roman 12)
   626 			      #level: 2
   626                               #level: 2
   627 			      #canUIDrag: false
   627                               #canUIDrag: false
   628 			  )
   628                           )
   629 			)
   629                         )
   630 		    )
   630                     )
   631 		    #handles: #(#Any 0.5 1.0)
   631                     #handles: #(#Any 0.5 1.0)
   632 		)
   632                 )
   633 		 #(#VariableVerticalPanelSpec
   633                  #(#VariableVerticalPanelSpec
   634 		    #name: 'Variable Vertical Panel'
   634                     #name: 'Variable Vertical Panel'
   635 		    #layout: #(#LayoutFrame 125 0 140 0 220 0 230 0)
   635                     #layout: #(#LayoutFrame 125 0 140 0 220 0 230 0)
   636 		    #component: 
   636                     #component: 
   637 		     #(#SpecCollection
   637                      #(#SpecCollection
   638 			#collection: 
   638                         #collection: 
   639 			 #(
   639                          #(
   640 			   #(#LabelSpec
   640                            #(#LabelSpec
   641 			      #name: 'label9'
   641                               #name: 'label9'
   642 			      #label: 'A'
   642                               #label: 'A'
   643 			      #style: #(#FontDescription #helvetica #medium #roman 12)
   643                               #style: #(#FontDescription #helvetica #medium #roman 12)
   644 			      #level: 2
   644                               #level: 2
   645 			      #canUIDrag: false
   645                               #canUIDrag: false
   646 			  )
   646                           )
   647 			   #(#LabelSpec
   647                            #(#LabelSpec
   648 			      #name: 'label10'
   648                               #name: 'label10'
   649 			      #label: 'B'
   649                               #label: 'B'
   650 			      #style: #(#FontDescription #helvetica #medium #roman 12)
   650                               #style: #(#FontDescription #helvetica #medium #roman 12)
   651 			      #level: 2
   651                               #level: 2
   652 			      #canUIDrag: false
   652                               #canUIDrag: false
   653 			  )
   653                           )
   654 			)
   654                         )
   655 		    )
   655                     )
   656 		    #handles: #(#Any 0.5 1.0)
   656                     #handles: #(#Any 0.5 1.0)
   657 		)
   657                 )
   658 		 #(#FramedBoxSpec
   658                  #(#FramedBoxSpec
   659 		    #name: 'Framed Box'
   659                     #name: 'Framed Box'
   660 		    #layout: #(#LayoutFrame 240 0 15 0 445 0 110 0)
   660                     #layout: #(#LayoutFrame 240 0 15 0 445 0 110 0)
   661 		    #label: 'Framed Box'
   661                     #label: 'Framed Box'
   662 		    #labelPosition: #topLeft
   662                     #labelPosition: #topLeft
   663 		    #translateLabel: true
   663                     #translateLabel: true
   664 		)
   664                 )
   665 		 #(#LabelSpec
   665                  #(#LabelSpec
   666 		    #name: 'PanelLabel'
   666                     #name: 'PanelLabel'
   667 		    #layout: #(#LayoutFrame 240 0 116 0 445 0 139 0)
   667                     #layout: #(#LayoutFrame 240 0 116 0 445 0 139 0)
   668 		    #label: 'Panels'
   668                     #label: 'Panels'
   669 		    #style: #(#FontDescription #helvetica #medium #roman 10)
   669                     #style: #(#FontDescription #helvetica #medium #roman 10)
   670 		    #adjust: #left
   670                     #adjust: #left
   671 		    #canUIDrag: false
   671                     #canUIDrag: false
   672 		)
   672                 )
   673 		 #(#HorizontalPanelViewSpec
   673                  #(#HorizontalPanelViewSpec
   674 		    #name: 'Horizontal Panel'
   674                     #name: 'Horizontal Panel'
   675 		    #layout: #(#LayoutFrame 240 0 140 0 324 0 230 0)
   675                     #layout: #(#LayoutFrame 240 0 140 0 324 0 230 0)
   676 		    #component: 
   676                     #component: 
   677 		     #(#SpecCollection
   677                      #(#SpecCollection
   678 			#collection: 
   678                         #collection: 
   679 			 #(
   679                          #(
   680 			   #(#LabelSpec
   680                            #(#LabelSpec
   681 			      #name: 'label1'
   681                               #name: 'label1'
   682 			      #label: 'A'
   682                               #label: 'A'
   683 			      #style: #(#FontDescription #helvetica #medium #roman 12)
   683                               #style: #(#FontDescription #helvetica #medium #roman 12)
   684 			      #level: 2
   684                               #level: 2
   685 			      #extent: #(#Point 23 23)
   685                               #extent: #(#Point 23 23)
   686 			      #canUIDrag: false
   686                               #canUIDrag: false
   687 			  )
   687                           )
   688 			   #(#LabelSpec
   688                            #(#LabelSpec
   689 			      #name: 'label2'
   689                               #name: 'label2'
   690 			      #label: 'B'
   690                               #label: 'B'
   691 			      #style: #(#FontDescription #helvetica #medium #roman 12)
   691                               #style: #(#FontDescription #helvetica #medium #roman 12)
   692 			      #level: 2
   692                               #level: 2
   693 			      #extent: #(#Point 23 23)
   693                               #extent: #(#Point 23 23)
   694 			      #canUIDrag: false
   694                               #canUIDrag: false
   695 			  )
   695                           )
   696 			   #(#LabelSpec
   696                            #(#LabelSpec
   697 			      #name: 'label3'
   697                               #name: 'label3'
   698 			      #label: 'C'
   698                               #label: 'C'
   699 			      #style: #(#FontDescription #helvetica #medium #roman 12)
   699                               #style: #(#FontDescription #helvetica #medium #roman 12)
   700 			      #level: 2
   700                               #level: 2
   701 			      #extent: #(#Point 23 23)
   701                               #extent: #(#Point 23 23)
   702 			      #canUIDrag: false
   702                               #canUIDrag: false
   703 			  )
   703                           )
   704 			)
   704                         )
   705 		    )
   705                     )
   706 		    #horizontalLayout: #center
   706                     #horizontalLayout: #center
   707 		    #verticalLayout: #center
   707                     #verticalLayout: #center
   708 		    #horizontalSpace: 3
   708                     #horizontalSpace: 3
   709 		    #verticalSpace: 3
   709                     #verticalSpace: 3
   710 		)
   710                 )
   711 		 #(#VerticalPanelViewSpec
   711                  #(#VerticalPanelViewSpec
   712 		    #name: 'Vertical Panel'
   712                     #name: 'Vertical Panel'
   713 		    #layout: #(#LayoutFrame 332 0 140 0 379 0 230 0)
   713                     #layout: #(#LayoutFrame 332 0 140 0 379 0 230 0)
   714 		    #component: 
   714                     #component: 
   715 		     #(#SpecCollection
   715                      #(#SpecCollection
   716 			#collection: 
   716                         #collection: 
   717 			 #(
   717                          #(
   718 			   #(#LabelSpec
   718                            #(#LabelSpec
   719 			      #name: 'label6'
   719                               #name: 'label6'
   720 			      #label: 'A'
   720                               #label: 'A'
   721 			      #style: #(#FontDescription #helvetica #medium #roman 12)
   721                               #style: #(#FontDescription #helvetica #medium #roman 12)
   722 			      #level: 2
   722                               #level: 2
   723 			      #extent: #(#Point 23 23)
   723                               #extent: #(#Point 23 23)
   724 			      #canUIDrag: false
   724                               #canUIDrag: false
   725 			  )
   725                           )
   726 			   #(#LabelSpec
   726                            #(#LabelSpec
   727 			      #name: 'label7'
   727                               #name: 'label7'
   728 			      #label: 'B'
   728                               #label: 'B'
   729 			      #style: #(#FontDescription #helvetica #medium #roman 12)
   729                               #style: #(#FontDescription #helvetica #medium #roman 12)
   730 			      #level: 2
   730                               #level: 2
   731 			      #extent: #(#Point 23 23)
   731                               #extent: #(#Point 23 23)
   732 			      #canUIDrag: false
   732                               #canUIDrag: false
   733 			  )
   733                           )
   734 			   #(#LabelSpec
   734                            #(#LabelSpec
   735 			      #name: 'label8'
   735                               #name: 'label8'
   736 			      #label: 'C'
   736                               #label: 'C'
   737 			      #style: #(#FontDescription #helvetica #medium #roman 12)
   737                               #style: #(#FontDescription #helvetica #medium #roman 12)
   738 			      #level: 2
   738                               #level: 2
   739 			      #extent: #(#Point 23 23)
   739                               #extent: #(#Point 23 23)
   740 			      #canUIDrag: false
   740                               #canUIDrag: false
   741 			  )
   741                           )
   742 			)
   742                         )
   743 		    )
   743                     )
   744 		    #horizontalLayout: #center
   744                     #horizontalLayout: #center
   745 		    #verticalLayout: #center
   745                     #verticalLayout: #center
   746 		    #horizontalSpace: 3
   746                     #horizontalSpace: 3
   747 		    #verticalSpace: 3
   747                     #verticalSpace: 3
   748 		)
   748                 )
   749 		 #(#PanelViewSpec
   749                  #(#PanelViewSpec
   750 		    #name: 'Panel'
   750                     #name: 'Panel'
   751 		    #layout: #(#LayoutFrame 387 0 140 0 445 0 230 0)
   751                     #layout: #(#LayoutFrame 387 0 140 0 445 0 230 0)
   752 		    #component: 
   752                     #component: 
   753 		     #(#SpecCollection
   753                      #(#SpecCollection
   754 			#collection: 
   754                         #collection: 
   755 			 #(
   755                          #(
   756 			   #(#LabelSpec
   756                            #(#LabelSpec
   757 			      #name: 'label11'
   757                               #name: 'label11'
   758 			      #label: 'A'
   758                               #label: 'A'
   759 			      #style: #(#FontDescription #helvetica #medium #roman 12)
   759                               #style: #(#FontDescription #helvetica #medium #roman 12)
   760 			      #level: 2
   760                               #level: 2
   761 			      #extent: #(#Point 23 23)
   761                               #extent: #(#Point 23 23)
   762 			      #canUIDrag: false
   762                               #canUIDrag: false
   763 			  )
   763                           )
   764 			   #(#LabelSpec
   764                            #(#LabelSpec
   765 			      #name: 'label12'
   765                               #name: 'label12'
   766 			      #label: 'B'
   766                               #label: 'B'
   767 			      #style: #(#FontDescription #helvetica #medium #roman 12)
   767                               #style: #(#FontDescription #helvetica #medium #roman 12)
   768 			      #level: 2
   768                               #level: 2
   769 			      #extent: #(#Point 23 23)
   769                               #extent: #(#Point 23 23)
   770 			      #canUIDrag: false
   770                               #canUIDrag: false
   771 			  )
   771                           )
   772 			   #(#LabelSpec
   772                            #(#LabelSpec
   773 			      #name: 'label13'
   773                               #name: 'label13'
   774 			      #label: 'C'
   774                               #label: 'C'
   775 			      #style: #(#FontDescription #helvetica #medium #roman 12)
   775                               #style: #(#FontDescription #helvetica #medium #roman 12)
   776 			      #level: 2
   776                               #level: 2
   777 			      #extent: #(#Point 23 23)
   777                               #extent: #(#Point 23 23)
   778 			      #canUIDrag: false
   778                               #canUIDrag: false
   779 			  )
   779                           )
   780 			   #(#LabelSpec
   780                            #(#LabelSpec
   781 			      #name: 'label14'
   781                               #name: 'label14'
   782 			      #label: 'D'
   782                               #label: 'D'
   783 			      #style: #(#FontDescription #helvetica #medium #roman 12)
   783                               #style: #(#FontDescription #helvetica #medium #roman 12)
   784 			      #level: 2
   784                               #level: 2
   785 			      #extent: #(#Point 23 23)
   785                               #extent: #(#Point 23 23)
   786 			      #canUIDrag: false
   786                               #canUIDrag: false
   787 			  )
   787                           )
   788 			   #(#LabelSpec
   788                            #(#LabelSpec
   789 			      #name: 'label15'
   789                               #name: 'label15'
   790 			      #label: 'E'
   790                               #label: 'E'
   791 			      #style: #(#FontDescription #helvetica #medium #roman 12)
   791                               #style: #(#FontDescription #helvetica #medium #roman 12)
   792 			      #level: 2
   792                               #level: 2
   793 			      #extent: #(#Point 23 23)
   793                               #extent: #(#Point 23 23)
   794 			      #canUIDrag: false
   794                               #canUIDrag: false
   795 			  )
   795                           )
   796 			)
   796                         )
   797 		    )
   797                     )
   798 		    #horizontalLayout: #fitSpace
   798                     #horizontalLayout: #fitSpace
   799 		    #verticalLayout: #fitSpace
   799                     #verticalLayout: #fitSpace
   800 		    #horizontalSpace: 3
   800                     #horizontalSpace: 3
   801 		    #verticalSpace: 3
   801                     #verticalSpace: 3
   802 		)
   802                 )
   803 	      )
   803               )
   804 	  )
   804           )
   805       )
   805       )
   806 
   806 
   807     "Modified: / 20.5.1998 / 03:26:08 / cg"
   807     "Modified: / 20.5.1998 / 03:26:08 / cg"
   808 !
   808 !
   809 
   809 
   822     <resource: #canvas>
   822     <resource: #canvas>
   823 
   823 
   824     ^
   824     ^
   825      
   825      
   826        #(#FullSpec
   826        #(#FullSpec
   827 	  #window: 
   827           #window: 
   828 	   #(#WindowSpec
   828            #(#WindowSpec
   829 	      #name: 'Lists'
   829               #name: 'Lists'
   830 	      #layout: #(#LayoutFrame 164 0 52 0 633 0 294 0)
   830               #layout: #(#LayoutFrame 164 0 52 0 633 0 294 0)
   831 	      #label: 'Lists'
   831               #label: 'Lists'
   832 	      #min: #(#Point 10 10)
   832               #min: #(#Point 10 10)
   833 	      #max: #(#Point 1280 1024)
   833               #max: #(#Point 1280 1024)
   834 	      #bounds: #(#Rectangle 164 52 634 295)
   834               #bounds: #(#Rectangle 164 52 634 295)
   835 	      #usePreferredExtent: false
   835               #usePreferredExtent: false
   836 	  )
   836           )
   837 	  #component: 
   837           #component: 
   838 	   #(#SpecCollection
   838            #(#SpecCollection
   839 	      #collection: 
   839               #collection: 
   840 	       #(
   840                #(
   841 		 #(#SequenceViewSpec
   841                  #(#SequenceViewSpec
   842 		    #name: 'List'
   842                     #name: 'List'
   843 		    #layout: #(#LayoutFrame 15 0 30 0 220 0 110 0)
   843                     #layout: #(#LayoutFrame 15 0 30 0 220 0 110 0)
   844 		    #hasHorizontalScrollBar: true
   844                     #hasHorizontalScrollBar: true
   845 		    #hasVerticalScrollBar: true
   845                     #hasVerticalScrollBar: true
   846 		    #useIndex: false
   846                     #useIndex: false
   847 		)
   847                 )
   848 		 #(#LabelSpec
   848                  #(#LabelSpec
   849 		    #name: 'ListLabel'
   849                     #name: 'ListLabel'
   850 		    #layout: #(#AlignmentOrigin 15 0 30 0 0 1)
   850                     #layout: #(#AlignmentOrigin 15 0 30 0 0 1)
   851 		    #label: 'List'
   851                     #label: 'List'
   852 		    #style: #(#FontDescription #helvetica #medium #roman 10)
   852                     #style: #(#FontDescription #helvetica #medium #roman 10)
   853 		    #adjust: #left
   853                     #adjust: #left
   854 		    #resizeForLabel: true
   854                     #resizeForLabel: true
   855 		    #canUIDrag: false
   855                     #canUIDrag: false
   856 		)
   856                 )
   857 		 #(#SelectionInTreeViewSpec
   857                  #(#SelectionInTreeViewSpec
   858 		    #name: 'Tree List'
   858                     #name: 'Tree List'
   859 		    #layout: #(#LayoutFrame 15 0 145 0 220 0 225 0)
   859                     #layout: #(#LayoutFrame 15 0 145 0 220 0 225 0)
   860 		    #hasHorizontalScrollBar: true
   860                     #hasHorizontalScrollBar: true
   861 		    #hasVerticalScrollBar: true
   861                     #hasVerticalScrollBar: true
   862 		)
   862                 )
   863 		 #(#LabelSpec
   863                  #(#LabelSpec
   864 		    #name: 'TreeListLabel'
   864                     #name: 'TreeListLabel'
   865 		    #layout: #(#AlignmentOrigin 15 0 145 0 0 1)
   865                     #layout: #(#AlignmentOrigin 15 0 145 0 0 1)
   866 		    #label: 'Tree List'
   866                     #label: 'Tree List'
   867 		    #style: #(#FontDescription #helvetica #medium #roman 10)
   867                     #style: #(#FontDescription #helvetica #medium #roman 10)
   868 		    #adjust: #left
   868                     #adjust: #left
   869 		    #resizeForLabel: true
   869                     #resizeForLabel: true
   870 		    #canUIDrag: false
   870                     #canUIDrag: false
   871 		)
   871                 )
   872 		 #(#DataSetSpec
   872                  #(#DataSetSpec
   873 		    #name: 'Table'
   873                     #name: 'Table'
   874 		    #layout: #(#LayoutFrame 240 0 30 0 445 0 110 0)
   874                     #layout: #(#LayoutFrame 240 0 30 0 445 0 110 0)
   875 		    #hasHorizontalScrollBar: true
   875                     #hasHorizontalScrollBar: true
   876 		    #hasVerticalScrollBar: true
   876                     #hasVerticalScrollBar: true
   877 		)
   877                 )
   878 		 #(#LabelSpec
   878                  #(#LabelSpec
   879 		    #name: 'TableLabel'
   879                     #name: 'TableLabel'
   880 		    #layout: #(#AlignmentOrigin 240 0 30 0 0 1)
   880                     #layout: #(#AlignmentOrigin 240 0 30 0 0 1)
   881 		    #label: 'Table'
   881                     #label: 'Table'
   882 		    #style: #(#FontDescription #helvetica #medium #roman 10)
   882                     #style: #(#FontDescription #helvetica #medium #roman 10)
   883 		    #adjust: #left
   883                     #adjust: #left
   884 		    #resizeForLabel: true
   884                     #resizeForLabel: true
   885 		    #canUIDrag: false
   885                     #canUIDrag: false
   886 		)
   886                 )
   887 		 #(#FileSelectionTreeSpec
   887                  #(#FileSelectionTreeSpec
   888 		    #name: 'File Tree List'
   888                     #name: 'File Tree List'
   889 		    #layout: #(#LayoutFrame 240 0 145 0 445 0 225 0)
   889                     #layout: #(#LayoutFrame 240 0 145 0 445 0 225 0)
   890 		    #hasHorizontalScrollBar: true
   890                     #hasHorizontalScrollBar: true
   891 		    #hasVerticalScrollBar: true
   891                     #hasVerticalScrollBar: true
   892 		)
   892                 )
   893 		 #(#LabelSpec
   893                  #(#LabelSpec
   894 		    #name: 'FileTreeListLabel'
   894                     #name: 'FileTreeListLabel'
   895 		    #layout: #(#AlignmentOrigin 240 0 145 0 0 1)
   895                     #layout: #(#AlignmentOrigin 240 0 145 0 0 1)
   896 		    #label: 'File Tree List'
   896                     #label: 'File Tree List'
   897 		    #style: #(#FontDescription #helvetica #medium #roman 10)
   897                     #style: #(#FontDescription #helvetica #medium #roman 10)
   898 		    #adjust: #left
   898                     #adjust: #left
   899 		    #resizeForLabel: true
   899                     #resizeForLabel: true
   900 		    #canUIDrag: false
   900                     #canUIDrag: false
   901 		)
   901                 )
   902 	      )
   902               )
   903 	  )
   903           )
   904       )
   904       )
   905 
   905 
   906     "Modified: / 21.4.1998 / 20:36:36 / cg"
   906     "Modified: / 21.4.1998 / 20:36:36 / cg"
   907 !
   907 !
   908 
   908 
   921     <resource: #canvas>
   921     <resource: #canvas>
   922 
   922 
   923     ^
   923     ^
   924      
   924      
   925        #(#FullSpec
   925        #(#FullSpec
   926 	  #window: 
   926           #window: 
   927 	   #(#WindowSpec
   927            #(#WindowSpec
   928 	      #name: 'Menus'
   928               #name: 'Menus'
   929 	      #layout: #(#LayoutFrame 216 0 173 0 692 0 395 0)
   929               #layout: #(#LayoutFrame 216 0 173 0 692 0 395 0)
   930 	      #label: 'Menus'
   930               #label: 'Menus'
   931 	      #min: #(#Point 10 10)
   931               #min: #(#Point 10 10)
   932 	      #max: #(#Point 1280 1024)
   932               #max: #(#Point 1280 1024)
   933 	      #bounds: #(#Rectangle 216 173 693 396)
   933               #bounds: #(#Rectangle 216 173 693 396)
   934 	      #usePreferredExtent: false
   934               #usePreferredExtent: false
   935 	  )
   935           )
   936 	  #component: 
   936           #component: 
   937 	   #(#SpecCollection
   937            #(#SpecCollection
   938 	      #collection: 
   938               #collection: 
   939 	       #(
   939                #(
   940 		 #(#MenuPanelSpec
   940                  #(#MenuPanelSpec
   941 		    #name: 'Tool Bar'
   941                     #name: 'Tool Bar'
   942 		    #layout: #(#LayoutFrame 15 0 123 0 140 0 155 0)
   942                     #layout: #(#LayoutFrame 15 0 123 0 140 0 155 0)
   943 		    #textDefault: true
   943                     #textDefault: true
   944 		)
   944                 )
   945 		 #(#LabelSpec
   945                  #(#LabelSpec
   946 		    #name: 'ToolBarLabel'
   946                     #name: 'ToolBarLabel'
   947 		    #layout: #(#AlignmentOrigin 15 0 123 0 0 1)
   947                     #layout: #(#AlignmentOrigin 15 0 123 0 0 1)
   948 		    #label: 'Tool Bar'
   948                     #label: 'Tool Bar'
   949 		    #style: #(#FontDescription #helvetica #medium #roman 10)
   949                     #style: #(#FontDescription #helvetica #medium #roman 10)
   950 		    #adjust: #left
   950                     #adjust: #left
   951 		    #resizeForLabel: true
   951                     #resizeForLabel: true
   952 		    #canUIDrag: false
   952                     #canUIDrag: false
   953 		)
   953                 )
   954 		 #(#MenuPanelSpec
   954                  #(#MenuPanelSpec
   955 		    #name: 'Menu Bar'
   955                     #name: 'Menu Bar'
   956 		    #layout: #(#LayoutFrame 15 0 181 0 140 0 203 0)
   956                     #layout: #(#LayoutFrame 15 0 181 0 140 0 203 0)
   957 		)
   957                 )
   958 		 #(#LabelSpec
   958                  #(#LabelSpec
   959 		    #name: 'MenuBarLabel'
   959                     #name: 'MenuBarLabel'
   960 		    #layout: #(#AlignmentOrigin 15 0 181 0 0 1)
   960                     #layout: #(#AlignmentOrigin 15 0 181 0 0 1)
   961 		    #label: 'Menu Bar'
   961                     #label: 'Menu Bar'
   962 		    #style: #(#FontDescription #helvetica #medium #roman 10)
   962                     #style: #(#FontDescription #helvetica #medium #roman 10)
   963 		    #adjust: #left
   963                     #adjust: #left
   964 		    #resizeForLabel: true
   964                     #resizeForLabel: true
   965 		    #canUIDrag: false
   965                     #canUIDrag: false
   966 		)
   966                 )
   967 		 #(#PopUpListSpec
   967                  #(#PopUpListSpec
   968 		    #name: 'PopUp List'
   968                     #name: 'PopUp List'
   969 		    #layout: #(#LayoutFrame 15 0 15 0 140 0 37 0)
   969                     #layout: #(#LayoutFrame 15 0 15 0 140 0 37 0)
   970 		    #label: 'PopUp List'
   970                     #label: 'PopUp List'
   971 		    #useIndex: false
   971                     #useIndex: false
   972 		)
   972                 )
   973 		 #(#ComboListSpec
   973                  #(#ComboListSpec
   974 		    #name: 'Combo List'
   974                     #name: 'Combo List'
   975 		    #layout: #(#LayoutFrame 15 0 45 0 140 0 65 0)
   975                     #layout: #(#LayoutFrame 15 0 45 0 140 0 65 0)
   976 		    #useIndex: false
   976                     #useIndex: false
   977 		)
   977                 )
   978 		 #(#LabelSpec
   978                  #(#LabelSpec
   979 		    #name: 'ComboListLabel'
   979                     #name: 'ComboListLabel'
   980 		    #layout: #(#AlignmentOrigin 17 0 65 0 0 1)
   980                     #layout: #(#AlignmentOrigin 17 0 65 0 0 1)
   981 		    #label: 'Combo List'
   981                     #label: 'Combo List'
   982 		    #style: #(#FontDescription #helvetica #medium #roman 10)
   982                     #style: #(#FontDescription #helvetica #medium #roman 10)
   983 		    #adjust: #left
   983                     #adjust: #left
   984 		    #resizeForLabel: true
   984                     #resizeForLabel: true
   985 		    #canUIDrag: false
   985                     #canUIDrag: false
   986 		)
   986                 )
   987 		 #(#ComboBoxSpec
   987                  #(#ComboBoxSpec
   988 		    #name: 'Combo Box'
   988                     #name: 'Combo Box'
   989 		    #layout: #(#LayoutFrame 15 0 73 0 140 0 93 0)
   989                     #layout: #(#LayoutFrame 15 0 73 0 140 0 93 0)
   990 		)
   990                 )
   991 		 #(#LabelSpec
   991                  #(#LabelSpec
   992 		    #name: 'ComboBoxLabel'
   992                     #name: 'ComboBoxLabel'
   993 		    #layout: #(#AlignmentOrigin 17 0 93 0 0 1)
   993                     #layout: #(#AlignmentOrigin 17 0 93 0 0 1)
   994 		    #label: 'Combo Box'
   994                     #label: 'Combo Box'
   995 		    #style: #(#FontDescription #helvetica #medium #roman 10)
   995                     #style: #(#FontDescription #helvetica #medium #roman 10)
   996 		    #adjust: #left
   996                     #adjust: #left
   997 		    #resizeForLabel: true
   997                     #resizeForLabel: true
   998 		    #canUIDrag: false
   998                     #canUIDrag: false
   999 		)
   999                 )
  1000 		 #(#TabViewSpec
  1000                  #(#TabViewSpec
  1001 		    #name: 'Tab Header'
  1001                     #name: 'Tab Header'
  1002 		    #layout: #(#LayoutFrame 157 0 15 0 292 0 51 0)
  1002                     #layout: #(#LayoutFrame 157 0 15 0 292 0 51 0)
  1003 		)
  1003                 )
  1004 		 #(#LabelSpec
  1004                  #(#LabelSpec
  1005 		    #name: 'TabHeaderLabel'
  1005                     #name: 'TabHeaderLabel'
  1006 		    #layout: #(#Point 160 33)
  1006                     #layout: #(#Point 160 33)
  1007 		    #label: 'Tab Header'
  1007                     #label: 'Tab Header'
  1008 		    #style: #(#FontDescription #helvetica #medium #roman 10)
  1008                     #style: #(#FontDescription #helvetica #medium #roman 10)
  1009 		    #adjust: #left
  1009                     #adjust: #left
  1010 		    #resizeForLabel: true
  1010                     #resizeForLabel: true
  1011 		    #canUIDrag: false
  1011                     #canUIDrag: false
  1012 		)
  1012                 )
  1013 		 #(#NoteBookViewSpec
  1013                  #(#NoteBookViewSpec
  1014 		    #name: 'Note Book'
  1014                     #name: 'Note Book'
  1015 		    #layout: #(#LayoutFrame 157 0 58 0 292 0 150 0)
  1015                     #layout: #(#LayoutFrame 157 0 58 0 292 0 150 0)
  1016 		)
  1016                 )
  1017 		 #(#LabelSpec
  1017                  #(#LabelSpec
  1018 		    #name: 'NoteBookLabel'
  1018                     #name: 'NoteBookLabel'
  1019 		    #layout: #(#Point 161 132)
  1019                     #layout: #(#Point 161 132)
  1020 		    #label: 'Note Book'
  1020                     #label: 'Note Book'
  1021 		    #style: #(#FontDescription #helvetica #medium #roman 10)
  1021                     #style: #(#FontDescription #helvetica #medium #roman 10)
  1022 		    #adjust: #left
  1022                     #adjust: #left
  1023 		    #resizeForLabel: true
  1023                     #resizeForLabel: true
  1024 		    #canUIDrag: false
  1024                     #canUIDrag: false
  1025 		)
  1025                 )
  1026 		 #(#UIGalleryViewSpec
  1026                  #(#UIGalleryViewSpec
  1027 		    #name: 'Gallery'
  1027                     #name: 'Gallery'
  1028 		    #layout: #(#LayoutFrame 309 0 15 0 445 0 150 0)
  1028                     #layout: #(#LayoutFrame 309 0 15 0 445 0 150 0)
  1029 		)
  1029                 )
  1030 		 #(#LabelSpec
  1030                  #(#LabelSpec
  1031 		    #name: 'GalleryLabel'
  1031                     #name: 'GalleryLabel'
  1032 		    #layout: #(#Point 313 132)
  1032                     #layout: #(#Point 313 132)
  1033 		    #label: 'Gallery'
  1033                     #label: 'Gallery'
  1034 		    #style: #(#FontDescription #helvetica #medium #roman 10)
  1034                     #style: #(#FontDescription #helvetica #medium #roman 10)
  1035 		    #adjust: #left
  1035                     #adjust: #left
  1036 		    #resizeForLabel: true
  1036                     #resizeForLabel: true
  1037 		    #canUIDrag: false
  1037                     #canUIDrag: false
  1038 		)
  1038                 )
  1039 	      )
  1039               )
  1040 	  )
  1040           )
  1041       )
  1041       )
  1042 
  1042 
  1043     "Modified: / 6.6.1998 / 16:54:56 / cg"
  1043     "Modified: / 6.6.1998 / 16:54:56 / cg"
  1044 !
  1044 !
  1045 
  1045 
  1058     <resource: #canvas>
  1058     <resource: #canvas>
  1059 
  1059 
  1060     ^
  1060     ^
  1061      
  1061      
  1062        #(#FullSpec
  1062        #(#FullSpec
  1063 	  #window: 
  1063           #window: 
  1064 	   #(#WindowSpec
  1064            #(#WindowSpec
  1065 	      #name: 'Misc'
  1065               #name: 'Misc'
  1066 	      #layout: #(#LayoutFrame 50 0 73 0 517 0 357 0)
  1066               #layout: #(#LayoutFrame 50 0 73 0 517 0 357 0)
  1067 	      #label: 'Misc'
  1067               #label: 'Misc'
  1068 	      #min: #(#Point 10 10)
  1068               #min: #(#Point 10 10)
  1069 	      #max: #(#Point 1280 1024)
  1069               #max: #(#Point 1280 1024)
  1070 	      #bounds: #(#Rectangle 50 73 518 358)
  1070               #bounds: #(#Rectangle 50 73 518 358)
  1071 	      #usePreferredExtent: false
  1071               #usePreferredExtent: false
  1072 	  )
  1072           )
  1073 	  #component: 
  1073           #component: 
  1074 	   #(#SpecCollection
  1074            #(#SpecCollection
  1075 	      #collection: 
  1075               #collection: 
  1076 	       #(
  1076                #(
  1077 		 #(#ArbitraryComponentSpec
  1077                  #(#ArbitraryComponentSpec
  1078 		    #name: 'Arbitrary Component'
  1078                     #name: 'Arbitrary Component'
  1079 		    #layout: #(#LayoutFrame 15 0 15 0 140 0 110 0)
  1079                     #layout: #(#LayoutFrame 15 0 15 0 140 0 110 0)
  1080 		    #hasBorder: false
  1080                     #hasBorder: false
  1081 		)
  1081                 )
  1082 		 #(#LabelSpec
  1082                  #(#LabelSpec
  1083 		    #name: 'ArbitraryComponentLabel1'
  1083                     #name: 'ArbitraryComponentLabel1'
  1084 		    #layout: #(#AlignmentOrigin 19 0 19 0 0 0)
  1084                     #layout: #(#AlignmentOrigin 19 0 19 0 0 0)
  1085 		    #label: 'Arbitrary'
  1085                     #label: 'Arbitrary'
  1086 		    #style: #(#FontDescription #helvetica #medium #roman 10)
  1086                     #style: #(#FontDescription #helvetica #medium #roman 10)
  1087 		    #adjust: #left
  1087                     #adjust: #left
  1088 		    #resizeForLabel: true
  1088                     #resizeForLabel: true
  1089 		    #canUIDrag: false
  1089                     #canUIDrag: false
  1090 		)
  1090                 )
  1091 		 #(#LabelSpec
  1091                  #(#LabelSpec
  1092 		    #name: 'ArbitraryComponentLabel2'
  1092                     #name: 'ArbitraryComponentLabel2'
  1093 		    #layout: #(#AlignmentOrigin 19 0 43 0 0 0)
  1093                     #layout: #(#AlignmentOrigin 19 0 43 0 0 0)
  1094 		    #label: 'Component'
  1094                     #label: 'Component'
  1095 		    #style: #(#FontDescription #helvetica #medium #roman 10)
  1095                     #style: #(#FontDescription #helvetica #medium #roman 10)
  1096 		    #adjust: #left
  1096                     #adjust: #left
  1097 		    #resizeForLabel: true
  1097                     #resizeForLabel: true
  1098 		    #canUIDrag: false
  1098                     #canUIDrag: false
  1099 		)
  1099                 )
  1100 		 #(#UISubSpecification
  1100                  #(#UISubSpecification
  1101 		    #name: 'SubSpecification'
  1101                     #name: 'SubSpecification'
  1102 		    #layout: #(#LayoutFrame 157 0 15 0 292 0 110 0)
  1102                     #layout: #(#LayoutFrame 157 0 15 0 292 0 110 0)
  1103 		)
  1103                 )
  1104 		 #(#LabelSpec
  1104                  #(#LabelSpec
  1105 		    #name: 'SubSpecificationLabel'
  1105                     #name: 'SubSpecificationLabel'
  1106 		    #layout: #(#Point 161 19)
  1106                     #layout: #(#Point 161 19)
  1107 		    #label: 'SubSpecification'
  1107                     #label: 'SubSpecification'
  1108 		    #style: #(#FontDescription #helvetica #medium #roman 10)
  1108                     #style: #(#FontDescription #helvetica #medium #roman 10)
  1109 		    #resizeForLabel: true
  1109                     #resizeForLabel: true
  1110 		    #canUIDrag: false
  1110                     #canUIDrag: false
  1111 		)
  1111                 )
  1112 		 #(#SubCanvasSpec
  1112                  #(#SubCanvasSpec
  1113 		    #name: 'SubCanvas'
  1113                     #name: 'SubCanvas'
  1114 		    #layout: #(#LayoutFrame 309 0 15 0 445 0 110 0)
  1114                     #layout: #(#LayoutFrame 309 0 15 0 445 0 110 0)
  1115 		    #hasHorizontalScrollBar: true
  1115                     #hasHorizontalScrollBar: true
  1116 		    #hasVerticalScrollBar: true
  1116                     #hasVerticalScrollBar: true
  1117 		)
  1117                 )
  1118 		 #(#LabelSpec
  1118                  #(#LabelSpec
  1119 		    #name: 'SubCanvasLabel'
  1119                     #name: 'SubCanvasLabel'
  1120 		    #layout: #(#AlignmentOrigin 336 0 19 0 0 0)
  1120                     #layout: #(#AlignmentOrigin 336 0 19 0 0 0)
  1121 		    #label: 'SubCanvas'
  1121                     #label: 'SubCanvas'
  1122 		    #style: #(#FontDescription #helvetica #medium #roman 10)
  1122                     #style: #(#FontDescription #helvetica #medium #roman 10)
  1123 		    #adjust: #left
  1123                     #adjust: #left
  1124 		    #resizeForLabel: true
  1124                     #resizeForLabel: true
  1125 		    #canUIDrag: false
  1125                     #canUIDrag: false
  1126 		)
  1126                 )
  1127 		 #(#LabelSpec
  1127                  #(#LabelSpec
  1128 		    #name: 'SliderLabel'
  1128                     #name: 'SliderLabel'
  1129 		    #layout: #(#AlignmentOrigin 95 0 129 0 1 0)
  1129                     #layout: #(#AlignmentOrigin 95 0 129 0 1 0)
  1130 		    #label: 'Slider'
  1130                     #label: 'Slider'
  1131 		    #style: #(#FontDescription #helvetica #medium #roman 10)
  1131                     #style: #(#FontDescription #helvetica #medium #roman 10)
  1132 		    #resizeForLabel: true
  1132                     #resizeForLabel: true
  1133 		    #canUIDrag: false
  1133                     #canUIDrag: false
  1134 		)
  1134                 )
  1135 		 #(#SliderSpec
  1135                  #(#SliderSpec
  1136 		    #name: 'Slider'
  1136                     #name: 'Slider'
  1137 		    #layout: #(#LayoutFrame 100 0 126 0 215 0 144 0)
  1137                     #layout: #(#LayoutFrame 100 0 126 0 215 0 144 0)
  1138 		    #orientation: #horizontal
  1138                     #orientation: #horizontal
  1139 		    #step: 1
  1139                     #step: 1
  1140 		)
  1140                 )
  1141 		 #(#LabelSpec
  1141                  #(#LabelSpec
  1142 		    #name: 'ThumbWheelLabel'
  1142                     #name: 'ThumbWheelLabel'
  1143 		    #layout: #(#AlignmentOrigin 95 0 157 0 1 0)
  1143                     #layout: #(#AlignmentOrigin 95 0 157 0 1 0)
  1144 		    #label: 'Thumb Wheel'
  1144                     #label: 'Thumb Wheel'
  1145 		    #style: #(#FontDescription #helvetica #medium #roman 10)
  1145                     #style: #(#FontDescription #helvetica #medium #roman 10)
  1146 		    #resizeForLabel: true
  1146                     #resizeForLabel: true
  1147 		    #canUIDrag: false
  1147                     #canUIDrag: false
  1148 		)
  1148                 )
  1149 		 #(#ThumbWheelSpec
  1149                  #(#ThumbWheelSpec
  1150 		    #name: 'Thumb Wheel'
  1150                     #name: 'Thumb Wheel'
  1151 		    #layout: #(#LayoutFrame 100 0 152 0 215 0 172 0)
  1151                     #layout: #(#LayoutFrame 100 0 152 0 215 0 172 0)
  1152 		    #orientation: #horizontal
  1152                     #orientation: #horizontal
  1153 		    #step: 1
  1153                     #step: 1
  1154 		)
  1154                 )
  1155 		 #(#LabelSpec
  1155                  #(#LabelSpec
  1156 		    #name: 'RegionLabel'
  1156                     #name: 'RegionLabel'
  1157 		    #layout: #(#AlignmentOrigin 95 0 189 0 1 0)
  1157                     #layout: #(#AlignmentOrigin 95 0 189 0 1 0)
  1158 		    #label: 'Region'
  1158                     #label: 'Region'
  1159 		    #style: #(#FontDescription #helvetica #medium #roman 10)
  1159                     #style: #(#FontDescription #helvetica #medium #roman 10)
  1160 		    #adjust: #left
  1160                     #adjust: #left
  1161 		    #resizeForLabel: true
  1161                     #resizeForLabel: true
  1162 		    #canUIDrag: false
  1162                     #canUIDrag: false
  1163 		)
  1163                 )
  1164 		 #(#RegionSpec
  1164                  #(#RegionSpec
  1165 		    #name: 'Region'
  1165                     #name: 'Region'
  1166 		    #layout: #(#LayoutFrame 100 0 183 0 215 0 212 0)
  1166                     #layout: #(#LayoutFrame 100 0 183 0 215 0 212 0)
  1167 		    #lineWidth: 2
  1167                     #lineWidth: 2
  1168 		    #regionType: #ellipse
  1168                     #regionType: #ellipse
  1169 		)
  1169                 )
  1170 		 #(#LabelSpec
  1170                  #(#LabelSpec
  1171 		    #name: 'SeparatorLabel'
  1171                     #name: 'SeparatorLabel'
  1172 		    #layout: #(#AlignmentOrigin 95 0 219 0 1 0)
  1172                     #layout: #(#AlignmentOrigin 95 0 219 0 1 0)
  1173 		    #label: 'Separator'
  1173                     #label: 'Separator'
  1174 		    #style: #(#FontDescription #helvetica #medium #roman 10)
  1174                     #style: #(#FontDescription #helvetica #medium #roman 10)
  1175 		    #adjust: #left
  1175                     #adjust: #left
  1176 		    #resizeForLabel: true
  1176                     #resizeForLabel: true
  1177 		    #canUIDrag: false
  1177                     #canUIDrag: false
  1178 		)
  1178                 )
  1179 		 #(#DividerSpec
  1179                  #(#DividerSpec
  1180 		    #name: 'Separator'
  1180                     #name: 'Separator'
  1181 		    #layout: #(#LayoutFrame 100 0 225 0 215 0 229 0)
  1181                     #layout: #(#LayoutFrame 100 0 225 0 215 0 229 0)
  1182 		)
  1182                 )
  1183 		 #(#LabelSpec
  1183                  #(#LabelSpec
  1184 		    #name: 'ProgressIndicatorsLabel'
  1184                     #name: 'ProgressIndicatorsLabel'
  1185 		    #layout: #(#AlignmentOrigin 345 0 129 0 1 0)
  1185                     #layout: #(#AlignmentOrigin 345 0 129 0 1 0)
  1186 		    #label: 'Progress Indicator'
  1186                     #label: 'Progress Indicator'
  1187 		    #style: #(#FontDescription #helvetica #medium #roman 10)
  1187                     #style: #(#FontDescription #helvetica #medium #roman 10)
  1188 		    #adjust: #left
  1188                     #adjust: #left
  1189 		    #resizeForLabel: true
  1189                     #resizeForLabel: true
  1190 		    #canUIDrag: false
  1190                     #canUIDrag: false
  1191 		)
  1191                 )
  1192 		 #(#ProgressIndicatorSpec
  1192                  #(#ProgressIndicatorSpec
  1193 		    #name: 'Progress Indicator'
  1193                     #name: 'Progress Indicator'
  1194 		    #layout: #(#LayoutFrame 350 0 126 0 445 0 144 0)
  1194                     #layout: #(#LayoutFrame 350 0 126 0 445 0 144 0)
  1195 		)
  1195                 )
  1196 		 #(#LabelSpec
  1196                  #(#LabelSpec
  1197 		    #name: 'RoundProgressIndicatorsLabel'
  1197                     #name: 'RoundProgressIndicatorsLabel'
  1198 		    #layout: #(#AlignmentOrigin 345 0 179 0 1 0)
  1198                     #layout: #(#AlignmentOrigin 345 0 179 0 1 0)
  1199 		    #label: 'Round
  1199                     #label: 'Round
  1200 Progress Indicator'
  1200 Progress Indicator'
  1201 		    #style: #(#FontDescription #helvetica #medium #roman 10)
  1201                     #style: #(#FontDescription #helvetica #medium #roman 10)
  1202 		    #adjust: #left
  1202                     #adjust: #left
  1203 		    #resizeForLabel: true
  1203                     #resizeForLabel: true
  1204 		    #canUIDrag: false
  1204                     #canUIDrag: false
  1205 		)
  1205                 )
  1206 		 #(#RoundProgressIndicatorSpec
  1206                  #(#RoundProgressIndicatorSpec
  1207 		    #name: 'Round Progress Indicator'
  1207                     #name: 'Round Progress Indicator'
  1208 		    #layout: #(#LayoutFrame 350 0 148 0 445 0 243 0)
  1208                     #layout: #(#LayoutFrame 350 0 148 0 445 0 243 0)
  1209 		    #level: 0
  1209                     #level: 0
  1210 		    #borderWidth: 1
  1210                     #borderWidth: 1
  1211 		)
  1211                 )
  1212 	      )
  1212               )
  1213 	  )
  1213           )
  1214       )
  1214       )
  1215 
  1215 
  1216     "Modified: / 21.8.1998 / 20:53:14 / cg"
  1216     "Modified: / 21.8.1998 / 20:53:14 / cg"
  1217 !
  1217 !
  1218 
  1218 
  1231     <resource: #canvas>
  1231     <resource: #canvas>
  1232 
  1232 
  1233     ^
  1233     ^
  1234      
  1234      
  1235        #(#FullSpec
  1235        #(#FullSpec
  1236 	  #window: 
  1236           #window: 
  1237 	   #(#WindowSpec
  1237            #(#WindowSpec
  1238 	      #name: 'Texts'
  1238               #name: 'Texts'
  1239 	      #layout: #(#LayoutFrame 102 0 279 0 568 0 485 0)
  1239               #layout: #(#LayoutFrame 102 0 279 0 568 0 485 0)
  1240 	      #label: 'Texts'
  1240               #label: 'Texts'
  1241 	      #min: #(#Point 10 10)
  1241               #min: #(#Point 10 10)
  1242 	      #max: #(#Point 1280 1024)
  1242               #max: #(#Point 1280 1024)
  1243 	      #bounds: #(#Rectangle 102 279 569 486)
  1243               #bounds: #(#Rectangle 102 279 569 486)
  1244 	      #usePreferredExtent: false
  1244               #usePreferredExtent: false
  1245 	  )
  1245           )
  1246 	  #component: 
  1246           #component: 
  1247 	   #(#SpecCollection
  1247            #(#SpecCollection
  1248 	      #collection: 
  1248               #collection: 
  1249 	       #(
  1249                #(
  1250 		 #(#TextEditorSpec
  1250                  #(#TextEditorSpec
  1251 		    #name: 'Text Editor'
  1251                     #name: 'Text Editor'
  1252 		    #layout: #(#LayoutFrame 15 0 15 0 220 0 110 0)
  1252                     #layout: #(#LayoutFrame 15 0 15 0 220 0 110 0)
  1253 		    #hasHorizontalScrollBar: true
  1253                     #hasHorizontalScrollBar: true
  1254 		    #hasVerticalScrollBar: true
  1254                     #hasVerticalScrollBar: true
  1255 		)
  1255                 )
  1256 		 #(#LabelSpec
  1256                  #(#LabelSpec
  1257 		    #name: 'TextEditorLabel'
  1257                     #name: 'TextEditorLabel'
  1258 		    #layout: #(#AlignmentOrigin 53 0 19 0 0 0)
  1258                     #layout: #(#AlignmentOrigin 53 0 19 0 0 0)
  1259 		    #label: 'Text Editor'
  1259                     #label: 'Text Editor'
  1260 		    #style: #(#FontDescription #helvetica #medium #roman 10)
  1260                     #style: #(#FontDescription #helvetica #medium #roman 10)
  1261 		    #adjust: #left
  1261                     #adjust: #left
  1262 		    #resizeForLabel: true
  1262                     #resizeForLabel: true
  1263 		    #canUIDrag: false
  1263                     #canUIDrag: false
  1264 		)
  1264                 )
  1265 		 #(#HTMLViewSpec
  1265                  #(#HTMLViewSpec
  1266 		    #name: 'HTML Browser'
  1266                     #name: 'HTML Browser'
  1267 		    #layout: #(#LayoutFrame 240 0 15 0 445 0 110 0)
  1267                     #layout: #(#LayoutFrame 240 0 15 0 445 0 110 0)
  1268 		    #hasHorizontalScrollBar: true
  1268                     #hasHorizontalScrollBar: true
  1269 		    #hasVerticalScrollBar: true
  1269                     #hasVerticalScrollBar: true
  1270 		)
  1270                 )
  1271 		 #(#LabelSpec
  1271                  #(#LabelSpec
  1272 		    #name: 'HTMLViewLabel'
  1272                     #name: 'HTMLViewLabel'
  1273 		    #layout: #(#AlignmentOrigin 267 0 19 0 0 0)
  1273                     #layout: #(#AlignmentOrigin 267 0 19 0 0 0)
  1274 		    #label: 'HTML View'
  1274                     #label: 'HTML View'
  1275 		    #style: #(#FontDescription #helvetica #medium #roman 10)
  1275                     #style: #(#FontDescription #helvetica #medium #roman 10)
  1276 		    #adjust: #left
  1276                     #adjust: #left
  1277 		    #resizeForLabel: true
  1277                     #resizeForLabel: true
  1278 		    #canUIDrag: false
  1278                     #canUIDrag: false
  1279 		)
  1279                 )
  1280 		 #(#InputFieldSpec
  1280                  #(#InputFieldSpec
  1281 		    #name: 'Entry Field'
  1281                     #name: 'Entry Field'
  1282 		    #layout: #(#LayoutFrame 15 0 125 0 220 0 147 0)
  1282                     #layout: #(#LayoutFrame 15 0 125 0 220 0 147 0)
  1283 		)
  1283                 )
  1284 		 #(#LabelSpec
  1284                  #(#LabelSpec
  1285 		    #name: 'EntryFieldLabel'
  1285                     #name: 'EntryFieldLabel'
  1286 		    #layout: #(#AlignmentOrigin 53 0 147 0 0 1)
  1286                     #layout: #(#AlignmentOrigin 53 0 147 0 0 1)
  1287 		    #label: 'Entry Field'
  1287                     #label: 'Entry Field'
  1288 		    #style: #(#FontDescription #helvetica #medium #roman 10)
  1288                     #style: #(#FontDescription #helvetica #medium #roman 10)
  1289 		    #adjust: #left
  1289                     #adjust: #left
  1290 		    #resizeForLabel: true
  1290                     #resizeForLabel: true
  1291 		    #canUIDrag: false
  1291                     #canUIDrag: false
  1292 		)
  1292                 )
  1293 		 #(#LabelSpec
  1293                  #(#LabelSpec
  1294 		    #name: 'Label'
  1294                     #name: 'Label'
  1295 		    #layout: #(#LayoutFrame 240 0 125 0 445 0 147 0)
  1295                     #layout: #(#LayoutFrame 240 0 125 0 445 0 147 0)
  1296 		    #label: 'Label'
  1296                     #label: 'Label'
  1297 		    #translateLabel: true
  1297                     #translateLabel: true
  1298 		)
  1298                 )
  1299 	      )
  1299               )
  1300 	  )
  1300           )
  1301       )
  1301       )
  1302 
  1302 
  1303     "Modified: / 20.5.1998 / 03:25:40 / cg"
  1303     "Modified: / 20.5.1998 / 03:25:40 / cg"
  1304 !
  1304 !
  1305 
  1305 
  1317     <resource: #canvas>
  1317     <resource: #canvas>
  1318 
  1318 
  1319     ^
  1319     ^
  1320      
  1320      
  1321        #(#FullSpec
  1321        #(#FullSpec
  1322 	  #'window:' 
  1322           #'window:' 
  1323 	   #(#WindowSpec
  1323            #(#WindowSpec
  1324 	      #'name:' 'UserPanel'
  1324               #'name:' 'UserPanel'
  1325 	      #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
  1325               #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
  1326 	      #'label:' 'UserPanel'
  1326               #'label:' 'UserPanel'
  1327 	      #'bounds:' #(#Rectangle 0 0 445 162)
  1327               #'bounds:' #(#Rectangle 0 0 445 162)
  1328 	  )
  1328           )
  1329 	  #'component:' 
  1329           #'component:' 
  1330 	   #(#SpecCollection
  1330            #(#SpecCollection
  1331 	      #'collection:' 
  1331               #'collection:' 
  1332 	       #(
  1332                #(
  1333 		 #(#LabelSpec
  1333                  #(#LabelSpec
  1334 		    #'name:' 'helpText'
  1334                     #'name:' 'helpText'
  1335 		    #'layout:' #(#Point 10 0)
  1335                     #'layout:' #(#Point 10 0)
  1336 		    #'labelChannel:' #userDefinedHelpText
  1336                     #'labelChannel:' #userDefinedHelpText
  1337 		    #'resizeForLabel:' true
  1337                     #'resizeForLabel:' true
  1338 		    #'canUIDrag:' false
  1338                     #'canUIDrag:' false
  1339 		)
  1339                 )
  1340 	      )
  1340               )
  1341 	  )
  1341           )
  1342       )
  1342       )
  1343 ! !
  1343 ! !
  1344 
  1344 
  1345 !UISelectionPanel methodsFor:'actions'!
  1345 !UISelectionPanel methodsFor:'actions'!
  1346 
  1346 
  1352     bd at:#specsKey  put:( (userSpecs  ? '') asValue).
  1352     bd at:#specsKey  put:( (userSpecs  ? '') asValue).
  1353     bd at:#labelsKey put:( (userLabels ? '') asValue).
  1353     bd at:#labelsKey put:( (userLabels ? '') asValue).
  1354     bd at:#updateDefaultResources put:(false asValue).
  1354     bd at:#updateDefaultResources put:(false asValue).
  1355 
  1355 
  1356     (self openDialogInterface:#nameAndSelectorSpec withBindings:bd) ifTrue:[
  1356     (self openDialogInterface:#nameAndSelectorSpec withBindings:bd) ifTrue:[
  1357 	(      (cls := (bd at:#className) value) notNil
  1357         (      (cls := (bd at:#className) value) notNil
  1358 	  and:[(sel := (bd at:#specsKey)  value) notNil
  1358           and:[(sel := (bd at:#specsKey)  value) notNil
  1359 	  and:[(lbl := (bd at:#labelsKey) value) notNil]]
  1359           and:[(lbl := (bd at:#labelsKey) value) notNil]]
  1360 	) ifTrue:[
  1360         ) ifTrue:[
  1361 	    userClass  := cls.
  1361             userClass  := cls.
  1362 	    userSpecs  := sel.
  1362             userSpecs  := sel.
  1363 	    userLabels := lbl.
  1363             userLabels := lbl.
  1364 
  1364 
  1365 	    (bd at:#updateDefaultResources) value ifTrue:[
  1365             (bd at:#updateDefaultResources) value ifTrue:[
  1366 		UserClass  := userClass.
  1366                 UserClass  := userClass.
  1367 		UserSpecs  := userSpecs.
  1367                 UserSpecs  := userSpecs.
  1368 		UserLabels := userLabels.
  1368                 UserLabels := userLabels.
  1369 	    ]
  1369             ]
  1370 	]
  1370         ]
  1371     ].
  1371     ].
  1372 !
  1372 !
  1373 
  1373 
  1374 paste:something
  1374 paste:something
  1375     "paste something at a point
  1375     "paste something at a point
  1376     "
  1376     "
  1377     |coll specs point device gallery ext spec|
  1377     |coll specs point device gallery ext spec|
  1378 
  1378 
  1379     clipBoardSpec isNil ifTrue:[
  1379     clipBoardSpec isNil ifTrue:[
  1380 	clipBoardSpec := SpecCollection new.
  1380         clipBoardSpec := SpecCollection new.
  1381 	clipBoardSpec collection:(OrderedCollection new).
  1381         clipBoardSpec collection:(OrderedCollection new).
  1382     ].
  1382     ].
  1383     coll    := clipBoardSpec collection.
  1383     coll    := clipBoardSpec collection.
  1384     gallery := self builder componentAt:#gallery.
  1384     gallery := self builder componentAt:#gallery.
  1385     device  := gallery device.
  1385     device  := gallery device.
  1386 
  1386 
  1387     point   := device translatePoint:(device pointerPosition)
  1387     point   := device translatePoint:(device pointerPosition)
  1388 				from:(device rootView id)
  1388                                 from:(device rootView id)
  1389 				  to:(gallery canvas id).
  1389                                   to:(gallery canvas id).
  1390 
  1390 
  1391     point y < 1 ifTrue:[point y:1].
  1391     point y < 1 ifTrue:[point y:1].
  1392     ext := gallery extent - (10@10).
  1392     ext := gallery extent - (10@10).
  1393 
  1393 
  1394     (specs := something) isCollection ifFalse:[
  1394     (specs := something) isCollection ifFalse:[
  1395 	specs := Array with:something
  1395         specs := Array with:something
  1396     ].
  1396     ].
  1397 
  1397 
  1398     specs do:[:aSpec|
  1398     specs do:[:aSpec|
  1399 	point x > ext x ifTrue:[point x:1].
  1399         point x > ext x ifTrue:[point x:1].
  1400 	point y > ext y ifTrue:[point y:1].
  1400         point y > ext y ifTrue:[point y:1].
  1401 
  1401 
  1402 	spec := aSpec copy.
  1402         spec := aSpec copy.
  1403 	spec layout:(LayoutOrigin fromPoint:point).
  1403         spec layout:(LayoutOrigin fromPoint:point).
  1404 	coll add:spec.
  1404         coll add:spec.
  1405 	point := point + (20@20).
  1405         point := point + (20@20).
  1406     ].
  1406     ].
  1407     gallery update.
  1407     gallery update.
  1408 !
  1408 !
  1409 
  1409 
  1410 raiseMenu
  1410 raiseMenu
  1413     |spec menu value paste|
  1413     |spec menu value paste|
  1414 
  1414 
  1415     spec := self clientSpec value.
  1415     spec := self clientSpec value.
  1416 
  1416 
  1417     spec notNil ifTrue:[
  1417     spec notNil ifTrue:[
  1418 	menu := self class menuSelected decodeAsLiteralArray.
  1418         menu := self class menuSelected decodeAsLiteralArray.
  1419 	self isClipBoard ifFalse:[
  1419         self isClipBoard ifFalse:[
  1420 	    (menu someMenuItemWithValue:#cut) disable.
  1420             (menu someMenuItemWithValue:#cut) disable.
  1421 	].
  1421         ].
  1422 
  1422 
  1423 	(value := menu startUp) == #cut ifTrue:[
  1423         (value := menu startUp) == #cut ifTrue:[
  1424 	    clipBoardSpec collection remove:spec ifAbsent:nil.
  1424             clipBoardSpec collection remove:spec ifAbsent:nil.
  1425 	    (self builder componentAt:#gallery) update.
  1425             (self builder componentAt:#gallery) update.
  1426 	] ifFalse:[
  1426         ] ifFalse:[
  1427 	    value == #copy ifTrue:[
  1427             value == #copy ifTrue:[
  1428 		self window setSelection:spec
  1428                 self window setSelection:spec
  1429 	    ]
  1429             ]
  1430 	].
  1430         ].
  1431       ^ self
  1431       ^ self
  1432     ].
  1432     ].
  1433 
  1433 
  1434     self isUserBoard ifTrue:[
  1434     self isUserBoard ifTrue:[
  1435 	^ self defineClassAndSelector
  1435         ^ self defineClassAndSelector
  1436     ].
  1436     ].
  1437 
  1437 
  1438     paste := self window getSelection.
  1438     paste := self window getSelection.
  1439 
  1439 
  1440     (self canPaste:paste) ifTrue:[
  1440     (self canPaste:paste) ifTrue:[
  1441 	menu := self class menuUnselected decodeAsLiteralArray.
  1441         menu := self class menuUnselected decodeAsLiteralArray.
  1442 
  1442 
  1443 	(menu startUp) == #paste ifTrue:[
  1443         (menu startUp) == #paste ifTrue:[
  1444 	    self paste:paste
  1444             self paste:paste
  1445 	]
  1445         ]
  1446     ].
  1446     ].
  1447 ! !
  1447 ! !
  1448 
  1448 
  1449 !UISelectionPanel methodsFor:'aspects'!
  1449 !UISelectionPanel methodsFor:'aspects'!
  1450 
  1450 
  1452     "automatically generated by UIPainter ..."
  1452     "automatically generated by UIPainter ..."
  1453 
  1453 
  1454     |holder|
  1454     |holder|
  1455 
  1455 
  1456     (holder := builder bindingAt:#clientSpec) isNil ifTrue:[
  1456     (holder := builder bindingAt:#clientSpec) isNil ifTrue:[
  1457 	builder aspectAt:#clientSpec put:(holder :=  ValueHolder new).
  1457         builder aspectAt:#clientSpec put:(holder :=  ValueHolder new).
  1458 	holder addDependent:self.
  1458         holder addDependent:self.
  1459     ].
  1459     ].
  1460     ^ holder
  1460     ^ holder
  1461 !
  1461 !
  1462 
  1462 
  1463 clipBoardSpec
  1463 clipBoardSpec
  1468     "automatically generated by UIPainter ..."
  1468     "automatically generated by UIPainter ..."
  1469 
  1469 
  1470     |holder|
  1470     |holder|
  1471 
  1471 
  1472     (holder := builder bindingAt:#galleryList) isNil ifTrue:[
  1472     (holder := builder bindingAt:#galleryList) isNil ifTrue:[
  1473 	builder aspectAt:#galleryList put:(holder :=  ValueHolder new).
  1473         builder aspectAt:#galleryList put:(holder :=  ValueHolder new).
  1474     ].
  1474     ].
  1475     ^ holder
  1475     ^ holder
  1476 !
  1476 !
  1477 
  1477 
  1478 galleryModel
  1478 galleryModel
  1479     "automatically generated by UIPainter ..."
  1479     "automatically generated by UIPainter ..."
  1480 
  1480 
  1481     |holder|
  1481     |holder|
  1482 
  1482 
  1483     (holder := builder bindingAt:#galleryModel) isNil ifTrue:[
  1483     (holder := builder bindingAt:#galleryModel) isNil ifTrue:[
  1484 	builder aspectAt:#galleryModel put:(holder :=  ValueHolder new).
  1484         builder aspectAt:#galleryModel put:(holder :=  ValueHolder new).
  1485     ].
  1485     ].
  1486     ^ holder
  1486     ^ holder
  1487 !
  1487 !
  1488 
  1488 
  1489 majorChannel
  1489 majorChannel
  1490     "automatically generated by UIPainter ..."
  1490     "automatically generated by UIPainter ..."
  1491 
  1491 
  1492     |holder|
  1492     |holder|
  1493 
  1493 
  1494     (holder := builder bindingAt:#majorChannel) isNil ifTrue:[
  1494     (holder := builder bindingAt:#majorChannel) isNil ifTrue:[
  1495 	holder := AspectAdaptor new subject:self; forAspect:#majorSelection.
  1495         holder := AspectAdaptor new subject:self; forAspect:#majorSelection.
  1496 	builder aspectAt:#majorChannel put:holder.
  1496         builder aspectAt:#majorChannel put:holder.
  1497     ].
  1497     ].
  1498     ^ holder
  1498     ^ holder
  1499 !
  1499 !
  1500 
  1500 
  1501 majorList
  1501 majorList
  1508     "automatically generated by UIPainter ..."
  1508     "automatically generated by UIPainter ..."
  1509 
  1509 
  1510     |holder|
  1510     |holder|
  1511 
  1511 
  1512     (holder := builder bindingAt:#minorKeys) isNil ifTrue:[
  1512     (holder := builder bindingAt:#minorKeys) isNil ifTrue:[
  1513 	builder aspectAt:#minorKeys put:(holder :=  ValueHolder new).
  1513         builder aspectAt:#minorKeys put:(holder :=  ValueHolder new).
  1514     ].
  1514     ].
  1515     ^ holder
  1515     ^ holder
  1516 ! !
  1516 ! !
  1517 
  1517 
  1518 !UISelectionPanel methodsFor:'change & update'!
  1518 !UISelectionPanel methodsFor:'change & update'!
  1521     "one of my models changed its value
  1521     "one of my models changed its value
  1522     "
  1522     "
  1523     |channel label topView|
  1523     |channel label topView|
  1524 
  1524 
  1525     (channel := self clientSpec) == changedObject ifTrue:[
  1525     (channel := self clientSpec) == changedObject ifTrue:[
  1526 	topView := builder window topView.
  1526         topView := builder window topView.
  1527 
  1527 
  1528 	(label := channel value) notNil ifTrue:[
  1528         (label := channel value) notNil ifTrue:[
  1529 	    topView label:label name, ' '.
  1529             topView label:label name, ' '.
  1530 	] ifFalse:[
  1530         ] ifFalse:[
  1531 	    topView label:'Widget Gallery '
  1531             topView label:'Widget Gallery '
  1532 	]
  1532         ]
  1533     ].
  1533     ].
  1534 
  1534 
  1535     super update:something with:aParameter from:changedObject.
  1535     super update:something with:aParameter from:changedObject.
  1536 
  1536 
  1537 
  1537 
  1548     |spc top|
  1548     |spc top|
  1549 
  1549 
  1550     top := DragAndDropManager dragOriginatorQuerySignal raise topView.
  1550     top := DragAndDropManager dragOriginatorQuerySignal raise topView.
  1551 
  1551 
  1552     top == aComponent topView ifTrue:[
  1552     top == aComponent topView ifTrue:[
  1553 	spc := self clientSpec value.
  1553         spc := self clientSpec value.
  1554 	spc isNil ifTrue:[^ self].
  1554         spc isNil ifTrue:[^ self].
  1555 
  1555 
  1556 	(clipBoardSpec collection remove:spc ifAbsent:nil) isNil ifTrue:[
  1556         (clipBoardSpec collection remove:spc ifAbsent:nil) isNil ifTrue:[
  1557 	    ^ self
  1557             ^ self
  1558 	].
  1558         ].
  1559     ] ifFalse:[
  1559     ] ifFalse:[
  1560 	spc := something collect:[:el| el theObject].
  1560         spc := something collect:[:el| el theObject].
  1561     ].
  1561     ].
  1562     self paste:spc.
  1562     self paste:spc.
  1563 ! !
  1563 ! !
  1564 
  1564 
  1565 !UISelectionPanel methodsFor:'queries'!
  1565 !UISelectionPanel methodsFor:'queries'!
  1566 
  1566 
  1567 canPaste:something
  1567 canPaste:something
  1568     "returns true if something could be paste
  1568     "returns true if something could be paste
  1569     "
  1569     "
  1570     (self isClipBoard and:[something notNil]) ifTrue:[
  1570     (self isClipBoard and:[something notNil]) ifTrue:[
  1571 	something isCollection ifTrue:[
  1571         something isCollection ifTrue:[
  1572 	    something notEmpty ifTrue:[
  1572             something notEmpty ifTrue:[
  1573 		^ (something at:1) isKindOf:UISpecification
  1573                 ^ (something at:1) isKindOf:UISpecification
  1574 	    ]
  1574             ]
  1575 	] ifFalse:[
  1575         ] ifFalse:[
  1576 	    ^ something isKindOf:UISpecification
  1576             ^ something isKindOf:UISpecification
  1577 	]
  1577         ]
  1578     ].
  1578     ].
  1579     ^ false
  1579     ^ false
  1580 
  1580 
  1581 !
  1581 !
  1582 
  1582 
  1583 isClipBoard
  1583 isClipBoard
  1584     "returns true if current view is clip board
  1584     "returns true if current view is clip board
  1585     "
  1585     "
  1586     majorSelection ~~ 0 ifTrue:[
  1586     majorSelection ~~ 0 ifTrue:[
  1587 	^ (self majorList at:majorSelection) startsWith:'Clip'
  1587         ^ (self majorList at:majorSelection) startsWith:'Clip'
  1588     ].
  1588     ].
  1589   ^ false
  1589   ^ false
  1590 !
  1590 !
  1591 
  1591 
  1592 isUserBoard
  1592 isUserBoard
  1593     "returns true if current view is clip board
  1593     "returns true if current view is clip board
  1594     "
  1594     "
  1595     majorSelection ~~ 0 ifTrue:[
  1595     majorSelection ~~ 0 ifTrue:[
  1596 	^ (self majorList at:majorSelection) startsWith:'User'
  1596         ^ (self majorList at:majorSelection) startsWith:'User'
  1597     ].
  1597     ].
  1598   ^ false
  1598   ^ false
  1599 ! !
  1599 ! !
  1600 
  1600 
  1601 !UISelectionPanel methodsFor:'selection'!
  1601 !UISelectionPanel methodsFor:'selection'!
  1606 
  1606 
  1607 majorSelection:aSelection
  1607 majorSelection:aSelection
  1608     |spec g gallery|
  1608     |spec g gallery|
  1609 
  1609 
  1610     (majorSelection == aSelection or:[aSelection == 0]) ifTrue:[
  1610     (majorSelection == aSelection or:[aSelection == 0]) ifTrue:[
  1611 	^ self
  1611         ^ self
  1612     ].
  1612     ].
  1613 
  1613 
  1614     (g := self builder componentAt:#gallery) notNil ifTrue:[
  1614     (g := self builder componentAt:#gallery) notNil ifTrue:[
  1615 	g builder:nil.
  1615         g builder:nil.
  1616     ].
  1616     ].
  1617 
  1617 
  1618     majorSelection := aSelection.
  1618     majorSelection := aSelection.
  1619     spec := ((self class specifications) at:majorSelection) last.
  1619     spec := ((self class specifications) at:majorSelection) last.
  1620 
  1620 
  1621     gallery := self galleryModel.
  1621     gallery := self galleryModel.
  1622     gallery value:0.
  1622     gallery value:0.
  1623     self minorKeys value:nil.
  1623     self minorKeys value:nil.
  1624 
  1624 
  1625     spec isSymbol ifFalse:[
  1625     spec isSymbol ifFalse:[
  1626 	self galleryList  value:(spec collect:[:a| a first]).
  1626         self galleryList  value:(spec collect:[:a| a first]).
  1627 	self minorKeys setValue:(spec collect:[:a| a last]).
  1627         self minorKeys setValue:(spec collect:[:a| a last]).
  1628     ] ifTrue:[
  1628     ] ifTrue:[
  1629 	self perform:spec.
  1629         self perform:spec.
  1630     ].
  1630     ].
  1631     gallery value:1.
  1631     gallery value:1.
  1632 
  1632 
  1633     "Modified: / 21.4.1998 / 11:59:08 / cg"
  1633     "Modified: / 21.4.1998 / 11:59:08 / cg"
  1634 ! !
  1634 ! !
  1637 
  1637 
  1638 closeRequest
  1638 closeRequest
  1639     |sav|
  1639     |sav|
  1640 
  1640 
  1641     (sav := masterApplication) notNil ifTrue:[
  1641     (sav := masterApplication) notNil ifTrue:[
  1642 	masterApplication := nil.
  1642         masterApplication := nil.
  1643 	sav closeRequestFor:(self window).
  1643         sav closeRequestFor:(self window).
  1644 	masterApplication := sav.
  1644         masterApplication := sav.
  1645     ] ifFalse:[
  1645     ] ifFalse:[
  1646 	super closeRequest.
  1646         super closeRequest.
  1647     ]
  1647     ]
  1648 
  1648 
  1649     "Modified: 28.7.1997 / 09:44:40 / cg"
  1649     "Modified: 28.7.1997 / 09:44:40 / cg"
  1650 !
  1650 !
  1651 
  1651 
  1669     |cls lbl sel builder|
  1669     |cls lbl sel builder|
  1670 
  1670 
  1671     cls := self resolveName:userClass.
  1671     cls := self resolveName:userClass.
  1672 
  1672 
  1673     (cls notNil and:[(cls respondsTo:userLabels)]) ifTrue:[
  1673     (cls notNil and:[(cls respondsTo:userLabels)]) ifTrue:[
  1674 	lbl := cls perform:userLabels.
  1674         lbl := cls perform:userLabels.
  1675 	sel := Array new:(lbl size) withAll:#userDefinedSpec.
  1675         sel := Array new:(lbl size) withAll:#userDefinedSpec.
  1676 	self galleryList value:lbl.
  1676         self galleryList value:lbl.
  1677 	self minorKeys   value:sel.
  1677         self minorKeys   value:sel.
  1678     ] ifFalse:[
  1678     ] ifFalse:[
  1679 	builder := UIBuilder new isEditing:true.
  1679         builder := UIBuilder new isEditing:true.
  1680 
  1680 
  1681 	builder application:self.
  1681         builder application:self.
  1682 	(self builder componentAt:#gallery) builder:builder. 
  1682         (self builder componentAt:#gallery) builder:builder. 
  1683 	self galleryList value:#( '???' ).
  1683         self galleryList value:#( '???' ).
  1684 	self minorKeys   value:#( standardUserPanel ).
  1684         self minorKeys   value:#( standardUserPanel ).
  1685     ]
  1685     ]
  1686 !
  1686 !
  1687 
  1687 
  1688 userDefinedHelpText
  1688 userDefinedHelpText
  1689 
  1689 
  1698     |cls spc idx|
  1698     |cls spc idx|
  1699 
  1699 
  1700     cls := self resolveName:userClass.
  1700     cls := self resolveName:userClass.
  1701 
  1701 
  1702     (cls notNil and:[(cls respondsTo:userSpecs)]) ifTrue:[
  1702     (cls notNil and:[(cls respondsTo:userSpecs)]) ifTrue:[
  1703 	spc := cls perform:userSpecs.
  1703         spc := cls perform:userSpecs.
  1704 	idx := self galleryModel value.
  1704         idx := self galleryModel value.
  1705 
  1705 
  1706 	idx <= spc size ifTrue:[
  1706         idx <= spc size ifTrue:[
  1707 	    spc := spc at:idx.
  1707             spc := spc at:idx.
  1708 	    (cls respondsTo:spc) ifTrue:[
  1708             (cls respondsTo:spc) ifTrue:[
  1709 		^ cls perform:spc
  1709                 ^ cls perform:spc
  1710 	    ]
  1710             ]
  1711 	]
  1711         ]
  1712     ].
  1712     ].
  1713   ^ nil
  1713   ^ nil
  1714 ! !
  1714 ! !
  1715 
  1715 
  1716 !UISelectionPanel::UserDefinedGallery class methodsFor:'class initialization'!
  1716 !UISelectionPanel::UserDefinedGallery class methodsFor:'class initialization'!
  1723     SelectorList := self defaultListOfSelectors asOrderedCollection.
  1723     SelectorList := self defaultListOfSelectors asOrderedCollection.
  1724     HolderList := OrderedCollection new grow:(SelectorList size).
  1724     HolderList := OrderedCollection new grow:(SelectorList size).
  1725     NextUniqueNumber := 1.
  1725     NextUniqueNumber := 1.
  1726 
  1726 
  1727     UISelectionPanel 
  1727     UISelectionPanel 
  1728 	userClass:self
  1728         userClass:self
  1729 	specSelector:#listOfSelectors
  1729         specSelector:#listOfSelectors
  1730 	labelSelector:#listOfLabels.
  1730         labelSelector:#listOfLabels.
  1731 
  1731 
  1732     "
  1732     "
  1733      self initialize
  1733      self initialize
  1734     "
  1734     "
  1735 
  1735 
  1738 ! !
  1738 ! !
  1739 
  1739 
  1740 !UISelectionPanel::UserDefinedGallery class methodsFor:'defaults'!
  1740 !UISelectionPanel::UserDefinedGallery class methodsFor:'defaults'!
  1741 
  1741 
  1742 defaultListOfLabels
  1742 defaultListOfLabels
  1743     ^ #( 'Clocks etc.' )
  1743     ^ #( 'Clocks etc.' 'Business Graphics' )
  1744 
  1744 
  1745     "Created: / 8.12.1997 / 18:50:06 / cg"
  1745     "Created: / 8.12.1997 / 18:50:06 / cg"
  1746     "Modified: / 16.6.1998 / 10:20:12 / cg"
  1746     "Modified: / 16.6.1998 / 10:20:12 / cg"
  1747 !
  1747 !
  1748 
  1748 
  1749 defaultListOfSelectors
  1749 defaultListOfSelectors
  1750     ^ #( clocksSpec )
  1750     ^ #( clocksSpec businessGraphicsSpec)
  1751 
  1751 
  1752     "Modified: / 5.12.1997 / 14:03:55 / cg"
  1752     "Modified: / 5.12.1997 / 14:03:55 / cg"
  1753     "Created: / 8.12.1997 / 18:50:21 / cg"
  1753     "Created: / 8.12.1997 / 18:50:21 / cg"
  1754 ! !
  1754 ! !
  1755 
  1755 
  1756 !UISelectionPanel::UserDefinedGallery class methodsFor:'documentation'!
  1756 !UISelectionPanel::UserDefinedGallery class methodsFor:'documentation'!
  1757 
  1757 
  1758 copyright
  1758 copyright
  1759 "
  1759 "
  1760  COPYRIGHT (c) 1997 by eXept Software AG
  1760  COPYRIGHT (c) 1997 by eXept Software AG
  1761 	      All Rights Reserved
  1761               All Rights Reserved
  1762 
  1762 
  1763  This software is furnished under a license and may be used
  1763  This software is furnished under a license and may be used
  1764  only in accordance with the terms of that license and with the
  1764  only in accordance with the terms of that license and with the
  1765  inclusion of the above copyright notice.   This software may not
  1765  inclusion of the above copyright notice.   This software may not
  1766  be provided or otherwise made available to, or used by, any
  1766  be provided or otherwise made available to, or used by, any
  1785     or #removeUserSpecWithLabel:.
  1785     or #removeUserSpecWithLabel:.
  1786     Typically, this is done when a framework is loaded, by one of the
  1786     Typically, this is done when a framework is loaded, by one of the
  1787     frameworks class-initialization methods.
  1787     frameworks class-initialization methods.
  1788 
  1788 
  1789     [start with:]
  1789     [start with:]
  1790 	UISelectionPanel open
  1790         UISelectionPanel open
  1791 
  1791 
  1792     [author:]
  1792     [author:]
  1793 	Claus Gittinger
  1793         Claus Gittinger
  1794 	Claus Atzkern
  1794         Claus Atzkern
  1795 
  1795 
  1796     [see also:]
  1796     [see also:]
  1797 	TabView
  1797         TabView
  1798 	NoteBookView
  1798         NoteBookView
  1799 	UIGalleryView
  1799         UIGalleryView
  1800 	UIPainter
  1800         UIPainter
  1801 
  1801 
  1802 "
  1802 "
  1803 
  1803 
  1804 
  1804 
  1805 ! !
  1805 ! !
  1817     syntheticSelector := ('userSpec' , NextUniqueNumber printString) asSymbol.
  1817     syntheticSelector := ('userSpec' , NextUniqueNumber printString) asSymbol.
  1818     NextUniqueNumber := NextUniqueNumber + 1.
  1818     NextUniqueNumber := NextUniqueNumber + 1.
  1819 
  1819 
  1820     idx := LabelList indexOf:aLabelString.
  1820     idx := LabelList indexOf:aLabelString.
  1821     idx ~~ 0 ifTrue:[
  1821     idx ~~ 0 ifTrue:[
  1822 	SelectorList at:idx put:syntheticSelector.
  1822         SelectorList at:idx put:syntheticSelector.
  1823 	HolderList at:idx put:aValueHolder
  1823         HolderList at:idx put:aValueHolder
  1824     ] ifFalse:[
  1824     ] ifFalse:[
  1825 	LabelList addLast:aLabelString.
  1825         LabelList addLast:aLabelString.
  1826 	SelectorList addLast:syntheticSelector.
  1826         SelectorList addLast:syntheticSelector.
  1827 	HolderList addLast:aValueHolder
  1827         HolderList addLast:aValueHolder
  1828     ]
  1828     ]
  1829 
  1829 
  1830     "Modified: / 5.12.1997 / 14:13:17 / cg"
  1830     "Modified: / 5.12.1997 / 14:13:17 / cg"
  1831     "Created: / 8.12.1997 / 18:50:55 / cg"
  1831     "Created: / 8.12.1997 / 18:50:55 / cg"
  1832 !
  1832 !
  1836 
  1836 
  1837     |idx|
  1837     |idx|
  1838 
  1838 
  1839     idx := LabelList indexOf:aLabelString.
  1839     idx := LabelList indexOf:aLabelString.
  1840     idx ~~ 0 ifTrue:[
  1840     idx ~~ 0 ifTrue:[
  1841 	LabelList removeIndex:idx.
  1841         LabelList removeIndex:idx.
  1842 	SelectorList removeIndex:idx.
  1842         SelectorList removeIndex:idx.
  1843 	HolderList removeIndex:idx
  1843         HolderList removeIndex:idx
  1844     ].
  1844     ].
  1845 
  1845 
  1846     "Modified: / 5.12.1997 / 14:13:45 / cg"
  1846     "Modified: / 5.12.1997 / 14:13:45 / cg"
  1847     "Created: / 8.12.1997 / 18:51:03 / cg"
  1847     "Created: / 8.12.1997 / 18:51:03 / cg"
  1848 ! !
  1848 ! !
  1849 
  1849 
  1850 !UISelectionPanel::UserDefinedGallery class methodsFor:'user defined gallery'!
  1850 !UISelectionPanel::UserDefinedGallery class methodsFor:'user defined gallery'!
  1851 
  1851 
       
  1852 businessGraphicsSpec
       
  1853     "This resource specification was automatically generated
       
  1854      by the UIPainter of ST/X."
       
  1855 
       
  1856     "Do not manually edit this!! If it is corrupted,
       
  1857      the UIPainter may not be able to read the specification."
       
  1858 
       
  1859     "
       
  1860      UIPainter new openOnClass:UISelectionPanel::UserDefinedGallery andSelector:#businessGraphicsSpec
       
  1861      UISelectionPanel::UserDefinedGallery new openInterface:#businessGraphicsSpec
       
  1862     "
       
  1863 
       
  1864     <resource: #canvas>
       
  1865 
       
  1866     ^
       
  1867      
       
  1868        #(#FullSpec
       
  1869           #window: 
       
  1870            #(#WindowSpec
       
  1871               #name: 'Interface Builder'
       
  1872               #layout: #(#LayoutFrame 6 0 582 0 385 0 852 0)
       
  1873               #label: 'Interface Builder'
       
  1874               #min: #(#Point 10 10)
       
  1875               #max: #(#Point 1280 1024)
       
  1876               #bounds: #(#Rectangle 6 582 386 853)
       
  1877               #usePreferredExtent: false
       
  1878           )
       
  1879           #component: 
       
  1880            #(#SpecCollection
       
  1881               #collection: 
       
  1882                #(
       
  1883                  #(#LabelSpec
       
  1884                     #name: 'Label2'
       
  1885                     #layout: #(#LayoutFrame 5 0 5 0 70 0 20 0)
       
  1886                     #label: 'PieChart'
       
  1887                     #translateLabel: true
       
  1888                     #canUIDrag: false
       
  1889                 )
       
  1890                  #(#PieChartWidgetSpec
       
  1891                     #name: 'PIE Chart'
       
  1892                     #layout: #(#LayoutFrame 15 0 21 0 103 0 141 0)
       
  1893                 )
       
  1894                  #(#LabelSpec
       
  1895                     #name: 'Label1'
       
  1896                     #layout: #(#LayoutFrame 16 0.0 146 0 131 0 161 0)
       
  1897                     #label: 'ChartDescription'
       
  1898                     #translateLabel: true
       
  1899                     #adjust: #left
       
  1900                     #canUIDrag: false
       
  1901                 )
       
  1902                  #(#ChartDescriptionSpec
       
  1903                     #name: 'Chart Legend'
       
  1904                     #layout: #(#LayoutFrame 14 0.0 -4 0.656827 14 0.323684 -4 1.0)
       
  1905                 )
       
  1906                  #(#LabelSpec
       
  1907                     #name: 'Label3'
       
  1908                     #layout: #(#LayoutFrame 115 0 5 0 180 0 20 0)
       
  1909                     #label: 'BarChart'
       
  1910                     #translateLabel: true
       
  1911                     #canUIDrag: false
       
  1912                 )
       
  1913                  #(#BarChartWidgetSpec
       
  1914                     #name: 'Bar Chart'
       
  1915                     #layout: #(#LayoutFrame 121 0 21 0 232 0 141 0)
       
  1916                 )
       
  1917               )
       
  1918           )
       
  1919       )
       
  1920 !
       
  1921 
  1852 clocksSpec
  1922 clocksSpec
  1853     "This resource specification was automatically generated
  1923     "This resource specification was automatically generated
  1854      by the UIPainter of ST/X."
  1924      by the UIPainter of ST/X."
  1855 
  1925 
  1856     "Do not manually edit this!! If it is corrupted,
  1926     "Do not manually edit this!! If it is corrupted,
  1864     <resource: #canvas>
  1934     <resource: #canvas>
  1865 
  1935 
  1866     ^
  1936     ^
  1867      
  1937      
  1868        #(#FullSpec
  1938        #(#FullSpec
  1869 	  #window: 
  1939           #window: 
  1870 	   #(#WindowSpec
  1940            #(#WindowSpec
  1871 	      #name: 'Interface Builder'
  1941               #name: 'Interface Builder'
  1872 	      #layout: #(#LayoutFrame 402 0 59 0 781 0 329 0)
  1942               #layout: #(#LayoutFrame 402 0 59 0 781 0 329 0)
  1873 	      #label: 'Interface Builder'
  1943               #label: 'Interface Builder'
  1874 	      #min: #(#Point 10 10)
  1944               #min: #(#Point 10 10)
  1875 	      #max: #(#Point 1280 1024)
  1945               #max: #(#Point 1280 1024)
  1876 	      #bounds: #(#Rectangle 402 59 782 330)
  1946               #bounds: #(#Rectangle 402 59 782 330)
  1877 	      #usePreferredExtent: false
  1947               #usePreferredExtent: false
  1878 	  )
  1948           )
  1879 	  #component: 
  1949           #component: 
  1880 	   #(#SpecCollection
  1950            #(#SpecCollection
  1881 	      #collection: 
  1951               #collection: 
  1882 	       #(
  1952                #(
  1883 		 #(#ArbitraryComponentSpec
  1953                  #(#ArbitraryComponentSpec
  1884 		    #name: 'Analog Clock'
  1954                     #name: 'Analog Clock'
  1885 		    #layout: #(#LayoutFrame 15 0 39 0 129 0 151 0)
  1955                     #layout: #(#LayoutFrame 15 0 39 0 129 0 151 0)
  1886 		    #component: #ClockView
  1956                     #component: #ClockView
  1887 		    #hasBorder: false
  1957                     #hasBorder: false
  1888 		)
  1958                 )
  1889 		 #(#ArbitraryComponentSpec
  1959                  #(#ArbitraryComponentSpec
  1890 		    #name: 'Digital Clock'
  1960                     #name: 'Digital Clock'
  1891 		    #layout: #(#LayoutOrigin 15 0 176 0)
  1961                     #layout: #(#LayoutOrigin 15 0 176 0)
  1892 		    #component: #DigitalClockView
  1962                     #component: #DigitalClockView
  1893 		    #hasBorder: false
  1963                     #hasBorder: false
  1894 		)
  1964                 )
  1895 		 #(#ArbitraryComponentSpec
  1965                  #(#ArbitraryComponentSpec
  1896 		    #name: 'Digital Number display'
  1966                     #name: 'Digital Number display'
  1897 		    #layout: #(#LayoutOrigin 142 0 39 0)
  1967                     #layout: #(#LayoutOrigin 142 0 39 0)
  1898 		    #component: #DigitalLedDisplay
  1968                     #component: #DigitalLedDisplay
  1899 		    #hasBorder: false
  1969                     #hasBorder: false
  1900 		)
  1970                 )
  1901 		 #(#LabelSpec
  1971                  #(#LabelSpec
  1902 		    #name: 'Label1'
  1972                     #name: 'Label1'
  1903 		    #layout: #(#LayoutFrame 15 0 16 0 128 0 38 0)
  1973                     #layout: #(#LayoutFrame 15 0 16 0 128 0 38 0)
  1904 		    #label: 'Analog Clock'
  1974                     #label: 'Analog Clock'
  1905 		    #translateLabel: true
  1975                     #translateLabel: true
  1906 		    #adjust: #left
  1976                     #adjust: #left
  1907 		    #canUIDrag: false
  1977                     #canUIDrag: false
  1908 		)
  1978                 )
  1909 		 #(#LabelSpec
  1979                  #(#LabelSpec
  1910 		    #name: 'Label2'
  1980                     #name: 'Label2'
  1911 		    #layout: #(#LayoutFrame 142 0 16 0 270 0 38 0)
  1981                     #layout: #(#LayoutFrame 142 0 16 0 270 0 38 0)
  1912 		    #label: 'Number Display'
  1982                     #label: 'Number Display'
  1913 		    #translateLabel: true
  1983                     #translateLabel: true
  1914 		    #adjust: #left
  1984                     #adjust: #left
  1915 		    #canUIDrag: false
  1985                     #canUIDrag: false
  1916 		)
  1986                 )
  1917 		 #(#LabelSpec
  1987                  #(#LabelSpec
  1918 		    #name: 'Label3'
  1988                     #name: 'Label3'
  1919 		    #layout: #(#LayoutFrame 15 0 155 0 128 0 177 0)
  1989                     #layout: #(#LayoutFrame 15 0 155 0 128 0 177 0)
  1920 		    #label: 'Digital Clock'
  1990                     #label: 'Digital Clock'
  1921 		    #translateLabel: true
  1991                     #translateLabel: true
  1922 		    #adjust: #left
  1992                     #adjust: #left
  1923 		    #canUIDrag: false
  1993                     #canUIDrag: false
  1924 		)
  1994                 )
  1925 		 #(#MeterWidgetSpec
  1995                  #(#MeterWidgetSpec
  1926 		    #name: 'Meter Widget'
  1996                     #name: 'Meter Widget'
  1927 		    #layout: #(#Rectangle 143 101 248 216)
  1997                     #layout: #(#Rectangle 143 101 248 216)
  1928 		    #model: #meterValue
  1998                     #model: #meterValue
  1929 		)
  1999                 )
  1930 		 #(#LabelSpec
  2000                  #(#LabelSpec
  1931 		    #name: 'Label4'
  2001                     #name: 'Label4'
  1932 		    #layout: #(#LayoutFrame 142 0 74 0 269 0 96 0)
  2002                     #layout: #(#LayoutFrame 142 0 74 0 269 0 96 0)
  1933 		    #label: 'Meter Widget'
  2003                     #label: 'Meter Widget'
  1934 		    #translateLabel: true
  2004                     #translateLabel: true
  1935 		    #adjust: #left
  2005                     #adjust: #left
  1936 		    #canUIDrag: false
  2006                     #canUIDrag: false
  1937 		)
  2007                 )
  1938 	      )
  2008                  #(#MeterClackCounterSpec
  1939 	  )
  2009                     #name: 'Meter Clack Counter'
       
  2010                     #layout: #(#Rectangle 291 40 387 72)
       
  2011                     #model: #model
       
  2012                 )
       
  2013                  #(#LabelSpec
       
  2014                     #name: 'Label5'
       
  2015                     #layout: #(#LayoutFrame 290 0 16 0 417 0 38 0)
       
  2016                     #label: 'Meter Clack Counter'
       
  2017                     #translateLabel: true
       
  2018                     #adjust: #left
       
  2019                     #canUIDrag: false
       
  2020                 )
       
  2021               )
       
  2022           )
  1940       )
  2023       )
  1941 !
  2024 !
  1942 
  2025 
  1943 listOfLabels
  2026 listOfLabels
  1944     ^ LabelList
  2027     ^ LabelList
  1960     "catch queries for a userSpec"
  2043     "catch queries for a userSpec"
  1961 
  2044 
  1962     |sel idx|
  2045     |sel idx|
  1963 
  2046 
  1964     ((sel := aMessage selector) startsWith:'userSpec') ifTrue:[
  2047     ((sel := aMessage selector) startsWith:'userSpec') ifTrue:[
  1965 	idx := SelectorList indexOf:sel.
  2048         idx := SelectorList indexOf:sel.
  1966 	idx ~~ 0 ifTrue:[
  2049         idx ~~ 0 ifTrue:[
  1967 	    ^ (HolderList at:idx) value
  2050             ^ (HolderList at:idx) value
  1968 	]
  2051         ]
  1969     ].
  2052     ].
  1970     ^ super doesNotUnderstand:aMessage
  2053     ^ super doesNotUnderstand:aMessage
  1971 
  2054 
  1972     "Modified: / 5.12.1997 / 14:23:24 / cg"
  2055     "Modified: / 5.12.1997 / 14:23:24 / cg"
  1973     "Created: / 8.12.1997 / 18:51:50 / cg"
  2056     "Created: / 8.12.1997 / 18:51:50 / cg"
  1977     "catch queries for a userSpec"
  2060     "catch queries for a userSpec"
  1978 
  2061 
  1979     |idx|
  2062     |idx|
  1980 
  2063 
  1981     (aSelector startsWith:'userSpec') ifTrue:[
  2064     (aSelector startsWith:'userSpec') ifTrue:[
  1982 	idx := Number fromString:(aSelector copyFrom:9).
  2065         idx := Number fromString:(aSelector copyFrom:9).
  1983 	idx := SelectorList indexOf:aSelector.
  2066         idx := SelectorList indexOf:aSelector.
  1984 	idx ~~ 0 ifTrue:[^ true].
  2067         idx ~~ 0 ifTrue:[^ true].
  1985     ].
  2068     ].
  1986     ^ super respondsTo:aSelector
  2069     ^ super respondsTo:aSelector
  1987 
  2070 
  1988     "Modified: / 5.12.1997 / 14:19:55 / cg"
  2071     "Modified: / 5.12.1997 / 14:19:55 / cg"
  1989     "Created: / 8.12.1997 / 18:51:57 / cg"
  2072     "Created: / 8.12.1997 / 18:51:57 / cg"