Skip to content

Commit 2ddd8cc

Browse files
committed
Add UMB model export to the GUI.
1 parent eda298f commit 2ddd8cc

1 file changed

Lines changed: 21 additions & 2 deletions

File tree

prism/src/userinterface/model/GUIMultiModel.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public class GUIMultiModel extends GUIPlugin implements PrismSettingsListener
8383
private AbstractAction computeSS, computeTr, newPRISMModel;
8484
private AbstractAction newPEPAModel, loadModel, reloadModel, saveModel, saveAsModel, parseModel, buildModel;
8585
private AbstractAction exportStatesPlain, exportStatesMatlab,
86-
exportTransPlain, exportTransMatlab, exportTransDot, exportObsPlain, exportObsMatlab, exportStateRewardsPlain, exportStateRewardsMatlab,
86+
exportTransPlain, exportTransMatlab, exportTransDot, exportTransUMB, exportObsPlain, exportObsMatlab, exportStateRewardsPlain, exportStateRewardsMatlab,
8787
exportTransRewardsPlain, exportTransRewardsMatlab, exportLabelsPlain, exportLabelsMatlab,
8888
exportSSPlain, exportSSMatlab, exportTrPlain, exportTrMatlab;
8989
private JPopupMenu popup;
@@ -97,6 +97,7 @@ public class GUIMultiModel extends GUIPlugin implements PrismSettingsListener
9797
private FileFilter textFilter;
9898
private FileFilter matlabFilter;
9999
private FileFilter dotFilter;
100+
private FileFilter umbFilter;
100101
//State
101102
private boolean computing = false;
102103
private boolean initialised = false;
@@ -190,6 +191,7 @@ public void doEnables()
190191
exportTransPlain.setEnabled(!computing);
191192
exportTransMatlab.setEnabled(!computing);
192193
exportTransDot.setEnabled(!computing);
194+
exportTransUMB.setEnabled(!computing);
193195
exportObsPlain.setEnabled(!computing);
194196
exportObsMatlab.setEnabled(!computing);
195197
exportStateRewardsPlain.setEnabled(!computing);
@@ -364,6 +366,9 @@ protected void a_exportBuildAs(ModelExportEntity exportEntity, ModelExportFormat
364366
case DOT:
365367
res = showSaveFileDialog(dotFilter);
366368
break;
369+
case UMB:
370+
res = showSaveFileDialog(umbFilter);
371+
break;
367372
case MATLAB:
368373
res = showSaveFileDialog(matlabFilter);
369374
break;
@@ -678,9 +683,21 @@ public void actionPerformed(ActionEvent e)
678683
};
679684
exportTransDot.putValue(Action.LONG_DESCRIPTION, "Exports the model to a Dot file");
680685
exportTransDot.putValue(Action.MNEMONIC_KEY, Integer.valueOf(KeyEvent.VK_D));
681-
exportTransDot.putValue(Action.NAME, "Dot file");
686+
exportTransDot.putValue(Action.NAME, "Dot");
682687
exportTransDot.putValue(Action.SMALL_ICON, GUIPrism.getIconFromImage("smallFileDot.png"));
683688

689+
exportTransUMB = new AbstractAction()
690+
{
691+
public void actionPerformed(ActionEvent e)
692+
{
693+
a_exportBuildAs(ModelExportEntity.MODEL, ModelExportFormat.UMB);
694+
}
695+
};
696+
exportTransUMB.putValue(Action.LONG_DESCRIPTION, "Exports the model to a UMB file");
697+
exportTransUMB.putValue(Action.MNEMONIC_KEY, Integer.valueOf(KeyEvent.VK_D));
698+
exportTransUMB.putValue(Action.NAME, "UMB");
699+
exportTransUMB.putValue(Action.SMALL_ICON, GUIPrism.getIconFromImage("smallMatrix.png"));
700+
684701
exportObsPlain = new AbstractAction()
685702
{
686703
public void actionPerformed(ActionEvent e)
@@ -1044,6 +1061,7 @@ private JMenu initExportMenu()
10441061
exportPlainMenu.add(exportObsPlain);
10451062
exportMenu.add(exportPlainMenu);
10461063
exportMenu.add(exportTransDot);
1064+
exportMenu.add(exportTransUMB);
10471065
JMenu exportMatlabMenu = new JMenu("Matlab");
10481066
exportMatlabMenu.setMnemonic('M');
10491067
exportMatlabMenu.setIcon(GUIPrism.getIconFromImage("smallFileMatlab.png"));
@@ -1182,6 +1200,7 @@ private void initComponents()
11821200
textFilter = new FileNameExtensionFilter("Plain text files (*.txt)", "txt");
11831201
matlabFilter = new FileNameExtensionFilter("Matlab files (*.m)", "m");
11841202
dotFilter = new FileNameExtensionFilter("Dot files (*.dot)", "dot");
1203+
umbFilter = new FileNameExtensionFilter("UMB files (*.umb)", "dot");
11851204

11861205
setLayout(new BorderLayout());
11871206
add(topPanel, BorderLayout.CENTER);

0 commit comments

Comments
 (0)