From a702a89b229dc56ff2bced1cd3d74ba4b1e2e06d Mon Sep 17 00:00:00 2001 From: fitzsim Date: Mon, 5 Jan 2004 21:41:21 +0000 Subject: 2004-01-05 Thomas Fitzsimmons * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75447 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/gnu/java/awt/EmbeddedWindow.java | 45 ++++++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 8 deletions(-) (limited to 'libjava/gnu/java/awt/EmbeddedWindow.java') diff --git a/libjava/gnu/java/awt/EmbeddedWindow.java b/libjava/gnu/java/awt/EmbeddedWindow.java index fc64e215162..24bd107bd2b 100644 --- a/libjava/gnu/java/awt/EmbeddedWindow.java +++ b/libjava/gnu/java/awt/EmbeddedWindow.java @@ -50,18 +50,29 @@ import java.awt.Toolkit; */ public class EmbeddedWindow extends Frame { - private int window_id; + private long handle; /** - * Creates an window to be embedded into another application. + * Creates a window to be embedded into another application. The + * window will only be embedded after its setHandle method has been + * called. + */ + public EmbeddedWindow () + { + super(); + this.handle = 0; + } + + /** + * Creates a window to be embedded into another application. * - * @param window_id The native handle to the screen area where the AWT window - * should be embedded. + * @param handle the native handle to the screen area where the AWT + * window should be embedded */ - public EmbeddedWindow (int window_id) + public EmbeddedWindow (long handle) { super(); - this.window_id = window_id; + this.handle = handle; } /** @@ -83,14 +94,32 @@ public class EmbeddedWindow extends Frame // an AWT internal java.awt.Component.peer member variable. native void setWindowPeer (EmbeddedWindowPeer peer); + /** + * If the native peer for this embedded window has been created, + * then setHandle will embed the window. If not, setHandle tells + * us where to embed ourselves when our peer is created. + * + * @param handle the native handle to the screen area where the AWT + * window should be embedded + */ + public void setHandle(long handle) + { + if (this.handle != 0) + throw new RuntimeException ("EmbeddedWindow is already embedded"); + + this.handle = handle; + if (peer != null) + ((EmbeddedWindowPeer) peer).embed (this.handle); + } + /** * Gets the native handle of the screen area where the window will * be embedded. * * @return The native handle that was passed to the constructor. */ - public int getHandle() + public long getHandle() { - return window_id; + return handle; } } -- cgit v1.2.1