| /********************************************************************* |
| * Copyright (c) 2009, 2010 SpringSource, a division of VMware, Inc. |
| * |
| * This program and the accompanying materials are made |
| * available under the terms of the Eclipse Public License 2.0 |
| * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| **********************************************************************/ |
| |
| package org.eclipse.virgo.ide.runtime.internal.ui.properties; |
| |
| import org.eclipse.jface.preference.BooleanFieldEditor; |
| import org.eclipse.swt.SWT; |
| import org.eclipse.swt.layout.GridData; |
| import org.eclipse.swt.layout.GridLayout; |
| import org.eclipse.swt.widgets.Composite; |
| import org.eclipse.swt.widgets.Control; |
| import org.eclipse.swt.widgets.Label; |
| import org.eclipse.ui.IWorkbench; |
| import org.eclipse.ui.IWorkbenchPreferencePage; |
| import org.eclipse.ui.dialogs.PropertyPage; |
| import org.eclipse.virgo.ide.runtime.core.ServerCorePlugin; |
| |
| /** |
| * {@link PropertyPage} to configure loading of class and resource names from the repository index |
| * |
| * @author Christian Dupuis |
| * @since 2.3.0 |
| */ |
| public class RuntimePreferencePage extends PropertyPage implements IWorkbenchPreferencePage { |
| |
| private BooleanFieldEditor booleanEditor; |
| |
| @Override |
| protected Control createContents(Composite parent) { |
| |
| Composite entryTable = new Composite(parent, SWT.NULL); |
| |
| // Create a data that takes up the extra space in the dialog . |
| GridData data = new GridData(GridData.FILL_HORIZONTAL); |
| data.grabExcessHorizontalSpace = true; |
| entryTable.setLayoutData(data); |
| |
| GridLayout layout = new GridLayout(); |
| entryTable.setLayout(layout); |
| |
| Label label = new Label(entryTable, SWT.NONE); |
| label.setText("Use this preference page to enable loading of class and resource names\n" |
| + "from the Bundle Repository Index so that they will be included in searches."); |
| |
| Composite radioComposite = new Composite(entryTable, SWT.NONE); |
| radioComposite.setLayout(new GridLayout()); |
| |
| // Create a data that takes up the extra space in the dialog. |
| radioComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); |
| |
| Composite radioComposite2 = new Composite(radioComposite, SWT.NONE); |
| layout.marginWidth = 3; |
| layout.marginHeight = 3; |
| radioComposite2.setLayout(layout); |
| radioComposite2.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); |
| this.booleanEditor = new BooleanFieldEditor(ServerCorePlugin.PREF_LOAD_CLASSES_KEY, "Load class and resource names", radioComposite2); |
| this.booleanEditor.setPage(this); |
| this.booleanEditor.setPreferenceStore(getPreferenceStore()); |
| this.booleanEditor.load(); |
| |
| Label noteLabel = new Label(radioComposite, SWT.NONE); |
| noteLabel.setText("Note: enabling this option will increase memory consumption.\nChanging the setting requires a restart to take effect."); |
| |
| return entryTable; |
| |
| } |
| |
| public void init(IWorkbench workbench) { |
| // Initialize the preference store we wish to use |
| setPreferenceStore(ServerCorePlugin.getDefault().getPreferenceStore()); |
| } |
| |
| @Override |
| protected void performDefaults() { |
| this.booleanEditor.loadDefault(); |
| } |
| |
| @Override |
| public boolean performOk() { |
| this.booleanEditor.store(); |
| return super.performOk(); |
| } |
| |
| } |