Patch: Fixes for Window, Dialog and Frame peers

Thomas Fitzsimmons fitzsim@redhat.com
Wed Oct 1 23:58:00 GMT 2003


Hello,

This patch fixes the following:

- program-controlled window placement didn't work
- frame insets were not being handled properly
- dialog windows weren't kept in front of their parents
- GtkComponentPeer.gtkWidgetGetLocationOnScreen was returning incorrect
results

With this patch, most of the Window and Frame tests in the Acunia
testsuite work properly.

Comments?

Tom

2003-10-01  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.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: winmove6.diff
Type: text/x-patch
Size: 24115 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/java-patches/attachments/20031001/bd463ce4/attachment.bin>


More information about the Java-patches mailing list