Imported Classpath 0.18.

* sources.am, Makefile.in: Updated.
	* Makefile.am (nat_source_files): Removed natProxy.cc.
	* java/lang/reflect/natProxy.cc: Removed.
	* gnu/classpath/jdwp/VMFrame.java,
	gnu/classpath/jdwp/VMIdManager.java,
	gnu/classpath/jdwp/VMVirtualMachine.java,
	java/lang/reflect/VMProxy.java: New files.

2005-09-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* scripts/makemake.tcl (verbose): Add gnu/java/awt/peer/qt to BC
	list.

2005-09-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/net/DefaultContentHandlerFactory.java (getContent):
	Remove ClasspathToolkit references.

2005-09-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/awt/xlib/XCanvasPeer.java: Add new peer methods.
	* gnu/awt/xlib/XFramePeer.java: Likewise.
	* gnu/awt/xlib/XGraphicsConfiguration.java: Likewise.

2005-09-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am (libgcjawt_la_SOURCES): Remove jawt.c.  Add
	classpath/native/jawt/jawt.c.
	* Makefile.in: Regenerate.
	* jawt.c: Remove file.
	* include/Makefile.am (tool_include__HEADERS): Remove jawt.h and
	jawt_md.h.  Add ../classpath/include/jawt.h and
	../classpath/include/jawt_md.h.
	* include/Makefile.in: Regenerate.
	* include/jawt.h: Regenerate.
	* include/jawt_md.h: Regenerate.

From-SVN: r104586
This commit is contained in:
Tom Tromey
2005-09-23 21:31:04 +00:00
parent 9b044d1951
commit 1ea63ef8be
544 changed files with 34724 additions and 14512 deletions
@@ -1,5 +1,5 @@
/* Clipboard.java -- Class for transferring data via cut and paste.
Copyright (C) 1999, 2001 Free Software Foundation, Inc.
Copyright (C) 1999, 2001, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -38,16 +38,21 @@ exception statement from your version. */
package java.awt.datatransfer;
import java.io.IOException;
import java.util.ArrayList;
/**
* This class allows data to be transferred using a cut and paste type
* mechanism.
*
* @author Aaron M. Renn (arenn@urbanophile.com)
* @author Mark J. Wielaard (mark@klomp.org)
*/
public class Clipboard
{
/**
* The data being transferred.
* The data currently on this clipboard. For use by
* subclasses. Also returned by the public method getContents().
*/
protected Transferable contents;
@@ -57,7 +62,10 @@ public class Clipboard
protected ClipboardOwner owner;
// The clipboard name
private String name;
private final String name;
// The flavor listeners (most likely small).
private final ArrayList listeners = new ArrayList(3);
/**
* Initializes a new instance of <code>Clipboard</code> with the
@@ -81,7 +89,8 @@ public class Clipboard
/**
* Returns the contents of the clipboard.
*
* @param requestor The object requesting the contents.
* @param requestor The object requesting the contents. This
* implementation ignores this parameter.
*
* @exception IllegalStateException If the clipboard is currently unavailable
*/
@@ -91,24 +100,108 @@ public class Clipboard
}
/**
* Sets the content and owner of this clipboard.
* If the given owner is different from the current owner
* then lostOwnership is called on the current owner.
* XXX - is this called with the old or new contents.
* Sets the content and owner of this clipboard. If the given owner
* is different from the current owner then <code>lostOwnership()</code>
* is called on the current owner with the old contents of the given
* clipboard.
*
* @param contents The new clipboard contents.
* @param owner The new clipboard owner
*
* @exception IllegalStateException If the clipboard is currently unavailable
*/
public synchronized void setContents(Transferable contents, ClipboardOwner owner)
public synchronized void setContents(Transferable contents,
ClipboardOwner owner)
{
if (this.owner != owner)
if (this.owner != null)
this.owner.lostOwnership(this, contents);
this.owner = owner;
Transferable oldContents = getContents(null);
this.contents = contents;
if (this.owner != owner)
{
ClipboardOwner oldOwner = this.owner;
this.owner = owner;
if (oldOwner != null)
oldOwner.lostOwnership(this, oldContents);
}
FlavorListener[] fs = getFlavorListeners();
if (fs.length > 0)
{
// We are a bit optimistic here. We assume DataFlavors will be
// given in the same order. If the number of flavors is
// different or the order of the DataFlavors in the list then
// fire a change event.
boolean newFlavors = ((contents != null && oldContents == null)
|| (contents == null && oldContents != null));
if (!newFlavors && contents != null && oldContents != null)
{
DataFlavor[] df1 = contents.getTransferDataFlavors();
DataFlavor[] df2 = oldContents.getTransferDataFlavors();
newFlavors = df1.length != df2.length;
for (int i = 0; !newFlavors && i < df1.length; i++)
newFlavors = !df1[i].equals(df2[i]);
}
if (newFlavors)
{
FlavorEvent e = new FlavorEvent(this);
for (int i = 0; i < fs.length; i++)
fs[i].flavorsChanged(e);
}
}
}
public DataFlavor[] getAvailableDataFlavors()
{
Transferable c = getContents(null);
if (c == null)
return new DataFlavor[0];
else
return c.getTransferDataFlavors();
}
public boolean isDataFlavorAvailable(DataFlavor flavor)
{
DataFlavor[] fs = getAvailableDataFlavors();
for (int i = 0; i < fs.length; i++)
if (flavor.equals(fs[i]))
return true;
return false;
}
public Object getData(DataFlavor flavor)
throws UnsupportedFlavorException, IOException
{
Transferable c = getContents(null);
if (c == null)
throw new UnsupportedFlavorException(flavor);
else
return c.getTransferData(flavor);
}
public void addFlavorListener(FlavorListener listener)
{
synchronized(listeners)
{
listeners.add(listener);
}
}
public void removeFlavorListener(FlavorListener listener)
{
synchronized(listeners)
{
listeners.remove(listener);
}
}
public FlavorListener[] getFlavorListeners()
{
synchronized(listeners)
{
return (FlavorListener[])
listeners.toArray(new FlavorListener[listeners.size()]);
}
}
}