blob: 21644677baef7d81c89957bef6166acd496c8004 [file] [log] [blame]
//------------------------------------------------------------------------------
// Copyright (c) 2005, 2007 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 implementation
//------------------------------------------------------------------------------
package org.eclipse.epf.authoring.ui.preferences;
import org.eclipse.epf.authoring.ui.AuthoringUIResources;
import org.eclipse.epf.common.preferences.IPreferenceStoreWrapper;
import org.eclipse.epf.common.ui.PreferenceStoreWrapper;
import org.eclipse.epf.library.LibraryPlugin;
import org.eclipse.epf.library.ui.LibraryUIPlugin;
import org.eclipse.epf.library.ui.preferences.LibraryUIPreferences;
import org.eclipse.epf.ui.preferences.BasePreferencePage;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
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.swt.widgets.Group;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
/**
* Preference page for breakdown element attributes
*
* @author Shilpa Toraskar
* @since 1.2
*
*/
public class BreakdownElementPrefPage extends BasePreferencePage implements
IWorkbenchPreferencePage, SelectionListener {
Composite composite;
private Button workBreakdownElementOptionalButton,
workBreakdownElementMultipleOccurrancesButton,
workBreakdownElementPlannedButton,
workBreakdownElementEventDrivenButton,
workBreakdownElementOngoingButton,
workBreakdownElementRepetableButton;
private Button descriptorOptionalButton,
descriptorMultipleOccurrancesButton, descriptorPlannedButton,
descriptorEventDrivenButton, descriptorOngoingButton,
descriptorRepetableButton;
public BreakdownElementPrefPage() {
super();
}
protected Control createContents(Composite parent) {
composite = new Composite(parent, SWT.NULL);
composite.setLayout(new GridLayout(1, false));
createLabel(composite,
AuthoringUIResources.preference_breakDownElement_Description);
createLabel(composite, ""); //$NON-NLS-1$
// create group for activity elements
Group workBreakdownElementGroup = createGridLayoutGroup(composite,
AuthoringUIResources.preference_WorkBreakdownElements, 1, true);
workBreakdownElementOptionalButton = createCheckbox(
workBreakdownElementGroup,
AuthoringUIResources.ProcessEditor_Optional);
workBreakdownElementMultipleOccurrancesButton = createCheckbox(
workBreakdownElementGroup,
AuthoringUIResources.ProcessEditor_MultipleOccurrences);
workBreakdownElementPlannedButton = createCheckbox(
workBreakdownElementGroup,
AuthoringUIResources.ProcessEditor_Planned);
workBreakdownElementEventDrivenButton = createCheckbox(
workBreakdownElementGroup,
AuthoringUIResources.ProcessEditor_EventDriven);
workBreakdownElementOngoingButton = createCheckbox(
workBreakdownElementGroup,
AuthoringUIResources.ProcessEditor_Ongoing);
workBreakdownElementRepetableButton = createCheckbox(
workBreakdownElementGroup,
AuthoringUIResources.ProcessEditor_Repetable);
// create group for descriptor elements
Group descriptorGroup = createGridLayoutGroup(composite,
AuthoringUIResources.preference_DescriptorElements, 1, true);
descriptorOptionalButton = createCheckbox(descriptorGroup,
AuthoringUIResources.ProcessEditor_Optional);
descriptorMultipleOccurrancesButton = createCheckbox(descriptorGroup,
AuthoringUIResources.ProcessEditor_MultipleOccurrences);
descriptorPlannedButton = createCheckbox(descriptorGroup,
AuthoringUIResources.ProcessEditor_Planned);
descriptorEventDrivenButton = createCheckbox(descriptorGroup,
AuthoringUIResources.ProcessEditor_EventDriven);
descriptorOngoingButton = createCheckbox(descriptorGroup,
AuthoringUIResources.ProcessEditor_Ongoing);
descriptorRepetableButton = createCheckbox(descriptorGroup,
AuthoringUIResources.ProcessEditor_Repetable);
// Initialize values
initializeValues();
return composite;
}
public void init(IWorkbench workbench) {
}
public void widgetSelected(SelectionEvent e) {
}
public void widgetDefaultSelected(SelectionEvent e) {
}
/*
* (non-Javadoc) Method declared on PreferencePage
*/
protected void performDefaults() {
super.performDefaults();
initializeDefaults();
}
/*
* (non-Javadoc) Method declared on PreferencePage
*/
public boolean performOk() {
storeValues();
LibraryUIPlugin.getDefault().savePluginPreferences();
LibraryUIPreferences.applyDefaultValuesForBreakdownElementAttributes();
return true;
}
/**
* Stores the values of the controls back to the preference store.
*/
private void storeValues() {
//
LibraryUIPreferences
.setWorkBreakdownElementOptional(workBreakdownElementOptionalButton
.getSelection());
LibraryUIPreferences
.setWorkBreakdownElementMultipleOccurrances(workBreakdownElementMultipleOccurrancesButton
.getSelection());
LibraryUIPreferences
.setWorkBreakdownElementPlanned(workBreakdownElementPlannedButton
.getSelection());
LibraryUIPreferences
.setWorkBreakdownElementEventDriven(workBreakdownElementEventDrivenButton
.getSelection());
LibraryUIPreferences
.setWorkBreakdownElementOngoing(workBreakdownElementOngoingButton
.getSelection());
LibraryUIPreferences
.setWorkBreakdownElementRepeatable(workBreakdownElementRepetableButton
.getSelection());
LibraryUIPreferences.setDescriptorOptional(descriptorOptionalButton
.getSelection());
LibraryUIPreferences
.setDescriptorMultipleOccurrances(descriptorMultipleOccurrancesButton
.getSelection());
LibraryUIPreferences.setDescriptorPlanned(descriptorPlannedButton
.getSelection());
LibraryUIPreferences
.setDescriptorEventDriven(descriptorEventDrivenButton
.getSelection());
LibraryUIPreferences.setDescriptorOngoing(descriptorOngoingButton
.getSelection());
LibraryUIPreferences.setDescriptorRepeatable(descriptorRepetableButton
.getSelection());
}
/**
* Initializes default states of the controls from the preference store.
*/
private void initializeDefaults() {
workBreakdownElementOptionalButton.setSelection(false);
workBreakdownElementMultipleOccurrancesButton.setSelection(false);
workBreakdownElementPlannedButton.setSelection(true);
workBreakdownElementEventDrivenButton.setSelection(false);
workBreakdownElementOngoingButton.setSelection(false);
workBreakdownElementRepetableButton.setSelection(false);
descriptorOptionalButton.setSelection(false);
descriptorMultipleOccurrancesButton.setSelection(false);
descriptorPlannedButton.setSelection(false);
descriptorEventDrivenButton.setSelection(false);
descriptorOngoingButton.setSelection(false);
descriptorRepetableButton.setSelection(false);
}
/**
* Initializes states of the controls from the preference store.
*/
private void initializeValues() {
workBreakdownElementOptionalButton.setSelection(LibraryUIPreferences
.getWorkBreakDownElementOptional());
workBreakdownElementMultipleOccurrancesButton
.setSelection(LibraryUIPreferences
.getWorkBreakDownElementMultipleOccurrances());
workBreakdownElementPlannedButton.setSelection(LibraryUIPreferences
.getWorkBreakDownElementPlanned());
workBreakdownElementEventDrivenButton.setSelection(LibraryUIPreferences
.getWorkBreakDownElementEventDriven());
workBreakdownElementOngoingButton.setSelection(LibraryUIPreferences
.getWorkBreakDownElementOngoing());
workBreakdownElementRepetableButton.setSelection(LibraryUIPreferences
.getWorkBreakDownElementRepeatable());
descriptorOptionalButton.setSelection(LibraryUIPreferences
.getDescriptorOptional());
descriptorMultipleOccurrancesButton.setSelection(LibraryUIPreferences
.getDescriptorMultipleOccurrances());
descriptorPlannedButton.setSelection(LibraryUIPreferences
.getDescriptorPlanned());
descriptorEventDrivenButton.setSelection(LibraryUIPreferences
.getDescriptorEventDriven());
descriptorOngoingButton.setSelection(LibraryUIPreferences
.getDescriptorOngoing());
descriptorRepetableButton.setSelection(LibraryUIPreferences
.getDescriptorRepeatable());
}
/*
* (non-Javadoc)
*
* @see org.eclipse.epf.authoring.ui.preferences.CommonPrefPage#doGetPreferenceStore()
*/
protected IPreferenceStore doGetPreferenceStore() {
IPreferenceStoreWrapper wrapper = LibraryPlugin.getDefault().getPreferenceStore();
if ( wrapper instanceof PreferenceStoreWrapper ) {
return ((PreferenceStoreWrapper)wrapper).getStore();
}
return null;
}
}