/******************************************************************************* * Copyright (c) 2007 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is 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: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.common.ui.widget.field; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; import org.eclipse.swt.widgets.Control; public abstract class BaseField { public static final String PROPERTY_NAME = "value"; //$NON-NLS-1$ private PropertyChangeSupport pcs = new PropertyChangeSupport(this); public void addPropertyChangeListener(PropertyChangeListener listener) { pcs.addPropertyChangeListener(listener); } public void removePropertyChangeListener(PropertyChangeListener listener) { pcs.removePropertyChangeListener(listener); } public void firePropertyChange(Object oldValue, Object newValue) { pcs.firePropertyChange(PROPERTY_NAME, oldValue, newValue); } abstract public Control getControl(); }