Implemented a few more functions in GtkDragSourceContextPeer. 2006-07-19 Lillian Angel <[EMAIL PROTECTED]>
* examples/gnu/classpath/examples/awt/Demo.java (DragDropWindow): Fixed typo in Label text. * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java (GtkDragSourceContextPeer): Removed unneeded initialization for field. (startDrag): Initialized context field. (transferablesFlavorsChanged): Removed FIXME. Nothing is done in this function. (dragEnter): New function. (dragExit): Likewise. (dragDropEnd): Likewise. (dragMouseMoved): Likewise. (dragOver): Likewise. (dragActionChanged): Likewise.
Index: examples/gnu/classpath/examples/awt/Demo.java =================================================================== RCS file: /cvsroot/classpath/classpath/examples/gnu/classpath/examples/awt/Demo.java,v retrieving revision 1.7 diff -u -r1.7 Demo.java --- examples/gnu/classpath/examples/awt/Demo.java 17 Jul 2006 18:37:19 -0000 1.7 +++ examples/gnu/classpath/examples/awt/Demo.java 19 Jul 2006 15:59:17 -0000 @@ -863,8 +863,7 @@ extends SubFrame implements ActionListener, DropTargetListener { - DragLabel source = new DragLabel( - "Drag and drop me to the following JButton", + DragLabel source = new DragLabel("Drag and drop me to the following Button", Label.CENTER); Button target = new Button(); Index: gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java,v retrieving revision 1.2 diff -u -r1.2 GtkDragSourceContextPeer.java --- gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java 17 Jul 2006 18:37:19 -0000 1.2 +++ gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java 19 Jul 2006 15:59:17 -0000 @@ -44,9 +44,11 @@ import java.awt.Cursor; import java.awt.Image; import java.awt.Point; -import java.awt.Window; import java.awt.dnd.DragGestureEvent; import java.awt.dnd.DragSourceContext; +import java.awt.dnd.DragSourceDragEvent; +import java.awt.dnd.DragSourceDropEvent; +import java.awt.dnd.DragSourceEvent; import java.awt.dnd.InvalidDnDOperationException; import java.awt.dnd.peer.DragSourceContextPeer; import java.awt.peer.ComponentPeer; @@ -56,10 +58,9 @@ extends GtkGenericPeer implements DragSourceContextPeer { - - private DragGestureEvent dge; private ComponentPeer peer; private Cursor cursor; + private DragSourceContext context; native void nativeStartDrag(Image i, int x, int y, int action, String target); native void connectSignals(ComponentPeer comp); @@ -69,11 +70,9 @@ public GtkDragSourceContextPeer(DragGestureEvent e) { super(e.getComponent()); - dge = e; - Component comp = e.getComponent(); - peer = getComponentPeer(comp); + create(peer); connectSignals(peer); cursor = comp.getCursor(); @@ -93,6 +92,8 @@ public void startDrag(DragSourceContext context, Cursor c, Image i, Point p) throws InvalidDnDOperationException { + this.context = context; + if (p == null) p = new Point(); @@ -120,6 +121,54 @@ public void transferablesFlavorsChanged() { - // FIXME: Not Implemented + // Nothing to do here. + } + + /** + * Called from native code. + */ + + public void dragEnter(int action, int modifiers) + { + context.dragEnter(new DragSourceDragEvent(context, action, + action + & context.getSourceActions(), + modifiers)); + } + + public void dragExit(int action, int x, int y) + { + context.dragExit(new DragSourceEvent(context, x, y)); + } + + public void dragDropEnd(int action, boolean success, int x, int y) + { + context.dragDropEnd(new DragSourceDropEvent(context, action, success, x, y)); + } + + public void dragMouseMoved(int action, int modifiers) + { + context.dragMouseMoved(new DragSourceDragEvent(context, + action, + action + & context.getSourceActions(), + modifiers)); + } + + public void dragOver(int action, int modifiers) + { + context.dragOver(new DragSourceDragEvent(context, action, + action + & context.getSourceActions(), + modifiers)); + } + + public void dragActionChanged(int newAction, int modifiers) + { + context.dropActionChanged(new DragSourceDragEvent(context, + newAction, + newAction + & context.getSourceActions(), + modifiers)); } }