| /******************************************************************************* |
| * Copyright (c) 2000, 2006 IBM Corporation 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: |
| * IBM Corporation - initial API and implementation |
| * yyyymmdd bug Email and other contact information |
| * -------- -------- ----------------------------------------------------------- |
| * 20060331 128827 kathy@ca.ibm.com - Kathy Chan |
| * 20060403 128827 kathy@ca.ibm.com - Kathy Chan |
| *******************************************************************************/ |
| package org.eclipse.jst.ws.internal.ui.preferences; |
| |
| import org.eclipse.jface.preference.PreferencePage; |
| import org.eclipse.jst.ws.internal.plugin.WebServicePlugin; |
| import org.eclipse.jst.ws.internal.ui.WSUIPluginMessages; |
| import org.eclipse.jst.ws.internal.ui.plugin.WebServiceUIPlugin; |
| import org.eclipse.swt.SWT; |
| import org.eclipse.swt.layout.GridLayout; |
| import org.eclipse.swt.widgets.Button; |
| 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 org.eclipse.ui.help.IWorkbenchHelpSystem; |
| import org.eclipse.wst.command.internal.env.core.context.ResourceContext; |
| import org.eclipse.wst.command.internal.env.core.context.ResourceDefaults; |
| import org.eclipse.wst.ws.internal.plugin.WSPlugin; |
| import org.eclipse.wst.ws.internal.preferences.MergeDefaults; |
| import org.eclipse.wst.ws.internal.preferences.PersistentMergeContext; |
| |
| |
| |
| public class ResourceManagmentPreferencePage extends PreferencePage implements IWorkbenchPreferencePage |
| { |
| /*CONTEXT_ID PPRM0001 for the Resource Managment Preference Page*/ |
| private String INFOPOP_PPRM_PAGE = WebServiceUIPlugin.ID + ".PPRM0001"; |
| // |
| private Button overWriteFiles; |
| /*CONTEXT_ID PPRM0002 for the file overwrite check box on the Resource Management Preference Page*/ |
| private String INFOPOP_PPRM_CHECKBOX_OVERWRITE_FILES = WebServiceUIPlugin.ID + ".PPRM0002"; |
| // |
| private Button createFolders; |
| /*CONTEXT_ID PPRM0003 for the create folders check box on the Resource Management Preference Page*/ |
| private String INFOPOP_PPRM_CHECKBOX_CREATE_FOLDERS = WebServiceUIPlugin.ID + ".PPRM0003"; |
| // |
| private Button checkoutFiles; |
| /*CONTEXT_ID PPRM0004 for the checkout files check box on the Resource Management Preference Page*/ |
| private String INFOPOP_PPRM_CHECKBOX_CHECK_OUT = WebServiceUIPlugin.ID + ".PPRM0004"; |
| |
| private Button skeletonMerge; |
| /*CONTEXT_ID PPRM0005 for the skeleton merge check box on the Resource Management Preference Page*/ |
| private String INFOPOP_PPRM_CHECKBOX_SKELETON_MERGE = WebServiceUIPlugin.ID + ".PPRM0005"; |
| |
| /** |
| * Creates preference page controls on demand. |
| * @param parent the parent for the preference page |
| */ |
| protected Control createContents(Composite superparent) |
| { |
| IWorkbenchHelpSystem helpSystem = PlatformUI.getWorkbench().getHelpSystem(); |
| |
| Composite parent = new Composite( superparent, SWT.NONE ); |
| GridLayout layout = new GridLayout(); |
| layout.numColumns = 1; |
| parent.setLayout( layout ); |
| parent.setToolTipText(WSUIPluginMessages.TOOLTIP_PPRM_PAGE); |
| helpSystem.setHelp(parent, INFOPOP_PPRM_PAGE); |
| |
| overWriteFiles = createCheckBox(parent, WSUIPluginMessages.BUTTON_OVERWRITE_FILES); |
| overWriteFiles.setToolTipText(WSUIPluginMessages.TOOLTIP_PPRM_CHECKBOX_OVERWRITE_FILES); |
| helpSystem.setHelp(overWriteFiles, INFOPOP_PPRM_CHECKBOX_OVERWRITE_FILES); |
| |
| createFolders = createCheckBox(parent, WSUIPluginMessages.BUTTON_CREATE_FOLDERS); |
| createFolders.setToolTipText(WSUIPluginMessages.TOOLTIP_PPRM_CHECKBOX_CREATE_FOLDERS); |
| helpSystem.setHelp(createFolders, INFOPOP_PPRM_CHECKBOX_CREATE_FOLDERS); |
| |
| checkoutFiles = createCheckBox(parent, WSUIPluginMessages.BUTTON_CHECKOUT_FILES); |
| checkoutFiles.setToolTipText(WSUIPluginMessages.TOOLTIP_PPRM_CHECKBOX_CHECK_OUT); |
| helpSystem.setHelp(checkoutFiles, INFOPOP_PPRM_CHECKBOX_CHECK_OUT); |
| |
| skeletonMerge = createCheckBox(parent, WSUIPluginMessages.BUTTON_SKELETON_MERGE); |
| skeletonMerge.setToolTipText(WSUIPluginMessages.TOOLTIP_PPRM_CHECKBOX_SKELETON_MERGE); |
| helpSystem.setHelp(skeletonMerge, INFOPOP_PPRM_CHECKBOX_SKELETON_MERGE); |
| |
| initializeValues(); |
| org.eclipse.jface.dialogs.Dialog.applyDialogFont(superparent); |
| |
| return parent; |
| } |
| |
| private Button createCheckBox( Composite parent, String text ) |
| { |
| Button button = new Button( parent, SWT.CHECK ); |
| button.setText( text ); |
| return button; |
| } |
| |
| /** |
| * Does anything necessary because the default button has been pressed. |
| */ |
| protected void performDefaults() |
| { |
| super.performDefaults(); |
| initializeDefaults(); |
| } |
| |
| /** |
| * Do anything necessary because the OK button has been pressed. |
| * @return whether it is okay to close the preference page |
| */ |
| public boolean performOk() |
| { |
| storeValues(); |
| return true; |
| } |
| |
| protected void performApply() |
| { |
| performOk(); |
| } |
| |
| /** |
| * @see IWorkbenchPreferencePage |
| */ |
| public void init(IWorkbench workbench) { } |
| |
| /** |
| * Initializes states of the controls using default values |
| * in the preference store. |
| */ |
| private void initializeDefaults() |
| { |
| overWriteFiles.setSelection( ResourceDefaults.getOverwriteFilesDefault()); |
| createFolders.setSelection( ResourceDefaults.getCreateFoldersDefault()); |
| checkoutFiles.setSelection( ResourceDefaults.getCheckoutFilesDefault()); |
| skeletonMerge.setSelection( MergeDefaults.getSkeletonMergeDefault()); |
| } |
| |
| /** |
| * Initializes states of the controls from the preference store. |
| */ |
| private void initializeValues() |
| { |
| // get the persistent context from the plugin |
| ResourceContext context = WebServicePlugin.getInstance().getResourceContext(); |
| PersistentMergeContext mergeContext = WSPlugin.getInstance().getMergeContext(); |
| overWriteFiles.setSelection( context.isOverwriteFilesEnabled()); |
| createFolders.setSelection( context.isCreateFoldersEnabled()); |
| checkoutFiles.setSelection( context.isCheckoutFilesEnabled()); |
| skeletonMerge.setSelection( mergeContext.isSkeletonMergeEnabled()); |
| } |
| |
| /** |
| * Stores the values of the controls back to the preference store. |
| */ |
| private void storeValues() |
| { |
| // get the persistent context from the plugin |
| ResourceContext context = WebServicePlugin.getInstance().getResourceContext(); |
| PersistentMergeContext mergeContext = WSPlugin.getInstance().getMergeContext(); |
| context.setOverwriteFilesEnabled( overWriteFiles.getSelection() ); |
| context.setCreateFoldersEnabled( createFolders.getSelection() ); |
| context.setCheckoutFilesEnabled( checkoutFiles.getSelection() ); |
| mergeContext.setSkeletonMergeEnabled( skeletonMerge.getSelection() ); |
| } |
| } |
| |