6487 self selectNodes:itemList asOrderedCollection. |
6487 self selectNodes:itemList asOrderedCollection. |
6488 ! |
6488 ! |
6489 |
6489 |
6490 doStepIn |
6490 doStepIn |
6491 "move the currently selected widget into the next available container below" |
6491 "move the currently selected widget into the next available container below" |
6492 |
6492 |
6493 |item oldParentItem newParentItem idx| |
6493 |item oldParentItem newParentItem idx| |
6494 |
6494 |
6495 item := self selectedNode. |
6495 item := self selectedNode. |
6496 (item notNil and:[(oldParentItem := item parent) notNil]) ifTrue:[ |
6496 (item notNil and:[(oldParentItem := item parent) notNil]) ifTrue:[ |
6497 idx := (oldParentItem indexOfChild:item) + 1. |
6497 idx := (oldParentItem indexOfChild:item) + 1. |
6498 newParentItem := oldParentItem children detect:[:eachChild| |
6498 newParentItem := oldParentItem children |
6499 eachChild contents spec class supportsSubComponents |
6499 detect:[:eachChild | eachChild contents spec class supportsSubComponents] |
6500 ] startingAt:idx ifNone:nil. |
6500 startingAt:idx |
|
6501 ifNone:nil. |
6501 newParentItem notNil ifTrue:[ |
6502 newParentItem notNil ifTrue:[ |
6502 self doChangeParentOfSelectedItemTo:newParentItem |
6503 self doChangeParentOfSelectedItemTo:newParentItem |
6503 ]. |
6504 ]. |
6504 ] |
6505 ] |
6505 ! |
6506 ! |
6514 ! |
6515 ! |
6515 |
6516 |
6516 doStepOver:anIndex |
6517 doStepOver:anIndex |
6517 "moves child 'anIndex' forward or backward in list of children" |
6518 "moves child 'anIndex' forward or backward in list of children" |
6518 |
6519 |
6519 |item idx size prnt spVw view canvas| |
6520 |item idx size parentItem parentItemsView itemsView canvas| |
6520 |
6521 |
6521 self askForSelectionChangeAllowed ifFalse:[^ self]. |
6522 self askForSelectionChangeAllowed ifFalse:[^ self]. |
6522 |
6523 |
6523 ( (item := self selectedNode) isNil |
6524 ( (item := self selectedNode) isNil |
6524 or:[(prnt := item parent) isNil |
6525 or:[(parentItem := item parent) isNil |
6525 or:[(size := prnt children size) < 2 |
6526 or:[(size := parentItem children size) < 2 |
6526 or:[(idx := prnt indexOfChild:item) == 0]]] |
6527 or:[(idx := parentItem indexOfChild:item) == 0]]] |
6527 ) ifTrue:[ |
6528 ) ifTrue:[ |
6528 ^ self |
6529 ^ self |
6529 ]. |
6530 ]. |
|
6531 |
6530 idx := idx + anIndex. |
6532 idx := idx + anIndex. |
6531 |
6533 |
6532 idx < 1 ifTrue:[idx := size] |
6534 idx < 1 ifTrue:[idx := size] |
6533 ifFalse:[idx > size ifTrue:[idx := 1]]. |
6535 ifFalse:[idx > size ifTrue:[idx := 1]]. |
6534 |
6536 |
6535 self setSelection:nil. |
6537 self setSelection:nil. |
6536 model remove:item. |
6538 model remove:item. |
6537 model add:item beforeIndex:idx below:prnt. |
6539 model add:item beforeIndex:idx below:parentItem. |
6538 |
6540 |
6539 idx := prnt indexOfChild:item. |
6541 idx := parentItem indexOfChild:item. |
6540 view := item contents view. |
6542 itemsView := item contents view. |
6541 spVw := prnt contents view. |
6543 parentItemsView := parentItem contents view. |
|
6544 |
6542 canvas := self canvas. |
6545 canvas := self canvas. |
6543 |
|
6544 canvas hideSelection. |
6546 canvas hideSelection. |
6545 |
6547 |
6546 spVw changeSequenceOrderFor:view to:idx. |
6548 itemsView isView ifFalse:[ |
6547 |
6549 "/ a component - has its own collection (and therefore indexing) - sigh |
6548 spVw specClass isLayoutContainer ifFalse:[ |
6550 idx := idx - ((1 to:idx-1) count:[:i | (parentItem children at:i) contents view isView]). |
|
6551 parentItemsView changeSequenceOrderFor:itemsView to:idx. |
|
6552 ] ifTrue:[ |
|
6553 "/ a view - has its own collection (and therefore indexing) - sigh |
|
6554 idx := idx - ((1 to:idx-1) count:[:i | (parentItem children at:i) contents view isView not]). |
|
6555 parentItemsView changeSequenceOrderFor:itemsView to:idx. |
|
6556 ]. |
|
6557 |
|
6558 parentItemsView specClass isLayoutContainer ifFalse:[ |
6549 "/ spVw components notEmptyOrNil ifTrue:[ self halt ]. |
6559 "/ spVw components notEmptyOrNil ifTrue:[ self halt ]. |
6550 spVw subViews do:[:v| v raise ]. |
6560 parentItemsView subViews do:[:v| v raise ]. |
6551 ]. |
6561 ]. |
6552 canvas showSelection. |
6562 canvas showSelection. |
6553 self selectNode:item. |
6563 self selectNode:item. |
6554 ! ! |
6564 ! ! |
6555 |
6565 |