[73236] ToolItem outline not correct.
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStandardBeanProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStandardBeanProxyFactory.java index b622f7e..72e76a8 100644 --- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStandardBeanProxyFactory.java +++ b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStandardBeanProxyFactory.java
@@ -13,7 +13,7 @@ /* * $RCSfile: IStandardBeanProxyFactory.java,v $ - * $Revision: 1.3 $ $Date: 2004/08/27 15:35:20 $ + * $Revision: 1.4 $ $Date: 2004/09/08 22:15:53 $ */ @@ -97,6 +97,18 @@ * @author Joe Winchester */ public IStringBeanProxy createBeanProxyWith(String aString); + +/** + * Convert the non-primitive proxy to a primitive proxy, if it + * of one of the wrapper types. If not, then just return the proxy as is. + * <p> + * I.E. BooleanClassProxy will convert to BooleanTypeProxy, but ObjectClassProxy will just return unchanged. + * @param nonPrimitiveProxy + * @return either the primitive proxy that nonPrimitive wrappers, or the non-primitive if not a wrapper type. + * + * @since 1.0.0 + */ +public IBeanProxy convertToPrimitiveBeanProxy(IBeanProxy nonPrimitiveProxy); /** * Return a new bean proxy for the boolean argument * Creation date: (12/3/99 11:52:20 AM)
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanProxyFactory.java index 4d77026..0c9ddb6 100644 --- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanProxyFactory.java +++ b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanProxyFactory.java
@@ -11,7 +11,7 @@ package org.eclipse.jem.internal.proxy.remote; /* * $RCSfile: REMStandardBeanProxyFactory.java,v $ - * $Revision: 1.7 $ $Date: 2004/08/27 15:35:20 $ + * $Revision: 1.8 $ $Date: 2004/09/08 22:15:53 $ */ @@ -799,6 +799,38 @@ return null; } + /* + * (non-Javadoc) + * @see org.eclipse.jem.internal.proxy.core.IStandardBeanProxyFactory#convertToPrimitiveBeanProxy(org.eclipse.jem.internal.proxy.core.IBeanProxy) + */ + public IBeanProxy convertToPrimitiveBeanProxy(IBeanProxy nonPrimitiveProxy) { + if (nonPrimitiveProxy == null) + return null; + if (!nonPrimitiveProxy.isValid()) + return nonPrimitiveProxy; + IREMBeanTypeProxy type = (IREMBeanTypeProxy) nonPrimitiveProxy.getTypeProxy(); + // Step into the internals. The ID is a constant int, so we can use a switch stmt. + switch (type.getID().intValue()) { + case Commands.BOOLEAN_CLASS: + return this.createBeanProxyWith(((IBooleanBeanProxy) nonPrimitiveProxy).booleanValue()); + case Commands.BYTE_CLASS: + return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).byteValue()); + case Commands.CHARACTER_CLASS: + return this.createBeanProxyWith(((ICharacterBeanProxy) nonPrimitiveProxy).charValue()); + case Commands.DOUBLE_CLASS: + return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).doubleValue()); + case Commands.FLOAT_CLASS: + return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).floatValue()); + case Commands.INTEGER_CLASS: + return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).intValue()); + case Commands.LONG_CLASS: + return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).longValue()); + case Commands.SHORT_CLASS: + return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).shortValue()); + default: + return nonPrimitiveProxy; + } + } }
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanProxyFactory.java index 983e491..d77d5b6 100644 --- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanProxyFactory.java +++ b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanProxyFactory.java
@@ -10,7 +10,7 @@ *******************************************************************************/ package org.eclipse.jem.internal.proxy.ide; /* - * $RCSfile: IDEStandardBeanProxyFactory.java,v $ $Revision: 1.5 $ $Date: 2004/08/27 15:35:20 $ + * $RCSfile: IDEStandardBeanProxyFactory.java,v $ $Revision: 1.6 $ $Date: 2004/09/08 22:15:53 $ */ import org.eclipse.core.runtime.IStatus; @@ -21,6 +21,7 @@ public class IDEStandardBeanProxyFactory implements IStandardBeanProxyFactory { + protected IDEProxyFactoryRegistry fRegistry; protected IDEStandardBeanTypeProxyFactory fBeanTypeProxyFactory; @@ -93,6 +94,35 @@ return fBeanTypeProxyFactory.doubleType.createDoubleBeanProxy(aDouble); } + /* (non-Javadoc) + * @see org.eclipse.jem.internal.proxy.core.IStandardBeanProxyFactory#convertToPrimitiveBeanProxy(org.eclipse.jem.internal.proxy.core.IBeanProxy) + */ + public IBeanProxy convertToPrimitiveBeanProxy(IBeanProxy nonPrimitiveProxy) { + if (nonPrimitiveProxy == null) + return null; + if (!nonPrimitiveProxy.isValid()) + return nonPrimitiveProxy; + IDEBeanTypeProxy type = (IDEBeanTypeProxy) nonPrimitiveProxy.getTypeProxy(); + if (type.getClass() == Boolean.class) + return this.createBeanProxyWith(((IBooleanBeanProxy) nonPrimitiveProxy).booleanValue()); + else if (type.getClass() == Byte.class) + return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).byteValue()); + else if (type.getClass() == Character.class) + return this.createBeanProxyWith(((ICharacterBeanProxy) nonPrimitiveProxy).charValue()); + else if (type.getClass() == Double.class) + return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).doubleValue()); + else if (type.getClass() == Float.class) + return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).floatValue()); + else if (type.getClass() == Integer.class) + return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).intValue()); + else if (type.getClass() == Long.class) + return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).longValue()); + else if (type.getClass() == Short.class) + return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).shortValue()); + else + return nonPrimitiveProxy; + } + /** * Create a one-dimensional array. The result will be the same as calling * createBeanProxyWith(IBeanTypeProxy type, new int[1] {x}) where 'x' is the value passed in as