/******************************************************************************* * Copyright (c) 2012 Google, Inc. * 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: * Google, Inc. - initial API and implementation *******************************************************************************/ package com.windowtester.runtime.swt.internal.preferences; import org.eclipse.jface.preference.FieldEditor; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; /** * A field editor for displaying labels not associated with other widgets. * * Taken from: http://www.eclipse.org/articles/Article-Field-Editors/field_editors.html */ public class LabelFieldEditor extends FieldEditor { private Label label; // All labels can use the same preference name since they don't // store any preference. public LabelFieldEditor(String value, Composite parent) { super("label", value, parent); } // Adjusts the field editor to be displayed correctly // for the given number of columns. protected void adjustForNumColumns(int numColumns) { ((GridData) label.getLayoutData()).horizontalSpan = numColumns; } // Fills the field editor's controls into the given parent. protected void doFillIntoGrid(Composite parent, int numColumns) { label = getLabelControl(parent); GridData gridData = new GridData(); gridData.horizontalSpan = numColumns; gridData.horizontalAlignment = GridData.FILL; gridData.grabExcessHorizontalSpace = false; gridData.verticalAlignment = GridData.CENTER; gridData.grabExcessVerticalSpace = false; label.setLayoutData(gridData); } // Returns the number of controls in the field editor. public int getNumberOfControls() { return 1; } // Labels do not persist any preferences, so these methods are empty. protected void doLoad() { } protected void doLoadDefault() { } protected void doStore() { } }