01: /**
02: * LibreSource
03: * Copyright (C) 2004-2008 Artenum SARL / INRIA
04: * http://www.libresource.org - contact@artenum.com
05: *
06: * This file is part of the LibreSource software,
07: * which can be used and distributed under license conditions.
08: * The license conditions are provided in the LICENSE.TXT file
09: * at the root path of the packaging that enclose this file.
10: * More information can be found at
11: * - http://dev.libresource.org/home/license
12: *
13: * Initial authors :
14: *
15: * Guillaume Bort / INRIA
16: * Francois Charoy / Universite Nancy 2
17: * Julien Forest / Artenum
18: * Claude Godart / Universite Henry Poincare
19: * Florent Jouille / INRIA
20: * Sebastien Jourdain / INRIA / Artenum
21: * Yves Lerumeur / Artenum
22: * Pascal Molli / Universite Henry Poincare
23: * Gerald Oster / INRIA
24: * Mariarosa Penzi / Artenum
25: * Gerard Sookahet / Artenum
26: * Raphael Tani / INRIA
27: *
28: * Contributors :
29: *
30: * Stephane Bagnier / Artenum
31: * Amadou Dia / Artenum-IUP Blois
32: * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33: */package com.artenum.so6.dataflow.graph;
34:
35: import com.artenum.graph.impl.DefaultCell;
36:
37: import java.awt.Point;
38:
39: import java.io.Serializable;
40:
41: import java.util.Properties;
42:
43: /**
44: * @author seb
45: */
46: public abstract class So6Node extends DefaultCell implements
47: Serializable {
48: protected Properties externalProperties;
49: protected String id;
50:
51: public So6Node(Properties externalProperties) {
52: super (null, null);
53: this .externalProperties = externalProperties;
54: setId(externalProperties.getProperty("id"));
55: }
56:
57: public void setId(String id) {
58: this .id = id;
59: }
60:
61: public Point getPosition() {
62: return getUI().getLocation();
63: }
64:
65: public void setPosition(Point p) {
66: getUI().setBounds(p.x, p.y, (int) getUI().getWidth(),
67: (int) getUI().getHeight());
68: }
69:
70: public String getId() {
71: return id;
72: }
73:
74: public Properties getExternalProperties() {
75: return externalProperties;
76: }
77:
78: public void setExternalProperties(Properties properties) {
79: externalProperties = properties;
80: }
81:
82: public String getText() {
83: return (externalProperties.getProperty("label") == null) ? ""
84: : externalProperties.getProperty("label");
85: }
86:
87: abstract public void updateNode();
88: }
|