1 8 package com.nightlabs.editor2d.actions; 9 10 import java.awt.Color ; 11 import java.util.ArrayList ; 12 import java.util.List ; 13 14 import org.eclipse.ui.IWorkbenchPart; 15 import org.eclipse.ui.actions.RetargetAction; 16 17 import com.nightlabs.editor2d.Editor; 18 import com.nightlabs.editor2d.Editor2DFactory; 19 import com.nightlabs.editor2d.MultiLayerDrawComponent; 20 import com.nightlabs.editor2d.RectangleDrawComponent; 21 22 23 public class TestAction 24 extends RetargetAction 25 { 26 private int maxX = 10000; 27 private int maxY = 10000; 28 private int maxWidth = 100; 29 private int maxHeight = 100; 30 private int amount = 10000; 31 private Color fillColor = Color.BLUE; 32 private Color lineColor = Color.RED; 33 34 private MultiLayerDrawComponent mldc; 35 private Editor editor; 36 37 private boolean test = false; 38 39 public static final String ID = "com.nightlabs.editor2d.actions.TestAction"; 40 public String getID() { 41 return ID; 42 } 43 44 public TestAction(String actionID, String text) 45 { 46 super(actionID, text); 47 setEnabled(true); 48 } 49 50 public void run() 51 { 52 System.out.println("run called!"); 53 if (editor != null) 54 { 55 mldc = editor.getMultiLayerDrawComponent(); 56 createRandomRectangles(amount); 57 System.out.println("editor != null"); 58 } else { 59 System.out.println("editor == null"); 60 } 61 } 62 63 protected void createRandomRectangles(int amount) 64 { 65 Editor2DFactory factory = Editor2DFactory.eINSTANCE; 66 List list = new ArrayList (amount); 67 for (int i=0; i<amount; i++) 68 { 69 RectangleDrawComponent r = factory.createRectangleDrawComponent(); 70 int randomX = (int) (Math.random() * maxX); 71 int randomY = (int) (Math.random() * maxY); 72 int randomWidth = (int) (Math.random() * maxWidth); 73 int randomHeight = (int) (Math.random() * maxHeight); 74 r.setX(randomX); 75 r.setY(randomY); 76 r.setWidth(randomWidth); 77 r.setHeight(randomHeight); 78 list.add(r); 79 r.setFillColor(fillColor); 80 r.setLineColor(lineColor); 81 } 83 mldc.getCurrentLayer().getDrawComponents().addAll(list); 84 } 85 86 public void partActivated(IWorkbenchPart part) 87 { 88 System.out.println("partActivated called!"); 89 if (part instanceof Editor) 90 { 91 editor = (Editor) part; 92 if (test == false) { 93 mldc = editor.getMultiLayerDrawComponent(); 94 createRandomRectangles(amount); 95 test = true; 96 } 97 System.out.println("part instanceof Editor!"); 98 } else { 99 System.out.println("part NOT instanceof Editor!"); 100 System.out.println("part = "+part); 101 } 102 super.partActivated(part); 103 } 105 106 } 107 | Popular Tags |