blob: 7a3c73caad9c155dbd1c196979037de00bd7b3e4 [file] [log] [blame]
package groovy.jface.factory;
import groovy.swt.factory.SwtFactory;
import groovy.swt.factory.WidgetFactory;
import java.util.Map;
import org.codehaus.groovy.GroovyException;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.IContributionItem;
import org.eclipse.jface.action.IContributionManager;
/**
* @author <a href="mailto:ckl@dacelo.nl">Christiaan ten Klooster </a>
* @version $Revision$
*/
public class ContributionManagerFactory extends WidgetFactory implements SwtFactory {
public ContributionManagerFactory(Class beanClass) {
super(beanClass);
}
/*
* @see groovy.swt.impl.SwtFactory#newInstance(java.util.Map,
* java.lang.Object)
*/
public Object newInstance(Map properties, Object parent) throws GroovyException {
Object bean = createWidget(parent);
setBeanProperties(bean, properties);
if (parent instanceof IContributionManager) {
IContributionManager contributionManager = (IContributionManager) parent;
if (bean instanceof IAction) {
contributionManager.add((IAction) bean);
}
if (bean instanceof IContributionItem) {
contributionManager.add((IContributionItem) bean);
}
}
return bean;
}
}