package org.nightlabs.jfire.reporting.admin.parameter.ui.editpart;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.draw2d.IFigure;
import org.eclipse.gef.EditPolicy;
import org.eclipse.ui.views.properties.IPropertySource;
import org.nightlabs.jdo.ObjectID;
import org.nightlabs.jfire.reporting.admin.parameter.ui.editpolicy.AcquisitionParameterConfigEditPolicy;
import org.nightlabs.jfire.reporting.admin.parameter.ui.figure.AcquistionParameterConfigFigure;
import org.nightlabs.jfire.reporting.admin.parameter.ui.property.AcquisitionParameterConfigPropertySource;
import org.nightlabs.jfire.reporting.admin.parameter.ui.resource.Messages;
import org.nightlabs.jfire.reporting.parameter.config.AcquisitionParameterConfig;
import org.nightlabs.jfire.reporting.parameter.config.ValueAcquisitionSetup;
import org.nightlabs.jfire.reporting.parameter.config.ValueConsumerBinding;
import org.nightlabs.jfire.reporting.parameter.config.id.AcquisitionParameterConfigID;
/**
* @author Daniel.Mazurek [at] NightLabs [dot] de
*
*/
public class AcquisitionParameterConfigEditPart
extends AbstractNodeReportEditPart
{
public AcquisitionParameterConfigEditPart(AcquisitionParameterConfig model,
ValueAcquisitionSetup setup) {
super(setup);
setModel(model);
}
public AcquisitionParameterConfig getAcquisitionParameterConfig() {
return (AcquisitionParameterConfig) getModel();
}
@Override
protected IFigure createFigure()
{
AcquistionParameterConfigFigure nodeFigure = new AcquistionParameterConfigFigure(
this,
getAcquisitionParameterConfig());
// nodeFigure.setText(getFigureText());
return nodeFigure;
}
protected String getFigureText()
{
// return "ParameterID " + getAcquisitionParameterConfig().getParameterID() + ", " +
// "ParameterType " + getAcquisitionParameterConfig().getParameterType() + ", " +
// "ConsumerKey " + getAcquisitionParameterConfig().getConsumerKey();
return Messages.getString("org.nightlabs.jfire.reporting.admin.parameter.ui.editpart.AcquisitionParameterConfigEditPart.figureText.prefix") + getAcquisitionParameterConfig().getParameterID(); //$NON-NLS-1$
}
@Override
protected ObjectID getObjectID() {
return AcquisitionParameterConfigID.create(getAcquisitionParameterConfig());
}
@Override
protected IPropertySource createPropertySource() {
return new AcquisitionParameterConfigPropertySource(getAcquisitionParameterConfig());
}
@Override
protected void createEditPolicies() {
super.createEditPolicies();
installEditPolicy(EditPolicy.COMPONENT_ROLE, new AcquisitionParameterConfigEditPolicy());
}
@SuppressWarnings("unchecked")
@Override
protected List getModelTargetConnections()
{
ValueConsumerBinding binding = getValueAcquisitionSetup().getValueConsumerBinding(
getAcquisitionParameterConfig(), getAcquisitionParameterConfig().getParameterID());
List bindings = new ArrayList<ValueConsumerBinding>(1);
if (binding != null) {
bindings.add(binding);
}
return bindings;
}
@Override
protected List<INodeAnchorItem> getNodeTargetItems() {
List<INodeAnchorItem> result = new ArrayList<INodeAnchorItem>(1);
result.add(new INodeAnchorItem() {
public String getAnchorName() {
return getAcquisitionParameterConfig().getParameterID();
}
public String getAnchorType() {
return getAcquisitionParameterConfig().getParameterType();
}
});
return result;
}
@Override
protected INodeAnchorItem getNodeSourceItem() {
return null;
}
}