# HG changeset patch # User tz # Date 884428146 -3600 # Node ID e713820cb34649913f860281022668d1d9da885e # Parent 246e36541b1bbdf2c704c0e6133540c508ac1cd1 removed container diff -r 246e36541b1b -r e713820cb346 ResourceSelectionBrowser.st --- a/ResourceSelectionBrowser.st Sat Jan 10 11:25:55 1998 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,304 +0,0 @@ -SelectionBrowser subclass:#ResourceSelectionBrowser - instanceVariableNames:'resourceMethod resourceClass resourceSuperclass resourceSelector - resourceTypes' - classVariableNames:'' - poolDictionaries:'' - category:'Interface-Advanced-Tools' -! - - -!ResourceSelectionBrowser class methodsFor:'instance creation'! - -openOnSuperclass: aSuperclass class: aClass selector: aSelector resourceTypes: aResourceTypes - - ^self new openOnSuperclass: aSuperclass class: aClass selector: aSelector resourceTypes: aResourceTypes -! ! - -!ResourceSelectionBrowser class methodsFor:'interface specs'! - -windowSpec - "this window spec was automatically generated by the ST/X UIPainter" - - "do not manually edit this - the painter/builder may not be able to - handle the specification if its corrupted." - - " - UIPainter new openOnClass:ResourceBrowser andSelector:#windowSpec - ResourceBrowser new openInterface:#windowSpec - " - "ResourceBrowser open" - - - - ^ - - #(#FullSpec - #'window:' - #(#WindowSpec - #'name:' 'Resource Browser' - #'layout:' #(#LayoutFrame 541 0 280 0 940 0 579 0) - #'label:' 'Resource Browser' - #'min:' #(#Point 400 300) - #'max:' #(#Point 1152 864) - #'bounds:' #(#Rectangle 541 280 941 580) - #'usePreferredExtent:' false - ) - #'component:' - #(#SpecCollection - #'collection:' - #( - #(#VariableHorizontalPanelSpec - #'name:' 'variableHorizontalPanel' - #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 -40 1.0) - #'component:' - #(#SpecCollection - #'collection:' - #( - #(#ViewSpec - #'name:' 'view1' - #'component:' - #(#SpecCollection - #'collection:' - #( - #(#SelectionInTreeViewSpec - #'name:' 'listOfClassesView' - #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) - #'model:' #selectionOfClass - #'hasHorizontalScrollBar:' true - #'hasVerticalScrollBar:' true - #'miniScrollerHorizontal:' true - #'showRoot:' false - #'valueChangeSelector:' #'classSelected:' - #'hierarchicalList:' #listOfClasses - ) - ) - ) - #'level:' -1 - ) - #(#ViewSpec - #'name:' 'view2' - #'component:' - #(#SpecCollection - #'collection:' - #( - #(#DataSetSpec - #'name:' 'resourcesDataSetView' - #'layout:' #(#LayoutFrame 2 0.0 0 0.0 2 1.0 -22 1.0) - #'model:' #selectionOfResource - #'hasHorizontalScrollBar:' true - #'hasVerticalScrollBar:' true - #'miniScrollerHorizontal:' true - #'dataList:' #listOfResources - #'useIndex:' false - #'doubleClickSelector:' #resourceDoubleClicked - #'valueChangeSelector:' #resourceSelected - #'verticalSpacing:' 1 - #'columns:' - #( - #(#DataSetColumnSpec - #'width:' 20 - #'model:' #icon - #'printSelector:' #'iconOn:' - #'canSelect:' false - ) - #(#DataSetColumnSpec - #'label:' 'selector' - #'model:' #selector - #'canSelect:' false - ) - #(#DataSetColumnSpec - #'label:' 'resource' - #'model:' #resourceType - #'canSelect:' false - ) - ) - ) - #(#InputFieldSpec - #'name:' 'selectorInputField' - #'layout:' #(#LayoutFrame 2 0.0 -22 1 2 1.0 0 1) - #'model:' #valueOfSelector - ) - ) - ) - #'level:' -1 - ) - ) - ) - #'handles:' #(#Any 0.5 1.0) - ) - #(#HorizontalPanelViewSpec - #'name:' 'horizontalPanelView' - #'layout:' #(#LayoutFrame 0 0.0 -40 1 0 1.0 0 1.0) - #'component:' - #(#SpecCollection - #'collection:' - #( - #(#ActionButtonSpec - #'name:' 'actionButton2' - #'label:' 'Cancel' - #'model:' #cancel - #'extent:' #(#Point 99 22) - ) - #(#ActionButtonSpec - #'name:' 'actionButton1' - #'label:' 'OK' - #'model:' #accept - #'extent:' #(#Point 99 22) - ) - ) - ) - #'level:' 1 - #'horizontalLayout:' #center - #'verticalLayout:' #center - #'horizontalSpace:' 3 - #'verticalSpace:' 3 - ) - ) - ) - ) -! ! - -!ResourceSelectionBrowser methodsFor:'actions'! - -classSelected - |a| - self selectionOfClass value isNil ifTrue: [^nil]. - self listOfResources contents: - (a := (Smalltalk at: self selectionOfClass value name ) class methodDictionary -asOrderedCollection select: [:m| m resources notNil]). - -! - -classSelected: anIndex - - self selectionOfClass value isNil ifTrue: [^nil]. - self withWaitCursorDo: - [ - |clsName| - clsName := ((builder componentAt: #listOfClassesView) list at: anIndex). - self class lastSelection: clsName. - self listOfResources contents: - ((Smalltalk at: clsName) - class methodDictionary - asOrderedCollection select: - [:m| m resources notNil and: [resourceTypes includes: m resourceType]]). - ] -! - -closeCancel - - resourceMethod := nil. - super closeCancel -! - -resourceDoubleClicked - - resourceMethod := self selectionOfResource value. - accept value: true. - self close -! - -resourceSelected - - resourceMethod := self selectionOfResource value. - self valueOfSelector value: self selectionOfResource value selector -! ! - -!ResourceSelectionBrowser methodsFor:'aspects'! - -listOfClasses - - |holder| - (holder := builder bindingAt:#listOfClasses) isNil ifTrue:[ - builder aspectAt:#listOfClasses put:(holder := TreeItem newAsTreeFromSmalltalkClass: - (Smalltalk at: resourceSuperclass)). - ]. - ^ holder - - -! - -listOfResources - "automatically generated by UIPainter ..." - - "*** the code below creates a default model when invoked." - "*** (which may not be the one you wanted)" - "*** Please change as required and accept in the browser." - - |holder| - - (holder := builder bindingAt:#listOfResources) isNil ifTrue:[ - builder aspectAt:#listOfResources put:(holder := List new). - ]. - ^ holder -! - -selectionOfClass - - |holder| - - (holder := builder bindingAt:#selectionOfClass) isNil ifTrue:[ - builder aspectAt:#selectionOfClass put:(holder := ValueHolder new). - ]. - ^ holder -! - -selectionOfResource - - |holder| - - (holder := builder bindingAt:#selectionOfResource) isNil ifTrue:[ - builder aspectAt:#selectionOfResource put:(holder := ValueHolder new). - ]. - ^ holder -! - -valueOfSelector - "automatically generated by UIPainter ..." - - "*** the code below creates a default model when invoked." - "*** (which may not be the one you wanted)" - "*** Please change as required and accept in the browser." - - |holder| - - (holder := builder bindingAt:#valueOfSelector) isNil ifTrue:[ - builder aspectAt:#valueOfSelector put:(holder := ValueHolder new). - ]. - ^ holder -! ! - -!ResourceSelectionBrowser methodsFor:'initialization'! - -postBuildWith:aBuilder - - resourceClass notNil ifTrue: - [(builder componentAt: #listOfClassesView) selectFromListOfNames: - (((Smalltalk at: self class lastSelection ? resourceClass ifAbsent: [Object])) withAllSuperclasses reverse collect: [:cls| cls name asString])]. - ^super postBuildWith:aBuilder - -! ! - -!ResourceSelectionBrowser methodsFor:'instance creation'! - -openOnSuperclass: aSuperclass class: aClass selector: aSelector resourceTypes: aResourceTypes - - resourceTypes := aResourceTypes. - resourceSuperclass := aSuperclass. - resourceClass := aClass. - resourceSelector := aSelector. - - self open. - accept value - ifTrue: - [ - ^self selectionOfClass value name, ' ', self valueOfSelector value - ]. - ^nil -! ! - -!ResourceSelectionBrowser class methodsFor:'documentation'! - -version - ^ '$Header$' -! !