From 34a7cac92b2d259d937cda459dff8a0fe0e967c5 Mon Sep 17 00:00:00 2001 From: Ludovic Apvrille <ludovic.apvrille@telecom-paristech.fr> Date: Tue, 26 Jun 2018 15:41:15 +0200 Subject: [PATCH] Edition of fork operators --- src/main/java/tmltranslator/TMLChannel.java | 2 ++ src/main/java/tmltranslator/TMLModeling.java | 4 +-- src/main/java/ui/tmlcompd/TMLCFork.java | 34 ++++++++++++++++++-- 3 files changed, 35 insertions(+), 5 deletions(-) diff --git a/src/main/java/tmltranslator/TMLChannel.java b/src/main/java/tmltranslator/TMLChannel.java index bea849ea9e..6969fa4751 100755 --- a/src/main/java/tmltranslator/TMLChannel.java +++ b/src/main/java/tmltranslator/TMLChannel.java @@ -181,6 +181,8 @@ public class TMLChannel extends TMLCommunicationElement { this.nbOfSamples = nbOfSamples; } + public int getNumberOfSamples() { return nbOfSamples;} + public TMLTask getDestinationTask(int index) { return destinationTasks.get(index); } diff --git a/src/main/java/tmltranslator/TMLModeling.java b/src/main/java/tmltranslator/TMLModeling.java index fb9f007a73..cc2357492d 100755 --- a/src/main/java/tmltranslator/TMLModeling.java +++ b/src/main/java/tmltranslator/TMLModeling.java @@ -2205,14 +2205,14 @@ public class TMLModeling<E> { TMLReadChannel read = new TMLReadChannel("ReadOfFork", null); forkActivity.addElement(read); read.addChannel(_ch); - read.setNbOfSamples("1"); + read.setNbOfSamples("" + _ch.getNumberOfSamples()); TMLWriteChannel []writes = new TMLWriteChannel[nb]; for(i=0; i<nb; i++) { writes[i] = new TMLWriteChannel("WriteOfFork" + SEP1 + i, null); writes[i].addChannel(chans[i]); - writes[i].setNbOfSamples("1"); + writes[i].setNbOfSamples("" + _ch.getNumberOfSamples()); forkActivity.addElement(writes[i]); } diff --git a/src/main/java/ui/tmlcompd/TMLCFork.java b/src/main/java/ui/tmlcompd/TMLCFork.java index 16cb170bba..d1fc0ee9fc 100755 --- a/src/main/java/ui/tmlcompd/TMLCFork.java +++ b/src/main/java/ui/tmlcompd/TMLCFork.java @@ -45,6 +45,7 @@ import myutil.GraphicLib; import ui.*; import ui.util.IconManager; +import javax.swing.*; import java.awt.*; /** @@ -57,7 +58,7 @@ import java.awt.*; public class TMLCFork extends TMLCChannelFacility implements WithAttributes { protected int radius = 11; - protected int numberOfSamples = 1; // Indicates the number of samples being read before they + // value Indicates the number of samples being read before they // are written to destination. The default is 1. @@ -83,8 +84,9 @@ public class TMLCFork extends TMLCChannelFacility implements WithAttributes { nbInternalTGComponent = 0; - value = "F"; + value = "1"; name = "Composite port"; + editable = true; //insides = new ArrayList<TMLCPrimitivePort>(); //outsides = new ArrayList<TMLCPrimitivePort>(); @@ -92,6 +94,9 @@ public class TMLCFork extends TMLCChannelFacility implements WithAttributes { myImageIcon = IconManager.imgic1204; } + + + public void internalDrawing(Graphics g) { radius = width / 2; @@ -128,13 +133,36 @@ public class TMLCFork extends TMLCChannelFacility implements WithAttributes { } + public boolean editOndoubleClick(JFrame frame) { + String oldValue = value; + + String s = (String) JOptionPane.showInputDialog(frame, "Number of samples per round", + "setting value", JOptionPane.PLAIN_MESSAGE, IconManager.imgic101, null, + getValue()); + if ((s != null) && (s.length() > 0) && (!s.equals(oldValue))) { + try { + int testI = Integer.decode(value).intValue(); + } catch (Exception e) { + JOptionPane.showMessageDialog(frame, + "Could not change the number of samples: invalid value", + "Error", + JOptionPane.INFORMATION_MESSAGE); + value = oldValue; + return false; + } + + } + return true; + + } + public int getType() { return TGComponentManager.TMLCTD_FORK; } public int getNumberOfSamples() { - return numberOfSamples; + return Integer.decode(value).intValue(); } -- GitLab