summaryrefslogtreecommitdiffstats
path: root/libjava/java/awt/dnd/DragSourceContext.java
diff options
context:
space:
mode:
authormkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2003-03-02 14:24:48 +0000
committermkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2003-03-02 14:24:48 +0000
commit3bf632b2e03981d132f36b7837dcef152095a700 (patch)
tree43e0188013ec61445b1395a9275af27bbb9149b4 /libjava/java/awt/dnd/DragSourceContext.java
parent6f60f11885ab15018379c953d41f01cebcefa7e8 (diff)
downloadppe42-gcc-3bf632b2e03981d132f36b7837dcef152095a700.tar.gz
ppe42-gcc-3bf632b2e03981d132f36b7837dcef152095a700.zip
2003-03-02 Michael Koch <konqueror@gmx.de>
* java/awt/dnd/DnDEventMulticaster.java: New file. * java/awt/dnd/DragSource.java (flavorMap): New member variable. (dragSourceListener): New member variable. (dragSourceMotionListener): New member variable. (getFlavorMap): Implemented. (createDragGestureRecognizer): Implemented. (addDragSourceListener): Implemented. (removeDragSourceListener): Implemented. (getDragSourceListeners): Implemented. (addDragSourceMotionListener): Implemented. (removeDragSourceMotionListener): Implemented. (getDragSourceMotionListeners): Implemented. (getListeners): Implemented. * java/awt/dnd/DragSourceContext.java (peer): New member variable. (cursor): New member variable. (transferable): New member variable. (trigger): New member variable. (dragSourceListener): New member variable. (image): New member variable. (offset): New member variable. (DragSourceContext): Implemented. (getDragSource): Implemented. (getComponent): Implemented. (getTrigger): Implemented. (getSourceActions): Implemented. (setCursor): Implemented. (getCursor): Implemented. (addDragSourceListener): Implemented. (removeDragSourceListener): Implemented. (getTransferable): Implemented. * java/awt/dnd/DropTarget.java (DropTargetAutoScroller.component): New member variable. (DropTargetAutoScroller.point): New member variable. (DropTargetAutoScroller.DropTargetAutoScroller): Implemented. (DropTargetAutoScroller.updateLocation): Implemented. (active): Renamed from isActive, defaults to true now. (component): New member variable. (flavorMap): New member variable. (actions): New member variable. (dropTargetContext): New member variable. (dropTargetListener): New member variable. (DropTarget): Implemented. (getComponent): Implemented. (setComponent): Implemented. (setDefaultActions): Implemented. (getDefaultActions): Implemented. (setActive): Use active instead of isActive. (isActive): Use active instead of isActive. (addDropTargetListener): Implemented. (removeDropTargetListener): Implemented. (getFlavorMap): Implemented. (setFlavorMap): Implemented. (getDropTargetContext): Implemented. (createDropTargetContext): Implemented. (createDropTargetAutoScroller): Implemented. * java/awt/dnd/DropTargetContext.java (TransferableProxy.getTransferDataFlavors): Implemented. (TransferableProxy.isDataFlavorSupported): Implemented. (TransferableProxy.getTransferData): Implemented. (dropTarget): New member variable. (dtcp): New member variable. (DropTargetContext): New package private constructor. (getDropTarget): Implemented. (getComponent): Implemented. (addNotify): Implemented. (removeNotify): Implemented. (getCurrentDataFlavorsAsList): Implemented. (isDataFlavorSupported): Implemented. * java/awt/dnd/MouseDragGestureRecognizer.java (registerListeners): Implemented. (unregisterListeners): Implemented. * Makefile.am (awt_java_source_files): Added java/awt/dnd/DnDEventMulticaster.java. * Makefile.in: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63665 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/awt/dnd/DragSourceContext.java')
-rw-r--r--libjava/java/awt/dnd/DragSourceContext.java81
1 files changed, 69 insertions, 12 deletions
diff --git a/libjava/java/awt/dnd/DragSourceContext.java b/libjava/java/awt/dnd/DragSourceContext.java
index 45191d24365..1760cd02065 100644
--- a/libjava/java/awt/dnd/DragSourceContext.java
+++ b/libjava/java/awt/dnd/DragSourceContext.java
@@ -44,12 +44,21 @@ import java.awt.Image;
import java.awt.Point;
import java.awt.datatransfer.Transferable;
import java.awt.dnd.peer.DragSourceContextPeer;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.TooManyListenersException;
+/**
+ * @since 1.2
+ */
public class DragSourceContext
implements DragSourceListener, DragSourceMotionListener, Serializable
{
+ /**
+ * Compatible with JDK 1.2+
+ */
static final long serialVersionUID = -115407898692194719L;
protected static final int DEFAULT = 0;
@@ -57,39 +66,81 @@ public class DragSourceContext
protected static final int OVER = 2;
protected static final int CHANGED = 3;
- public DragSourceContext(DragSourceContextPeer peer, DragGestureEvent dge,
- Cursor cursor, Image image, Point offset,
- Transferable trans, DragSourceListener dsl)
- {
+ private DragSourceContextPeer peer;
+ private Cursor cursor;
+ private Transferable transferable;
+ private DragGestureEvent trigger;
+ private DragSourceListener dragSourceListener;
+ private boolean useCustomCursor; // FIXME: currently unused but needed for serialization.
+ private int sourceActions; // FIXME: currently unused but needed for serialization.
+ private Image image;
+ private Point offset;
+
+ /**
+ * Initializes a drag source context.
+ *
+ * @exception IllegalArgumentException If Component or DragSource of trigger
+ * are null, the drag action for the trigger event is DnDConstants.ACTION_NONE
+ * or if the source actions for the DragGestureRecognizer associated with the
+ * trigger event are equal to DnDConstants.ACTION_NONE.
+ * @exception NullPointerException If peer or trigger is null.
+ */
+ public DragSourceContext (DragSourceContextPeer peer,
+ DragGestureEvent trigger, Cursor cursor,
+ Image image, Point offset, Transferable trans,
+ DragSourceListener dsl)
+ {
+ if (peer == null
+ || trigger == null)
+ throw new NullPointerException ();
+
+ if (trigger.getComponent () == null
+ || trigger.getDragSource () == null
+ || trigger.getDragAction () == DnDConstants.ACTION_NONE
+ || trigger.getSourceAsDragGestureRecognizer ()
+ .getSourceActions () == DnDConstants.ACTION_NONE)
+ throw new IllegalArgumentException ();
+
+ this.peer = peer;
+ this.trigger = trigger;
+ this.cursor = cursor;
+ this.image = image;
+ this.offset = offset;
+ this.transferable = trans;
+ this.dragSourceListener = dsl;
+
+ throw new Error ("not implemented");
}
public DragSource getDragSource()
{
- return null;
+ return trigger.getDragSource ();
}
public Component getComponent()
{
- return null;
+ return trigger.getComponent ();
}
public DragGestureEvent getTrigger()
{
- return null;
+ return trigger;
}
public int getSourceActions()
{
- return 0;
+ return trigger.getSourceAsDragGestureRecognizer ().getSourceActions ();
}
- public void setCursor(Cursor c)
+ public void setCursor (Cursor cursor)
{
+ this.cursor = cursor;
+ // FIXME: Check if we need to do more here
}
public Cursor getCursor()
{
- return null;
+ return cursor;
}
/**
@@ -101,10 +152,16 @@ public class DragSourceContext
public void addDragSourceListener (DragSourceListener dsl)
throws TooManyListenersException
{
+ if (dragSourceListener != null)
+ throw new TooManyListenersException ();
+
+ dragSourceListener = dsl;
}
- public void removeDragSourceListener(DragSourceListener l)
+ public void removeDragSourceListener (DragSourceListener dsl)
{
+ if (dragSourceListener == dsl)
+ dragSourceListener = null;
}
public void transferablesFlavorsChanged()
@@ -137,7 +194,7 @@ public class DragSourceContext
public Transferable getTransferable()
{
- return null;
+ return transferable;
}
protected void updateCurrentCursor(int dropOp, int targetAct, int status)
OpenPOWER on IntegriCloud