blob: 8cce1de1ad3ba8d1be13d5d04cdd8f70d02dfb84 [file] [log] [blame]
/******************************************************************************
* Copyright (c) 2010 Oracle
* 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:
* Konstantin Komissarchik - initial implementation and ongoing maintenance
******************************************************************************/
package org.eclipse.jst.common.project.facet.ui.libprov.user.internal;
import static org.eclipse.jst.common.project.facet.ui.internal.FacetedProjectFrameworkJavaExtUiPlugin.IMG_PATH_WIZBAN_DOWNLOAD_LIBRARY;
import static org.eclipse.jst.common.project.facet.ui.internal.FacetedProjectFrameworkJavaExtUiPlugin.getImageDescriptor;
import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gd;
import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.jst.common.project.facet.core.libprov.user.internal.DownloadableLibrary;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
/**
* @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
*/
public final class DownloadLibraryWizardLicensePage
extends WizardPage
{
private Browser browser;
private Button acceptLicenseCheckbox;
public DownloadLibraryWizardLicensePage()
{
super( "DownloadLibraryWizardLicensePage" ); //$NON-NLS-1$
setTitle( Resources.pageTitle );
setDescription( Resources.pageDescription );
setImageDescriptor( getImageDescriptor( IMG_PATH_WIZBAN_DOWNLOAD_LIBRARY ) );
}
public void createControl( final Composite parent )
{
final Composite composite = new Composite( parent, SWT.NONE );
composite.setLayout( gl( 1 ) );
this.browser = new Browser( composite, SWT.BORDER );
this.browser.setLayoutData( gdfill() );
this.acceptLicenseCheckbox = new Button( composite, SWT.CHECK );
this.acceptLicenseCheckbox.setLayoutData( gd() );
this.acceptLicenseCheckbox.setText( Resources.acceptLicenseCheckboxLabel );
this.acceptLicenseCheckbox.addSelectionListener
(
new SelectionAdapter()
{
@Override
public void widgetSelected( final SelectionEvent event )
{
getContainer().updateButtons();
}
}
);
setControl( composite );
}
@Override
public boolean isPageComplete()
{
return ( this.acceptLicenseCheckbox.getSelection() == true );
}
public void setLibrary( final DownloadableLibrary library )
{
final String url = ( library == null ? null : library.getLicenseUrl() );
this.browser.setUrl( url != null ? url : "" ); //$NON-NLS-1$
this.acceptLicenseCheckbox.setSelection( url != null ? false : true );
}
private static final class Resources
extends NLS
{
public static String pageTitle;
public static String pageDescription;
public static String acceptLicenseCheckboxLabel;
static
{
initializeMessages( DownloadLibraryWizardLicensePage.class.getName(),
Resources.class );
}
}
}