GtkComponentPeer.java (insets): New field.
2003-10-02 Thomas Fitzsimmons <fitzsim@redhat.com> * gnu/java/awt/peer/gtk/GtkComponentPeer.java (insets): New field. (initializeInsets): New method. (GtkComponentPeer): Call initializeInsets. Call setCursor and setBounds unconditionally. (setBounds): Convert coordinates if parent is a Window. * gnu/java/awt/peer/gtk/GtkContainerPeer.java (insets): Move field to GtkComponentPeer. (GtkContainerPeer): Don't initialize insets. * gnu/java/awt/peer/gtk/GtkDialogPeer.java (initializeInsets): New method. (create): Call new GtkWindowPeer create method. * gnu/java/awt/peer/gtk/GtkFramePeer.java (initializeInsets): New method. (create): Call new GtkWindowPeer create method. (setBounds): Remove method. (postConfigureEvent): Likewise. * gnu/java/awt/peer/gtk/GtkWindowPeer.java: Replace GTK window type constants with GDK window type constants. (create(int,boolean,int,int,GtkWindowPeer)): New method. (create(int,boolean)): Likewise. (create()): Call create(int,boolean). (nativeSetBounds): New native method declaration. (setBounds): Call native method declaration. (setSize): New native method declaration. (setBoundsCallback): Likewise. (postConfigureEvent): Handle change in insets. Call setSize and setBoundsCallback methods. * java/awt/Window.java (Window): Set visible to false. (setBoundsCallback): New method. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c (gtkWidgetGetLocationOnScreen): If this component is not a container, adjust the location returned based on the peer's allocation. (set(String,boolean)): Revert change from 2003-09-19. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c (awt_event_handler): Fix inset calculation. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c: Add JNI glue for Window.setBoundsCallback. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (create): Set up stacking order, window decorations and window manager hints. (setBoundsCallback): New method. (setSize): New method. (nativeSetBounds): New method. * jni/gtk-peer/gtkpeer.h: Declare setBoundsCallbackID. From-SVN: r72043
This commit is contained in:
parent
01d28c3ff9
commit
b59b508138
12 changed files with 316 additions and 107 deletions
|
@ -72,6 +72,8 @@ public class GtkComponentPeer extends GtkGenericPeer
|
|||
{
|
||||
Component awtComponent;
|
||||
|
||||
Insets insets;
|
||||
|
||||
/* this isEnabled differs from Component.isEnabled, in that it
|
||||
knows if a parent is disabled. In that case Component.isEnabled
|
||||
may return true, but our isEnabled will always return false */
|
||||
|
@ -90,6 +92,11 @@ public class GtkComponentPeer extends GtkGenericPeer
|
|||
throw new RuntimeException ();
|
||||
}
|
||||
|
||||
void initializeInsets ()
|
||||
{
|
||||
insets = new Insets (0, 0, 0, 0);
|
||||
}
|
||||
|
||||
native void connectHooks ();
|
||||
|
||||
protected GtkComponentPeer (Component awtComponent)
|
||||
|
@ -115,13 +122,13 @@ public class GtkComponentPeer extends GtkGenericPeer
|
|||
// c.setFont (cp.getFont ());
|
||||
if (awtComponent.getFont() != null)
|
||||
setFont(awtComponent.getFont());
|
||||
|
||||
if (! (awtComponent instanceof Window))
|
||||
{
|
||||
setCursor (awtComponent.getCursor ());
|
||||
Rectangle bounds = awtComponent.getBounds ();
|
||||
setBounds (bounds.x, bounds.y, bounds.width, bounds.height);
|
||||
}
|
||||
|
||||
initializeInsets ();
|
||||
|
||||
setCursor (awtComponent.getCursor ());
|
||||
Rectangle bounds = awtComponent.getBounds ();
|
||||
setBounds (bounds.x, bounds.y, bounds.width, bounds.height);
|
||||
|
||||
} catch (RuntimeException ex) { ; }
|
||||
}
|
||||
|
||||
|
@ -278,11 +285,11 @@ public class GtkComponentPeer extends GtkGenericPeer
|
|||
{
|
||||
Component parent = awtComponent.getParent ();
|
||||
|
||||
if (parent instanceof Frame)
|
||||
if (parent instanceof Window)
|
||||
{
|
||||
Insets insets = ((Frame)parent).getInsets ();
|
||||
/* convert Java's coordinate space into GTK+'s coordinate space */
|
||||
setNativeBounds (x-insets.left, y-insets.top, width, height);
|
||||
Insets insets = ((Window) parent).getInsets ();
|
||||
// Convert from Java coordinates to GTK coordinates.
|
||||
setNativeBounds (x - insets.left, y - insets.top, width, height);
|
||||
}
|
||||
else
|
||||
setNativeBounds (x, y, width, height);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue