KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > nightlabs > editor2d > actions > TestAction


1 /**
2  * <p> Project: com.nightlabs.editor2d </p>
3  * <p> Copyright: Copyright (c) 2004 </p>
4  * <p> Company: NightLabs GmbH (Germany) </p>
5  * <p> Creation Date: 29.11.2004 </p>
6  * <p> Author: Daniel Mazurek </p>
7 **/

8 package com.nightlabs.editor2d.actions;
9
10 import java.awt.Color JavaDoc;
11 import java.util.ArrayList JavaDoc;
12 import java.util.List JavaDoc;
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 JavaDoc fillColor = Color.BLUE;
32   private Color JavaDoc lineColor = Color.RED;
33   
34   private MultiLayerDrawComponent mldc;
35   private Editor editor;
36    
37   private boolean test = false;
38   
39   public static final String JavaDoc ID = "com.nightlabs.editor2d.actions.TestAction";
40   public String JavaDoc getID() {
41     return ID;
42   }
43   
44   public TestAction(String JavaDoc actionID, String JavaDoc 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 JavaDoc list = new ArrayList JavaDoc(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 // mldc.getCurrentLayer().getDrawComponents().add(r);
82
}
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 // setEnabled(true);
104
}
105   
106 }
107
Popular Tags