diff options
| author | Thomas Fitzsimmons <fitzsim@redhat.com> | 2003-10-02 18:39:53 +0000 |
|---|---|---|
| committer | Thomas Fitzsimmons <fitzsim@redhat.com> | 2003-10-02 18:39:53 +0000 |
| commit | c19fd095e8880641285bd34b0f88f232a55c0fd5 (patch) | |
| tree | 7fa4273a6e8ad837dfc3084c3c59f768c0accbad /gnu/java/awt/peer/gtk/GtkDialogPeer.java | |
| parent | 8df86ee4d7af0a6f0db403496d51dc4b61c730e2 (diff) | |
| download | classpath-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.java | 15 |
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) |
