Browse Source

Refactoring in GUI simulator path table.

Remove some, but not all, dependencies on ModulesFile
(as opposed to the more general ModelInfo).
accumulation-v4.7
Dave Parker 5 years ago
parent
commit
c8fe2e0e67
  1. 6
      prism/src/userinterface/simulator/GUISimulatorPathTableModel.java
  2. 33
      prism/src/userinterface/simulator/SimulationView.java

6
prism/src/userinterface/simulator/GUISimulatorPathTableModel.java

@ -128,7 +128,7 @@ public class GUISimulatorPathTableModel extends AbstractTableModel implements GU
public boolean canShowTime() public boolean canShowTime()
{ {
return parsedModel.getModelType().continuousTime();
return modelInfo.getModelType().continuousTime();
} }
@Override @Override
@ -166,7 +166,7 @@ public class GUISimulatorPathTableModel extends AbstractTableModel implements GU
return "Time"; return "Time";
case VARIABLES: case VARIABLES:
int module = (Integer) visibleGroups.get(groupIndex).info; int module = (Integer) visibleGroups.get(groupIndex).info;
return module == -1 ? "Globals" : parsedModel.getModuleName(module);
return module == -1 ? "Globals" : modelInfo.getModuleName(module);
case REWARDS: case REWARDS:
return "Rewards"; return "Rewards";
default: default:
@ -188,7 +188,7 @@ public class GUISimulatorPathTableModel extends AbstractTableModel implements GU
return null; return null;
case VARIABLES: case VARIABLES:
int module = (Integer) visibleGroups.get(groupIndex).info; 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: case REWARDS:
return "State, transition and cumulative rewards"; return "State, transition and cumulative rewards";
default: default:

33
prism/src/userinterface/simulator/SimulationView.java

@ -205,22 +205,15 @@ public class SimulationView extends Observable
// Make a set of all variable names. // Make a set of all variable names.
TreeSet<String> allVarNames = new TreeSet<String>(); TreeSet<String> allVarNames = new TreeSet<String>();
for (Variable var : visibleVariables) for (Variable var : visibleVariables)
allVarNames.add(var.getName()); allVarNames.add(var.getName());
for (Variable var : hiddenVariables) for (Variable var : hiddenVariables)
allVarNames.add(var.getName()); allVarNames.add(var.getName());
// Cannot use current view if a variable is not there. // 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; 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 // Make a list of all reward structures
ArrayList<RewardStructure> allrew = new ArrayList<RewardStructure>(); ArrayList<RewardStructure> allrew = new ArrayList<RewardStructure>();
for (RewardStructure rew : rewards) { for (RewardStructure rew : rewards) {
allrew.add(rew); allrew.add(rew);
} }
@ -238,10 +230,8 @@ public class SimulationView extends Observable
for (int r = 0; r < parsedModel.getNumRewardStructs(); r++) { for (int r = 0; r < parsedModel.getNumRewardStructs(); r++) {
RewardStruct rewardStruct = parsedModel.getRewardStruct(r); RewardStruct rewardStruct = parsedModel.getRewardStruct(r);
String rewardName = rewardStruct.getName(); String rewardName = rewardStruct.getName();
boolean hasStates = parsedModel.getRewardStruct(r).getNumStateItems() != 0; boolean hasStates = parsedModel.getRewardStruct(r).getNumStateItems() != 0;
boolean hasTrans = parsedModel.getRewardStruct(r).getNumTransItems() != 0; boolean hasTrans = parsedModel.getRewardStruct(r).getNumTransItems() != 0;
boolean foundReward = false; boolean foundReward = false;
for (RewardStructure rew : rewards) { for (RewardStructure rew : rewards) {
@ -258,30 +248,17 @@ public class SimulationView extends Observable
if (allrew.size() > 0) if (allrew.size() > 0)
canUseCurrentView = false; canUseCurrentView = false;
} }
if (!canUseCurrentView && pathActive) { if (!canUseCurrentView && pathActive) {
visibleVariables.clear(); visibleVariables.clear();
hiddenVariables.clear(); hiddenVariables.clear();
visibleRewardColumns.clear(); visibleRewardColumns.clear();
rewards.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++) { for (int r = 0; r < parsedModel.getNumRewardStructs(); r++) {
RewardStruct rewardStruct = parsedModel.getRewardStruct(r); RewardStruct rewardStruct = parsedModel.getRewardStruct(r);
String rewardName = rewardStruct.getName(); String rewardName = rewardStruct.getName();

Loading…
Cancel
Save