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()
{
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:

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

@ -205,22 +205,15 @@ public class SimulationView extends Observable
// Make a set of all variable names.
TreeSet<String> allVarNames = new TreeSet<String>();
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<RewardStructure> allrew = new ArrayList<RewardStructure>();
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();

Loading…
Cancel
Save