Browse Source

Added module names to group headers in simulator path table

git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@432 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Mark Kattenbelt 19 years ago
parent
commit
9b943536a3
  1. 139
      prism/src/userinterface/simulator/GUISimulator.java

139
prism/src/userinterface/simulator/GUISimulator.java

@ -2700,8 +2700,36 @@ public class GUISimulator extends GUIPlugin implements MouseListener, ListSelect
if (view.showTime() || view.showCumulativeTime())
{ groupCount++; }
if (view.getVisibleVariables().size() > 0)
{ groupCount++; }
ArrayList vars = view.getVisibleVariables();
Set<String> varNames = new HashSet<String>();
for (Object var : vars)
{
Variable variable = (Variable)var;
varNames.add(variable.getName());
}
for (int g = 0; g < parsedModel.getNumGlobals(); g++)
{
if (varNames.contains(parsedModel.getGlobal(g).getName()))
{
groupCount++;
break;
}
}
for (int m = 0; m < parsedModel.getNumModules(); m++)
{
Module module = parsedModel.getModule(m);
for (int v = 0; v < module.getNumDeclarations(); v++)
{
if (varNames.contains(module.getDeclaration(v).getName()))
{
groupCount++;
break;
}
}
}
if (view.getVisibleRewardColumns().size() > 0)
{ groupCount++; }
@ -2734,7 +2762,7 @@ public class GUISimulator extends GUIPlugin implements MouseListener, ListSelect
if (view.showSteps())
{
if (groupCount == groupIndex)
{ return "Step"; }
{ return "[ Step ]"; }
groupCount++;
}
@ -2742,24 +2770,56 @@ public class GUISimulator extends GUIPlugin implements MouseListener, ListSelect
if (view.showTime() || view.showCumulativeTime())
{
if (groupCount == groupIndex)
{ return "Time"; }
{ return "[ Time ]"; }
groupCount++;
}
if (view.getVisibleVariables().size() > 0)
{
if (groupCount == groupIndex)
{ return "Variables"; }
{
ArrayList vars = view.getVisibleVariables();
Set<String> varNames = new HashSet<String>();
groupCount++;
for (Object var : vars)
{
Variable variable = (Variable)var;
varNames.add(variable.getName());
}
for (int g = 0; g < parsedModel.getNumGlobals(); g++)
{
if (varNames.contains(parsedModel.getGlobal(g).getName()))
{
if (groupCount == groupIndex)
{ return "globals"; }
groupCount++;
break;
}
}
for (int m = 0; m < parsedModel.getNumModules(); m++)
{
Module module = parsedModel.getModule(m);
for (int v = 0; v < module.getNumDeclarations(); v++)
{
if (varNames.contains(module.getDeclaration(v).getName()))
{
if (groupCount == groupIndex)
{ return "" + parsedModel.getModuleName(m) + ""; }
groupCount++;
break;
}
}
}
}
// Add state and transitions rewards for each reward structure.
if (view.getVisibleRewardColumns().size() > 0)
{
if (groupCount == groupIndex)
{ return "Rewards"; }
{ return "[ Rewards ]"; }
groupCount++;
}
@ -2840,10 +2900,65 @@ public class GUISimulator extends GUIPlugin implements MouseListener, ListSelect
if (view.getVisibleVariables().size() > 0)
{
if (groupCount == groupIndex)
{ return varStart + view.getVisibleVariables().size() -1; }
int visVarCount = 0;
groupCount++;
ArrayList vars = view.getVisibleVariables();
Set<String> varNames = new HashSet<String>();
for (Object var : vars)
{
Variable variable = (Variable)var;
varNames.add(variable.getName());
}
boolean atLeastOneGlobal = false;
for (int g = 0; g < parsedModel.getNumGlobals(); g++)
{
boolean contained = varNames.contains(parsedModel.getGlobal(g).getName());
if (!atLeastOneGlobal && contained)
{
atLeastOneGlobal = true;
}
if (contained)
visVarCount++;
}
if (atLeastOneGlobal && groupCount == groupIndex)
{ return varStart + visVarCount -1; }
if (atLeastOneGlobal)
{
groupCount++;
}
for (int m = 0; m < parsedModel.getNumModules(); m++)
{
Module module = parsedModel.getModule(m);
boolean atLeastOne = false;
for (int v = 0; v < module.getNumDeclarations(); v++)
{
boolean contained = varNames.contains(module.getDeclaration(v).getName());
if (!atLeastOne && contained)
{
atLeastOne = true;
}
if (contained)
visVarCount++;
}
if (atLeastOne && groupCount == groupIndex)
{ return varStart + visVarCount -1; }
if (atLeastOne)
{
groupCount++;
}
}
}
// Add state and transitions rewards for each reward structure.

Loading…
Cancel
Save