diff --git a/src/main/java/ui/ActionPerformer.java b/src/main/java/ui/ActionPerformer.java index 26731cbf4916b51d47476ad16c9f847061a3f363..a7c463b49cb155fa942cb2496ff37f843dad3f0c 100644 --- a/src/main/java/ui/ActionPerformer.java +++ b/src/main/java/ui/ActionPerformer.java @@ -1094,4 +1094,3 @@ public class ActionPerformer { } } } - diff --git a/src/main/java/ui/TDiagramPanel.java b/src/main/java/ui/TDiagramPanel.java index 87f09954f2a08fcb9ae267a7b4d0f609a2f68f71..08ffd555b83809da2ba0f1d80ff6f16d192718ed 100755 --- a/src/main/java/ui/TDiagramPanel.java +++ b/src/main/java/ui/TDiagramPanel.java @@ -38,10 +38,9 @@ package ui; -import myutil.GenericTree; -import myutil.GraphicLib; -import myutilsvg.SVGGraphics; -import myutil.TraceManager; +import myutil.*; +import myutilsvg.*; +import ui.atd.ATDAttack; import ui.atd.ATDBlock; import ui.avatarad.AvatarADActivity; import ui.avatarbd.AvatarBDBlock; @@ -52,6 +51,7 @@ import ui.avatarmad.AvatarMADAssumption; import ui.avatarrd.AvatarRDRequirement; import ui.avatarsmd.AvatarSMDState; import ui.cd.*; +import ui.ftd.FTDFault; import ui.eln.sca_eln.*; import ui.syscams.*; import ui.ncdd.NCEqNode; @@ -182,7 +182,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { protected int y2; protected Vector<Point> listPoint; protected TGConnectingPoint p1, p2; - /* protected CAMSConnectingPoint cp1, cp2;*/ + /* protected CAMSConnectingPoint cp1, cp2;*/ protected int type; // For component selection @@ -1274,7 +1274,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { ySel = y; for (TGComponent tgc : this.componentList) if (tgc.isSelected()) { - if ((xSel-oldX != 0 ) || (ySel-oldY != 0 )) { + if ((xSel - oldX != 0 ) || (ySel - oldY != 0 )) { /*TraceManager.addDev("" + tgc + " is selected oldX=" + xSel + " oldY=" + oldY + " xSel=" + xSel + " ySel=" + ySel);*/ } @@ -2315,7 +2315,6 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { actionOnRemove(t); tgcon.getTGConnectingPointP1().setFree(true); tgcon.getTGConnectingPointP2().setFree(true); - System.out.println("removing..."); TraceManager.addDev("Removed one connector!"); for (int k = 0; k < tgcon.getNbConnectingPoint(); k++) removeOneConnector(tgcon.tgconnectingPointAtIndex(k)); @@ -2595,7 +2594,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { || (o instanceof TMLCRecordComponent && this.checkTMLCRecordComponent((TMLCRecordComponent) o, name)) || (o instanceof TMLCCompositeComponent && this.checkTMLCCompositeComponent((TMLCCompositeComponent) o, name)) || (o instanceof TMLTaskInterface && this.checkTMLTaskInterface((TMLTaskInterface) o, name)) - || (o instanceof SysCAMSBlockTDF && this.checkSysCAMSBlockTDFComponent((SysCAMSBlockTDF) o, name)) + || (o instanceof SysCAMSBlockTDF && this.checkSysCAMSBlockTDFComponent((SysCAMSBlockTDF) o, name)) || (o instanceof SysCAMSBlockDE && this.checkSysCAMSBlockDEComponent((SysCAMSBlockDE) o, name)) || (o instanceof SysCAMSCompositeComponent && this.checkSysCAMSCompositeComponent((SysCAMSCompositeComponent) o, name)) || (o instanceof ELNComponentResistor && this.checkELNComponentResistor((ELNComponentResistor) o, name)) @@ -2608,6 +2607,8 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { || (o instanceof ELNComponentIndependentVoltageSource && this.checkELNComponentIndependentVoltageSource((ELNComponentIndependentVoltageSource) o, name)) || (o instanceof ELNComponentIndependentCurrentSource && this.checkELNComponentIndependentCurrentSource((ELNComponentIndependentCurrentSource) o, name)) || (o instanceof ATDBlock && this.checkATDBlock((ATDBlock) o, name)) + || (o instanceof ATDAttack && this.checkATDAttack((ATDAttack) o, name)) + || (o instanceof FTDFault && this.checkFTDFault((FTDFault) o, name)) || (o instanceof AvatarBDBlock && this.checkAvatarBDBlock((AvatarBDBlock) o, name)) || (o instanceof AvatarCDBlock && this.checkAvatarCDBlock((AvatarCDBlock) o, name)) || (o instanceof AvatarSMDState && this.checkAvatarSMDState((AvatarSMDState) o, name)) @@ -2657,7 +2658,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { } public boolean checkSysCAMSBlockTDFComponent(SysCAMSBlockTDF o, String name) { - return false; + return false; } public boolean checkSysCAMSBlockDEComponent(SysCAMSBlockDE o, String name) { @@ -2707,6 +2708,14 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { public boolean checkATDBlock(ATDBlock o, String name) { return false; } + + public boolean checkATDAttack(ATDAttack o, String name) { + return false; + } + + public boolean checkFTDFault(FTDFault o, String name) { + return false; + } public boolean checkAvatarBDBlock(AvatarBDBlock o, String name) { return false; @@ -2877,6 +2886,22 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { }); } + public String findAttackName(String name) { + return this.findGoodName(name, new NameChecker() { + public boolean checkATDAttack(ATDAttack o, String name) { + return o.getValue().equals(name); + } + }); + } + + public String findFaultName(String name) { + return this.findGoodName(name, new NameChecker() { + public boolean checkFTDFault(FTDFault o, String name) { + return o.getValue().equals(name); + } + }); + } + public String findBlockName(String name) { return this.findGoodName(name, new NameChecker() { public boolean checkATDBlock(ATDBlock o, String name) { @@ -3614,6 +3639,53 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { h = Math.min(h, getHeight() - y); + /*StringBuffer sb = new StringBuffer("<?xml version=\"1.0\" standalone=\"no\"?>\n"); + sb.append("<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n"); + //sb.append(" width=\"" + (w+x) + "\" height=\"" + (h+y) + "\" viewbox=\"" + x + " " + y + " " + w + " " + h + "\">\n"); + sb.append("<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\""); + sb.append(" width=\"" + (w + x) + "\" height=\"" + (h + y) + "\" viewbox=\"" + x + " " + y + " " + w + " " + h + "\">\n"); + + // Issue #14 point 10: Somehow the last graphics that was used is different than the actual one leading + // to an error in calculating string lengths + final SVGGraphics svgg = new SVGGraphics((Graphics2D) getGraphics()); +// SVGGraphics svgg = new SVGGraphics((Graphics2D)lastGraphics); + + RepaintManager.currentManager(this).setDoubleBufferingEnabled(false); + //this.paint(svgg); + //TraceManager.addDev("Painting for svg"); + basicPaintMyComponents(svgg); + //TraceManager.addDev("Painting for svg done"); + sb.append(svgg.getSVGString()); + RepaintManager.currentManager(this).setDoubleBufferingEnabled(true); + + sb.append("</svg>"); + + return sb.toString();*/ + + SVGGeneration gen = new SVGGeneration(); + return gen.getSVGString(this); + } + + public String oldSvgCapture() { + int w = this.getWidth(); + int h = this.getHeight(); + int x = getRealMinX(); + int y = getRealMinY(); + w = getRealMaxX() - x; + h = getRealMaxY() - y; + //TraceManager.addDev("x=" + x + " y=" + y + " w=" + w + " h=" + h + " getWidth = " + this.getWidth() + " getHeight = " + this.getHeight()); + x = x - 5; + y = y - 5; + w = w + 10; + h = h + 10; + w = Math.max(0, w); + h = Math.max(0, h); + x = Math.max(5, x); + y = Math.max(5, y); + w = Math.min(w, getWidth() - x); + h = Math.min(h, getHeight() - y); + + StringBuffer sb = new StringBuffer("<?xml version=\"1.0\" standalone=\"no\"?>\n"); sb.append("<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n"); //sb.append(" width=\"" + (w+x) + "\" height=\"" + (h+y) + "\" viewbox=\"" + x + " " + y + " " + w + " " + h + "\">\n"); diff --git a/src/main/java/ui/TGComponentManager.java b/src/main/java/ui/TGComponentManager.java index 0ca922edc5b2cd52cea07b13c7852754fd3fb4a4..5f95fe9c2fbe1839ac0e4e773885ec0baba64dbc 100644 --- a/src/main/java/ui/TGComponentManager.java +++ b/src/main/java/ui/TGComponentManager.java @@ -2313,31 +2313,31 @@ public class TGComponentManager { break; case CONNECTOR_INTERACTION: tgc = new TGConnectorInteraction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint); - //System.out.println("Connector interaction"); + //TraceManager.addDev("Connector interaction"); break; case CONNECTOR_MESSAGE_ASYNC_SD: tgc = new ui.sd.TGConnectorMessageAsyncSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint); - //System.out.println("Connector interaction"); + //TraceManager.addDev("Connector interaction"); break; case CONNECTOR_MESSAGE_SYNC_SD: tgc = new ui.sd.TGConnectorMessageSyncSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint); - //System.out.println("Connector interaction"); + //TraceManager.addDev("Connector interaction"); break; case CONNECTOR_RELATIVE_TIME_SD: tgc = new ui.sd.TGConnectorRelativeTimeSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint); - //System.out.println("Connector interaction"); + //TraceManager.addDev("Connector interaction"); break; case CONNECTOR_MESSAGE_ASYNC_SDZV: tgc = new ui.sd2.TGConnectorMessageAsyncSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint); - //System.out.println("Connector interaction"); + //TraceManager.addDev("Connector interaction"); break; case CONNECTOR_MESSAGE_SYNC_SDZV: tgc = new ui.sd2.TGConnectorMessageSyncSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint); - //System.out.println("Connector interaction"); + //TraceManager.addDev("Connector interaction"); break; case CONNECTOR_RELATIVE_TIME_SDZV: tgc = new ui.sd2.TGConnectorRelativeTimeSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint); - //System.out.println("Connector interaction"); + //TraceManager.addDev("Connector interaction"); break; case CONNECTOR_ACTOR_UCD: @@ -2471,4 +2471,3 @@ public class TGComponentManager { }*/ } // Class - diff --git a/src/main/java/ui/TGConnectingPointWidthHeight.java b/src/main/java/ui/TGConnectingPointWidthHeight.java index ce23f4c502742f785e0f7fefa07f3a7fd9639347..2aa78f4151b7062f88521b0de266175b6a880d71 100755 --- a/src/main/java/ui/TGConnectingPointWidthHeight.java +++ b/src/main/java/ui/TGConnectingPointWidthHeight.java @@ -84,4 +84,3 @@ public class TGConnectingPointWidthHeight extends TGConnectingPoint{ return h; } } // Class - diff --git a/src/main/java/ui/TGUIAction.java b/src/main/java/ui/TGUIAction.java index 6920526544aab2d65975e39fc58eac37f7a22365..58b8b19922ebb8c43f0d464088add4ca4a9d404c 100644 --- a/src/main/java/ui/TGUIAction.java +++ b/src/main/java/ui/TGUIAction.java @@ -1324,7 +1324,6 @@ public class TGUIAction extends AbstractAction { } public void actionPerformed(ActionEvent evt) { - //System.out.println("Action performed"); if (listeners != null) { Object[] listenerList = listeners.getListenerList(); @@ -1352,5 +1351,3 @@ public class TGUIAction extends AbstractAction { listeners.remove(ActionListener.class, l); } } - - diff --git a/src/main/java/ui/util/IconManager.java b/src/main/java/ui/util/IconManager.java index 4e7784cd5c5eb47bdd484eb0dc00fcd517a15eaf..0cc4c9ee26a18425b2115c52735c34ead9201e8c 100755 --- a/src/main/java/ui/util/IconManager.java +++ b/src/main/java/ui/util/IconManager.java @@ -181,14 +181,18 @@ public class IconManager { // Image of the help button for the ports (Solange) public static ImageIcon imgic2111; //New icon created by Solange - - // SystemC-AMS - public static ImageIcon imgic8000, imgic8001, imgic8002, imgic8003, imgic8004, imgic8005, imgic8006, imgic8007, imgic8008; + + // SystemC-AMS + public static ImageIcon imgic8000, imgic8001, imgic8002, imgic8003, imgic8004, imgic8005, imgic8006, imgic8007, imgic8008; // ELN public static ImageIcon imgic8010, imgic8011, imgic8012, imgic8013, imgic8014, imgic8015, imgic8016, imgic8017, imgic8018; //private static String icon7 = "turtle_large.gif"; + private static String ttoolStringIcon = "starting_logo.gif"; + public static ImageIcon ttoolImageIcon; + public static Image ttoolImage; + private static String icon8 = "turtle_16.gif"; private static String icon9 = "diplodocus2_16.gif"; //Added by Solange @@ -691,7 +695,7 @@ public class IconManager { if (url != null) { return new ImageIcon(url); } else { - System.out.println("Could not load " + s); + } return null; @@ -701,13 +705,17 @@ public class IconManager { ImageIcon imc = new ImageIcon(IconManager.icon12); Image im = imc.getImage(); if (im == null) { - System.out.println("Cannot load icons"); + } else { - System.out.println("Icons loaded"); + } } public static void loadImg() { + + ttoolImageIcon = getIcon(ttoolStringIcon); + ttoolImage = ttoolImageIcon.getImage(); + imgic8 = getIcon(icon8); imgic9 = getIcon(icon9); if (imgic8 != null) { @@ -723,8 +731,13 @@ public class IconManager { imgic1 = getIcon(icon1); //Added by Solange - img0 = imgic0.getImage(); - img1 = imgic1.getImage(); + if ( imgic0 != null ) { + img0 = imgic0.getImage(); + } + + if ( imgic1 != null ) { + img1 = imgic1.getImage(); + } imgic13 = getIcon(icon13); imgic14 = getIcon(icon14); @@ -1180,5 +1193,3 @@ public class IconManager { } } // Class - -