use of org.eclipse.ui.preferences.ScopedPreferenceStore in project linuxtools by eclipse.
the class AbstractProviderPropertyTab method createControls.
@Override
protected void createControls(final Composite parent) {
super.createControls(parent);
usercomp.setLayout(new GridLayout(2, true));
// Get the property provider (project, file, folder) and fine the project.
IResource resource = page.getElement().getAdapter(IResource.class);
IProject project = resource.getProject();
// Create the preference store to use
ProjectScope ps = new ProjectScope(project);
ScopedPreferenceStore scoped = new ScopedPreferenceStore(ps, ProviderProfileConstants.PLUGIN_ID);
scoped.setSearchContexts(new IScopeContext[] { ps, InstanceScope.INSTANCE });
setPreferenceStore(scoped);
getPreferenceStore().setDefault(ProviderProfileConstants.USE_PROJECT_SETTINGS + getType(), false);
useProjectSetting = new Button(usercomp, SWT.CHECK);
useProjectSetting.setText(Messages.UseProjectSetting_0);
useProjectSetting.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, false, 1, 1));
useProjectSetting.setSelection(getPreferenceStore().getBoolean(ProviderProfileConstants.USE_PROJECT_SETTINGS + getType()));
useProjectSetting.addSelectionListener(SelectionListener.widgetSelectedAdapter(e -> updateOptionsEnable()));
String highestProviderId = ProviderFramework.getHighestProviderId(getType());
if (highestProviderId != null) {
getPreferenceStore().setDefault(ProviderProfileConstants.PREFS_KEY + getType(), highestProviderId);
} else {
useProjectSetting.setEnabled(false);
}
fLink = new Link(usercomp, SWT.NULL);
fLink.setText(Messages.PreferenceLink_0);
fLink.setLayoutData(new GridData(SWT.RIGHT, SWT.FILL, true, false, 1, 1));
fLink.addSelectionListener(SelectionListener.widgetSelectedAdapter(e -> PreferencesUtil.createPreferenceDialogOn(parent.getShell(), getPrefPageId(), null, null).open()));
HashMap<String, String> map = ProviderFramework.getProviderNamesForType(getType());
// 2d array containing launch provider names on the first column and
// corresponding id's on the second.
String[][] providerList = new String[map.size()][2];
int i = 0;
for (Entry<String, String> entry : map.entrySet()) {
String toolId = entry.getValue();
String toolDescription = ProviderFramework.getToolInformationFromId(toolId, PROVIDER_ATT_DESC);
String toolName = entry.getKey();
// Append tool description to tool name if available.
if (toolDescription != null && !toolDescription.isEmpty()) {
// $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
toolName = toolName + " " + "[" + toolDescription + "]";
}
providerList[i][0] = toolName;
providerList[i][1] = toolId;
i++;
}
projectSettingsGroup = new Group(usercomp, SWT.NONE);
projectSettingsGroup.setFont(parent.getFont());
projectSettingsGroup.setText(Messages.ProviderPreferencesPage_1);
projectSettingsGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1));
GridLayout layout = new GridLayout();
layout.horizontalSpacing = 8;
layout.numColumns = 1;
projectSettingsGroup.setLayout(layout);
radioButtons = new Button[map.size()];
for (int j = 0; j < radioButtons.length; j++) {
Button radio = new Button(projectSettingsGroup, SWT.RADIO | SWT.LEFT);
radio.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, true, false, 1, 1));
radioButtons[j] = radio;
String[] labelAndValue = providerList[j];
String curProviderId = labelAndValue[1];
// Set tool tip description text.
String toolInfo = ProviderFramework.getToolInformationFromId(curProviderId, PROVIDER_ATT_INFO);
if (toolInfo != null && !toolInfo.isEmpty()) {
radio.setToolTipText(toolInfo);
}
radio.setText(labelAndValue[0]);
radio.setData(labelAndValue[1]);
radio.setFont(parent.getFont());
radio.addSelectionListener(SelectionListener.widgetSelectedAdapter(event -> value = (String) event.widget.getData()));
}
projectSettingsGroup.addDisposeListener(event -> {
projectSettingsGroup = null;
radioButtons = null;
});
updateOptionsEnable();
updateValue(getPreferenceStore().getString(ProviderProfileConstants.PREFS_KEY + getType()));
PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, getHelpContextId());
}
use of org.eclipse.ui.preferences.ScopedPreferenceStore in project linuxtools by eclipse.
the class SpecfileCompletionProcessorTest method setPackageList.
/**
* Set the potential rpm package list to the given list. Useful for testing
* package proposals.
*
* @param packages
*/
private void setPackageList(String[] packages) {
ScopedPreferenceStore prefStore = new ScopedPreferenceStore(InstanceScope.INSTANCE, Activator.PLUGIN_ID);
prefStore.setValue(PreferenceConstants.P_RPM_LIST_FILEPATH, "/tmp/pkglist1");
prefStore.setValue(PreferenceConstants.P_RPM_LIST_BACKGROUND_BUILD, false);
try (BufferedWriter out = new BufferedWriter(new FileWriter("/tmp/pkglist1"))) {
for (String packageName : packages) {
out.write(packageName + "\n");
}
} catch (IOException e) {
fail(e.getMessage());
}
Activator.packagesList = null;
}
use of org.eclipse.ui.preferences.ScopedPreferenceStore in project linuxtools by eclipse.
the class LinuxtoolsPathProperty method getLinuxtoolsPath.
/*
* This function will return the selected Linuxtools Path in the
* 'Linux Tools Path' project properties page.
* If there is a default path setted by the extension point it should be
* selected as the default by the tools.launch.ui classes. This function
* will not care about it.
*
* * If the tools.launch.ui is not installed this function should always
* return "".
* * If the option 'Use the System env PATH' this function should return ""
* * If the option 'Prepend string to path' is selected this function
* should return the value of the selected path.
*/
public String getLinuxtoolsPath(IProject project) {
if (project == null) {
// $NON-NLS-1$
return "";
}
ScopedPreferenceStore store = new ScopedPreferenceStore(new ProjectScope(project), LaunchCoreConstants.PLUGIN_ID);
// If the value is not stored we use the default
boolean systemPathSelected;
if (store.contains(LaunchCoreConstants.LINUXTOOLS_PATH_SYSTEM_NAME)) {
systemPathSelected = store.getBoolean(LaunchCoreConstants.LINUXTOOLS_PATH_SYSTEM_NAME);
} else {
systemPathSelected = getLinuxtoolsPathSystemDefault();
}
if (systemPathSelected) {
// $NON-NLS-1$
return "";
}
String path = null;
if (store.contains(LaunchCoreConstants.LINUXTOOLS_PATH_NAME)) {
path = store.getString(LaunchCoreConstants.LINUXTOOLS_PATH_NAME);
}
if (path == null) {
return getLinuxtoolsPathDefault();
}
return path;
}
use of org.eclipse.ui.preferences.ScopedPreferenceStore in project linuxtools by eclipse.
the class LinuxtoolsPathPropertyPage method setElement.
/**
* Receives the object that owns the properties shown in this property page.
*
* @see org.eclipse.ui.IWorkbenchPropertyPage#setElement(org.eclipse.core.runtime.IAdaptable)
*/
@Override
public void setElement(IAdaptable element) {
this.element = element;
IAdaptable e = getElement();
if (e != null) {
setPreferenceStore(new ScopedPreferenceStore(new ProjectScope((IProject) e), LaunchCoreConstants.PLUGIN_ID));
}
}
use of org.eclipse.ui.preferences.ScopedPreferenceStore in project linuxtools by eclipse.
the class RPMCoreInitializer method initializeDefaultPreferences.
@Override
public void initializeDefaultPreferences() {
IPreferenceStore store = new ScopedPreferenceStore(InstanceScope.INSTANCE, IRPMConstants.RPM_CORE_ID);
// $NON-NLS-1$
String userName = System.getProperty("user.name");
store.setDefault(IRPMConstants.RPM_DISPLAYED_LOG_NAME, // $NON-NLS-1$
".logfilename_" + userName);
// $NON-NLS-1$
store.setDefault(IRPMConstants.RPM_LOG_NAME, "rpmbuild.log");
// $NON-NLS-1$
store.setDefault(IRPMConstants.RPM_CMD, "rpm");
// $NON-NLS-1$
store.setDefault(IRPMConstants.RPMBUILD_CMD, "rpmbuild");
// $NON-NLS-1$
store.setDefault(IRPMConstants.DIFF_CMD, "diff");
}
Aggregations