35 36 public final class CDropTarget { 37 38 Component fComponent; 39 ComponentPeer fPeer; 40 DropTarget fDropTarget; 41 private long fNativeDropTarget; 42 43 public static CDropTarget createDropTarget(DropTarget dropTarget, Component component, ComponentPeer peer) { 44 return new CDropTarget(dropTarget, component, peer); 45 } 46 47 private CDropTarget(DropTarget dropTarget, Component component, ComponentPeer peer) { 48 super(); 49 50 fDropTarget = dropTarget; 51 fComponent = component; 52 fPeer = peer; 53 54 long nativePeer = CPlatformWindow.getNativeViewPtr(((LWComponentPeer) peer).getPlatformWindow()); 55 // Create native dragging destination: 56 fNativeDropTarget = this.createNativeDropTarget(dropTarget, component, peer, nativePeer); 57 if (fNativeDropTarget == 0) { 58 throw new IllegalStateException("CDropTarget.createNativeDropTarget() failed."); 59 } 60 } 61 62 public DropTarget getDropTarget() { 63 return fDropTarget; 64 } 65 66 public void dispose() { 67 // Release native dragging destination, if any: 68 if (fNativeDropTarget != 0) { 69 this.releaseNativeDropTarget(fNativeDropTarget); 70 fNativeDropTarget = 0; 71 } 72 } 73 74 protected native long createNativeDropTarget(DropTarget dropTarget, Component component, ComponentPeer peer, long nativePeer); | 35 36 public final class CDropTarget { 37 38 Component fComponent; 39 ComponentPeer fPeer; 40 DropTarget fDropTarget; 41 private long fNativeDropTarget; 42 43 public static CDropTarget createDropTarget(DropTarget dropTarget, Component component, ComponentPeer peer) { 44 return new CDropTarget(dropTarget, component, peer); 45 } 46 47 private CDropTarget(DropTarget dropTarget, Component component, ComponentPeer peer) { 48 super(); 49 50 fDropTarget = dropTarget; 51 fComponent = component; 52 fPeer = peer; 53 54 long nativePeer = CPlatformWindow.getNativeViewPtr(((LWComponentPeer) peer).getPlatformWindow()); 55 if (nativePeer == 0L) return; // Unsupported 56 57 // Create native dragging destination: 58 fNativeDropTarget = this.createNativeDropTarget(dropTarget, component, peer, nativePeer); 59 if (fNativeDropTarget == 0) { 60 throw new IllegalStateException("CDropTarget.createNativeDropTarget() failed."); 61 } 62 } 63 64 public DropTarget getDropTarget() { 65 return fDropTarget; 66 } 67 68 public void dispose() { 69 // Release native dragging destination, if any: 70 if (fNativeDropTarget != 0) { 71 this.releaseNativeDropTarget(fNativeDropTarget); 72 fNativeDropTarget = 0; 73 } 74 } 75 76 protected native long createNativeDropTarget(DropTarget dropTarget, Component component, ComponentPeer peer, long nativePeer); |