diff --git a/src/main/java/ui/window/JDialogSysCAMSExecutableCodeGeneration.java b/src/main/java/ui/window/JDialogSysCAMSExecutableCodeGeneration.java index 82286b763bf2e173bbd907073539d00ca417ee07..6862364c58719d61949698a885125a1eccb87204 100644 --- a/src/main/java/ui/window/JDialogSysCAMSExecutableCodeGeneration.java +++ b/src/main/java/ui/window/JDialogSysCAMSExecutableCodeGeneration.java @@ -54,6 +54,7 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.StringWriter; import java.io.Writer; +import java.util.Vector; /** * Class JDialogSysCAMSExecutableCodeGeneration @@ -500,38 +501,40 @@ public class JDialogSysCAMSExecutableCodeGeneration extends javax.swing.JFrame i if (jp1.getSelectedIndex() == 0) { jta.append("Generating executable code (SystemC-AMS version)\n"); - SysCAMSComponentTaskDiagramPanel syscamsDiagramPanel = mgui.getFirstSysCAMSPanelFound(); - SysCAMSPanelTranslator syscamspaneltranslator = new SysCAMSPanelTranslator(syscamsDiagramPanel); - SysCAMSSpecification syscalsspec = syscamspaneltranslator.getSysCAMSSpecification(); - - // Generating code - if (syscalsspec == null) { - jta.append("Error: No SYSCAMS specification\n"); - } else { - System.err.println("**SYSCAMS TOPCELL found"); - - TopCellGenerator topCellGenerator = new TopCellGenerator(syscalsspec); - testGo(); - jta.append("Generation of TopCell executable code: done\n"); - - try { - jta.append("Saving SysCAMS code in files\n"); - System.err.println("Saving SysCAMS code in files\n"); - pathCode = code2.getText(); - - System.err.println("SYSCAMS TOPCELL saved in " + code2.getText()); - topCellGenerator.saveFile(pathCode); - - jta.append("Code saved\n"); - } catch (Exception e) { - jta.append("Could not generate files\n"); - System.err.println("Could not generate SysCAMS files\n"); - e.printStackTrace(); - } + Vector<SysCAMSComponentTaskDiagramPanel> syscamsDiagramPanels = mgui.getListSysCAMSPanel(); + for (SysCAMSComponentTaskDiagramPanel syscamsDiagramPanel : syscamsDiagramPanels) { + SysCAMSPanelTranslator syscamspaneltranslator = new SysCAMSPanelTranslator(syscamsDiagramPanel); + SysCAMSSpecification syscalsspec = syscamspaneltranslator.getSysCAMSSpecification(); + + // Generating code + if (syscalsspec == null) { + jta.append("Error: No SYSCAMS specification\n"); + } else { + System.err.println("**SYSCAMS TOPCELL found"); + + TopCellGenerator topCellGenerator = new TopCellGenerator(syscalsspec); + testGo(); + jta.append("Generation of TopCell executable code: done\n"); + + try { + jta.append("Saving SysCAMS code in files\n"); + System.err.println("Saving SysCAMS code in files\n"); + pathCode = code2.getText(); + + System.err.println("SYSCAMS TOPCELL saved in " + code2.getText()); + topCellGenerator.saveFile(pathCode); + + jta.append("Code saved\n"); + } catch (Exception e) { + jta.append("Could not generate files\n"); + System.err.println("Could not generate SysCAMS files\n"); + e.printStackTrace(); + } + } + + testGo(); } - - testGo(); - + } // if (removeCFiles.isSelected()) { // // jta.append("Removing all .h files\n"); @@ -652,7 +655,7 @@ public class JDialogSysCAMSExecutableCodeGeneration extends javax.swing.JFrame i // if ((hasError == false) && (jp1.getSelectedIndex() < 2)) { // jp1.setSelectedIndex(jp1.getSelectedIndex() + 1); // } - }} catch (InterruptedException ie) { + } catch (InterruptedException ie) { jta.append("Interrupted\n"); }