From 9d98d5bc2f8045e9025aabb284501142e464706c Mon Sep 17 00:00:00 2001 From: Ludovic Apvrille <ludovic.apvrille@telecom-paristech.fr> Date: Thu, 5 Jul 2018 09:26:05 +0200 Subject: [PATCH] Adding missing dialog for ID and stereotype in req --- .../ui/window/JDialogIDAndStereotype.java | 205 ++++++++++++++++++ 1 file changed, 205 insertions(+) create mode 100644 src/main/java/ui/window/JDialogIDAndStereotype.java diff --git a/src/main/java/ui/window/JDialogIDAndStereotype.java b/src/main/java/ui/window/JDialogIDAndStereotype.java new file mode 100644 index 0000000000..e7aaecf9d1 --- /dev/null +++ b/src/main/java/ui/window/JDialogIDAndStereotype.java @@ -0,0 +1,205 @@ +/* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille + * + * ludovic.apvrille AT enst.fr + * + * This software is a computer program whose purpose is to allow the + * edition of TURTLE analysis, design and deployment diagrams, to + * allow the generation of RT-LOTOS or Java code from this diagram, + * and at last to allow the analysis of formal validation traces + * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP + * from INRIA Rhone-Alpes. + * + * This software is governed by the CeCILL license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL license and that you accept its terms. + */ + +package ui.window; + +import ui.AvatarSignal; +import ui.util.IconManager; +import ui.TGComponent; +import myutil.TraceManager; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Vector; + + +/** + * Class JDialogIDAndStereotype + * Dialog for managing several names and stereotype + * Creation: 04/07/2018 + * @version 1.0 04/07/2018 + * @author Ludovic APVRILLE + */ +public class JDialogIDAndStereotype extends JDialogBase implements ActionListener { + + private String[] availableStereotypes; + private String currentName; + private int currentStereotype; + + + private JPanel panel1; + + // Panel1 + private JComboBox<String> listStereotypes; + private JButton selectStereotype; + private JTextField stereotype, name; + + + private boolean cancelled; + + /** Creates new form */ + public JDialogIDAndStereotype(Frame _f, String _title, + String[] _availableStereotypes, String _currentName, + int _currentStereotype) { + + super(_f, _title, true); + + availableStereotypes = _availableStereotypes; + currentName = _currentName; + currentStereotype = _currentStereotype; + + initComponents(); + myInitComponents(); + + pack(); + } + + + + private void myInitComponents() { + } + + + private void initComponents() { + Container c = getContentPane(); + //GridBagLayout gridbag0 = new GridBagLayout(); + GridBagLayout gridbag1 = new GridBagLayout(); + //GridBagConstraints c0 = new GridBagConstraints(); + GridBagConstraints c1 = new GridBagConstraints(); + + setFont(new Font("Helvetica", Font.PLAIN, 14)); + c.setLayout(new BorderLayout()); + + setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + + panel1 = new JPanel(); + panel1.setLayout(gridbag1); + + panel1.setBorder(new javax.swing.border.TitledBorder("Requirement")); + + //panel1.setPreferredSize(new Dimension(500, 250)); + + // first line panel1 + c1.weighty = 1.0; + c1.weightx = 1.0; + c1.gridwidth = GridBagConstraints.REMAINDER; //end row + c1.gridheight = 1; + c1.fill = GridBagConstraints.HORIZONTAL; + c1.anchor = GridBagConstraints.CENTER; + panel1.add(new JLabel(" "), c1); + + // Combo box + listStereotypes = new JComboBox<String>(availableStereotypes); + listStereotypes.setSelectedIndex(currentStereotype); + panel1.add(listStereotypes, c1); + + + // List of stereotypes + c1.gridwidth = GridBagConstraints.REMAINDER; //end row + selectStereotype = new JButton("Select stereotype"); + panel1.add(selectStereotype, c1); + selectStereotype.setEnabled(availableStereotypes.length > 0); + selectStereotype.addActionListener(this); + + // Text of stereotype + stereotype = new JTextField(availableStereotypes[currentStereotype], 30); + panel1.add(stereotype, c1); + //panel1.setEditable(true); + + // ID + name = new JTextField(currentName, 30); + panel1.add(name, c1); + //panel1.setEditable(true); + + + c.add(panel1, BorderLayout.CENTER); + + JPanel buttons = initBasicButtons(this); + c.add(buttons, BorderLayout.SOUTH); + } + + public void actionPerformed(ActionEvent evt) { + //String command = evt.getActionCommand(); + + // Compare the action command to the known actions. + if (evt.getSource() == closeButton) { + closeDialog(); + } else if (evt.getSource() == cancelButton) { + cancelDialog(); + } else if (evt.getSource() == selectStereotype) { + selectStereotype(); + } + } + + public void selectStereotype() { + int index = listStereotypes.getSelectedIndex(); + stereotype.setText(availableStereotypes[index]); + } + + public void closeDialog() { + cancelled = false; + dispose(); + } + + public String getStereotype() { + return stereotype.getText(); + } + + public String getName() { + return name.getText(); + } + + + public boolean hasValidString() { + return stereotype.getText().length() > 0; + } + + public boolean hasBeenCancelled() { + return cancelled; + } + + public void cancelDialog() { + cancelled = true; + dispose(); + } +} -- GitLab