ResourceSelectionBrowser.st
changeset 623 c8a99cea56f7
parent 619 36c9d07f7dc3
child 632 930b778d5e28
equal deleted inserted replaced
622:e5bc12d7af16 623:c8a99cea56f7
   309 
   309 
   310     resourceMethod := self selectionOfResource value.
   310     resourceMethod := self selectionOfResource value.
   311     self valueOfSelector value: self selectionOfResource value selector
   311     self valueOfSelector value: self selectionOfResource value selector
   312 ! !
   312 ! !
   313 
   313 
   314 !ResourceSelectionBrowser methodsFor:'initialization'!
   314 !ResourceSelectionBrowser methodsFor:'instance creation'!
       
   315 
       
   316 openOnSuperclass: aSuperclassOrSymbol andClass: aClassOrSymbol andSelector: aSelector withResourceTypes: aResourceTypes
       
   317 
       
   318     |cls sel|
       
   319     resourceMethod := aSelector.
       
   320     resourceTypes := aResourceTypes.
       
   321     resourceSuperclass := aSuperclassOrSymbol isClass ifTrue: [aSuperclassOrSymbol name] ifFalse: [aSuperclassOrSymbol].
       
   322     resourceClass := aClassOrSymbol isClass ifTrue: [aClassOrSymbol name] ifFalse: [aClassOrSymbol].
       
   323     self valueOfSelector value:(aSelector ? '').
       
   324 
       
   325     self open.
       
   326 
       
   327     (self selectionOfClass value notNil 
       
   328      and:[(cls := Smalltalk at: self selectionOfClass value name) isClass 
       
   329           and:[accept value]]
       
   330     ) ifTrue:[
       
   331         ^cls name, ' ', self valueOfSelector value
       
   332     ].
       
   333     ^nil
       
   334 ! !
       
   335 
       
   336 !ResourceSelectionBrowser methodsFor:'startup / release'!
       
   337 
       
   338 closeCancel
       
   339 
       
   340     resourceMethod := nil.
       
   341     super closeCancel
       
   342 
       
   343 
       
   344 
       
   345 !
   315 
   346 
   316 postBuildWith:aBuilder
   347 postBuildWith:aBuilder
   317 
   348 
   318     |classSelection classSelectionBlock|
   349     |classSelection classSelectionBlock|
   319     allClasses := Object withAllSubclasses.
   350     allClasses := Object withAllSubclasses.
   320     classSelection :=  resourceClass ? self class lastSelection ? #Object.
   351     classSelection :=  resourceClass ? self class lastSelection ? #Object.
   321     classSelectionBlock := 
   352     classSelectionBlock := 
   322     [:clsPattern|                                  
   353     [:clsPattern|                                  
   323         |foundClass classes|         
   354         |foundClass classes|         
   324         ((foundClass := Smalltalk at: clsPattern asSymbol) isNil or:
   355         ((foundClass := Smalltalk at: clsPattern printString asSymbol) isClass not or:
   325         [foundClass name ~= clsPattern])
   356         [foundClass name ~= clsPattern])
   326         ifTrue:
   357         ifTrue:
   327         [
   358         [
   328             classes := allClasses select: [:cls| cls name size >= clsPattern size].
   359             classes := allClasses select: [:cls| cls name size >= clsPattern size].
   329             1 to: clsPattern size do: 
   360             1 to: clsPattern size do: 
   333             foundClass := classes at: 1 ifAbsent: [nil] 
   364             foundClass := classes at: 1 ifAbsent: [nil] 
   334         ].
   365         ].
   335         foundClass notNil
   366         foundClass notNil
   336         ifTrue:
   367         ifTrue:
   337         [
   368         [
   338             self listOfClassesView selectFromListOfNames: (foundClass 
   369             self listOfClassesView 
   339                 withAllSuperclasses reverse collect: [:cls| cls name asString])
   370                 selectFromListOfNames: (foundClass 
       
   371                     withAllSuperclasses reverse collect: [:cls| cls name asString]);
       
   372                 selectedNodeExpand: true
   340         ].
   373         ].
   341         self valueOfClassName value: clsPattern
   374         self valueOfClassName value: clsPattern
   342     ].
   375     ].
   343     classSelectionBlock value: classSelection.
   376     classSelectionBlock value: classSelection.
   344     self valueOfClassName value: classSelection.
   377     self valueOfClassName value: classSelection.
   349         what := Smalltalk classnameCompletion: value withoutSpaces.
   382         what := Smalltalk classnameCompletion: value withoutSpaces.
   350         self classNameInputField contents:what first.
   383         self classNameInputField contents:what first.
   351         (what at:2) size ~~ 1 ifTrue:[Display beep].
   384         (what at:2) size ~~ 1 ifTrue:[Display beep].
   352         classSelectionBlock value: self classNameInputField contents
   385         classSelectionBlock value: self classNameInputField contents
   353     ].
   386     ].
       
   387 
       
   388     self listOfClassesView selectedNodeExpand: true.
       
   389 
   354     ^super postBuildWith:aBuilder
   390     ^super postBuildWith:aBuilder
   355 
       
   356 ! !
       
   357 
       
   358 !ResourceSelectionBrowser methodsFor:'instance creation'!
       
   359 
       
   360 openOnSuperclass: aSuperclassOrSymbol andClass: aClassOrSymbol andSelector: aSelector withResourceTypes: aResourceTypes
       
   361 
       
   362     |cls sel|
       
   363     resourceMethod := aSelector.
       
   364     resourceTypes := aResourceTypes.
       
   365     resourceSuperclass := aSuperclassOrSymbol isClass ifTrue: [aSuperclassOrSymbol name] ifFalse: [aSuperclassOrSymbol].
       
   366     resourceClass := aClassOrSymbol isClass ifTrue: [aClassOrSymbol name] ifFalse: [aClassOrSymbol].
       
   367     self valueOfSelector value:(aSelector ? '').
       
   368 
       
   369     self open.
       
   370 
       
   371     (self selectionOfClass value notNil 
       
   372      and:[(cls := Smalltalk at: self selectionOfClass value name) isClass 
       
   373           and:[accept value]]
       
   374     ) ifTrue:[
       
   375         ^cls name, ' ', self valueOfSelector value
       
   376     ].
       
   377     ^nil
       
   378 ! !
       
   379 
       
   380 !ResourceSelectionBrowser methodsFor:'startup / release'!
       
   381 
       
   382 closeCancel
       
   383 
       
   384     resourceMethod := nil.
       
   385     super closeCancel
       
   386 
       
   387 
       
   388 
   391 
   389 ! !
   392 ! !
   390 
   393 
   391 !ResourceSelectionBrowser::Row methodsFor:'accessing'!
   394 !ResourceSelectionBrowser::Row methodsFor:'accessing'!
   392 
   395