# HG changeset patch # User Claus Gittinger # Date 1417452218 -3600 # Node ID 894c517d8696055556132399e5d00bce6d07c9c5 # Parent 95025cd0fbced9537da6873bf9ba8b995d7f0900 class: Tools::ViewTreeInspectorApplication added: #doSelectNextElementStartingIn:forWhich: changed: #doSelectNextOfApplicationClass:startingIn: #doSelectNextOfClass:startingIn: eliminated duplicate code diff -r 95025cd0fbce -r 894c517d8696 Tools__ViewTreeApplication.st --- a/Tools__ViewTreeApplication.st Fri Nov 28 12:30:07 2014 +0100 +++ b/Tools__ViewTreeApplication.st Mon Dec 01 17:43:38 2014 +0100 @@ -2051,7 +2051,7 @@ ] ! -doSelectNextOfApplicationClass:aClass startingIn:anItem +doSelectNextElementStartingIn:anItem forWhich:aBlock |startItem firstFound searchNext| startItem := model last. @@ -2062,7 +2062,7 @@ el == startItem ifTrue:[ searchNext := false ] ifFalse:[ - (self resolveApplicationClassFor:el) == aClass ifTrue:[ + (aBlock value:el) ifTrue:[ searchNext ifFalse:[^ model selectItem:el]. firstFound isNil ifTrue:[ @@ -2077,30 +2077,12 @@ ]. ! +doSelectNextOfApplicationClass:aClass startingIn:anItem + self doSelectNextElementStartingIn:anItem forWhich:[:el | (self resolveApplicationClassFor:el) == aClass]. +! + doSelectNextOfClass:aClass startingIn:anItem - |startItem firstFound searchNext| - - startItem := model last. - searchNext := startItem notNil. - firstFound := nil. - - anItem recursiveDo:[:el| - el == startItem ifTrue:[ - searchNext := false - ] ifFalse:[ - el widget class == aClass ifTrue:[ - searchNext ifFalse:[^ model selectItem:el]. - - firstFound isNil ifTrue:[ - firstFound := el - ] - ] - ] - ]. - firstFound notNil ifTrue:[ - self window beep. - model selectItem:firstFound - ]. + self doSelectNextElementStartingIn:anItem forWhich:[:el | el widget class == aClass]. ! doUncatchEvents