Author: scabanovich
Date: 2008-11-12 10:10:59 -0500 (Wed, 12 Nov 2008)
New Revision: 11708
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/adapter/DefaultComboBoxValueAdapter.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/ComboBoxFieldEditor.java
Log:
JBIDE-2969
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/adapter/DefaultComboBoxValueAdapter.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/adapter/DefaultComboBoxValueAdapter.java 2008-11-12
14:58:35 UTC (rev 11707)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/adapter/DefaultComboBoxValueAdapter.java 2008-11-12
15:10:59 UTC (rev 11708)
@@ -10,6 +10,7 @@
******************************************************************************/
package org.jboss.tools.common.model.ui.attribute.adapter;
+import org.jboss.tools.common.model.XModelObject;
import org.jboss.tools.common.model.ui.IAttributeErrorProvider;
import org.jboss.tools.common.model.ui.IValueChangeListener;
import org.jboss.tools.common.model.ui.IValueProvider;
@@ -18,6 +19,7 @@
import org.eclipse.jface.viewers.ILabelProvider;
import org.jboss.tools.common.meta.XAttribute;
+import org.jboss.tools.common.meta.key.WizardKeys;
public class DefaultComboBoxValueAdapter extends DefaultValueAdapter {
protected ILabelProvider labelProvider;
@@ -51,7 +53,7 @@
if (adapter == IAttributeErrorProvider.class) return this;
if (adapter == ILabelProvider.class) {
if (this.labelProvider==null) {
- this.labelProvider = new DefaultXModelObjectLabelProvider();
+ this.labelProvider = new KeyLabelProvider();
}
return this.labelProvider;
}
@@ -69,4 +71,20 @@
{
this.listContentProvider = listContentProvider;
}
+
+ class KeyLabelProvider extends DefaultXModelObjectLabelProvider {
+
+ public String getText(Object element) {
+ if(element != null && !(element instanceof XModelObject)) {
+ XAttribute a = attribute;
+ if(a == null && attributeData != null) a = attributeData.getAttribute();
+ if(a != null) {
+ String v = element.toString();
+ return WizardKeys.getVisualListValue(a, v);
+ }
+ }
+ return super.getText(element);
+ }
+
+ }
}
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/ComboBoxFieldEditor.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/ComboBoxFieldEditor.java 2008-11-12
14:58:35 UTC (rev 11707)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/ComboBoxFieldEditor.java 2008-11-12
15:10:59 UTC (rev 11708)
@@ -15,8 +15,16 @@
import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.bindings.keys.KeyStroke;
+import org.eclipse.jface.bindings.keys.ParseException;
+import org.eclipse.jface.fieldassist.ComboContentAdapter;
+import org.eclipse.jface.fieldassist.ContentProposalAdapter;
+import org.eclipse.jface.fieldassist.SimpleContentProposalProvider;
+import org.eclipse.jface.fieldassist.TextContentAdapter;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.swt.SWT;
@@ -237,6 +245,34 @@
if(textLimit > 0){//Only set limits above 0 - see SWT spec
comboField.setTextLimit(textLimit);
}
+
+ String[] ts = getTags();
+ Set<String> set = new TreeSet<String>();
+ for (int i = 0; i < ts.length; i++) set.add(ts[i]);
+ if(elements != null) for (int i = 0; i < elements.length; i++) {
+ set.add(elements[i].toString());
+ }
+
+
+ SimpleContentProposalProvider cpp = new SimpleContentProposalProvider(set.toArray(new
String[0]));
+ KeyStroke ks = null;
+
+ try {
+ ks = KeyStroke.getInstance("Ctrl+Space");
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+
+ ContentProposalAdapter adapter = new ContentProposalAdapter(
+ comboField,
+ new ComboContentAdapter(),
+ cpp,
+ ks,
+ null
+ );
+ adapter.setPropagateKeys(true);
+ adapter
+ .setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
} else {
checkParent(comboField, parent);
}
Show replies by date