/** * 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. * * See the NOTICE file distributed with this work for additional * information regarding copyright ownership. */ package org.thingml.eclipse.preferences; import org.eclipse.jface.preference.*; import org.eclipse.ui.IWorkbenchPreferencePage; import org.eclipse.ui.IWorkbench; import org.thingml.eclipse.ui.Activator; /** * This class represents a preference page that * is contributed to the Preferences dialog. By * subclassing <samp>FieldEditorPreferencePage</samp>, we * can use the field support built into JFace that allows * us to create a page that is small and knows how to * save, restore and apply itself. * <p> * This page is used to modify preferences only. They * are stored in the preference store that belongs to * the main plug-in class. That way, preferences can * be accessed directly via the preference store. */ public class ThingMLPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { public ThingMLPreferencePage() { super(GRID); setPreferenceStore(Activator.getDefault().getPreferenceStore()); setDescription("ThingML preferences"); } /** * Creates the field editors. Field editors are abstractions of * the common GUI blocks needed to manipulate various types * of preferences. Each field editor knows how to save and * restore itself. */ public void createFieldEditors() { addField( new DirectoryFieldEditor(PreferenceConstants.P_STRING, "Arduino: IDE Folder", getFieldEditorParent())); addField( new DirectoryFieldEditor(PreferenceConstants.T_STRING, "Arduino: Library Folder", getFieldEditorParent())); addField( new StringFieldEditor(PreferenceConstants.PACK_STRING, "Java: Default package", getFieldEditorParent())); addField( new BooleanFieldEditor(PreferenceConstants.PRINT_NOTICE_STRING, "Checker: Print Notices?", getFieldEditorParent())); addField( new BooleanFieldEditor(PreferenceConstants.UML_ELLIPSIS, "UML: Use Ellipsis for params?", getFieldEditorParent())); addField( new IntegerFieldEditor(PreferenceConstants.UML_BLOCK_SIZE, "UML: Max block size", getFieldEditorParent())); addField( new BooleanFieldEditor(PreferenceConstants.UML_HIDE_BLOCK, "UML: Hide blocks?", getFieldEditorParent())); addField( new BooleanFieldEditor(PreferenceConstants.UML_FACTORIZE, "UML: Factorize transitions?", getFieldEditorParent())); } /* (non-Javadoc) * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench) */ public void init(IWorkbench workbench) { } }