Java tutorial
/******************************************************************************* * Copyright 2017 Capital One Services, LLC and Bitwise, Inc. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *******************************************************************************/ package hydrograph.ui.graph.execution.tracking.preferences; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.PreferencePage; 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.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; import org.eclipse.ui.PlatformUI; import hydrograph.ui.graph.Activator; import hydrograph.ui.graph.execution.tracking.utils.TrackingDisplayUtils; /** * @author Bitwise * *Create preference page of execution tracking and save prefernces * */ public class ExecutionTrackPreference extends PreferencePage implements IWorkbenchPreferencePage { private ExecutionTrackingPreferanceComposite executionTrackingPreferanceComposite; public ExecutionTrackPreference() { setPreferenceStore(PlatformUI.getPreferenceStore()); } @Override public void init(IWorkbench workbench) { IPreferenceStore preferenceStore = Activator.getDefault().getPreferenceStore(); preferenceStore.setDefault(ExecutionPreferenceConstants.EXECUTION_TRACKING, true); preferenceStore.setDefault(ExecutionPreferenceConstants.TRACKING_LOG_PATH, TrackingDisplayUtils.INSTANCE.getInstallationPath()); setPreferenceStore(preferenceStore); } /* (non-Javadoc) * @see org.eclipse.jface.preference.PreferencePage#performDefaults() * * set prefernces to defaults */ @Override protected void performDefaults() { IPreferenceStore preferenceStore = getPreferenceStore(); ExecutionTrackingPreferencesDataStructure defalultPreferences = new ExecutionTrackingPreferencesDataStructure(); defalultPreferences.setEnableTrackingCheckBox(true); defalultPreferences.setOverrideRemoteHostButton(false); defalultPreferences.setTrackingLogPathText( preferenceStore.getDefaultString(ExecutionPreferenceConstants.TRACKING_LOG_PATH)); executionTrackingPreferanceComposite.setDefaults(defalultPreferences); } /* (non-Javadoc) * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite) */ @Override protected Control createContents(Composite parent) { ExecutionTrackingPreferencesDataStructure preference = new ExecutionTrackingPreferencesDataStructure(); preference.setEnableTrackingCheckBox( getPreferenceStore().getBoolean(ExecutionPreferenceConstants.EXECUTION_TRACKING)); preference.setTrackingLogPathText( getPreferenceStore().getString(ExecutionPreferenceConstants.TRACKING_LOG_PATH)); executionTrackingPreferanceComposite = new ExecutionTrackingPreferanceComposite(parent, SWT.NONE, this, preference); executionTrackingPreferanceComposite.setLayout(new GridLayout(1, false)); executionTrackingPreferanceComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); return null; } /* (non-Javadoc) * @see org.eclipse.jface.preference.PreferencePage#performOk() * Save prefernece on ok button */ @Override public boolean performOk() { ExecutionTrackingPreferencesDataStructure preference = executionTrackingPreferanceComposite .getPreferences(); getPreferenceStore().setValue(ExecutionPreferenceConstants.EXECUTION_TRACKING, preference.isEnableTrackingCheckBox()); getPreferenceStore().setValue(ExecutionPreferenceConstants.EXECUTION_TRACKING, preference.isEnableTrackingCheckBox()); getPreferenceStore().setValue(ExecutionPreferenceConstants.TRACKING_LOG_PATH, preference.getTrackingLogPathText()); return super.performOk(); } }