diff -r f65f740e69f9 -r 8e12a575a9b5 sysperfana/memspyext/com.nokia.s60tools.swmtanalyser/src/com/nokia/s60tools/swmtanalyser/wizards/ReportGenerationWizard.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysperfana/memspyext/com.nokia.s60tools.swmtanalyser/src/com/nokia/s60tools/swmtanalyser/wizards/ReportGenerationWizard.java Wed Apr 21 20:01:08 2010 +0300 @@ -0,0 +1,103 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ +package com.nokia.s60tools.swmtanalyser.wizards; + +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.swt.program.Program; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Tree; + +import com.nokia.s60tools.swmtanalyser.data.OverviewData; +import com.nokia.s60tools.ui.wizards.S60ToolsWizard; + +/** + * Report Generation Wizard + * + */ +public class ReportGenerationWizard extends S60ToolsWizard { + + //Comments page + private CommentsPage comments_page; + //Overview object to write overview info to pdf + private OverviewData ov; + //ROM Checksum + private String rom_checkSum; + //ROM Version + private String rom_version; + //Tree object from Analysis view + private Tree issues_tree; + //PDF file name + private String fileName; + + /** + * Constructor + * @param ov Overview Data Object + * @param checksum ROM Checksum string + * @param version ROM Version string + * @param issues_tree Tree object from the Analysis view. + */ + public ReportGenerationWizard(OverviewData ov, String checksum, String version, Tree issues_tree) { + setWindowTitle("Create Report"); + this.ov = ov; + this.rom_checkSum = checksum; + this.rom_version = version; + this.issues_tree = issues_tree; + } + + /* (non-Javadoc) + * @see com.nokia.s60tools.ui.wizards.S60ToolsWizard#addPages() + */ + public void addPages() { + comments_page = new CommentsPage("Comments", issues_tree); + addPage(comments_page); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.wizard.Wizard#performFinish() + */ + public boolean performFinish() { + + fileName = comments_page.getFileName(); + String comment = comments_page.getComments(); + boolean isOverviewReport = comments_page.isOverviewReportSelected(); + ReportCreationJob engine = new ReportCreationJob("Creating report", fileName, comment, ov, this.rom_checkSum, this.rom_version, issues_tree, isOverviewReport); + engine.setUser(true); + engine.schedule(); + + //Ask user whether to open the created pdf file or not + Runnable p = new Runnable(){ + public void run() { + if(MessageDialog.openQuestion(Display.getCurrent().getActiveShell(),"Confirmation","Would you like to open the saved report?")) //$NON-NLS-2$ + { + Program p=Program.findProgram(".pdf"); + if(p!=null) + p.execute(fileName); + } + } + }; + Display.getDefault().asyncExec(p); + return true; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.wizard.Wizard#canFinish() + */ + public boolean canFinish() { + return comments_page.checkForCompletion(); + } + +}