package com.jopdesign.jopeclipse.internal.ui; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.ProjectScope; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.preferences.IScopeContext; import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Group; import org.osgi.service.prefs.Preferences; import com.jopdesign.jopeclipse.internal.ui.launchConfigurations.IJOPLaunchConfigurationConstants; public class JOPUIUtils { public static final GridData FILL_HORIZONTAL = new GridData( GridData.FILL_HORIZONTAL); public static Group createHorizontalGrabGroup(Composite parent) { Group group = new Group(parent, SWT.NONE); group.setLayoutData(FILL_HORIZONTAL); return group; } public static String getProjectName(ILaunchConfiguration configuration) { try { return configuration.getAttribute( IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, (String) null); } catch (CoreException e) { } return null; } public static String getProjectSetting(ILaunchConfiguration configuration, String key, String def) { String projectName = getProjectName(configuration); if (projectName == null) { return def; } IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject( projectName); IScopeContext scopeContext = new ProjectScope(project); Preferences projectPrefs = scopeContext .getNode(IJOPUIConstants.PLUGIN_ID); return projectPrefs.get(key, def); } public static void setProjectSetting(ILaunchConfiguration configuration, String key, String value) { String projectName = getProjectName(configuration); if (projectName == null) { return; } IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject( projectName); IScopeContext scopeContext = new ProjectScope(project); Preferences projectPrefs = scopeContext .getNode(IJOPUIConstants.PLUGIN_ID); projectPrefs.put(key, value); } }