/*******************************************************************************
* Copyright (c) 2005 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
* Exadel, Inc.
* Red Hat, Inc.
*******************************************************************************/
package org.jboss.tools.jst.jsp.preferences.xpl;
import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.FieldEditor;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.jboss.tools.common.text.xml.XmlEditorPlugin;
/**
* @author tau
*
*/
public class XMLOccurrencesPreferencePage extends FieldEditorPreferencePage
implements IWorkbenchPreferencePage {
private BooleanFieldEditor mark;
private VarBooleanFieldEditor markNode;
private VarBooleanFieldEditor markAttribute;
private VarBooleanFieldEditor markAttributeValue;
private VarBooleanFieldEditor markText;
private VarBooleanFieldEditor sticky;
private String fEditorID;
private IPreferenceStore fPreferenceStore;
public XMLOccurrencesPreferencePage(String editorID, IPreferenceStore store) {
// Set the preference store for the preference page.
super(FieldEditorPreferencePage.GRID);
fEditorID = editorID;
fPreferenceStore = store;
setPreferenceStore(store);
}
public XMLOccurrencesPreferencePage() {
this(XMLUIPlugin.ID, XMLUIPlugin.getDefault().getPreferenceStore()); // add
// tau
// 02.02.2005
}
public void initializeDefaultValues() {
XMLOccurrencePreferenceConstants
.initializeDefaultValues(fPreferenceStore);
}
/*
* (non-Javadoc)
*
* @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
*/
public void init(IWorkbench workbench) {
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()
*/
protected void createFieldEditors() {
// Initialize all field editors.
mark = new BooleanFieldEditor(
PreferenceKeyGenerator
.generateKey(
XMLOccurrencePreferenceConstants.EDITOR_MARK_OCCURRENCES,
fEditorID),
Messages
.getString("OccurrencesPreferencePage.Mark.occurrences.in.file"), //$NON-NLS-1$
getFieldEditorParent());
addField(mark);
markNode = new VarBooleanFieldEditor(
PreferenceKeyGenerator
.generateKey(
XMLOccurrencePreferenceConstants.EDITOR_MARK_NODE_OCCURRENCES,
fEditorID), Messages
.getString("OccurrencesPreferencePage.Mark.Tags"), //$NON-NLS-1$
getFieldEditorParent());
markNode.offset(getFieldEditorParent(), 10); // offset 10
addField(markNode);
markAttribute = new VarBooleanFieldEditor(
PreferenceKeyGenerator
.generateKey(
XMLOccurrencePreferenceConstants.EDITOR_MARK_ATTRIBUTE_OCCURRENCES,
fEditorID),
Messages
.getString("OccurrencesPreferencePage.Mark.Attribute.Names"), //$NON-NLS-1$
getFieldEditorParent());
markAttribute.offset(getFieldEditorParent(), 10); // offset 10
addField(markAttribute);
markAttributeValue = new VarBooleanFieldEditor(
PreferenceKeyGenerator
.generateKey(
XMLOccurrencePreferenceConstants.EDITOR_MARK_ATTRIBUTE_VALUE_OCCURRENCES,
fEditorID),
Messages
.getString("OccurrencesPreferencePage.Mark.Attribute.Values"), //$NON-NLS-1$
getFieldEditorParent());
markAttributeValue.offset(getFieldEditorParent(), 10); // offset 10
addField(markAttributeValue);
markText = new VarBooleanFieldEditor(
PreferenceKeyGenerator
.generateKey(
XMLOccurrencePreferenceConstants.EDITOR_MARK_TEXT_OCCURRENCES,
fEditorID), Messages
.getString("OccurrencesPreferencePage.Mark.Text"), //$NON-NLS-1$
getFieldEditorParent());
markText.offset(getFieldEditorParent(), 10); // offset 10
addField(markText);
FieldEditor spacer1 = new LabelFieldEditor(
"", getFieldEditorParent()); //$NON-NLS-1$
addField(spacer1);
sticky = new VarBooleanFieldEditor(
PreferenceKeyGenerator
.generateKey(
XMLOccurrencePreferenceConstants.EDITOR_STICKY_OCCURRENCES,
fEditorID), Messages
.getString("OccurrencesPreferencePage.Sticky"), //$NON-NLS-1$
getFieldEditorParent());
sticky.offset(getFieldEditorParent(), 10); // offset 10
addField(sticky);
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
*/
public void propertyChange(PropertyChangeEvent event) {
super.propertyChange(event);
BooleanFieldEditor booleanFieldEditor = (BooleanFieldEditor)event.getSource();
if ( booleanFieldEditor.getPreferenceName().equals(
PreferenceKeyGenerator.generateKey(XMLOccurrencePreferenceConstants.EDITOR_MARK_OCCURRENCES,fEditorID))) {
}
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.preference.FieldEditorPreferencePage#initialize()
*/
protected void initialize() {
super.initialize();
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.preference.PreferencePage#performDefaults()
*/
protected void performDefaults() {
super.performDefaults();
mark.setEnabled(true, getFieldEditorParent());
}
}