1 package org.simantics.document.linking.wizard;
\r
3 import org.eclipse.jface.resource.JFaceResources;
\r
4 import org.eclipse.jface.resource.LocalResourceManager;
\r
5 import org.eclipse.jface.viewers.IStructuredSelection;
\r
6 import org.eclipse.jface.wizard.IWizardPage;
\r
7 import org.eclipse.jface.wizard.Wizard;
\r
8 import org.eclipse.ui.IExportWizard;
\r
9 import org.eclipse.ui.IWorkbench;
\r
10 import org.simantics.db.Resource;
\r
11 import org.simantics.utils.ui.AdaptionUtils;
\r
14 * Wizard for exporting reports.
\r
16 * @author Marko Luukkainen <marko.luukkainen@vtt.fi>
\r
19 public class ReportWizard extends Wizard implements IExportWizard{
\r
21 Resource selectedResource;
\r
22 ReportSelectionPage reportSelectionPage;
\r
23 ReportCustomizationPage reportCustomizationPage;
\r
24 ReportGeneratePage reportGeneratePage;
\r
26 LocalResourceManager manager = new LocalResourceManager(JFaceResources.getResources());
\r
28 public ReportWizard() {
\r
29 setNeedsProgressMonitor(true);
\r
33 public void addPages() {
\r
34 reportSelectionPage = new ReportSelectionPage("Select report parameters");
\r
35 reportCustomizationPage = new ReportCustomizationPage("Customize report");
\r
36 reportGeneratePage = new ReportGeneratePage("Run Report");
\r
37 addPage(reportSelectionPage);
\r
38 addPage(reportCustomizationPage);
\r
39 addPage(reportGeneratePage);
\r
40 if (selectedResource != null)
\r
41 reportSelectionPage.setInput(selectedResource);
\r
45 public IWizardPage getNextPage(IWizardPage page) {
\r
46 if (page == reportSelectionPage) {
\r
47 reportCustomizationPage.setReportWriter(reportSelectionPage.getSelectedWriter());
\r
48 reportCustomizationPage.setModel(reportSelectionPage.getSelectedModel());
\r
49 reportGeneratePage.setFilename(reportSelectionPage.getFilename());
\r
50 reportGeneratePage.setModel(reportSelectionPage.getSelectedModel());
\r
51 reportGeneratePage.setReportWriter(reportSelectionPage.getSelectedWriter());
\r
53 return super.getNextPage(page);
\r
57 public boolean performFinish() {
\r
58 return reportGeneratePage.isGenerated();
\r
62 public boolean canFinish() {
\r
63 if (!reportGeneratePage.isGenerated())
\r
65 return super.canFinish();
\r
69 public void init(IWorkbench workbench, IStructuredSelection selection) {
\r
70 selectedResource = AdaptionUtils.adaptToSingle(selection, Resource.class);
\r
71 if (reportSelectionPage != null)
\r
72 reportSelectionPage.setInput(selectedResource);
\r
76 public void dispose() {
\r