1 8 package com.nightlabs.editor2d.handle; 9 10 import java.util.Iterator ; 11 import java.util.List ; 12 13 import org.eclipse.draw2d.PositionConstants; 14 import org.eclipse.gef.GraphicalEditPart; 15 import org.eclipse.gef.Handle; 16 17 import com.nightlabs.editor2d.edit.AbstractDrawComponentEditPart; 18 19 public class RotateHandleKit 20 { 21 22 public RotateHandleKit() { 23 super(); 24 } 25 26 public static void addHandles(List selectedEditParts, List handles) 27 { 28 int counter = 0; 29 for (Iterator it = selectedEditParts.iterator(); it.hasNext(); ) { 30 GraphicalEditPart editPart = (GraphicalEditPart) it.next(); 31 if (editPart instanceof AbstractDrawComponentEditPart) 32 createRotateHandles((AbstractDrawComponentEditPart)editPart, handles); 33 } 34 35 handles.add(createRotateCenterHandle(selectedEditParts)); 36 } 37 38 protected static Handle createRotateCenterHandle(List editParts) 39 { 40 RotateCenterHandle handle = new RotateCenterHandle(editParts); 41 return handle; 42 } 43 44 protected static void createRotateHandles(AbstractDrawComponentEditPart owner, List handles) 46 { 47 handles.add(createRotateHandle(owner, PositionConstants.NORTH_WEST)); 48 handles.add(createRotateHandle(owner, PositionConstants.NORTH_EAST)); 49 handles.add(createRotateHandle(owner, PositionConstants.SOUTH_EAST)); 50 handles.add(createRotateHandle(owner, PositionConstants.SOUTH_WEST)); 51 52 54 } 59 60 protected static Handle createRotateHandle(AbstractDrawComponentEditPart owner, int direction) 61 { 62 RotateHandle handle = new RotateHandle(owner, direction); 63 return handle; 64 } 65 66 protected static Handle createShearHandle(AbstractDrawComponentEditPart owner, int direction) 67 { 68 ShearHandle handle = new ShearHandle(owner, direction); 69 return handle; 70 } 71 } 72 | Popular Tags |