1 package com.bonevich.erj.diagram;
2
3 import com.bonevich.erj.model.*;
4 import com.bonevich.util.dependency.Dynamic;
5
6 import org.tigris.gef.base.Diagram;
7
8 import java.awt.Rectangle;
9 import java.beans.PropertyVetoException;
10
11 public final class ERDiagram extends Diagram
12 {
13 //////////////////////////////////////////////////////////
14 // Constants
15 private static final String SEPARATOR = "|";
16
17 //////////////////////////////////////////////////////////
18 // Attributes
19 private Schema _schema;
20
21 //////////////////////////////////////////////////////////
22 // Dependency attributes
23 private Dynamic _dyn_name = new Dynamic();
24
25 //////////////////////////////////////////////////////////
26 // Constructors
27 public ERDiagram()
28 {
29 // needed for SVGParser
30 }
31
32 public ERDiagram(Schema schema)
33 {
34 _schema = schema;
35 init();
36 }
37
38 private void init()
39 {
40 //System.err.println("(diagram) init called - creating a new layer");
41 ERDiagramGraphModel gm = new ERDiagramGraphModel(_schema);
42 ERDiagramGraphRenderer renderer = new ERDiagramGraphRenderer();
43 ERDiagramLayerPerspective layer = new ERDiagramLayerPerspective("ERDiagram",gm);
44 layer.setGraphNodeRenderer(renderer);
45 layer.setGraphEdgeRenderer(renderer);
46 layer.addNodeTypeRegion(Relation.class, new Rectangle(10, 10, 200, 200));
47 setLayer(layer);
48 setGraphModel(gm);
49 }
50
51 /***
52 * This method gets called by our diagram loader to initialize the
53 * model behind the diagram.
54 */
55 public void initialize(Object owner)
56 {
57 if (owner instanceof Schema)
58 {
59 _schema = (Schema) owner;
60 init();
61 }
62 }
63
64 public String getClassAndModelID()
65 {
66 return getClass().getName() + SEPARATOR + _schema.getOclReferenceId();
67 }
68
69 public void setSchema(Schema schema)
70 {
71 if (_schema != schema)
72 {
73 _schema = schema;
74 init();
75 }
76 }
77
78 public String getName()
79 {
80 _dyn_name.onGet();
81 return super.getName();
82 }
83 public void setName(String name) throws PropertyVetoException
84 {
85 if (!name.equals(_name))
86 {
87 _dyn_name.onSet();
88 super.setName(name);
89 }
90 }
91
92 } /*** end class ERDiagram */
This page was automatically generated by Maven