equal
deleted
inserted
replaced
657 "invert outline of an object or collection of objects |
657 "invert outline of an object or collection of objects |
658 " |
658 " |
659 |wasClipped| |
659 |wasClipped| |
660 |
660 |
661 (wasClipped := clipChildren) ifTrue:[ |
661 (wasClipped := clipChildren) ifTrue:[ |
662 self clippedByChildren:(clipChildren := false). |
662 self clippedByChildren:(clipChildren := false). |
663 ]. |
663 ]. |
664 |
664 |
665 self xoring:[ |
665 self xoring:[ |
666 |p| |
666 |p| |
667 |
667 |
668 something isCollection ifTrue:[ |
668 something isCollection ifTrue:[ |
669 something do:[:v | |
669 something do:[:v | |
670 |p| |
670 |p| |
671 |
671 |
672 p := v originRelativeTo:self. |
672 p := v originRelativeTo:self. |
673 self displayRectangle:(p extent:v extent). |
673 self displayRectangle:(p extent:v extent). |
674 ]. |
674 ]. |
675 ] ifFalse:[ |
675 ] ifFalse:[ |
676 |p| |
676 |p| |
677 |
677 |
678 p := something originRelativeTo:self. |
678 p := something originRelativeTo:self. |
679 self displayRectangle:(p extent:something extent). |
679 self displayRectangle:(p extent:something extent). |
680 ] |
680 ] |
681 ]. |
681 ]. |
682 |
682 |
683 wasClipped ifTrue:[ |
683 wasClipped ifTrue:[ |
684 self clippedByChildren:(clipChildren := true). |
684 self clippedByChildren:(clipChildren := true). |
685 ]. |
685 ]. |
686 |
|
687 ! |
686 ! |
688 |
687 |
689 minSetOfSuperViews:setOfViews |
688 minSetOfSuperViews:setOfViews |
690 |
689 |
691 setOfViews isCollection ifFalse:[ |
690 setOfViews isCollection ifFalse:[ |
774 " |
773 " |
775 self startObjectMove:(self selection) at:aPoint. |
774 self startObjectMove:(self selection) at:aPoint. |
776 movedObject := self selection. |
775 movedObject := self selection. |
777 |
776 |
778 movedObject isCollection ifFalse:[ |
777 movedObject isCollection ifFalse:[ |
779 movedObject := Array with:movedObject |
778 movedObject := Array with:movedObject |
780 ]. |
779 ]. |
781 self setSelection:nil withRedraw:true. |
780 self setSelection:nil withRedraw:true. |
782 |
781 |
783 moveDelta := movedObject collect:[:aView| |
782 moveDelta := movedObject collect:[:aView| |
784 aPoint - aView computeOrigin |
783 aPoint - aView computeOrigin |
785 ]. |
784 ]. |
786 self transaction:#move objects:movedObject do:[:v|self createUndoLayout:v]. |
785 self transaction:#move objects:movedObject do:[:v|self createUndoLayout:v]. |
787 self invertOutlineOf:movedObject. |
786 self invertOutlineOf:movedObject. |
788 ! |
787 ! |
789 |
788 |
892 |
891 |
893 self invertOutlineOf:object. |
892 self invertOutlineOf:object. |
894 p := (self alignToGrid:aPoint) - (resizeData delta). |
893 p := (self alignToGrid:aPoint) - (resizeData delta). |
895 |
894 |
896 self perform:(resizeData selector) with:object with:p. |
895 self perform:(resizeData selector) with:object with:p. |
|
896 Delay waitForSeconds:0.05. |
|
897 [self sensor hasExposeEventFor:nil] whileTrue:[ |
|
898 self windowGroup processExposeEvents |
|
899 ]. |
|
900 |
897 "/ object geometryLayout:(object geometryLayout). |
901 "/ object geometryLayout:(object geometryLayout). |
898 self invertOutlineOf:object |
902 self invertOutlineOf:object |
899 |
|
900 ! |
903 ! |
901 |
904 |
902 endResize |
905 endResize |
903 "cleanup after object resize |
906 "cleanup after object resize |
904 " |
907 " |
913 |
916 |
914 "/ handle any expose events (for subcomponents) before |
917 "/ handle any expose events (for subcomponents) before |
915 "/ redrawing the handles. |
918 "/ redrawing the handles. |
916 Delay waitForSeconds:0.05. |
919 Delay waitForSeconds:0.05. |
917 [self sensor hasExposeEventFor:nil] whileTrue:[ |
920 [self sensor hasExposeEventFor:nil] whileTrue:[ |
918 self windowGroup processExposeEvents |
921 self windowGroup processExposeEvents |
919 ]. |
922 ]. |
920 |
923 |
921 self setSelection:object withRedraw:true. |
924 self setSelection:object withRedraw:true. |
922 self layoutChanged. |
925 self layoutChanged. |
923 ! |
926 ! |
929 |
932 |
930 object := self singleSelection. |
933 object := self singleSelection. |
931 self actionResize:object selector:b. |
934 self actionResize:object selector:b. |
932 |
935 |
933 self transaction:#resize selectionDo:[:aView| |
936 self transaction:#resize selectionDo:[:aView| |
934 self createUndoLayout:aView |
937 self createUndoLayout:aView |
935 ]. |
938 ]. |
936 self setSelection:nil withRedraw:true. |
939 self setSelection:nil withRedraw:true. |
937 |
940 |
938 motionAction := [:movePoint | self doDragResize:movePoint]. |
941 motionAction := [:movePoint | self doDragResize:movePoint]. |
939 releaseAction := [self endResize]. |
942 releaseAction := [self endResize]. |
946 "perform action on each handle of a component |
949 "perform action on each handle of a component |
947 " |
950 " |
948 |dlt ext| |
951 |dlt ext| |
949 |
952 |
950 dlt := (aComponent originRelativeTo:self) - aComponent origin. |
953 dlt := (aComponent originRelativeTo:self) - aComponent origin. |
951 dlt := dlt - (3@3). |
954 dlt := dlt - (4@4). |
952 ext := 6@6. |
955 ext := 8@8. |
953 |
956 |
954 self class handlesOf:aComponent do:[:pnt :wht | |
957 self class handlesOf:aComponent do:[:pnt :wht | |
955 aTwoArgAction value:(pnt + dlt extent:ext) value:wht |
958 aTwoArgAction value:(pnt + dlt extent:ext) value:wht |
956 ] |
959 ] |
957 ! |
960 ! |
1417 ^ self |
1420 ^ self |
1418 ]. |
1421 ]. |
1419 |
1422 |
1420 damages := OrderedCollection new. |
1423 damages := OrderedCollection new. |
1421 |
1424 |
1422 |
|
1423 self forEach:something do:[:v| |
1425 self forEach:something do:[:v| |
1424 self handlesOf:v do:[:aDamage :wht| |
1426 self handlesOf:v do:[:aDamage :wht| |
1425 damages reverseDo:[:el| |
1427 damages reverseDo:[:el| |
1426 (el intersects:aDamage) ifTrue:[ |
1428 (el intersects:aDamage) ifTrue:[ |
1427 damages removeIdentical:el. |
1429 damages removeIdentical:el. |
1439 damages do:[:el| self clearRectangle:el ]. |
1441 damages do:[:el| self clearRectangle:el ]. |
1440 |
1442 |
1441 (oldClipped := clipChildren) ifFalse:[ |
1443 (oldClipped := clipChildren) ifFalse:[ |
1442 self clippedByChildren:(clipChildren := true) |
1444 self clippedByChildren:(clipChildren := true) |
1443 ]. |
1445 ]. |
1444 self subViews do:[:v| self recursiveRepair:damages startIn:v]. |
1446 self subViews reverseDo:[:v| self recursiveRepair:damages startIn:v]. |
1445 |
1447 |
1446 oldClipped ~~ clipChildren ifTrue:[ |
1448 oldClipped ~~ clipChildren ifTrue:[ |
1447 self clippedByChildren:(clipChildren := oldClipped). |
1449 self clippedByChildren:(clipChildren := oldClipped). |
1448 ]. |
1450 ]. |
1449 device sync. |
1451 device sync. |