// Copyright (c) 2003-2004 by Leif Frenzel - see http://leiffrenzel.de package net.sf.eclipsefp.common.ui.dialog; import java.util.ArrayList; import java.util.List; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; /** <p>the superclass for all dialog fields.</p> * * @author Leif Frenzel */ public abstract class DialogField extends Composite { private final List<IDialogFieldListener> listeners; public DialogField( final Composite parent ) { super( parent, SWT.NONE ); listeners = new ArrayList<>(); } // helping functionality for subclasses /////////////////////////////////////// protected void notifyListeners( final Object newInfo ) { for( int i = 0; i < listeners.size(); i++ ) { listeners.get( i ).infoChanged( newInfo ); } } // attribute setters and getters //////////////////////////////// public abstract void setInfo( final Object info ); public abstract Object getInfo(); public void addDialogFieldListener( final IDialogFieldListener listener ) { listeners.add( listener ); } }