diff --git a/prism/src/userinterface/simulator/GUISimulatorPathTableModel.java b/prism/src/userinterface/simulator/GUISimulatorPathTableModel.java index de674235..5ba2e15c 100644 --- a/prism/src/userinterface/simulator/GUISimulatorPathTableModel.java +++ b/prism/src/userinterface/simulator/GUISimulatorPathTableModel.java @@ -128,7 +128,7 @@ public class GUISimulatorPathTableModel extends AbstractTableModel implements GU public boolean canShowTime() { - return parsedModel.getModelType().continuousTime(); + return modelInfo.getModelType().continuousTime(); } @Override @@ -166,7 +166,7 @@ public class GUISimulatorPathTableModel extends AbstractTableModel implements GU return "Time"; case VARIABLES: int module = (Integer) visibleGroups.get(groupIndex).info; - return module == -1 ? "Globals" : parsedModel.getModuleName(module); + return module == -1 ? "Globals" : modelInfo.getModuleName(module); case REWARDS: return "Rewards"; default: @@ -188,7 +188,7 @@ public class GUISimulatorPathTableModel extends AbstractTableModel implements GU return null; case VARIABLES: int module = (Integer) visibleGroups.get(groupIndex).info; - return module == -1 ? "Global variables" : "Variables of module " + parsedModel.getModuleName(module); + return module == -1 ? "Global variables" : "Variables of module " + modelInfo.getModuleName(module); case REWARDS: return "State, transition and cumulative rewards"; default: diff --git a/prism/src/userinterface/simulator/SimulationView.java b/prism/src/userinterface/simulator/SimulationView.java index 0df5078c..e655366f 100644 --- a/prism/src/userinterface/simulator/SimulationView.java +++ b/prism/src/userinterface/simulator/SimulationView.java @@ -205,22 +205,15 @@ public class SimulationView extends Observable // Make a set of all variable names. TreeSet allVarNames = new TreeSet(); - for (Variable var : visibleVariables) allVarNames.add(var.getName()); for (Variable var : hiddenVariables) allVarNames.add(var.getName()); - + // Cannot use current view if a variable is not there. - for (int g = 0; g < parsedModel.getNumGlobals(); g++) { - if (!allVarNames.remove(parsedModel.getGlobal(g).getName())) + for (int i = 0; i < parsedModel.getNumVars(); i++) { + if (!allVarNames.remove(parsedModel.getVarName(i))) { canUseCurrentView = false; - } - for (int m = 0; m < parsedModel.getNumModules(); m++) { - parser.ast.Module module = parsedModel.getModule(m); - for (int v = 0; v < module.getNumDeclarations(); v++) { - if (!allVarNames.remove(module.getDeclaration(v).getName())) - canUseCurrentView = false; } } @@ -230,7 +223,6 @@ public class SimulationView extends Observable // Make a list of all reward structures ArrayList allrew = new ArrayList(); - for (RewardStructure rew : rewards) { allrew.add(rew); } @@ -238,10 +230,8 @@ public class SimulationView extends Observable for (int r = 0; r < parsedModel.getNumRewardStructs(); r++) { RewardStruct rewardStruct = parsedModel.getRewardStruct(r); String rewardName = rewardStruct.getName(); - boolean hasStates = parsedModel.getRewardStruct(r).getNumStateItems() != 0; boolean hasTrans = parsedModel.getRewardStruct(r).getNumTransItems() != 0; - boolean foundReward = false; for (RewardStructure rew : rewards) { @@ -258,30 +248,17 @@ public class SimulationView extends Observable if (allrew.size() > 0) canUseCurrentView = false; - } if (!canUseCurrentView && pathActive) { visibleVariables.clear(); hiddenVariables.clear(); visibleRewardColumns.clear(); - rewards.clear(); - { - int i = 0; - for (int g = 0; g < parsedModel.getNumGlobals(); g++) { - visibleVariables.add(new Variable(i, parsedModel.getGlobal(g).getName(), parsedModel.getGlobal(g).getType(), -1)); - i++; + for (int i = 0; i < parsedModel.getNumVars(); i++) { + visibleVariables.add(new Variable(i, parsedModel.getVarName(i), parsedModel.getVarType(i), parsedModel.getVarModuleIndex(i))); } - for (int m = 0; m < parsedModel.getNumModules(); m++) { - parser.ast.Module module = parsedModel.getModule(m); - for (int v = 0; v < module.getNumDeclarations(); v++) { - visibleVariables.add(new Variable(i, module.getDeclaration(v).getName(), module.getDeclaration(v).getType(), m)); - i++; - } - } - for (int r = 0; r < parsedModel.getNumRewardStructs(); r++) { RewardStruct rewardStruct = parsedModel.getRewardStruct(r); String rewardName = rewardStruct.getName();