/******************************************************************************* * Copyright (c) 2011, 2012 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 * * @author Bob Brodt ******************************************************************************/ package org.eclipse.bpmn2.modeler.ui.property.data; import org.eclipse.bpmn2.Expression; import org.eclipse.bpmn2.FormalExpression; import org.eclipse.bpmn2.ResourceAssignmentExpression; import org.eclipse.bpmn2.modeler.core.adapters.InsertionAdapter; import org.eclipse.bpmn2.modeler.core.merrimac.clad.AbstractBpmn2PropertySection; import org.eclipse.bpmn2.modeler.core.merrimac.clad.AbstractDetailComposite; import org.eclipse.bpmn2.modeler.core.merrimac.clad.PropertiesCompositeFactory; import org.eclipse.bpmn2.modeler.core.runtime.TargetRuntime; import org.eclipse.emf.ecore.EObject; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; /** * @author Bob Brodt * */ public class ResourceAssignmentExpressionDetailComposite extends ExpressionDetailComposite { private AbstractDetailComposite exprDetails; public ResourceAssignmentExpressionDetailComposite(AbstractBpmn2PropertySection section) { super(section); } public ResourceAssignmentExpressionDetailComposite(Composite parent, int style) { super(parent, style); } @Override protected void cleanBindings() { super.cleanBindings(); exprDetails = null; } @Override public void createBindings(final EObject be) { if (be instanceof ResourceAssignmentExpression) { final ResourceAssignmentExpression rae = (ResourceAssignmentExpression) be; TargetRuntime rt = TargetRuntime.getRuntime(be); // an MultipleAssignments is not really valid without both a From and To Expression expr = rae.getExpression(); if (expr==null) { expr = createModelObject(FormalExpression.class); InsertionAdapter.add(rae, PACKAGE.getResourceAssignmentExpression_Expression(), expr); } if (exprDetails==null) { exprDetails = PropertiesCompositeFactory.INSTANCE.createDetailComposite( Expression.class, this, rt, SWT.NONE); } exprDetails.setBusinessObject(expr); exprDetails.setTitle(Messages.ResourceAssignmentExpressionDetailComposite_Title); } } }