223 ] ifFalse:[ |
223 ] ifFalse:[ |
224 selector := someArgument |
224 selector := someArgument |
225 ]. |
225 ]. |
226 |
226 |
227 (selector isSymbol) ifTrue:[ |
227 (selector isSymbol) ifTrue:[ |
228 |changedMethod s1 s2| |
228 |changedMethod s1 s2 oldMethodSelection oldMethodCategorySelection| |
229 |
229 |
230 " |
230 " |
231 the method with selector was changed or removed |
231 the method with selector was changed or removed |
232 " |
232 " |
|
233 methodListView notNil ifTrue:[ |
|
234 oldMethodSelection := methodListView selection. |
|
235 ]. |
233 (something ~~ #methodTrap |
236 (something ~~ #methodTrap |
234 and:[something ~~ #methodPrivacy]) ifTrue:[ |
237 and:[something ~~ #methodPrivacy]) ifTrue:[ |
235 self updateMethodCategoryListWithScroll:false. |
238 methodCategoryListView notNil ifTrue:[ |
|
239 oldMethodCategorySelection := methodCategoryListView selection. |
|
240 self updateMethodCategoryListWithScroll:false. |
|
241 methodCategoryListView selection:oldMethodCategorySelection. |
|
242 ]. |
236 ]. |
243 ]. |
237 self updateMethodListWithScroll:false. |
244 self updateMethodListWithScroll:false. |
|
245 methodListView notNil ifTrue:[ |
|
246 methodListView setSelection:oldMethodSelection. |
|
247 ]. |
238 |
248 |
239 selector == currentSelector ifTrue:[ |
249 selector == currentSelector ifTrue:[ |
240 " |
250 " |
241 special care here: the currently shown method has been |
251 special care here: the currently shown method has been |
242 changed somehow in another browser (or via fileIn) |
252 changed somehow in another browser (or via fileIn) |
347 |
357 |
348 (changedObject isMethod) ifTrue:[ |
358 (changedObject isMethod) ifTrue:[ |
349 ] |
359 ] |
350 |
360 |
351 "Created: 4.1.1997 / 13:54:00 / cg" |
361 "Created: 4.1.1997 / 13:54:00 / cg" |
352 "Modified: 3.3.1997 / 15:04:21 / cg" |
362 "Modified: 7.3.1997 / 19:21:29 / cg" |
353 ! |
363 ! |
354 |
364 |
355 refetchClass |
365 refetchClass |
356 "after a class definition change in another browser, |
366 "after a class definition change in another browser, |
357 this is sent to update (otherwise, we'd still refer to the obsolete class)" |
367 this is sent to update (otherwise, we'd still refer to the obsolete class)" |
6273 currentMethod := MessageTracer perform:aSelector with:currentMethod. |
6283 currentMethod := MessageTracer perform:aSelector with:currentMethod. |
6274 Class withoutUpdatingChangesDo:[ |
6284 Class withoutUpdatingChangesDo:[ |
6275 currentClass changed:#methodTrap with:currentSelector. |
6285 currentClass changed:#methodTrap with:currentSelector. |
6276 ] |
6286 ] |
6277 |
6287 |
6278 "Modified: 3.3.1997 / 15:17:15 / cg" |
6288 "Modified: 7.3.1997 / 19:17:33 / cg" |
6279 ! |
6289 ! |
6280 |
6290 |
6281 commonTraceHelperWith:aSelector with:argument |
6291 commonTraceHelperWith:aSelector with:argument |
6282 "install a break/trace or countPoint for the current method" |
6292 "install a break/trace or countPoint for the current method" |
6283 |
6293 |
7339 ! |
7349 ! |
7340 |
7350 |
7341 methodSelection:lineNr |
7351 methodSelection:lineNr |
7342 "user clicked on a method line - show code" |
7352 "user clicked on a method line - show code" |
7343 |
7353 |
7344 self switchToMethod:(methodListView selectionValue string). |
7354 |selection| |
7345 |
7355 |
7346 "Modified: 22.10.1996 / 16:06:44 / cg" |
7356 selection := methodListView selectionValue string. |
|
7357 |
|
7358 "/ reselected with control ? |
|
7359 self sensor ctrlDown ifTrue:[ |
|
7360 selection = currentSelector ifTrue:[ |
|
7361 "/ if there is a trace/break, remove it. |
|
7362 (currentMethod notNil and:[currentMethod isWrapped]) ifTrue:[ |
|
7363 self methodRemoveBreakOrTrace. |
|
7364 ^ self |
|
7365 ] |
|
7366 ]. |
|
7367 ]. |
|
7368 |
|
7369 self switchToMethod:selection. |
|
7370 |
|
7371 "Modified: 7.3.1997 / 19:23:14 / cg" |
7347 ! |
7372 ! |
7348 |
7373 |
7349 methodSelectionChanged |
7374 methodSelectionChanged |
7350 "method selection has changed - update dependent views" |
7375 "method selection has changed - update dependent views" |
7351 |
7376 |