equal
deleted
inserted
replaced
11 " |
11 " |
12 |
12 |
13 |
13 |
14 SelectionBrowser subclass:#ResourceSelectionBrowser |
14 SelectionBrowser subclass:#ResourceSelectionBrowser |
15 instanceVariableNames:'resourceMethod resourceClass resourceSuperclass resourceTypes |
15 instanceVariableNames:'resourceMethod resourceClass resourceSuperclass resourceTypes |
16 allClasses classSelectionBlock' |
16 allClasses classSelectionBlock classAndResourceSelectionProcess' |
17 classVariableNames:'' |
17 classVariableNames:'' |
18 poolDictionaries:'' |
18 poolDictionaries:'' |
19 category:'Interface-Dialogs' |
19 category:'Interface-Dialogs' |
20 ! |
20 ! |
21 |
21 |
514 |
514 |
515 !ResourceSelectionBrowser methodsFor:'instance creation'! |
515 !ResourceSelectionBrowser methodsFor:'instance creation'! |
516 |
516 |
517 openOnSuperclass: aSuperclassOrSymbol andClass: aClassOrSymbol andSelector: aSelector withResourceTypes: aResourceTypes |
517 openOnSuperclass: aSuperclassOrSymbol andClass: aClassOrSymbol andSelector: aSelector withResourceTypes: aResourceTypes |
518 |
518 |
519 |cls clsName| |
519 |clsName| |
520 resourceMethod := aSelector. |
520 resourceMethod := aSelector. |
521 resourceTypes := aResourceTypes. |
521 resourceTypes := aResourceTypes. |
522 resourceSuperclass := aSuperclassOrSymbol isClass ifTrue: [aSuperclassOrSymbol name] ifFalse: [aSuperclassOrSymbol]. |
522 resourceSuperclass := aSuperclassOrSymbol isClass ifTrue: [aSuperclassOrSymbol name] ifFalse: [aSuperclassOrSymbol]. |
523 resourceClass := aClassOrSymbol isClass |
523 resourceClass := aClassOrSymbol isClass |
524 ifTrue: [aClassOrSymbol name] |
524 ifTrue: [aClassOrSymbol name] |
527 ifFalse: [nil]]. |
527 ifFalse: [nil]]. |
528 self valueOfSelector value:(aSelector ? ''). |
528 self valueOfSelector value:(aSelector ? ''). |
529 |
529 |
530 self open. |
530 self open. |
531 |
531 |
532 clsName := (self selectionOfClass value name upTo: $ ) asSymbol. |
532 (clsName := self selectionOfClass value) isNil ifTrue: [^nil]. |
533 |
533 clsName := (clsName name upTo: $ ) asSymbol. |
534 (self selectionOfClass value notNil and: |
534 |
535 [(cls := Smalltalk at: clsName) isClass and: |
535 ((Smalltalk at: clsName) isClass and: [accept value]) |
536 [accept value]]) |
|
537 ifTrue: |
536 ifTrue: |
538 [ |
537 [ |
539 ^clsName, ' ', self valueOfSelector value |
538 ^clsName, ' ', self valueOfSelector value |
540 ]. |
539 ]. |
541 ^nil |
540 ^nil |
544 !ResourceSelectionBrowser methodsFor:'startup / release'! |
543 !ResourceSelectionBrowser methodsFor:'startup / release'! |
545 |
544 |
546 closeCancel |
545 closeCancel |
547 |
546 |
548 resourceMethod := nil. |
547 resourceMethod := nil. |
|
548 classAndResourceSelectionProcess notNil ifTrue: [classAndResourceSelectionProcess terminate]. |
549 super closeCancel |
549 super closeCancel |
550 |
550 |
551 |
551 |
552 |
552 |
553 ! |
553 ! |
595 classSelectionBlock value: self classNameInputField contents |
595 classSelectionBlock value: self classNameInputField contents |
596 ]. |
596 ]. |
597 self listOfClassesView validateDoubleClickBlock: [:aTreeItem | aTreeItem contents ~~ self treeViewContents]. |
597 self listOfClassesView validateDoubleClickBlock: [:aTreeItem | aTreeItem contents ~~ self treeViewContents]. |
598 self listOfClassesView selectedNodeExpand: true. |
598 self listOfClassesView selectedNodeExpand: true. |
599 |
599 |
|
600 classAndResourceSelectionProcess := |
600 [ |
601 [ |
601 [classSelectionBlock value: classSelection] value. |
602 [classSelectionBlock value: classSelection] value. |
602 self selectionOfResource value: (self listOfResources detect: [:m| m selector == resourceMethod] ifNone: nil) |
603 self selectionOfResource value: (self listOfResources detect: [:m| m selector == resourceMethod] ifNone: nil). |
|
604 classAndResourceSelectionProcess := nil |
603 ] |
605 ] |
604 forkAt: 4. |
606 forkAt: 4. |
605 |
607 |
606 ^super postBuildWith:aBuilder |
608 ^super postBuildWith:aBuilder |
607 |
609 |