You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-commits@xmlgraphics.apache.org by ca...@apache.org on 2005/09/19 14:53:07 UTC
svn commit: r290142 -
/xmlgraphics/batik/trunk/sources/org/apache/batik/script/rhino/EventTargetWrapper.java
Author: cam
Date: Mon Sep 19 05:53:04 2005
New Revision: 290142
URL: http://svn.apache.org/viewcvs?rev=290142&view=rev
Log:
1. Change in the way JavaScript custom event objects are handled
(closer to the DOM 3 Events note).
Modified:
xmlgraphics/batik/trunk/sources/org/apache/batik/script/rhino/EventTargetWrapper.java
Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/script/rhino/EventTargetWrapper.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/trunk/sources/org/apache/batik/script/rhino/EventTargetWrapper.java?rev=290142&r1=290141&r2=290142&view=diff
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/script/rhino/EventTargetWrapper.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/script/rhino/EventTargetWrapper.java Mon Sep 19 05:53:04 2005
@@ -149,35 +149,53 @@
}
public String getType() {
- return (String) Context.toType(call("getType"), String.class);
+ return (String) Context.toType
+ (scriptable.get("type", scriptable), String.class);
}
public EventTarget getTarget() {
- return (EventTarget) call("getTarget");
+ Object target = scriptable.get("target", scriptable);
+ if (target instanceof NativeJavaObject) {
+ target = ((NativeJavaObject) target).unwrap();
+ }
+ return (EventTarget) target;
}
public void setTarget(EventTarget target) {
- call("setTarget", new Object[] { target });
+ scriptable.put("target", scriptable,
+ Context.toObject(target, scriptable));
}
public EventTarget getCurrentTarget() {
- return (EventTarget) call("getCurrentTarget");
+ Object target = scriptable.get("currentTarget", scriptable);
+ if (target instanceof NativeJavaObject) {
+ target = ((NativeJavaObject) target).unwrap();
+ }
+ return (EventTarget) target;
}
public short getEventPhase() {
- return (short) ((Integer) Context.toType(call("getEventPhase"), Integer.class)).intValue();
+ Object ep = scriptable.get("eventPhase", scriptable);
+ Integer i = (Integer) Context.toType(ep, Integer.class);
+ return (short) i.intValue();
}
public boolean getBubbles() {
- return ((Boolean) Context.toType(call("getBubbles"), Boolean.class)).booleanValue();
+ Object ep = scriptable.get("bubbles", scriptable);
+ Boolean i = (Boolean) Context.toType(ep, Boolean.class);
+ return i.booleanValue();
}
public boolean getCancelable() {
- return ((Boolean) Context.toType(call("getCancelable"), Boolean.class)).booleanValue();
+ Object ep = scriptable.get("cancelable", scriptable);
+ Boolean i = (Boolean) Context.toType(ep, Boolean.class);
+ return i.booleanValue();
}
public long getTimeStamp() {
- return (long) ((Double) Context.toType(call("getTimeStamp"), Double.class)).doubleValue();
+ Object ts = scriptable.get("timeStamp", scriptable);
+ Double d = (Double) Context.toType(ts, Double.class);
+ return (long) d.doubleValue();
}
public void stopPropagation() {
@@ -193,11 +211,14 @@
}
public String getNamespaceURI() {
- return (String) Context.toType(call("getNamespaceURI"), String.class);
+ return (String) Context.toType
+ (scriptable.get("namespaceURI", scriptable), String.class);
}
public boolean isCustom() {
- return ((Boolean) Context.toType(call("isCustom"), Boolean.class)).booleanValue();
+ Boolean b = (Boolean) Context.toType
+ (call("isCustom"), Boolean.class);
+ return b.booleanValue();
}
public void stopImmediatePropagation() {
@@ -205,11 +226,14 @@
}
public boolean isDefaultPrevented() {
- return ((Boolean) Context.toType(call("isDefaultPrevented"), Boolean.class)).booleanValue();
+ Boolean b = (Boolean) Context.toType
+ (call("isDefaultPrevented"), Boolean.class);
+ return b.booleanValue();
}
public void initEventNS(String ns, String t, boolean b, boolean c) {
- call("initEventNS", new Object[] { ns, t, new Boolean(b), new Boolean(c) });
+ call("initEventNS", new Object[] { ns, t, new Boolean(b),
+ new Boolean(c) });
}
public void setDispatchState(EventTarget t, short phase) {
@@ -217,11 +241,15 @@
}
public boolean isPropagationStopped() {
- return ((Boolean) Context.toType(call("isPropagationStopped"), Boolean.class)).booleanValue();
+ Boolean b = (Boolean) Context.toType
+ (call("isPropagationStopped"), Boolean.class);
+ return b.booleanValue();
}
public boolean isImmediatePropagationStopped() {
- return ((Boolean) Context.toType(call("isImmediatePropagationStopped"), Boolean.class)).booleanValue();
+ Boolean b = (Boolean) Context.toType
+ (call("isImmediatePropagationStopped"), Boolean.class);
+ return b.booleanValue();
}
public void resumePropagation() {
@@ -229,8 +257,25 @@
}
public CustomEvent retarget(EventTarget target) {
- Object ret = call("retarget", new Object[] { target });
+ Object ret = call("cloneEventObject", new Object[] { target });
if (ret instanceof ScriptableObject) {
+ ScriptableObject e = (ScriptableObject) ret;
+ e.put("originalEvent", e, scriptable);
+ e.put("target", e, Context.toObject(target, scriptable));
+ e.put("type", e,
+ scriptable.get("type", scriptable));
+ e.put("currentTarget", e,
+ scriptable.get("currentTarget", scriptable));
+ e.put("eventPhase", e,
+ scriptable.get("eventPhase", scriptable));
+ e.put("bubbles", e,
+ scriptable.get("bubbles", scriptable));
+ e.put("cancelable", e,
+ scriptable.get("cancelable", scriptable));
+ e.put("timeStamp", e,
+ scriptable.get("timeStamp", scriptable));
+ e.put("namespaceURI", e,
+ scriptable.get("namespaceURI", scriptable));
CustomEvent evt = new ObjectCustomEvent((NativeObject) ret,
interpreter,
eventMap);
@@ -242,21 +287,11 @@
}
public Event getOriginalEvent() {
- Object origEvt = call("getOriginalEvent");
- if (origEvt instanceof NativeObject) {
- SoftReference sr = (SoftReference) eventMap.get(origEvt);
- if (sr == null) {
- CustomEvent evt = new ObjectCustomEvent((NativeObject) origEvt,
- interpreter,
- eventMap);
- eventMap.put(origEvt, new SoftReference(evt));
- return evt;
- }
- } else if (origEvt instanceof NativeJavaObject) {
- return (Event) ((NativeJavaObject) origEvt).unwrap();
+ Object target = scriptable.get("target", scriptable);
+ if (target instanceof NativeJavaObject) {
+ target = ((NativeJavaObject) target).unwrap();
}
- // XXX some error here
- return null;
+ return (Event) target;
}
}