2004-01-05 Thomas Fitzsimmons <fitzsim@redhat.com>

* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(pre_event_handler): Set all insets to 0 when a Configure event
	is received for a GtkPlug.
	* gnu/java/awt/EmbeddedWindow.java (window_id): Rename handle.
	Make handle long, not int.
	(EmbeddedWindow()): New constructor.
	(EmbeddedWindow(int)): Rename window_id to handle.  Make handle
	long, not int.
	(setHandle): New method.
	(getHandle): Return long, not int.
	* gnu/java/awt/peer/EmbeddedWindowPeer.java (embed): New method
	declaration.
	* gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c:
	(create(long)): Take long parameter, not int.  Cast gtk_plug_new
	argument to GdkNativeWindow.
	(construct): New method.
	(embed): New method.

From-SVN: r75447
This commit is contained in:
Thomas Fitzsimmons 2004-01-05 21:41:21 +00:00 committed by Thomas Fitzsimmons
parent 6037221c71
commit a8c2775c37
6 changed files with 109 additions and 18 deletions

View file

@ -45,11 +45,25 @@ import gnu.java.awt.peer.EmbeddedWindowPeer;
public class GtkEmbeddedWindowPeer extends GtkFramePeer
implements EmbeddedWindowPeer
{
native void create(int window_id);
native void create (long socket_id);
void create ()
{
create (((EmbeddedWindow) awtComponent).getHandle());
create (((EmbeddedWindow) awtComponent).getHandle ());
}
native void construct (long socket_id);
// FIXME: embed doesn't work right now, though I believe it should.
// This means that you can't call setVisible (true) on an
// EmbeddedWindow before calling setHandle with a valid handle. The
// problem is that somewhere after the call to
// GtkEmbeddedWindow.create and before the call to
// GtkEmbeddedWindow.construct, the GtkPlug peer is being realized.
// GtkSocket silently fails to embed an already-realized GtkPlug.
public void embed (long handle)
{
construct (handle);
}
public GtkEmbeddedWindowPeer (EmbeddedWindow w)