{
return;
}
final MasterReport report = activeContext.getMasterReportElement();
final PageDefinition originalPageDef = report.getPageDefinition();
if ("true".equals(ClassicEngineBoot.getInstance().getGlobalConfig().getConfigProperty // NON-NLS
("org.pentaho.reporting.engine.classic.core.modules.gui.print.UseAlternatePageSetupDialog"))) // NON-NLS
{
final GuiContext context = new DefaultGuiContext();
final PageSetupDialog dialog;
final Window proxy = SwingUtil.getWindowAncestor(getReportDesignerContext().getParent());
if (proxy instanceof Frame)
{
dialog = new PageSetupDialog(context, (Frame) proxy);
}
else if (proxy instanceof Dialog)
{
dialog = new PageSetupDialog(context, (Dialog) proxy);
}
else
{
dialog = new PageSetupDialog(context);
}
dialog.pack();
SwingUtil.centerDialogInParent(dialog);
final PageDefinition definition = dialog.performSetup(originalPageDef);
if (dialog.isConfirmed() == false)
{
return;
}
report.setPageDefinition(definition);
}
else
{
final PrinterJob pj = PrinterJob.getPrinterJob();
final PageFormat original = originalPageDef.getPageFormat(0);
final PageFormat pf = pj.validatePage(pj.pageDialog(original));
if (PageFormatFactory.isEqual(pf, original))
{
return;
}
final PageDefinition pageDefinition = report.getPageDefinition();
if (pageDefinition instanceof SimplePageDefinition)
{
final SimplePageDefinition spd = (SimplePageDefinition) pageDefinition;
report.setPageDefinition(new SimplePageDefinition
(pf, spd.getPageCountHorizontal(), spd.getPageCountVertical()));