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 |