blob: 128107faacbc005455c336a00b54a512e0998147 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2010, 2011 EclipseSource 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:
* Holger Staudacher - initial API and implementation
*******************************************************************************/
package org.eclipse.libra.warproducts.ui.exportwizard;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.viewers.IContentProvider;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.libra.warproducts.ui.Messages;
import org.eclipse.libra.warproducts.ui.WARProductConstants;
import org.eclipse.libra.warproducts.ui.validation.PluginStatusContentVisualizer;
import org.eclipse.libra.warproducts.ui.validation.PluginStatusDialogContentProvider;
import org.eclipse.pde.internal.ui.wizards.exports.AbstractExportWizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.help.IWorkbenchHelpSystem;
public class ValidationPage extends AbstractExportWizardPage {
private Composite container;
private TreeViewer treeViewer;
private Map input;
public ValidationPage() {
super( "Validation" ); //$NON-NLS-1$
setTitle( Messages.ValidationPageTitle );
setErrorMessage( Messages.ValidationPageDesc );
}
public void createControl( final Composite parent ) {
if( input == null ) {
input = new HashMap();
}
container = new Composite( parent, SWT.NONE );
container.setBackground( new Color( container.getDisplay(), 255, 0, 0 ) );
container.setLayout( new FormLayout() );
PluginStatusContentVisualizer visualizer
= new PluginStatusContentVisualizer();
visualizer.setInput( input );
visualizer.createControls( container );
FormData fd = new FormData();
fd.left = new FormAttachment( 0 );
fd.top = new FormAttachment( 0 );
fd.right = new FormAttachment( 100 );
fd.bottom = new FormAttachment( 100 );
treeViewer = visualizer.getViewer();
treeViewer.getControl().setLayoutData( fd );
setControl( container );
IWorkbench workbench = PlatformUI.getWorkbench();
IWorkbenchHelpSystem helpSystem = workbench.getHelpSystem();
String contextId = WARProductConstants.HELP_CONTEXT_VALIDATION_PAGE;
helpSystem.setHelp( container, contextId );
}
protected void pageChanged() {
}
protected void saveSettings( final IDialogSettings settings ) {
}
public void setVisible( boolean visible ) {
if( visible && treeViewer != null && input != null ) {
setInput( input );
}
super.setVisible( visible );
}
public TreeViewer getTreeViewer() {
return treeViewer;
}
public void setInput( final Map errors ) {
input = errors;
if( treeViewer != null ) {
IContentProvider provider = treeViewer.getContentProvider();
PluginStatusDialogContentProvider contentProvider
= ( PluginStatusDialogContentProvider )provider;
contentProvider.setInput( input );
treeViewer.setInput( input );
treeViewer.refresh();
}
}
}