return;
}
final Component theParent = context.getParent();
final Window theWindow = SwingUtil.getWindowAncestor(theParent);
final ParameterDialog parameterDialog;
if (theWindow instanceof JDialog)
{
parameterDialog = new ParameterDialog((JDialog) theWindow);
}
else if (theWindow instanceof JFrame)
{
parameterDialog = new ParameterDialog((JFrame) theWindow);
}
else
{
parameterDialog = new ParameterDialog();
}
SwingUtil.centerDialogInParent(parameterDialog);
final MasterReport masterReport = activeContext.getMasterReportElement();
final ModifiableReportParameterDefinition parameterDefinition =
(ModifiableReportParameterDefinition) masterReport.getParameterDefinition();
int index = -1;
for (int i = 0; i < parameterDefinition.getParameterCount(); i++)
{
final ParameterDefinitionEntry definition = parameterDefinition.getParameterDefinition(i);
if (definition == parameter)
{
index = i;
break;
}
}
if (index == -1)
{
if (parameter == null)
{
index = parameterDefinition.getParameterCount();
}
else
{
throw new IndexOutOfBoundsException("This parameter is not part of the existing parameter collection");
}
}
final ParameterDialog.ParameterEditResult definitionEntry = parameterDialog.performEditParameter
(context, masterReport, parameter);
if (definitionEntry != null)
{
final ParameterEditUndoEntry parameterEditUndoEntry = new ParameterEditUndoEntry(index, parameter, definitionEntry.getParameter());
final ArrayList<UndoEntry> undos = new ArrayList<UndoEntry>();