blob: 324e78e93f37c5b156cfae69222811ce0797af5b [file] [log] [blame]
/*
* Created on Feb 28, 2004
*
*/
package groovy.swt.impl;
import groovy.lang.Closure;
import groovy.swt.ClosureSupport;
import org.eclipse.ui.forms.events.ExpansionEvent;
import org.eclipse.ui.forms.events.ExpansionListener;
/**
* @author <a href:ckl at dacelo.nl">Christiaan ten Klooster </a>
* @version $Revision$
*/
public class ExpansionListenerImpl implements ExpansionListener, ClosureSupport{
private String type;
private Closure closure;
public ExpansionListenerImpl(String type) {
this.type = type;
}
public Closure getClosure()
{
return closure;
}
public void setClosure(Closure closure)
{
this.closure = closure;
}
/*
* @see org.eclipse.ui.forms.events.ExpansionListener#expansionStateChanging(org.eclipse.ui.forms.events.ExpansionEvent)
*/
public void expansionStateChanging(ExpansionEvent event) {
if (closure == null){
throw new NullPointerException(
"No closure has been configured for this Listener");
}
if ("expansionStateChanging".equals(type))
{
closure.call(event);
}
}
/*
* @see org.eclipse.ui.forms.events.ExpansionListener#expansionStateChanged(org.eclipse.ui.forms.events.ExpansionEvent)
*/
public void expansionStateChanged(ExpansionEvent event) {
if (closure == null){
throw new NullPointerException(
"No closure has been configured for this Listener");
}
if ("expansionStateChanged".equals(type))
{
closure.call(event);
}
}
}