# HG changeset patch # User tz # Date 899931521 -7200 # Node ID 79a6e12e1d0f4feb50815549b55ac8248d94eb32 # Parent 3c67610b9631d1b51de0f5fa15acad077441d83f after deleting a widget do select the neighbour then the parent (step 2) diff -r 3c67610b9631 -r 79a6e12e1d0f UIPainterView.st --- a/UIPainterView.st Wed Jul 08 22:18:47 1998 +0200 +++ b/UIPainterView.st Wed Jul 08 22:58:41 1998 +0200 @@ -197,64 +197,57 @@ ! deleteSelection + "delete the selection buffered + " + self deleteSelectionBuffered: true +! + +deleteSelectionBuffered: buffered "cut the selection into the cut&paste-buffer and open a transaction " - |specs coll oldSelectedNode newSelectedNode| + |specs coll oldSelectedNode newSelectedNode newSelection| coll := self minSetOfSuperViews:(self selection). coll notNil ifTrue:[ treeView cvsEventsDisabledDo:[ - oldSelectedNode := treeView selectedNode. - oldSelectedNode parent children size <= 1 ifTrue: [ - newSelectedNode := oldSelectedNode parent - ] - ifFalse: [ - newSelectedNode := oldSelectedNode parent children - at: (oldSelectedNode parent indexOfChild: oldSelectedNode) - 1 - ifAbsent: [oldSelectedNode parent children at: 2] + (oldSelectedNode := (treeView model selectedNodes at: 1 ifAbsent: nil)) notNil ifTrue: [ + oldSelectedNode parent children size <= 1 ifTrue: [ + newSelectedNode := oldSelectedNode parent + ] + ifFalse: [ + newSelectedNode := oldSelectedNode parent children + at: (oldSelectedNode parent indexOfChild: oldSelectedNode) - 1 + ifAbsent: [oldSelectedNode parent children at: 2] + ]. ]. - - selection := nil. + self hideSelection. + selection := nil. specs := coll collect:[:aView| self fullSpecFor:aView ]. self withinTransaction:#cut objects:coll do:[ coll reverseDo:[:aView| self createUndoRemove:aView. - self remove:aView + self remove:aView. ] ]. + buffered ifTrue: [self setSelection: specs]. treeView selection: nil. - treeView selection: (treeView model indexOf:newSelectedNode). + (newSelection := (treeView model indexOf:newSelectedNode)) > 0 ifFalse: [ + newSelection := 1 + ]. + treeView selection: (Array with: newSelection). self setSelection:treeView selectedNode contents view withRedraw: true. - ] ] ! deleteTotalSelection - "delete the selection; copy the selection into the cut&paste-buffer - and open a transaction - " - |specs coll| - - coll := self minSetOfSuperViews:(self selection). - - coll notNil ifTrue:[ - treeView cvsEventsDisabledDo:[ - self select:nil. - specs := coll collect:[:aView| self fullSpecFor:aView ]. - - self withinTransaction:#cut objects:coll do:[ - coll reverseDo:[:aView| - self remove:aView - ] - ]. - treeView selection: (Array with: 1) - ] - ] + "delete the selection + " + self deleteSelectionBuffered: false ! pasteBuffer