From 29fd2e186e5e9353f664908a0b9c92eaa5bb6f5e Mon Sep 17 00:00:00 2001 From: Mark Kattenbelt Date: Mon, 30 Oct 2006 10:48:13 +0000 Subject: [PATCH] Adds a "new experiment" option to the menu of properties. git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@86 bbc10eb1-c90d-0410-af57-cb519fbb1720 --- .../properties/GUIMultiProperties.java | 29 ++++++++++++++----- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/prism/src/userinterface/properties/GUIMultiProperties.java b/prism/src/userinterface/properties/GUIMultiProperties.java index e7597a96..603df556 100644 --- a/prism/src/userinterface/properties/GUIMultiProperties.java +++ b/prism/src/userinterface/properties/GUIMultiProperties.java @@ -39,7 +39,7 @@ import userinterface.simulator.networking.*; /** * Properties panel designed to handle constants as well as properties. - * Also designed to handle experiements. + * Also designed to handle experiments. * @author ug60axh */ public class GUIMultiProperties extends GUIPlugin implements MouseListener, ListSelectionListener, PrismSettingsListener @@ -1260,9 +1260,11 @@ public class GUIMultiProperties extends GUIPlugin implements MouseListener, List removeConstant.setEnabled(consTable.getSelectedRowCount() > 0); removeLabel.setEnabled(labTable.getSelectedRowCount() > 0); if(!computing) - { + { if(e.isPopupTrigger() && e.getSource() == propList) { + + int index = propList.locationToIndex(e.getPoint()); // if there are no properties selected, select the one under the popup if(propList.isSelectionEmpty()) @@ -1301,11 +1303,17 @@ public class GUIMultiProperties extends GUIPlugin implements MouseListener, List break; } } + + + cutAction.setEnabled(true); deleteAction.setEnabled(true); verifySelected.setEnabled(propList.getValidSelectedProperties().size() > 0); simulate.setEnabled(propList.getValidSimulatableSelectedProperties().size() > 0); editProperty.setEnabled(true); + + newExperiment.setEnabled(propList.getNumSelectedProperties() == 1 && propList.getValidSelectedProperties().size() == 1); + if(showDeleters == false) { cutAction.setEnabled(false); @@ -1313,21 +1321,21 @@ public class GUIMultiProperties extends GUIPlugin implements MouseListener, List simulate.setEnabled(false); verifySelected.setEnabled(false); editProperty.setEnabled(false); + newExperiment.setEnabled(false); } propertiesPopup.show(e.getComponent(), e.getX(), e.getY()); } else if(e.isPopupTrigger() && (e.getSource() == consTable || e.getSource() == constantsScroll)) - { - constantsPopup.show(e.getComponent(), e.getX(), e.getY()); - + { + constantsPopup.show(e.getComponent(), e.getX(), e.getY()); } else if(e.isPopupTrigger() && ( e.getSource() == labTable || e.getSource() == labelsScroll)) - { + { labelsPopup.show(e.getComponent(), e.getX(), e.getY()); } else if(e.isPopupTrigger() && ( e.getSource() == experiments || e.getSource() == expScroller)) - { + { doEnables(); this.experimentPopup.show(e.getComponent(), e.getX(), e.getY()); } @@ -1387,6 +1395,8 @@ public class GUIMultiProperties extends GUIPlugin implements MouseListener, List verifySelected.setEnabled(propList.getValidSelectedProperties().size() > 0); simulate.setEnabled(propList.getValidSimulatableSelectedProperties().size() > 0); editProperty.setEnabled(true); + newExperiment.setEnabled(propList.getNumSelectedProperties() == 1 && propList.getValidSelectedProperties().size() == 1); + if(showDeleters == false) { cutAction.setEnabled(false); @@ -1394,6 +1404,7 @@ public class GUIMultiProperties extends GUIPlugin implements MouseListener, List simulate.setEnabled(false); verifySelected.setEnabled(false); editProperty.setEnabled(false); + newExperiment.setEnabled(false); } propertiesPopup.show(e.getComponent(), e.getX(), e.getY()); @@ -1633,12 +1644,14 @@ public class GUIMultiProperties extends GUIPlugin implements MouseListener, List { propertiesPopup = new JPopupMenu(); + propertiesPopup.add(editProperty); propertiesPopup.add(newProperty); propertiesPopup.add(new JSeparator()); propertiesPopup.add(verifySelected); //propertiesPopup.add(verifyAll); propertiesPopup.add(simulate); - propertiesPopup.add(editProperty); + //experiment + propertiesPopup.add(newExperiment); propertiesPopup.add(details); propertiesPopup.add(new JSeparator()); propertiesPopup.add(cutAction);