diff -r 450d9e5c6f4a -r 2b05bd327785 UIPainterView.st --- a/UIPainterView.st Sat Jun 28 15:13:50 1997 +0200 +++ b/UIPainterView.st Sun Jun 29 10:15:24 1997 +0200 @@ -97,10 +97,12 @@ #'label:' 'paste' #'value:' #pasteBuffer #'shortcutKeyCharacter:' #Paste + #'activeHelpKey:' #pasteBuffer ) #(#MenuItem #'label:' 'keep layout' #'value:' #pasteWithLayout + #'activeHelpKey:' #pasteWithLayout ) ) nil @@ -137,38 +139,47 @@ #(#MenuItem #'label:' 'default extent' #'value:' #setToDefaultExtent + #'activeHelpKey:' #setToDefaultExtent ) #(#MenuItem #'label:' 'default width' #'value:' #setToDefaultWidth + #'activeHelpKey:' #setToDefaultWidth ) #(#MenuItem #'label:' 'default height' #'value:' #setToDefaultHeight + #'activeHelpKey:' #setToDefaultHeight ) #(#MenuItem #'label:' 'copy extent' #'value:' #copyExtent + #'activeHelpKey:' #copyExtent ) #(#MenuItem #'label:' 'paste extent' #'value:' #pasteExtent + #'activeHelpKey:' #pasteExtent ) #(#MenuItem #'label:' 'paste width' #'value:' #pasteWidth + #'activeHelpKey:' #pasteWidth ) #(#MenuItem #'label:' 'paste height' #'value:' #pasteHeight + #'activeHelpKey:' #pasteHeight ) #(#MenuItem #'label:' 'copy layout' #'value:' #copyLayout + #'activeHelpKey:' #copyLayout ) #(#MenuItem #'label:' 'paste layout' #'value:' #pasteLayout + #'activeHelpKey:' #pasteLayout ) ) #(3 1 3) @@ -223,18 +234,22 @@ #(#MenuItem #'label:' 'spread horizontal' #'value:' #spreadSelectionHor + #'activeHelpKey:' #spreadSelectionHor ) #(#MenuItem #'label:' 'spread vertical' #'value:' #spreadSelectionVer + #'activeHelpKey:' #spreadSelectionVer ) #(#MenuItem #'label:' 'center horizontal in frame' #'value:' #centerSelectionHor + #'activeHelpKey:' #centerSelectionHor ) #(#MenuItem #'label:' 'center vertical in frame' #'value:' #centerSelectionVer + #'activeHelpKey:' #centerSelectionVer ) ) #(8 2) @@ -1203,6 +1218,38 @@ ! ! +!UIPainterView methodsFor:'user actions - arrange'! + +lowerSelection + "lower all objects in the selection + " + self hasSelection ifTrue:[ + self selectionDo:[:aView| + aView lower. + aView superView changeSequenceOrderFor:aView to:1. + ]. + listHolder recompute. + ] + + +! + +raiseSelection + "raise all objects in the selection + " + self hasSelection ifTrue:[ + self selectionDo:[:aView||sv| + aView raise. + sv := aView superView. + sv changeSequenceOrderFor:aView to:(sv subViews size) + ]. + inputView raise. + listHolder recompute. + ]. + + +! ! + !UIPainterView::ListHolder class methodsFor:'instance creation'! for:aPainter @@ -1400,6 +1447,29 @@ ] ! ! +!UIPainterView::ListHolder methodsFor:'recomputing'! + +recompute + |list prop size osel| + + osel := self selection copy. + size := self list size. + list := OrderedCollection new:size. + prop := OrderedCollection new:size. + + painter allSubViewsDo:[:v| + size := self indexOfView:v. + + size ~~ 0 ifTrue:[ + list add:(self list at:size). + prop add:(propertyList at:size) + ] + ]. + propertyList := prop. + self list:list. + self selection:osel. +! ! + !UIPainterView::ListHolder methodsFor:'searching'! detectProperty:aBlock @@ -1465,6 +1535,16 @@ ! +indexOfView:aView + "returns index assigned to a view or 0 + " + aView notNil ifTrue:[ + ^ propertyList findFirst:[:p| p view == aView ] + ]. + ^ 0 + +! + lastInGroupStartingAt:start "returns last index of a group "