//------------------------------------------------------------------------------ // Copyright (c) 2005, 2006 IBM Corporation and others. // All rights reserved. This program and the accompanying materials // are made available under the terms of the Eclipse Public License v1.0 // which accompanies this distribution, and is available at // http://www.eclipse.org/legal/epl-v10.html // // Contributors: // IBM Corporation - initial implementation //------------------------------------------------------------------------------ package org.eclipse.epf.publishing.ui.wizards; import java.io.File; import org.eclipse.epf.authoring.gef.viewer.ActivityDiagramService; import org.eclipse.epf.authoring.ui.AuthoringUIPlugin; import org.eclipse.epf.diagram.ui.service.DiagramImageService; import org.eclipse.epf.library.layout.ElementLayoutManager; import org.eclipse.epf.publishing.services.AbstractViewBuilder; import org.eclipse.jface.dialogs.ProgressMonitorDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Shell; /** * The publish configuration progress dialog. * * @author Jinhua Xi * @author Kelvin Low * @since 1.0 */ public class PublishProgressMonitorDialog extends ProgressMonitorDialog { private Composite diagramViewerHolder; private AbstractViewBuilder viewBuilder; /** * Creates a new instance. */ public PublishProgressMonitorDialog(Shell parent, AbstractViewBuilder viewBuilder) { super(parent); this.viewBuilder = viewBuilder; } protected Control createDialogArea(Composite parent) { Control ctrl = super.createDialogArea(parent); if (viewBuilder != null) { // Create the diagram viewer holder and the diagram service. diagramViewerHolder = new Composite(parent, SWT.NONE); diagramViewerHolder.setLayoutData(new GridData(1, 1)); diagramViewerHolder.setLayout(new GridLayout()); diagramViewerHolder.setVisible(false); ElementLayoutManager layoutMgr = viewBuilder.getLayoutMgr(); String newDiagrams = AuthoringUIPlugin.getDefault().getPreferenceStore().getString("PUBLISH_NEW_DIAGRAM"); //$NON-NLS-1$ Boolean newDiagram = new Boolean(true); if(newDiagrams != null && newDiagrams.length() > 0){ newDiagram = new Boolean(newDiagrams); } if (newDiagram.booleanValue()) { DiagramImageService diagramService = new DiagramImageService( diagramViewerHolder, new File(layoutMgr.getPublishDir())); diagramService.setConfig(layoutMgr.getConfiguration()); diagramService.setPublishedUnCreatedADD(viewBuilder .getOptions().isPublishUnopenADD()); diagramService.setPublishADForActivityExtension(viewBuilder .getOptions().isPublishBaseAD()); layoutMgr.setActivityDiagramService(diagramService); } else { ActivityDiagramService diagramService = new ActivityDiagramService( diagramViewerHolder, new File(layoutMgr.getPublishDir())); diagramService.setPublishedUnCreatedADD(viewBuilder .getOptions().isPublishUnopenADD()); diagramService.setPublishADForActivityExtension(viewBuilder .getOptions().isPublishBaseAD()); layoutMgr.setActivityDiagramService(diagramService); } } return ctrl; } /* * (non-Javadoc) Method declared on Window. */ public boolean close() { viewBuilder = null; return super.close(); } }