X-Git-Url: http://git.phpeclipse.com diff --git a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/export/pdf/WikiPDFExportWizard.java b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/export/pdf/WikiPDFExportWizard.java new file mode 100644 index 0000000..891c0ea --- /dev/null +++ b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/export/pdf/WikiPDFExportWizard.java @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2002 Team in a Box Ltd. All rights reserved. This file is made available under the terms and conditions of the + * Common Public License v 1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/cpl-v1.0.html + * + * Contributors: Team in a Box Ltd http://www.teaminabox.co.uk/ + */ + +package net.sourceforge.phpeclipse.wiki.export.pdf; + +import java.io.File; +import java.lang.reflect.InvocationTargetException; + +import net.sourceforge.phpeclipse.wiki.editor.WikiEditorPlugin; + +import org.eclipse.core.resources.IProject; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.QualifiedName; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.operation.IRunnableWithProgress; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.wizard.Wizard; +import org.eclipse.ui.INewWizard; +import org.eclipse.ui.IWorkbench; + +public final class WikiPDFExportWizard extends Wizard implements INewWizard { + static final QualifiedName DIRECTORY_QUALIFIED_NAME = new QualifiedName(WikiEditorPlugin.PLUGIN_ID, "exportDirectory"); + + private WikiPDFExportWizardPage page; + + private IStructuredSelection selection; + + public WikiPDFExportWizard() { + super(); + setNeedsProgressMonitor(true); + } + + public void addPages() { + page = new WikiPDFExportWizardPage(selection); + addPage(page); + } + + public boolean performFinish() { + return page.finish(); + } + + private boolean runOperationForContainer(IRunnableWithProgress op) { + try { + getContainer().run(true, true, op); + } catch (InterruptedException e) { + return false; + } catch (InvocationTargetException e) { + WikiEditorPlugin.getDefault().log("", e); + MessageDialog.openError(getShell(), "Error", e.getTargetException().getMessage()); + return false; + } + + return true; + } + + private void persistExportProperties() { + IProject project = page.getFolder().getProject(); + try { + project.setPersistentProperty(WikiPDFExportWizard.DIRECTORY_QUALIFIED_NAME, new File(page.getExportDirectoryPath()) + .getAbsolutePath()); + } catch (CoreException cex) { + noteException(cex); + } + } + + private void noteException(CoreException cex) { + WikiEditorPlugin.getDefault().log("Export Error", cex); + throw new RuntimeException("An error occurred. Please see the log for details."); + } + + public void init(IWorkbench workbench, IStructuredSelection selection) { + this.selection = selection; + } +} \ No newline at end of file