package pipe.gui.plugin.concrete; import pipe.gui.reachability.ReachabilityGraph; import pipe.gui.plugin.GuiModule; import uk.ac.imperial.pipe.models.petrinet.PetriNet; import javax.swing.*; import java.awt.FileDialog; /** * State Space module that is dynamically loaded into the GUI */ public class StateSpaceModule implements GuiModule { @Override public void start(PetriNet petriNet) { JFrame frame = new JFrame("State Space Explorer"); FileDialog selector = new FileDialog(frame, "Select petri net", FileDialog.LOAD); FileDialog saver = new FileDialog(frame, "Save binary transition data", FileDialog.SAVE); frame.setContentPane(new ReachabilityGraph(selector, petriNet).getMainPanel()); frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); frame.pack(); frame.setVisible(true); } @Override public String getName() { return "State space exploration"; } }