UIPainterView.st
changeset 194 2b05bd327785
parent 192 43da8d509ae6
child 202 0552c63ee68b
--- 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
     "