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:
parent
6037221c71
commit
a8c2775c37
6 changed files with 109 additions and 18 deletions
|
@ -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.
|
||||
*
|
||||
* @param window_id The native handle to the screen area where the AWT window
|
||||
* should be embedded.
|
||||
* Creates a window to be embedded into another application. The
|
||||
* window will only be embedded after its setHandle method has been
|
||||
* called.
|
||||
*/
|
||||
public EmbeddedWindow (int window_id)
|
||||
public EmbeddedWindow ()
|
||||
{
|
||||
super();
|
||||
this.window_id = window_id;
|
||||
this.handle = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a window to be embedded into another application.
|
||||
*
|
||||
* @param handle the native handle to the screen area where the AWT
|
||||
* window should be embedded
|
||||
*/
|
||||
public EmbeddedWindow (long handle)
|
||||
{
|
||||
super();
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue