Commit graph

7 commits

Author SHA1 Message Date
Fernando Nasser
834b120907 gnu_java_awt_peer_gtk_GtkEvents.c (awt_event_handler): Most coded moved to pre_event_handler, with the modifications mentioned below.
2003-12-08  Fernando Nasser  <fnasser@redhat.com>

        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c (awt_event_handler):
        Most coded moved to pre_event_handler, with the modifications
        mentioned below.
        (pre_event_handler): New function.  Called on the Gtk "event" signal.
        Do not retrieve the jobject from the window property as it is already
        available as user data in the signal.
        Do not try and find the grab widget as it is already done by Gtk at
        this point.
        Do not search for Window ancestor as Gtk already sends the signal to it.        Do not meddle with the activation state of peer widgets on each
        key press or release.
        Add CList to the special handling when looking for the focused widget.
        * jni/gtk-peer/gtkpeer.h: Add declaration for pre_event_handler.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c (connectJObject):
        New function.
        (connectSignals): New function.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c (connectHooks):
        Rename to...
        (connectSignals): New name.  Get rid of NewGlobalRef call.
        Use g_signal_connect instead of deprecated gtk_signal_connect.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
        (connect_choice_item_selectable_hook): Use g_signal_connect instead of
        deprecated gtk_signal_connect.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c
        (Java_gnu_java_awt_peer_gtk_GtkClipboard_initNativeState): Ditto.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
        (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectHooks): Remove
        function.
        (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectJObject): New
        function.
        (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectSignals): New
        function.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c
        (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectHooks): Remove
        function.
        (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectJObject): New
        function.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c
        (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectHooks): Remove
        function.
        (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectJObject): New
        function.
        (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectSignals): New
        function.
        (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_old_create): Remove dead
        code.
        (item_select): Remove indirection.
        (item_unselect): Ditto.
        (connect_selectable_hook): Folded into connectSignals.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c
        (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectHooks): Remove
        function.
        (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectJObject): New
        function.
        (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectSignals): New
        function.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c: Ditto.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c
        (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectHooks): Remove
        function.
        (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectSignals): New
        function.
        * gnu/java/awt/peer/gtk/GtkComponentPeer.java: Declare  and call
        connectJObject and connectSignals instead of connectHooks.
        * gnu/java/awt/peer/gtk/GtkButtonPeer.java: Declare connectJObject and
        connectSignals.
        * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java: Declare connectSignals
        and not connectHooks.
        * gnu/java/awt/peer/gtk/GtkTextComponentPeer.java: Ditto.
        * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java: Declare connectJObject
        and not connectHooks.
        * gnu/java/awt/peer/gtk/GtkListPeer.java: Declare connectJObject and
        connectSignals instead of connectHooks.
        * gnu/java/awt/peer/gtk/GtkPanelPeer.java: Ditto.
        * gnu/java/awt/peer/gtk/GtkScrollbarPeer.java: Ditto.
        * gnu/java/awt/peer/gtk/GtkWindowPeer.java: Ditto.

From-SVN: r74536
2003-12-11 13:50:51 +00:00
Thomas Fitzsimmons
23a555b077 GtkButtonPeer.java (handleEvent): Remove modality check.
2003-10-08  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java (handleEvent): Remove
	modality check.
	* gnu/java/awt/peer/gtk/GtkDialogPeer.java (initializeInsets):
	Initialize insets to use latest insets.
	* gnu/java/awt/peer/gtk/GtkFramePeer.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java (latestInsets): New
	field.
	(postConfigureEvent): Update latestInsets field when insets
	change.  Remove call to setSize.  Move validate call outside of
	if blocks.
	(setVisible): Call setBounds before showing window.
	(nativeSetVisible): New native method.
	* java/awt/Window.java (show): Show visible owned windows.
	(hide): Hide visible owned windows.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(awt_event_handler): Implement modality using GTK grabs.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
	(global_gtk_window_group): New global variable.
	(gtkInit): Initialize global_gtk_window_group.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (create):
	Clamp width and height values to at least 1.  Add this window to
	the global GTK window group.
	(setVisible): Rename to nativeSetVisible.
	(setup_window): Remove function.
	(setSize): Clamp width and height values to at least 1.
	(nativeSetBounds): Likewise.
	(gdk_window_get_root_geometry): Remove function.
	* jni/gtk-peer/gtkpeer.h: Remove gdk_window_get_root_geometry
	and setup_window declarations.  Declare global_gtk_window_group.

From-SVN: r72252
2003-10-09 00:26:29 +00:00
Thomas Fitzsimmons
a5586c3865 2003-10-08 Thomas Fitzsimmons <fitzsim@redhat.com>
* gnu/java/awt/peer/gtk/GtkButtonPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
	(gtkSetFont): Handle BOLD and ITALIC style specifiers.
	(gtkWidgetSetForeground): New method.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(gtkWidgetSetBackground, gtkWidgetSetForeground): New methods.
	(setBackground, setForeground): Implement.
	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
	(gtkSetFont): Handle BOLD and ITALIC style specifiers.
	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c: Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c (drawString):
	Position PangoLayout relative to text's baseline.
	* jni/gtk-peer/gtkpeer.h: Define AWT font style constants.

	* java/awt/FlowLayout.java (layoutContainer): Fix offset problem
	for CENTER and RIGHT alignments.

From-SVN: r72246
2003-10-08 23:38:45 +00:00
Thomas Fitzsimmons
5596e92fd8 GtkButtonPeer.java: Call getName rather than getXLFD.
2003-07-29  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java: Call getName rather
	than getXLFD.
	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java: Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
	(gtkSetFont): Scale size parameter by PANGO_SCALE.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c:
	Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c:
	Likewise.

From-SVN: r69936
2003-07-29 19:42:37 +00:00
Michael Koch
5245ad0cf7 2003-07-13 Michael Koch <konqueror@gmx.de>
* gnu/java/awt/peer/gtk/GdkFontMetrics.java
	* gnu/java/awt/peer/gtk/GdkGraphics.java
	* gnu/java/awt/peer/gtk/GtkButtonPeer.java
	* gnu/java/awt/peer/gtk/GtkCanvasPeer.java
	* gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java
	* gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java
	* gnu/java/awt/peer/gtk/GtkCheckboxPeer.java
	* gnu/java/awt/peer/gtk/GtkChoicePeer.java
	* gnu/java/awt/peer/gtk/GtkClipboard.java
	* gnu/java/awt/peer/gtk/GtkDialogPeer.java
	* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java
	* gnu/java/awt/peer/gtk/GtkFramePeer.java
	* gnu/java/awt/peer/gtk/GtkGenericPeer.java
	* gnu/java/awt/peer/gtk/GtkImage.java
	* gnu/java/awt/peer/gtk/GtkImagePainter.java
	* gnu/java/awt/peer/gtk/GtkLabelPeer.java
	* gnu/java/awt/peer/gtk/GtkListPeer.java
	* gnu/java/awt/peer/gtk/GtkMenuBarPeer.java
	* gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java
	* gnu/java/awt/peer/gtk/GtkMenuItemPeer.java
	* gnu/java/awt/peer/gtk/GtkMenuPeer.java
	* gnu/java/awt/peer/gtk/GtkOffScreenImage.java
	* gnu/java/awt/peer/gtk/GtkPanelPeer.java
	* gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java
	* gnu/java/awt/peer/gtk/GtkScrollPanePeer.java
	* gnu/java/awt/peer/gtk/GtkScrollbarPeer.java
	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java
	* gnu/java/awt/peer/gtk/GtkTextComponentPeer.java
	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java

From-SVN: r69290
2003-07-13 15:09:20 +00:00
Hans Boehm
56bba8cf57 XToolkit.java (getFontMetrics): initialize if necessary.
2003-02-18  Hans Boehm  <Hans.Boehm@hp.com>

	* gnu/awt/xlib/XToolkit.java (getFontMetrics): initialize
	if necessary.

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java,
	gnu/java/awt/peer/gtk/GtkTextAreaPeer.java,
	gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
	(setFont, gtkSetFont): add.
	gnu/java/awt/peer/gtk/GtkComponentPeer.java (GtkComponentPeer):
	Propagate font to peer.  (setFont): add FIXME comment.

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
	(gtkTextGetSize): fix height, width computation.

	* gnu/java/awt/peer/gtk/GtkFontPeer.java (GtkFontPeer):
	Make X font name a bit less bogus.

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c
	(post_adjustment_event): Pass on GTK_SCROLL_NONE.

	* java/awt/Scrollbar.java (setValues): Fix visibleAmount range check.
	(processAdjustmentEvent): Adjust value.

	* java/awt/FlowLayout.java (layoutContainer) Fix 2 indexing and one
	logic errors.

	* java/awt/Component.java (setVisible, show, hide): Call show and
	hide methods in subclasses.
	(getPreferredSize): don't set prefSize before we have peer.

	* java/awt/TextArea.java, java/awt/TextField.java (getPreferredSize):
	Guess (0,0) if we don't have peer.

From-SVN: r63077
2003-02-19 00:35:35 +00:00
Tom Tromey
5aac1dac62 Window.java (Window(Window,GraphicsConfiguration)): Don't try to find graphics configuration.
* java/awt/Window.java (Window(Window,GraphicsConfiguration)):
	Don't try to find graphics configuration.
	* java/awt/Toolkit.java (default_toolkit_name): Use new
	Configuration entry.
	* gnu/classpath/Configuration.java.in (default_awt_peer_toolkit):
	New global.
	* configure: Rebuilt.
	* configure.in (TOOLKIT): New subst.
	(--enable-java-awt) [xlib, gtk]: Set TOOLKIT if required.
	Do AWT tests much earlier.  Run Gtk tests.  Make jniinclude
	directory.  Make output directories for .c files.
	* Makefile.in: Rebuilt.
	* Makefile.am (lib_gnu_java_awt_peer_gtk_la_SOURCES): New macro.
	(toolexeclib_LTLIBRARIES): Added cond_gtk_ltlibrary.
	(all_java_source_files): Added new sources.
	($(lib_gnu_java_awt_peer_gtk_la_OBJECTS)): New target.
	(gtk_c_files): New macro.
	(gtk_c_source_files): New macro.
	(cond_gtk_ltlibrary): New macro.
	($(gtk_c_files)): New target.
	(lib_gnu_java_awt_peer_gtk_la_LIBADD): New macro.
	(gtk_awt_peer_sources): New macro.
	(gtk_c_headers): New macro.
	($(gtk_c_headers)): New target.
	(ACLOCAL_AMFLAGS): New macro.
	* gtk.m4, glib.m4, libart.m4: New files.
	* gnu/java/awt/peer/gtk/GdkFontMetrics.java,
	gnu/java/awt/peer/gtk/GdkGraphics.java,
	gnu/java/awt/peer/gtk/GtkArg.java,
	gnu/java/awt/peer/gtk/GtkArgList.java,
	gnu/java/awt/peer/gtk/GtkButtonPeer.java,
	gnu/java/awt/peer/gtk/GtkCanvasPeer.java,
	gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java,
	gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java,
	gnu/java/awt/peer/gtk/GtkCheckboxPeer.java,
	gnu/java/awt/peer/gtk/GtkChoicePeer.java,
	gnu/java/awt/peer/gtk/GtkClipboard.java,
	gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkContainerPeer.java,
	gnu/java/awt/peer/gtk/GtkDialogPeer.java,
	gnu/java/awt/peer/gtk/GtkFileDialogPeer.java,
	gnu/java/awt/peer/gtk/GtkFontPeer.java,
	gnu/java/awt/peer/gtk/GtkFramePeer.java,
	gnu/java/awt/peer/gtk/GtkGenericPeer.java,
	gnu/java/awt/peer/gtk/GtkImage.java,
	gnu/java/awt/peer/gtk/GtkImagePainter.java,
	gnu/java/awt/peer/gtk/GtkLabelPeer.java,
	gnu/java/awt/peer/gtk/GtkListPeer.java,
	gnu/java/awt/peer/gtk/GtkMainThread.java,
	gnu/java/awt/peer/gtk/GtkMenuBarPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuItemPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuPeer.java,
	gnu/java/awt/peer/gtk/GtkOffScreenImage.java,
	gnu/java/awt/peer/gtk/GtkPanelPeer.java,
	gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java,
	gnu/java/awt/peer/gtk/GtkScrollbarPeer.java,
	gnu/java/awt/peer/gtk/GtkScrollPanePeer.java,
	gnu/java/awt/peer/gtk/GtkTextAreaPeer.java,
	gnu/java/awt/peer/gtk/GtkTextComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	gnu/java/awt/peer/gtk/TestAWT.java,
	gnu/java/awt/peer/gtk/Test.java: New files from Classpath.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImagePainter.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c,
	jni/gtk-peer/gthread-jni.c, jni/gtk-peer/gthread-jni.h,
	jni/gtk-peer/gtkpeer.h, jni/classpath/jcl.c, jni/classpath/jcl.h,
	jni/classpath/jnilink.c, jni/classpath/jnilink.h,
	jni/classpath/native_state.c, jni/classpath/native_state.h,
	jni/classpath/primlib.c, jni/classpath/primlib.h: Likewise.

From-SVN: r62187
2003-01-31 17:54:14 +00:00