added combos for reference policy and cardinality
diff --git a/modeling/plugins/org.eclipse.pde.ds.ui/src/org/eclipse/pde/ds/ui/internal/editor/composites/ReferenceComposite.java b/modeling/plugins/org.eclipse.pde.ds.ui/src/org/eclipse/pde/ds/ui/internal/editor/composites/ReferenceComposite.java
index 965bf22..e4284a9 100644
--- a/modeling/plugins/org.eclipse.pde.ds.ui/src/org/eclipse/pde/ds/ui/internal/editor/composites/ReferenceComposite.java
+++ b/modeling/plugins/org.eclipse.pde.ds.ui/src/org/eclipse/pde/ds/ui/internal/editor/composites/ReferenceComposite.java
@@ -8,10 +8,11 @@
  * Contributors:
  *     Anyware Technologies - initial API and implementation
  *
- * $Id: ComponentComposite.java,v 1.3 2009/04/24 21:33:47 bcabe Exp $
+ * $Id: ReferenceComposite.java,v 1.1 2009/07/05 20:22:53 bcabe Exp $
  */
 package org.eclipse.pde.ds.ui.internal.editor.composites;
 
+import org.eclipse.jface.viewers.ComboViewer;
 import org.eclipse.pde.emfforms.editor.PDEFormToolkit;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Text;
@@ -22,6 +23,10 @@
 
 	private Text _textInterface;
 
+	private ComboViewer _comboCardinality;
+
+	private ComboViewer _comboPolicy;
+
 	private Text _textTarget;
 
 	private Text _textBind;
@@ -44,6 +49,8 @@
 	private void createContents() {
 		_textName = PDEFormToolkit.createLabelAndText("Name:", this);
 		_textInterface = PDEFormToolkit.createLabelAndText("Interface", this);
+		_comboCardinality = PDEFormToolkit.createLabelAndComboViewer("Cardinality", this);
+		_comboPolicy = PDEFormToolkit.createLabelAndComboViewer("Policy", this);
 		_textTarget = PDEFormToolkit.createLabelAndText("Target", this);
 		_textBind = PDEFormToolkit.createLabelAndText("Bind", this);
 		_textUnbind = PDEFormToolkit.createLabelAndText("Unbind", this);
@@ -57,6 +64,14 @@
 		return _textInterface;
 	}
 
+	public ComboViewer getComboCardinality() {
+		return _comboCardinality;
+	}
+
+	public ComboViewer getComboPolicy() {
+		return _comboPolicy;
+	}
+
 	public Text getTextTarget() {
 		return _textTarget;
 	}
diff --git a/modeling/plugins/org.eclipse.pde.ds.ui/src/org/eclipse/pde/ds/ui/internal/editor/detailpart/services/ReferenceDetailsPart.java b/modeling/plugins/org.eclipse.pde.ds.ui/src/org/eclipse/pde/ds/ui/internal/editor/detailpart/services/ReferenceDetailsPart.java
index fddffe8..2f981be 100644
--- a/modeling/plugins/org.eclipse.pde.ds.ui/src/org/eclipse/pde/ds/ui/internal/editor/detailpart/services/ReferenceDetailsPart.java
+++ b/modeling/plugins/org.eclipse.pde.ds.ui/src/org/eclipse/pde/ds/ui/internal/editor/detailpart/services/ReferenceDetailsPart.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     Anyware Technologies - initial API and implementation
  *
- * $Id: PropertyDetailsPart.java,v 1.7 2009/07/03 16:06:55 bcabe Exp $
+ * $Id: ReferenceDetailsPart.java,v 1.1 2009/07/05 20:22:53 bcabe Exp $
  */
 package org.eclipse.pde.ds.ui.internal.editor.detailpart.services;
 
@@ -19,11 +19,12 @@
 import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
 import org.eclipse.emf.edit.domain.EditingDomain;
 import org.eclipse.jface.databinding.swt.WidgetProperties;
+import org.eclipse.jface.databinding.viewers.ViewerProperties;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.pde.ds.scr.ScrPackage;
+import org.eclipse.pde.ds.scr.*;
 import org.eclipse.pde.ds.ui.internal.editor.composites.ReferenceComposite;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
@@ -67,6 +68,8 @@
 		section.setClient(referenceComposite);
 		GridDataFactory.fillDefaults().grab(true, true).applyTo(section);
 
+		referenceComposite.getComboCardinality().setInput(Cardinality.values());
+		referenceComposite.getComboPolicy().setInput(Policy.values());
 		bind(dataBindingContext);
 	}
 
@@ -77,6 +80,12 @@
 		// Interface
 		bindingContext.bindValue(WidgetProperties.text(SWT.FocusOut).observe(referenceComposite.getTextInterface()), EMFEditProperties.value(editingDomain, ScrPackage.eINSTANCE.getReference_Interface()).observeDetail(currentProperty), null, null);
 
+		// Cardinality
+		bindingContext.bindValue(ViewerProperties.singleSelection().observe(referenceComposite.getComboCardinality()), EMFEditProperties.value(editingDomain, ScrPackage.eINSTANCE.getReference_Cardinality()).observeDetail(currentProperty), null, null);
+
+		// Policy
+		bindingContext.bindValue(ViewerProperties.singleSelection().observe(referenceComposite.getComboPolicy()), EMFEditProperties.value(editingDomain, ScrPackage.eINSTANCE.getReference_Policy()).observeDetail(currentProperty), null, null);
+
 		// Target
 		bindingContext.bindValue(WidgetProperties.text(SWT.FocusOut).observe(referenceComposite.getTextTarget()), EMFEditProperties.value(editingDomain, ScrPackage.eINSTANCE.getReference_Target()).observeDetail(currentProperty), null, null);