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

View file

@ -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()]);
}
}
}

View file

@ -49,6 +49,7 @@ import java.io.StringReader;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.rmi.Remote;
/**
* This class represents a particular data format used for transferring
@ -127,10 +128,9 @@ static
javaFileListFlavor
= new DataFlavor(java.util.List.class,
"application/x-java-file-list; class=java.util.List",
"Java File List");
// javaFileListFlavor.mimeType = "application/x-java-file-list";
imageFlavor
= new DataFlavor(java.awt.Image.class,
"Java Image");
@ -335,7 +335,8 @@ getRepresentationClassFromMime(String mimeString, ClassLoader classLoader)
public
DataFlavor(String mimeType, String humanPresentableName)
{
this (getRepresentationClassFromMime (mimeType, null), humanPresentableName);
this (getRepresentationClassFromMime (mimeType, null),
mimeType, humanPresentableName);
}
/*************************************************************************/
@ -426,17 +427,15 @@ getPrimaryType()
public String
getSubType()
{
int idx = mimeType.indexOf("/");
if (idx == -1)
return("");
int start = mimeType.indexOf("/");
if (start == -1)
return "";
String subtype = mimeType.substring(idx + 1);
idx = subtype.indexOf(" ");
if (idx == -1)
return(subtype);
int end = mimeType.indexOf(";", start + 1);
if (end == -1)
return mimeType.substring(start + 1);
else
return(subtype.substring(0, idx));
return mimeType.substring(start + 1, end);
}
/*************************************************************************/
@ -480,6 +479,9 @@ getParameter(String paramName, String mimeString)
public String
getParameter(String paramName)
{
if ("humanPresentableName".equals(paramName))
return getHumanPresentableName();
return getParameter(paramName, mimeType);
}
@ -500,21 +502,28 @@ setHumanPresentableName(String humanPresentableName)
/**
* Tests the MIME type of this object for equality against the specified
* MIME type.
* MIME type. Ignores parameters.
*
* @param mimeType The MIME type to test against.
*
* @return <code>true</code> if the MIME type is equal to this object's
* MIME type, <code>false</code> otherwise.
* MIME type (ignoring parameters), <code>false</code> otherwise.
*
* @exception NullPointerException If mimeType is null.
*/
public boolean
isMimeTypeEqual(String mimeType)
{
// FIXME: Need to handle default attributes and parameters
String mime = getMimeType();
int i = mime.indexOf(";");
if (i != -1)
mime = mime.substring(0, i);
return(this.mimeType.equals(mimeType));
i = mimeType.indexOf(";");
if (i != -1)
mimeType = mimeType.substring(0, i);
return mime.equals(mimeType);
}
/*************************************************************************/
@ -599,8 +608,7 @@ isRepresentationClassSerializable()
public boolean
isRepresentationClassRemote()
{
// FIXME: Implement
throw new RuntimeException("Not implemented");
return Remote.class.isAssignableFrom (representationClass);
}
/*************************************************************************/
@ -852,12 +860,11 @@ readExternal(ObjectInput stream) throws IOException, ClassNotFoundException
public String
toString()
{
return("DataFlavor[representationClass="
+ representationClass.getName()
+ ",mimeType="
+ mimeType
+ "humanPresentableName="
+ humanPresentableName);
return(getClass().getName()
+ "[representationClass=" + getRepresentationClass().getName()
+ ",mimeType=" + getMimeType()
+ ",humanPresentableName=" + getHumanPresentableName()
+ "]");
}
/*************************************************************************/