#REFACTORING by cg
class: RectangleFromUserController
added: #rectangleFromUserIn:thenDo:
comment/format in: #examples
changed: #dragRectangleIn:thenDo:
--- a/RectanglefromUserController.st Tue Mar 07 18:23:44 2017 +0100
+++ b/RectanglefromUserController.st Tue Mar 07 18:30:52 2017 +0100
@@ -55,7 +55,7 @@
|v c|
v := View new openAndWait.
- c := DragRectangleController new.
+ c := RectangleFromUserController new.
c action:[:rect | Transcript showCR:rect ].
v openAndWait.
@@ -70,7 +70,7 @@
|dragController oldController oldCursor|
- dragController := DragRectangleController new.
+ dragController := self new.
dragController view:aView.
oldController := aView controller.
oldCursor := aView cursor.
@@ -85,6 +85,32 @@
].
aView controller:dragController.
+
+ "Modified: / 07-03-2017 / 18:25:27 / cg"
+!
+
+rectangleFromUserIn:aView thenDo:action
+ "drag a rectangle in aView"
+
+ |dragController oldController oldCursor|
+
+ dragController := self new.
+ dragController view:aView.
+ oldController := aView controller.
+ oldCursor := aView cursor.
+
+ aView cursor:Cursor origin.
+ dragController action:[:rectOrNil |
+ |image|
+
+ aView controller:oldController.
+ aView cursor:oldCursor.
+ action value:rectOrNil.
+ ].
+
+ aView controller:dragController.
+
+ "Created: / 07-03-2017 / 18:30:04 / cg"
! !
!RectangleFromUserController methodsFor:'accessing'!