summaryrefslogtreecommitdiff
path: root/gnu/java/awt/peer/gtk/GtkDialogPeer.java
diff options
context:
space:
mode:
authorThomas Fitzsimmons <fitzsim@redhat.com>2003-10-02 18:39:53 +0000
committerThomas Fitzsimmons <fitzsim@redhat.com>2003-10-02 18:39:53 +0000
commitc19fd095e8880641285bd34b0f88f232a55c0fd5 (patch)
tree7fa4273a6e8ad837dfc3084c3c59f768c0accbad /gnu/java/awt/peer/gtk/GtkDialogPeer.java
parent8df86ee4d7af0a6f0db403496d51dc4b61c730e2 (diff)
downloadclasspath-c19fd095e8880641285bd34b0f88f232a55c0fd5.tar.gz
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.
Diffstat (limited to 'gnu/java/awt/peer/gtk/GtkDialogPeer.java')
-rw-r--r--gnu/java/awt/peer/gtk/GtkDialogPeer.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/gnu/java/awt/peer/gtk/GtkDialogPeer.java b/gnu/java/awt/peer/gtk/GtkDialogPeer.java
index 8c0f5ee51..e7b047ea2 100644
--- a/gnu/java/awt/peer/gtk/GtkDialogPeer.java
+++ b/gnu/java/awt/peer/gtk/GtkDialogPeer.java
@@ -41,6 +41,7 @@ package gnu.java.awt.peer.gtk;
import java.awt.AWTEvent;
import java.awt.Component;
import java.awt.Dialog;
+import java.awt.Insets;
import java.awt.peer.DialogPeer;
public class GtkDialogPeer extends GtkWindowPeer
@@ -51,11 +52,19 @@ public class GtkDialogPeer extends GtkWindowPeer
super (dialog);
}
+ void initializeInsets ()
+ {
+ // Unfortunately, X does not provide a clean way to calculate the
+ // dimensions of a dialog's borders before it has been displayed.
+ // So we guess and then fix the dimensions upon receipt of the
+ // first configure event.
+ insets = new Insets (20, 6, 6, 6);
+ }
+
void create ()
{
- create (GTK_WINDOW_TOPLEVEL,
- awtComponent.getWidth(),
- awtComponent.getHeight());
+ // Create a decorated dialog window.
+ create (GDK_WINDOW_TYPE_HINT_DIALOG, true);
}
public void getArgs (Component component, GtkArgList args)