/** * Licensed to Neo Technology under one or more contributor * license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright * ownership. Neo Technology licenses this file to you 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 org.neo4j.neoclipse.preference; import org.eclipse.jface.preference.FieldEditor; import org.eclipse.jface.preference.FieldEditorPreferencePage; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; import org.neo4j.neoclipse.Activator; /** * This is the common superclass for all neo preference pages. * * @author Peter Hänsgen */ public abstract class AbstractPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { /** * The constructor. */ public AbstractPreferencePage() { super( FieldEditorPreferencePage.GRID ); setPreferenceStore( Activator.getDefault().getPreferenceStore() ); } /** * Initializes the page. */ @Override public void init( final IWorkbench workbench ) { // this method is needed! } /** * Adds a separator element to this PreferencePage. */ public void addSeparator() { Label spacer = new Label( getFieldEditorParent(), SWT.SEPARATOR | SWT.HORIZONTAL ); GridData spacerData = new GridData( GridData.FILL_HORIZONTAL ); spacerData.horizontalSpan = 3; spacer.setLayoutData( spacerData ); } public void addNote( final String title, final String message ) { Composite note = createNoteComposite( getFieldEditorParent().getFont(), getFieldEditorParent(), title, message ); GridData spacerData = new GridData( GridData.FILL_HORIZONTAL ); spacerData.horizontalSpan = 3; note.setLayoutData( spacerData ); } @Override protected void addField( final FieldEditor editor ) { super.addField( editor ); addSeparator(); } protected void addField( final FieldEditor editor, final String note ) { super.addField( editor ); addNote( "Note:", note ); addSeparator(); } }