blob: 2c058b28a263e08defdcca26a9cf8c8d49a9f412 [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
* Artur Kronenberg - Fixed bug 322091
*******************************************************************************/
package org.eclipse.libra.warproducts.ui.editor;
import org.eclipse.core.runtime.IPath;
import org.eclipse.libra.warproducts.ui.Messages;
import org.eclipse.libra.warproducts.ui.WARProductConstants;
import org.eclipse.pde.internal.ui.*;
import org.eclipse.pde.internal.ui.editor.FormLayoutFactory;
import org.eclipse.pde.internal.ui.editor.PDEFormPage;
import org.eclipse.pde.internal.ui.editor.product.PluginSection;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.forms.IManagedForm;
import org.eclipse.ui.forms.editor.FormEditor;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.ScrolledForm;
import org.eclipse.ui.help.IWorkbenchHelpSystem;
public class ConfigurationPage extends PDEFormPage {
public static final String PLUGIN_ID = "plugin-dependencies"; //$NON-NLS-1$
public static final String FEATURE_ID = "feature-dependencies"; //$NON-NLS-1$
private PluginSection pluginSection = null;
private LibrarySection librarySection = null;
public ConfigurationPage( final FormEditor editor, final boolean useFeatures )
{
super( editor, PLUGIN_ID, Messages.ConfigurationPageTitle );
}
protected String getHelpResource() {
return WARProductConstants.HELP_CONTEXT_CONFIGURATION_PAGE;
}
protected void createFormContent( final IManagedForm managedForm ) {
super.createFormContent( managedForm );
ScrolledForm form = managedForm.getForm();
FormToolkit toolkit = managedForm.getToolkit();
PDELabelProvider labelProvider = PDEPlugin.getDefault().getLabelProvider();
form.setImage( labelProvider.get( PDEPluginImages.DESC_REQ_PLUGINS_OBJ ) );
form.setText( Messages.ConfigurationPageTitle );
fillBody( managedForm, toolkit );
IWorkbenchHelpSystem helpSystem = PlatformUI.getWorkbench().getHelpSystem();
String contextId = WARProductConstants.HELP_CONTEXT_CONFIGURATION_PAGE;
helpSystem.setHelp( form.getBody(), contextId );
}
private void fillBody( final IManagedForm managedForm,
final FormToolkit toolkit )
{
Composite body = managedForm.getForm().getBody();
body.setLayout( FormLayoutFactory.createFormGridLayout( false, 1 ) );
pluginSection = new PluginSectionExtended( this, body );
managedForm.addPart( pluginSection );
librarySection = new LibrarySection( this, body );
managedForm.addPart( librarySection );
}
public boolean includeOptionalDependencies() {
boolean result = false;
if( pluginSection != null ) {
result = pluginSection.includeOptionalDependencies();
}
return result;
}
public boolean selectReveal( final Object object ) {
boolean result = false;
if( object instanceof IPath ) {
result = librarySection.selectReveal( object );
} else {
result = super.selectReveal( object );
}
return result;
}
}