# HG changeset patch # User tz # Date 886882944 -3600 # Node ID c8a99cea56f7e851b4b41bd381f32c27215c9c5c # Parent e5bc12d7af168f71f96bc8cae6904bc7d594de1d expand selected class node after opening diff -r e5bc12d7af16 -r c8a99cea56f7 ResourceSelectionBrowser.st --- a/ResourceSelectionBrowser.st Sat Feb 07 21:16:37 1998 +0100 +++ b/ResourceSelectionBrowser.st Sat Feb 07 21:22:24 1998 +0100 @@ -311,50 +311,6 @@ self valueOfSelector value: self selectionOfResource value selector ! ! -!ResourceSelectionBrowser methodsFor:'initialization'! - -postBuildWith:aBuilder - - |classSelection classSelectionBlock| - allClasses := Object withAllSubclasses. - classSelection := resourceClass ? self class lastSelection ? #Object. - classSelectionBlock := - [:clsPattern| - |foundClass classes| - ((foundClass := Smalltalk at: clsPattern asSymbol) isNil or: - [foundClass name ~= clsPattern]) - ifTrue: - [ - classes := allClasses select: [:cls| cls name size >= clsPattern size]. - 1 to: clsPattern size do: - [:i| - classes := classes select: [:cls| (cls name at: i) == (clsPattern at: i)]. - ]. - foundClass := classes at: 1 ifAbsent: [nil] - ]. - foundClass notNil - ifTrue: - [ - self listOfClassesView selectFromListOfNames: (foundClass - withAllSuperclasses reverse collect: [:cls| cls name asString]) - ]. - self valueOfClassName value: clsPattern - ]. - classSelectionBlock value: classSelection. - self valueOfClassName value: classSelection. - self selectionOfResource value: (self listOfResources detect: [:m| m selector == resourceMethod] ifNone: nil). - self classNameInputField entryCompletionBlock: - [:value| - |what| - what := Smalltalk classnameCompletion: value withoutSpaces. - self classNameInputField contents:what first. - (what at:2) size ~~ 1 ifTrue:[Display beep]. - classSelectionBlock value: self classNameInputField contents - ]. - ^super postBuildWith:aBuilder - -! ! - !ResourceSelectionBrowser methodsFor:'instance creation'! openOnSuperclass: aSuperclassOrSymbol andClass: aClassOrSymbol andSelector: aSelector withResourceTypes: aResourceTypes @@ -386,6 +342,53 @@ +! + +postBuildWith:aBuilder + + |classSelection classSelectionBlock| + allClasses := Object withAllSubclasses. + classSelection := resourceClass ? self class lastSelection ? #Object. + classSelectionBlock := + [:clsPattern| + |foundClass classes| + ((foundClass := Smalltalk at: clsPattern printString asSymbol) isClass not or: + [foundClass name ~= clsPattern]) + ifTrue: + [ + classes := allClasses select: [:cls| cls name size >= clsPattern size]. + 1 to: clsPattern size do: + [:i| + classes := classes select: [:cls| (cls name at: i) == (clsPattern at: i)]. + ]. + foundClass := classes at: 1 ifAbsent: [nil] + ]. + foundClass notNil + ifTrue: + [ + self listOfClassesView + selectFromListOfNames: (foundClass + withAllSuperclasses reverse collect: [:cls| cls name asString]); + selectedNodeExpand: true + ]. + self valueOfClassName value: clsPattern + ]. + classSelectionBlock value: classSelection. + self valueOfClassName value: classSelection. + self selectionOfResource value: (self listOfResources detect: [:m| m selector == resourceMethod] ifNone: nil). + self classNameInputField entryCompletionBlock: + [:value| + |what| + what := Smalltalk classnameCompletion: value withoutSpaces. + self classNameInputField contents:what first. + (what at:2) size ~~ 1 ifTrue:[Display beep]. + classSelectionBlock value: self classNameInputField contents + ]. + + self listOfClassesView selectedNodeExpand: true. + + ^super postBuildWith:aBuilder + ! ! !ResourceSelectionBrowser::Row methodsFor:'accessing'!