85 |
86 |
86 #(#FullSpec |
87 #(#FullSpec |
87 #'window:' |
88 #'window:' |
88 #(#WindowSpec |
89 #(#WindowSpec |
89 #'name:' 'Resource Browser' |
90 #'name:' 'Resource Browser' |
90 #'layout:' #(#LayoutFrame 195 0 357 0 606 0 656 0) |
91 #'layout:' #(#LayoutFrame 315 0 311 0 726 0 610 0) |
91 #'label:' 'Resource Browser' |
92 #'label:' 'Resource Browser' |
92 #'min:' #(#Point 400 300) |
93 #'min:' #(#Point 400 300) |
93 #'max:' #(#Point 1152 864) |
94 #'max:' #(#Point 1152 864) |
94 #'bounds:' #(#Rectangle 195 357 607 657) |
95 #'bounds:' #(#Rectangle 315 311 727 611) |
95 #'usePreferredExtent:' false |
96 #'usePreferredExtent:' false |
96 ) |
97 ) |
97 #'component:' |
98 #'component:' |
98 #(#SpecCollection |
99 #(#SpecCollection |
99 #'collection:' |
100 #'collection:' |
145 #'hasHorizontalScrollBar:' true |
146 #'hasHorizontalScrollBar:' true |
146 #'hasVerticalScrollBar:' true |
147 #'hasVerticalScrollBar:' true |
147 #'miniScrollerHorizontal:' true |
148 #'miniScrollerHorizontal:' true |
148 #'dataList:' #listOfResources |
149 #'dataList:' #listOfResources |
149 #'useIndex:' false |
150 #'useIndex:' false |
|
151 #'has3Dsepartors:' true |
150 #'doubleClickSelector:' #resourceDoubleClicked |
152 #'doubleClickSelector:' #resourceDoubleClicked |
151 #'valueChangeSelector:' #resourceSelected |
153 #'valueChangeSelector:' #resourceSelected |
152 #'verticalSpacing:' 1 |
154 #'verticalSpacing:' 1 |
153 #'columns:' |
155 #'columns:' |
154 #( |
156 #( |
155 #(#DataSetColumnSpec |
157 #(#DataSetColumnSpec |
156 #'width:' 20 |
158 #'width:' 20 |
157 #'height:' 24 |
|
158 #'printSelector:' #'iconOn:' |
159 #'printSelector:' #'iconOn:' |
159 #'canSelect:' false |
160 #'canSelect:' false |
160 ) |
161 ) |
161 #(#DataSetColumnSpec |
162 #(#DataSetColumnSpec |
162 #'label:' 'Selector' |
163 #'label:' 'Selector' |
275 self withWaitCursorDo: |
276 self withWaitCursorDo: |
276 [ |
277 [ |
277 |clsName| |
278 |clsName| |
278 resourceTypes isNil ifTrue: [resourceTypes := #(canvas menu image fileImage)]. |
279 resourceTypes isNil ifTrue: [resourceTypes := #(canvas menu image fileImage)]. |
279 clsName := self listOfClassesView list at: anIndex. |
280 clsName := self listOfClassesView list at: anIndex. |
|
281 self valueOfClassName value: clsName. |
280 self class lastSelection: clsName. |
282 self class lastSelection: clsName. |
281 self listOfResources contents: |
283 self listOfResources contents: |
282 ((Smalltalk at: clsName) |
284 ((Smalltalk at: clsName) |
283 class methodDictionary |
285 class methodDictionary |
284 asOrderedCollection select: |
286 asOrderedCollection select: |
302 !ResourceSelectionBrowser methodsFor:'initialization'! |
304 !ResourceSelectionBrowser methodsFor:'initialization'! |
303 |
305 |
304 postBuildWith:aBuilder |
306 postBuildWith:aBuilder |
305 |
307 |
306 |classSelection classSelectionBlock| |
308 |classSelection classSelectionBlock| |
307 |
309 allClasses := Smalltalk allClasses asArray. |
308 classSelection := self class lastSelection ? resourceClass ? #Object. |
310 classSelection := self class lastSelection ? resourceClass ? #Object. |
309 classSelectionBlock := [:cls| |
311 classSelectionBlock := |
310 self listOfClassesView selectFromListOfNames: |
312 [:clsPattern| |
311 (((Smalltalk at: cls asSymbol ifAbsent: [Object])) |
313 |foundClass classes| |
312 withAllSuperclasses reverse collect: [:cls| cls name asString])]. |
314 ((foundClass := Smalltalk at: clsPattern asSymbol) isNil or: |
|
315 [foundClass name ~= clsPattern]) |
|
316 ifTrue: |
|
317 [ |
|
318 classes := allClasses select: [:cls| cls name size >= clsPattern size]. |
|
319 1 to: clsPattern size do: |
|
320 [:i| |
|
321 classes := classes select: [:cls| (cls name at: i) == (clsPattern at: i)]. |
|
322 ]. |
|
323 foundClass := classes at: 1 ifAbsent: [nil] |
|
324 ]. |
|
325 foundClass notNil |
|
326 ifTrue: |
|
327 [ |
|
328 self listOfClassesView selectFromListOfNames: (foundClass |
|
329 withAllSuperclasses reverse collect: [:cls| cls name asString]) |
|
330 ]. |
|
331 self valueOfClassName value: clsPattern |
|
332 ]. |
313 classSelectionBlock value: classSelection. |
333 classSelectionBlock value: classSelection. |
314 self valueOfClassName value: classSelection. |
334 self valueOfClassName value: classSelection. |
315 self classNameInputField entryCompletionBlock: |
335 self classNameInputField entryCompletionBlock: |
316 [:value| |
336 [:value| |
317 |what| |
337 |what| |
318 what := Smalltalk classnameCompletion: value withoutSpaces. |
338 what := Smalltalk classnameCompletion: value withoutSpaces. |
319 self classNameInputField contents:what first. |
339 self classNameInputField contents:what first. |
320 (what at:2) size ~~ 1 ifTrue:[ |
340 (what at:2) size ~~ 1 ifTrue:[Display beep]. |
321 Display beep |
|
322 ]. |
|
323 classSelectionBlock value: self classNameInputField contents |
341 classSelectionBlock value: self classNameInputField contents |
324 ]. |
342 ]. |
325 ^super postBuildWith:aBuilder |
343 ^super postBuildWith:aBuilder |
326 |
344 |
327 ! ! |
345 ! ! |