/******************************************************************************* * 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.runtime.jboss.jbpm5.property; import org.eclipse.bpmn2.Bpmn2Package; 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.AbstractPropertiesProvider; import org.eclipse.bpmn2.modeler.core.merrimac.clad.DefaultDetailComposite; import org.eclipse.bpmn2.modeler.core.merrimac.clad.DefaultListComposite; import org.eclipse.bpmn2.modeler.core.merrimac.clad.ListCompositeColumnProvider; import org.eclipse.bpmn2.modeler.core.merrimac.clad.TableColumn; import org.eclipse.bpmn2.modeler.ui.property.diagrams.DefinitionsPropertySection; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.swt.widgets.Composite; /** * @author Bob Brodt * */ public class JbpmDefinitionsPropertySection extends DefinitionsPropertySection { @Override protected AbstractDetailComposite createSectionRoot() { return new JbpmDefinitionsPropertyComposite(this); } @Override public AbstractDetailComposite createSectionRoot(Composite parent, int style) { return new JbpmDefinitionsPropertyComposite(parent,style); } public class JbpmMessageDetailComposite extends DefaultDetailComposite { private AbstractPropertiesProvider propertiesProvider; public JbpmMessageDetailComposite(Composite parent, int style) { super(parent, style); } /** * @param section */ public JbpmMessageDetailComposite(AbstractBpmn2PropertySection section) { super(section); } @Override public AbstractPropertiesProvider getPropertiesProvider(EObject object) { if (propertiesProvider==null) { propertiesProvider = new AbstractPropertiesProvider(object) { String[] properties = new String[] { "id", //$NON-NLS-1$ "name", //$NON-NLS-1$ "itemRef" //$NON-NLS-1$ }; @Override public String[] getProperties() { return properties; } }; } return propertiesProvider; } @Override protected boolean isModelObjectEnabled(String className, String featureName) { return true; } } public class JbpmMessageListComposite extends DefaultListComposite { public JbpmMessageListComposite(AbstractBpmn2PropertySection section, int style) { super(section, style); // TODO Auto-generated constructor stub } public JbpmMessageListComposite(AbstractBpmn2PropertySection section) { super(section, DEFAULT_STYLE); } public JbpmMessageListComposite(Composite parent, int style) { super(parent, DEFAULT_STYLE); } @Override public ListCompositeColumnProvider getColumnProvider(EObject object, EStructuralFeature feature) { if (columnProvider==null) { columnProvider = new ListCompositeColumnProvider(this); TableColumn tc = new TableColumn(object,Bpmn2Package.eINSTANCE.getBaseElement_Id()); tc.setHeaderText(Messages.JbpmDefinitionsPropertySection_Name); columnProvider.add(tc); columnProvider.add(new TableColumn(object,Bpmn2Package.eINSTANCE.getMessage_ItemRef())); } return columnProvider; } @Override protected boolean isModelObjectEnabled(String className, String featureName) { return true; } } }