KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > jac > ide > diagrams > InheritanceLinkCreationTool


1 /*
2   Copyright (C) 2002 Renaud Pawlak <renaud@aopsys.com>
3
4   This program is free software; you can redistribute it and/or modify
5   it under the terms of the GNU Lesser General Public License as
6   published by the Free Software Foundation; either version 2 of the
7   License, or (at your option) any later version.
8
9   This program is distributed in the hope that it will be useful,
10   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12   GNU Lesser General Public License for more details.
13
14   You should have received a copy of the GNU Lesser General Public
15   License along with this program; if not, write to the Free Software
16   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
17 */

18
19 package org.objectweb.jac.ide.diagrams;
20
21 import CH.ifa.draw.framework.DrawingEditor;
22 import org.objectweb.jac.ide.Class;
23 import org.objectweb.jac.ide.Diagram;
24 import org.objectweb.jac.ide.ModelElement;
25 import org.objectweb.jac.util.Log;
26 import org.objectweb.jac.aspects.gui.Utils;
27
28 public class InheritanceLinkCreationTool extends RelationLinkCreationTool {
29
30     public InheritanceLinkCreationTool(DrawingEditor newDrawingEditor) {
31         super(newDrawingEditor);
32     }
33
34     protected LinkFigure createLinkFigure() {
35         return new InheritanceLinkFigure();
36     }
37
38     protected void createRelation(Class JavaDoc source, Class JavaDoc target) {
39         Log.trace("figures","creating a new relation link between "+
40                   source+" and "+target);
41
42         if (source != null && target != null ) {
43             org.objectweb.jac.ide.InheritanceLink rel =
44                 new org.objectweb.jac.ide.InheritanceLink(source,target);
45             Log.trace("diagram","1. end="+rel.getEnd()+"===> substance="+target);
46             InheritanceLinkFigure linkFigure =
47                 (InheritanceLinkFigure)myConnection;
48             org.objectweb.jac.ide.LinkFigure linkFig =
49                 new org.objectweb.jac.ide.LinkFigure(rel);
50             linkFigure.setLinkFigure(linkFig);
51
52             Log.trace("diagram","2. end="+rel.getEnd());
53
54             source.setSuperClass(target);
55
56             Diagram diagram = (Diagram)((DiagramView)editor()).getSubstance();
57
58             diagram.addFigure(linkFig);
59
60             Utils.registerObject(rel,myConnection);
61
62             Log.trace("diagram","3. end="+rel.getEnd());
63         }
64     }
65
66 }
67
Popular Tags