UIPainter.st
changeset 3648 474d54e24cab
parent 3564 e4cff94154d2
child 3670 3b90ebd379e9
equal deleted inserted replaced
3647:7833be8fb641 3648:474d54e24cab
  7445 !
  7445 !
  7446 
  7446 
  7447 doStepOver:anIndex
  7447 doStepOver:anIndex
  7448     "moves child 'anIndex' forward or backward in list of children"
  7448     "moves child 'anIndex' forward or backward in list of children"
  7449 
  7449 
  7450     |item idx size parentItem parentItemsView itemsView canvas|
  7450     self askForSelectionChangeAllowed ifFalse:[
  7451 
  7451         ^ self
  7452     self askForSelectionChangeAllowed ifFalse:[^ self].
  7452     ].
  7453 
  7453 
  7454     anIndex < 0 ifTrue:[
  7454     anIndex < 0 ifTrue:[
  7455         "/ moving up
  7455         "/ moving up
  7456         self selectedNodes do:[:eachNode |
  7456         self selectedNodes do:[:eachNode |
  7457             self doStep:eachNode over:anIndex.
  7457             self doStep:eachNode over:anIndex.
  7462             self doStep:eachNode over:anIndex.
  7462             self doStep:eachNode over:anIndex.
  7463         ].
  7463         ].
  7464     ].
  7464     ].
  7465     ^ self.
  7465     ^ self.
  7466 
  7466 
  7467     (    (item := self selectedNode) isNil
  7467 "/    (    (item := self selectedNode) isNil
  7468      or:[(parentItem := item parent) isNil
  7468 "/     or:[(parentItem := item parent) isNil
  7469      or:[(size := parentItem children size) < 2
  7469 "/     or:[(size := parentItem children size) < 2
  7470      or:[(idx  := parentItem indexOfChild:item) == 0]]]
  7470 "/     or:[(idx  := parentItem indexOfChild:item) == 0]]]
  7471     ) ifTrue:[
  7471 "/    ) ifTrue:[
  7472         ^ self
  7472 "/        ^ self
  7473     ].
  7473 "/    ].
  7474 
  7474 "/
  7475     idx := idx + anIndex.
  7475 "/    idx := idx + anIndex.
  7476 
  7476 "/
  7477     idx < 1 ifTrue:[idx := size]
  7477 "/    idx < 1 ifTrue:[idx := size]
  7478            ifFalse:[idx > size ifTrue:[idx := 1]].
  7478 "/           ifFalse:[idx > size ifTrue:[idx := 1]].
  7479 
  7479 "/
  7480     self setSelection:nil.
  7480 "/    self setSelection:nil.
  7481     model remove:item.
  7481 "/    model remove:item.
  7482     model add:item beforeIndex:idx below:parentItem.
  7482 "/    model add:item beforeIndex:idx below:parentItem.
  7483 
  7483 "/
  7484     idx := parentItem indexOfChild:item.
  7484 "/    idx := parentItem indexOfChild:item.
  7485     itemsView := item contents view.
  7485 "/    itemsView := item contents view.
  7486     parentItemsView := parentItem contents view.
  7486 "/    parentItemsView := parentItem contents view.
  7487 
  7487 "/
  7488     canvas := self canvas.
  7488 "/    canvas := self canvas.
  7489     canvas hideSelection.
  7489 "/    canvas hideSelection.
  7490 
  7490 "/
  7491     itemsView isView ifFalse:[
  7491 "/    itemsView isView ifFalse:[
  7492         "/ a component - has its own collection (and therefore indexing) - sigh
  7492 "/        "/ a component - has its own collection (and therefore indexing) - sigh
  7493         idx := idx - ((1 to:idx-1) count:[:i | (parentItem children at:i) contents view isView]).
  7493 "/        idx := idx - ((1 to:idx-1) count:[:i | (parentItem children at:i) contents view isView]).
  7494         parentItemsView changeSequenceOrderFor:itemsView to:idx.
  7494 "/        parentItemsView changeSequenceOrderFor:itemsView to:idx.
  7495     ] ifTrue:[
  7495 "/    ] ifTrue:[
  7496         "/ a view - has its own collection (and therefore indexing) - sigh
  7496 "/        "/ a view - has its own collection (and therefore indexing) - sigh
  7497         idx := idx - ((1 to:idx-1) count:[:i | (parentItem children at:i) contents view isView not]).
  7497 "/        idx := idx - ((1 to:idx-1) count:[:i | (parentItem children at:i) contents view isView not]).
  7498         parentItemsView changeSequenceOrderFor:itemsView to:idx.
  7498 "/        parentItemsView changeSequenceOrderFor:itemsView to:idx.
  7499     ].
  7499 "/    ].
  7500 
  7500 "/
  7501     parentItemsView specClass isLayoutContainer ifFalse:[
  7501 "/    parentItemsView specClass isLayoutContainer ifFalse:[
  7502         "/ spVw components notEmptyOrNil ifTrue:[ self halt ].
  7502 "/        "/ spVw components notEmptyOrNil ifTrue:[ self halt ].
  7503         parentItemsView subViews do:[:v| v raise ].
  7503 "/        parentItemsView subViews do:[:v| v raise ].
  7504     ].
  7504 "/    ].
  7505     canvas showSelection.
  7505 "/    canvas showSelection.
  7506     self selectNode:item.
  7506 "/    self selectNode:item.
       
  7507 
       
  7508     "Modified (format): / 07-03-2019 / 10:56:06 / Stefan Vogel"
  7507 ! !
  7509 ! !
  7508 
  7510 
  7509 !UIPainter class methodsFor:'documentation'!
  7511 !UIPainter class methodsFor:'documentation'!
  7510 
  7512 
  7511 version
  7513 version