KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > nightlabs > editor2d > figures > MLDCFreeformLayer


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: 15.12.2004 </p>
6  * <p> Author: Daniel Mazurek </p>
7 **/

8 package com.nightlabs.editor2d.figures;
9
10 import java.util.Map JavaDoc;
11
12 import org.eclipse.draw2d.FreeformLayer;
13 import org.eclipse.draw2d.UpdateListener;
14 import org.eclipse.draw2d.UpdateManager;
15 import org.eclipse.draw2d.geometry.Rectangle;
16
17 import com.nightlabs.editor2d.edit.MultiLayerDrawComponentEditPart;
18 import com.nightlabs.editor2d.util.EditorUtil;
19
20
21 public class MLDCFreeformLayer
22 extends FreeformLayer
23 implements UpdateListener
24 {
25   public MLDCFreeformLayer() {
26     super();
27   }
28     
29   public void registerOnDeferredUpdateManager(UpdateManager updateManager) {
30     if (updateManager == null)
31       return;
32     updateManager.removeUpdateListener(this);
33     updateManager.addUpdateListener(this);
34   }
35     
36   private MultiLayerDrawComponentEditPart mldcEditPart;
37     public void setMldcEditPart(MultiLayerDrawComponentEditPart mldcEditPart) {
38       this.mldcEditPart = mldcEditPart;
39     }
40     
41   private Rectangle notifiedDamage;
42   
43   public void notifyPainting(Rectangle damage, Map JavaDoc dirtyRegions) {
44     if (mldcEditPart == null)
45         return;
46     notifiedDamage = damage;
47     notifiedDamage = EditorUtil.toAbsolute(mldcEditPart, damage);
48 // System.out.println("MLDC notify Painting called with "+damage);
49
}
50   
51   public void notifyValidating() {
52   }
53       
54 // public void paint(Graphics graphics) {
55
// super.paint(graphics);
56
// System.out.println("MLDC paint called with ");
57
// if (notifiedDamage == null) {
58
// super.paint(graphics);
59
// return;
60
// }
61
//
62
//// System.out.println("MLDC notifiedDamage != null");
63
// for (Iterator iter = getChildren().iterator(); iter.hasNext();) {
64
// IFigure child = (IFigure) iter.next();
65
// if (child.intersects(notifiedDamage)) {
66
// graphics.pushState();
67
// try {
68
// graphics.setClip(child.getBounds());
69
//// System.out.println("MLDC paint child: "+child+" child.getBounds() "+child.getBounds());
70
// child.paint(graphics);
71
// graphics.restoreState();
72
// } finally
73
// {
74
// graphics.popState();
75
// }
76
// }
77
// }
78
// notifiedDamage = null;
79
// }
80
}
81
Popular Tags