Commit Graph

77 Commits

Author SHA1 Message Date
Kim Ho
e300e74f17 2004-01-27 Kim Ho <kho@redhat.com>
* gnu/java/awt/peer/gtk/GtkFramePeer.java
        (removeMenuBarPeer): Remove MenuBarPeer argument.
        * gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java
        (dispose): Call native method.
        * java/awt/Frame.java (setMenuBar): Create and remove
        MenuBar peers only if the Frame has a peer.
        (addNotify): Create the MenuBar peer if one exists.
        (removeNotify): Remove MenuBar peer if one exists.
        * java/awt/Menu.java: Fix imports.
        (addNotify): Don't use full class name.
        (removeNotify): Call removeNotify on all children.
        * java/awt/MenuBar.java (removeNotify): Call
        removeNotify on all children.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
        (removeMenuBarPeer): Remove MenuBarPeer argument.
        Iterate through children to find the Frame's MenuBar.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.c
        New file.
        (dispose): Remove references to the MenuComponent.

From-SVN: r76740
2004-01-27 19:29:57 +00:00
Kim Ho
f256503705 GtkFramePeer.java (setMenuBar): Fix spacing.
2004-01-26  Kim Ho  <kho@redhat.com>

        * gnu/java/awt/peer/gtk/GtkFramePeer.java (setMenuBar):
        Fix spacing.

From-SVN: r76730
2004-01-27 16:43:12 +00:00
Kim Ho
57e1391773 GtkFramePeer.java (moveLayout): New method.
2004-01-26  Kim Ho  <kho@redhat.com>

        * gnu/java/awt/peer/gtk/GtkFramePeer.java (moveLayout): New
        method.
        (setMenuBar): Shift the Gtk layout up/down by the MenuBar
        height and let the Layout Managers readjust anything that
        needs to move.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
        (moveLayout): New method. Shift everything in the Gtk
        layout in the Y direction by an offset.

From-SVN: r76729
2004-01-27 16:39:45 +00:00
David Jee
7edbd87e17 2004-01-26 David Jee <djee@redhat.com>
* gnu/java/awt/peer/gtk/GtkComponentPeer.java
	(handleEvent): Implemented. Handles PaintEvents.
	(paint): Implemented. Use GTK native methods to queue updates
        for this heavyweight peer.
	* gnu/java/awt/peer/gtk/GtkContainerPeer.java
	(handleEvent): Removed.
	* java/awt/Component.java
	(paint): Implemented. Explictly paint the heavyweight peer.
	(update): Clear the background for heavyweight components.
	(paintAll): No need to call peer.paint() anymore.
	(processEvent): Don't process PaintEvents here. It's now done in
	the peer's handleEvent().
	(processPaintEvent): Removed.
	* java/awt/Container.java
	(paint): No need to call super.paint(). Visit heavyweight
	children as well.
	(update): Don't clear the background here.  It's done in
	Component.update().
	(visitChildren): Added check to not recurse into Containers.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(filter_expose_event_handler): New method.  Filter unwanted
	expose events while painting heavyweight peers.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_addExposeFilter):
	New method. Connect filter and block pre_event_handler.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_removeExposeFilter):
	New method. Disconnect filter and unblock pre_event_handler.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetQueueDrawArea):
	New method. Invalidate and update given area.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(pre_event_handler): Add checks for unwanted expose events.

From-SVN: r76668
2004-01-26 21:55:42 +00:00
Kim Ho
ecf67f46ef GtkFramePeer.java (menuBarHeight): Mark private.
2004-01-26  Kim Ho  <kho@redhat.com>

        * gnu/java/awt/peer/gtk/GtkFramePeer.java (menuBarHeight): Mark
        private.
        (setMenuBar): Grab MenuBar height and change insets.
        (setBounds): Account for MenuBar height.
        (postInsetsChangedEvent): Ditto.
        (postSizeAllocateEvent): Remove.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
        (menubar_resize_cb): Remove
        (setMenuBarPeer): Remove callback.
        (getMenuBarHeight): Use size requisition instead of
        allocation.

From-SVN: r76633
2004-01-26 13:56:59 +00:00
Thomas Fitzsimmons
0058a7d875 GtkToolkit.java (checkImage): Inform image observer of image loading status.
2004-01-25  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkToolkit.java (checkImage): Inform
	image observer of image loading status.
	(getImage (String)): Start image production.
	(getImage (URL)): Likewise.

From-SVN: r76574
2004-01-25 18:29:42 +00:00
Michael Koch
58cc478949 BitwiseXORComposite-1.png: New file.
2004-01-23  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/doc-files/BitwiseXORComposite-1.png:
	New file.

From-SVN: r76410
2004-01-23 12:01:23 +00:00
Graydon Hoare
ca3bb0c283 2004-01-22 Graydon Hoare <graydon@redhat.com>
* gnu/java/awt/peer/gtk/GdkClasspathFontPeer.java:
	* gnu/java/awt/peer/gtk/GdkGlyphVector.java:
	Predicate static initialization on GtkToolkit.useGraphics2D().
	* java/awt/Component.java (processPaintEvent): Consume event.
	* javax/swing/AbstractButton.java: Reimplement, document.
	* javax/swing/DefaultButtonModel.java: Reimplement, document.
	* javax/swing/JComponent.java (paint): Use double buffer.
	(listenerList): Enable member.
	* javax/swing/ToggleButtonModel.java: Remove incorrect constructor.
	* javax/swing/JToggleButton.java
	(JToggleButton): Modify model constructor.
	* javax/swing/SwingUtilities.java
	(layoutCompoundLabel): Adjust arithmetic.
	* javax/swing/plaf/basic/BasicButtonUI.java: Reimplement, document.
	* javax/swing/plaf/basic/BasicGraphicsUtils.java
	(getPreferredButtonSize): Include margins in calculation.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkWindowPeer_connectSignals):
	Receive up events from subordinate layout component.

From-SVN: r76344
2004-01-22 09:54:19 +00:00
Kim Ho
2bd408db4b GtkFramePeer.java (postConfigureEvent): Fix comments.
2004-01-21  Kim Ho  <kho@redhat.com>

        * gnu/java/awt/peer/gtk/GtkFramePeer.java (postConfigureEvent):
        Fix comments.
        (removeMenuBarPeer): Make package private.
        (setMenuBarPeer): Make package private.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
        (menubar_resize_cb): Mark attributes unused.
        (getMenuBarHeight): ditto.

From-SVN: r76299
2004-01-21 20:11:08 +00:00
Thomas Fitzsimmons
c01c143789 GtkComponentPeer.java (setBounds): Calculate proper offsets for heavyweight components packed in lightweight...
2004-01-20  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (setBounds):
	Calculate proper offsets for heavyweight components packed in
	lightweight containers.

From-SVN: r76230
2004-01-20 21:24:09 +00:00
Thomas Fitzsimmons
9011501793 GtkTextFieldPeer.java, [...] (native create): Add width parameter.
2004-01-20  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
	(native create): Add width parameter.
	(create): Calculate text entry width based on current font's
	metrics and number of columns.  Set TextField's font if not
	already set.  Call native create.
	(gtkEntryGetBorderWidth): New native method.
	(gtkEntryGetSize): Remove method.
	(getMinimumSize): Call minimumSize.
	(getPreferredSize): Call preferredSize.
	(minimumSize): Calculate minimum size based on backing
	GtkEntry's borders, font metrics and number of columns.
	(preferredSize): Likewise for preferred size.
	(get_border_width): New static function.

From-SVN: r76228
2004-01-20 21:05:39 +00:00
Thomas Fitzsimmons
cbc635173f GtkFramePeer.java (setResizable): Override GtkWindowPeer's setResizable method to account for menu bar height when...
2004-01-20  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkFramePeer.java (setResizable):
	Override GtkWindowPeer's setResizable method to account for menu
	bar height when setting the frame's size.

From-SVN: r76227
2004-01-20 20:56:53 +00:00
Fernando Nasser
8f9f8d71c7 TestAWT.java (DialogWindow): Make text not visible so that dialog can be reused.
* gnu/java/awt/peer/gtk/TestAWT.java (DialogWindow): Make text not
        visible so that dialog can be reused.

From-SVN: r76160
2004-01-19 17:32:29 +00:00
Kim Ho
2c20a17152 GtkFramePeer.java (getMenuBarHeight): Added MenuBarPeer parameter.
2004-01-19  Kim Ho  <kho@redhat.com>

        * gnu/java/awt/peer/gtk/GtkFramePeer.java (getMenuBarHeight): Added
        MenuBarPeer parameter.
        (removeMenuBarPeer): New native method.
        (setMenuBar): Call remove if menu bar is null. Adjust insets
        appropriately.
        (postSizeAllocateEvent): New method. Called when menu bar size is
        allocated. Adjust insets and redo layout.
        (GtkFramePeer): Set menu bar during frame creation.
        (postConfigureEvent): Adjust position and size to accomodate
        menu bar.
        * java/awt/Frame.java (setMenuBar): addNotify to create menu bar.
        * java/awt/Menu.java (addSeparator): Use peer's addSeparator.
        (addNotify): Create the peer if it doesn't exist and call addNotify
        for the menu's items.
        * java/awt/MenuBar.java (addNotify): Create this menu bar's menus.
        * java/awt/MenuItem.java (addNotify): Create the peer if it
        doesn't exist.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
        (removeMenuBarPeer): New method. Remove menu bar on the current
        frame.
        (setMenuBarPeer): Add the menu bar to the current frame and the
        callback for size-allocate events on the menu bar.
        (getMenuBarHeight): Add menu bar parameter.
        (menubar_resize_cb): New callback method for postSizeAllocate events.

        Also: Fix indentation on last ChangeLog entry.

From-SVN: r76149
2004-01-19 14:27:45 +00:00
Kim Ho
9543baba84 2004-01-16 Kim Ho <kho@redhat.com>
* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java
        (gtkWidgetGetDimensions): Remove.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
        (gtkWidgetGetDimensions): Remove.

From-SVN: r76148
2004-01-19 14:08:19 +00:00
Kim Ho
2b8deefadd GtkComponentPeer.java (GtkComponentPeer): If it is a FileDialog and has dimensions of 0 by 0...
2004-01-16  Kim Ho  <kho@redhat.com>

        * gnu/java/awt/peer/gtk/GtkComponentPeer.java (GtkComponentPeer): If
        it is a FileDialog and has dimensions of 0 by 0, then the initial
        size is set to size request plus insets.
        * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java
        (gtkWidgetGetDimensions): Override method.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
        (gtkWidgetGetDimensions): Override method. Returns size request plus
        insets.

From-SVN: r75993
2004-01-16 20:05:41 +00:00
Olga Rodimina
f30dbd2039 * gnu/java/awt/peer/gtk/GdkGraphics2D.java:
(doPolygon): set fill rule of polygon to
	WIND_EVEN_ODD by default

From-SVN: r75971
2004-01-16 14:22:23 +00:00
Olga Rodimina
b123101753 GdkGraphics2D.java: Implemented rendering hints related methods.
* gnu/java/awt/peer/gtk/GdkGraphics2D.java:
	Implemented rendering hints related methods.
	(getDefaultHints): New helper method. Returns
	default rendering hints.
	(walkPath): changed to normalize path if
	the KEY_STROKE_CONTROL key is in "normalize" mode.
	(draw3DRect): changed coordinates of rectangle by +0.5
	if in "normalize" mode.

From-SVN: r75943
2004-01-15 22:00:01 +00:00
Thomas Fitzsimmons
9e2c04c59a GtkTextAreaPeer.java, [...] (native create): Add width and height parameters.
2004-01-13  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
	(native	create): Add width and height parameters.  Set text
	view's size request according to new parameters.
	(create): Calculate text view size based on current font's
	metrics and number of rows and columns.  Set TextArea's font if
	not already set.  Call native create.
	(getMinimumSize): Call minimumSize.
	(getPreferredSize): Call preferredSize.
	(getHScrollbarHeight): New method.
	(getVScrollbarWidth): New method.
	(minimumSize): Calculate minimum size based on scrollbar
	visibility, scrollbar sizes, font metrics and number of rows and
	columns.
	(preferredSize): Likewise for preferred size.
	(gtkTextGetSize): Remove method.

From-SVN: r75817
2004-01-13 20:58:33 +00:00
Thomas Fitzsimmons
db19e39b82 2004-01-13 Thomas Fitzsimmons <fitzsim@redhat.com>
* gnu/java/awt/peer/gtk/GtkComponentPeer.java
	(initializeInsets): Remove method.
	(GtkComponentPeer): Initialize insets field.  Remove call to
	initializeInsets.
	* gnu/java/awt/peer/gtk/GtkDialogPeer.java (initializeInsets):
	Remove method.
	* gnu/java/awt/peer/gtk/GtkFramePeer.java (initializeInsets):
	Remove method.
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c:
	(latestInsets): Remove field.
	(native create): Add insets parameter.  Call
	window_get_frame_extents.  Set the window's default size and
	size request based on its frame extents.
	(create): Initialize insets.
	(postInsetsChangedEvent): New method.
	(postConfigureEvent): Remove parameters top, left, bottom,
	right.  Remove insets-related logic.
	(connectJObject): Handle property-notify-event.
	(window_get_frame_extents, request_frame_extents,
	property_notify_predicate, window_property_changed_cb): New
	static functions.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(pre_event_handler): Remove insets-related logic for configure
	events.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c (gtkInit):
	Update postConfigureEvent signature.

From-SVN: r75816
2004-01-13 20:54:46 +00:00
Fernando Nasser
81c740ba1b TestAWT.java (DialogWindow): Add WindowAdapter to handle Window "Closing" events.
* gnu/java/awt/peer/gtk/TestAWT.java (DialogWindow): Add WindowAdapter
        to handle Window "Closing" events.

From-SVN: r75813
2004-01-13 20:00:00 +00:00
David Jee
e6cca48823 2004-01-13�� David Jee�� <djee@redhat.com>
* gnu/java/awt/peer/gtk/GtkContainerPeer.java
        (setBackground): New method. Children with no explicitly-set
        background will be repainted with the parent container's new
        background color.

From-SVN: r75809
2004-01-13 17:55:20 +00:00
Fernando Nasser
e5baf3bd82 TestAWT.java: Fix test program so that it does not show modal dialogs twice and so that it...
* gnu/java/awt/peer/gtk/TestAWT.java: Fix test program so that it does
        not show modal dialogs twice and so that it allows showing a modal
        dialog from another modal dialog.

From-SVN: r75803
2004-01-13 13:09:31 +00:00
Graydon Hoare
55db8fa9e7 JLayeredPane.java: Rewrite to accomodate djee@redhat.com's recent inverse ordering of Container...
2004-01-08  Graydon Hoare  <graydon@redhat.com>

	* javax/swing/JLayeredPane.java: Rewrite to accomodate
	djee@redhat.com's recent inverse ordering of Container elements.

From-SVN: r75745
2004-01-12 19:11:00 +00:00
Michael Koch
4a8e704126 2004-01-10 Michael Koch <konqueror@gmx.de>
* gnu/java/awt/image/ImageDecoder.java
	(produce): Made public.
	* gnu/java/awt/peer/GLightweightPeer.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java:
	Reformated.

From-SVN: r75653
2004-01-10 21:32:23 +00:00
Fernando Nasser
06fe3d7df2 GtkFileDialogPeer.java (nativeSetFile): New name for the former setFile native method.
* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java (nativeSetFile):
        New name for the former setFile native method.
        (setFile): New method.
        (setDirectory): Implemented.
        (connectSignals): New native method.
        (setFilenameFilter): Improve comment.
        (getGraphics): Comment.
        (gtkHideFileDialog): New method.
        (gtkDisposeFileDialog): New method.
        (gtkSetFilename): New method.
        * java/awt/Dialog.java (show): Block on modal dialogs, but only
        for FileDialog for now.
        (hide): New method.
        (dispose): New method.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c
        (Java_gnu_java_awt_peer_gtk_GtkFileDialog_create): Replace
        deprecated creation functions.  Make dialog modal.  Add it to the
        window group.
        (Java_gnu_java_awt_peer_gtk_GtkFileDialog_connectSignals): New
        function.
        (Java_gnu_java_awt_peer_gtk_GtkFileDialogPeer_gtkFileSelectionSetFilename):
        Rename to...
        (Java_gnu_java_awt_peer_gtk_GtkFileDialogPeer_nativeSetFile): New
        name.
        (window_closed): New function.
        (ok_clicked): New function.
        (cancel_clicked): New function.

From-SVN: r75557
2004-01-08 21:12:25 +00:00
Thomas Fitzsimmons
a8c2775c37 2004-01-05 Thomas Fitzsimmons <fitzsim@redhat.com>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(pre_event_handler): Set all insets to 0 when a Configure event
	is received for a GtkPlug.
	* gnu/java/awt/EmbeddedWindow.java (window_id): Rename handle.
	Make handle long, not int.
	(EmbeddedWindow()): New constructor.
	(EmbeddedWindow(int)): Rename window_id to handle.  Make handle
	long, not int.
	(setHandle): New method.
	(getHandle): Return long, not int.
	* gnu/java/awt/peer/EmbeddedWindowPeer.java (embed): New method
	declaration.
	* gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c:
	(create(long)): Take long parameter, not int.  Cast gtk_plug_new
	argument to GdkNativeWindow.
	(construct): New method.
	(embed): New method.

From-SVN: r75447
2004-01-05 21:41:21 +00:00
Thomas Fitzsimmons
6037221c71 2004-01-05 Thomas Fitzsimmons <fitzsim@redhat.com>
* gnu/java/awt/peer/gtk/GtkScrollPanePeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c
	(create(int, int)): New method.
	(create): Call new create method.
	(gtkScrolledWindowNew, gtkScrolledWindowSetSize): Remove
	methods.
	(childResized): Remove native implementation.  Implement in
	Java.
	(getHScrollbarHeight, getVScrollbarWidth): Call
	gtk_widget_size_request to get scrollbar dimensions.
	* java/awt/ScrollPane.java (getViewportSize): Reimplement.  Only
	call getVScrollbarWidth and getHScrollbarHeight when vertical
	and horizontal scrollbars respectively are needed.
	(doLayout): Enlarge child if it is smaller than the viewport.

From-SVN: r75446
2004-01-05 21:35:33 +00:00
Fernando Nasser
b7a9b4af03 Choice.java (add): Leave posting of ItemEvents to peer.
2004-01-05  Fernando Nasser  <fnasser@redhat.com>

        * java/awt/Choice.java (add): Leave posting of ItemEvents to peer.
        (insert): Ditto.
        (remove): Ditto.  Also, Check for valid argument.
        (removeAll): Use peer interface method.
        * gnu/java/awt/peer/gtk/GtkChoicePeer.java (nativeAdd): New name for
        native add function.
        (nativeRemove): New name for native remove function.
        (getHistory): New native function.
        (constructor): Generate ItemEvent.
        (add): Ditto, if selection is changed.
        (remove): Ditto, ditto.
        (removeAll): Add implementation.
        (handleEvent): Remove.  Dead code.
        (choicePostItemEvent): Add comment.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
        (Java_gnu_java_awt_peer_gtk_GtkChoicePeer_append): Add comments.
        (Java_gnu_java_awt_peer_gtk_GtkChoicePeer_add): Rename to...
        (Java_gnu_java_awt_peer_gtk_GtkChoicePeer_nativeAdd): New name.  Add
        comments and fix condition to change selection.
        (Java_gnu_java_awt_peer_gtk_GtkChoicePeer_remove): Rename to...
        (Java_gnu_java_awt_peer_gtk_GtkChoicePeer_nativeRemove): New name.  Add
        remove all capability.
        (Java_gnu_java_awt_peer_gtk_GtkChoicePeer_getHistory): New function.
        (item_activate): Add cast to remove compiler warning.

From-SVN: r75443
2004-01-05 21:18:06 +00:00
Thomas Fitzsimmons
b17fc9eb25 2004-01-05 Thomas Fitzsimmons <fitzsim@redhat.com>
* gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(getPreferredSize): Call preferredSize.
	(preferredSize): Call gtkWidgetGetPreferredDimensions.
	(getMinimumSize): Call minimumSize.
	(minimumSize): Call gtkWidgetGetPreferredDimensions.
	(gtkWidgetGetDimensions): Return the peer widget's current size
	request.
	(gtkWidgetGetPreferredDimensions): Return the peer widget's
	natural size request.

From-SVN: r75442
2004-01-05 21:13:46 +00:00
Graydon Hoare
8fe7789edd configure.in: Add --enable-gtk-cairo check.
2003-12-16  Graydon Hoare  <graydon@redhat.com>

	* configure.in: Add --enable-gtk-cairo check.
	* configure: Regenerate.
	* Makefile.am: Conditionally link against cairo.
	* Makefile.in: Regenerate.
	* acinclude.m4: Include PKG_CHECK_MODULES.
	* aclocal.m4: Regenerate.
	* gnu/java/awt/peer/gtk/GtkToolkit.java (useGraphics2D): New method.
	(getFontMetrics, getClasspathFontPeer):
	* gnu/java/awt/peer/gtk/GtkCanvasPeer.java (getGraphics):
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (createImage):
	* gnu/java/awt/peer/gtk/GtkContainerPeer.java (getGraphics):
	* gnu/java/awt/peer/gtk/GtkFramePeer.java (getGraphics):
	Switch behavior depending on GtkToolkit.useGraphics2D().
	* gnu/java/awt/peer/gtk/GtkFontPeer.java: Extend ClasspathFontPeer.
	* java/awt/Font.java: Switch to peer model.
	* jni/gtk-peer/gtkcairopeer.h: Definitions of cairo stuff.
	* jni/gtk-peer/gdkfont.h: Include gtkcairopeer.h.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c: Include gtkcairopeer.h.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeerMetrics.c: Un-include gtkpeer.h.

From-SVN: r75260
2003-12-31 08:58:31 +00:00
Fernando Nasser
baba70d019 GtkChoicePeer.java (postItemEvent): Rename to...
2003-12-22  Fernando Nasser  <fnasser@redhat.com>

        * gnu/java/awt/peer/gtk/GtkChoicePeer.java (postItemEvent): Rename to...        (choicePostItemEvent): Change signature to more specific String object.
        * java/awt/Choice.java (add): Generate ItemEvent for the first item
        added.
        (insert): Generate ItemEvent if insertion caused
        selection to change.
        (remove): Generate ItemEvent if removal cause selection to change.
        (removeAll): Change algorithm to prevent generation of ItemEvents.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
        (connect_choice_item_selectable_hook): Change argument type.
        Fix argument value.
        Make sure resources are feed by registering callback.
        (Java_gnu_java_awt_peer_gtk_GtkChoicePeer_append): Adjust call to the
        above function.
        (Java_gnu_java_awt_peer_gtk_GtkChoicePeer_add): Ditto.
        (item_activate): Ditto.
        (Java_gnu_java_awt_peer_gtk_GtkChoicePeer_remove): Destroy removed
        menuitem.
        (item_removed): New function.  Free resources.
        * jni/gtk-peer/gtkpeer.h (item_event_hook_info): Change member type and
        name.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
        (Java_gnu_java_awt_peer_gtk_GtkMainThread_gtkInit): Obtain MethodID for
        choicePostItemEvent.

From-SVN: r74979
2003-12-23 19:24:00 +00:00
Fernando Nasser
f84241ba7d GtkListPeer.java (handleEvent): Fix generation of ActionEvents for mouse double-clicks.
2003-12-17  Fernando Nasser  <fnasser@redhat.com>

        * gnu/java/awt/peer/gtk/GtkListPeer.java (handleEvent): Fix generation
        of ActionEvents for mouse double-clicks.

From-SVN: r74745
2003-12-17 18:02:56 +00:00
Fernando Nasser
310b075bd8 GtkContainerPeer.java (handleEvent): Check for null Graphics pointer returned by FileDialogPeer.
2003-12-16  Fernando Nasser  <fnasser@redhat.com>

        * gnu/java/awt/peer/gtk/GtkContainerPeer.java (handleEvent): Check for
        null Graphics pointer returned by FileDialogPeer.

From-SVN: r74744
2003-12-17 17:20:00 +00:00
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
Kim Ho
bc67c73d4a Fix for Checkbox states.
2003-12-08  Kim Ho  <kho@redhat.com>

	Fix for Checkbox states.
	* gnu/java/awt/peer/gtk/GtkCheckboxPeer.java:
	(currentState): New field.
	(nativeCreate): Add initial state parameter.
	(create): Changed to reflect new parameter.
	(setState): Fire only on changed states.
	(postItemEvent): Fire only on changed states. Also change the
	Java Checkbox to reflect new state.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c:
	(nativeCreate): Add parameter and set active state.

From-SVN: r74459
2003-12-09 03:47:32 +00:00
Fernando Nasser
26d86d940e GtkListPeer.java (handleEvent): Fix generation of ActionEvents.
2003-12-02  Fernando Nasser  <fnasser@redhat.com>

        * gnu/java/awt/peer/gtk/GtkListPeer.java (handleEvent): Fix generation
        of ActionEvents.

From-SVN: r74248
2003-12-03 22:29:31 +00:00
Thomas Fitzsimmons
49246a5229 GdkPixbufDecoder.java: Make BufferedImageBuilder class static.
2003-12-02  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: Make
	BufferedImageBuilder class static.

From-SVN: r74195
2003-12-02 19:56:30 +00:00
Fernando Nasser
a104538631 GtkListPeer.java (handleEvent): New method.
2003-12-02  Fernando Nasser  <fnasser@redhat.com>

        * gnu/java/awt/peer/gtk/GtkListPeer.java (handleEvent): New
        method. Handle mouse and key events that must generate
        ActionEvents.
        * java/awt/List.java (getSelectedIndex): Return -1
        if no list element is selected.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c (awt_event_handler):
        Correct handling of mouse and key events so that List receives them.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c
        (Java_gnu_java_awt_peer_gtk_GtkListPeer_delItems): Fix removal of
        multiple list elements.

From-SVN: r74189
2003-12-02 16:19:28 +00:00
Thomas Fitzsimmons
bebae71041 GdkFontMetrics.java (GdkFontMetrics): Pass font name, not XLFD, to initState.
2003-12-01  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GdkFontMetrics.java (GdkFontMetrics):
	Pass font name, not XLFD, to initState.
	(stringWidth(String, int, String)): New method.
	(stringWidth(String)): Call new stringWidth.
	(getLeading): Always return 0.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c
	(initState): New Pango implementation.
	(stringWidth): Likewise.

From-SVN: r74133
2003-12-01 23:12:09 +00:00
Thomas Fitzsimmons
ec22cdf140 GtkImage.java (setDimensions, [...]): Check that io is not null before calling io.imageUpdate.
2003-12-01  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkImage.java (setDimensions,
	setProperties): Check that io is not null before calling
	io.imageUpdate.
	* java/awt/image/ImageConsumer.java (setPixels, imageComplete):
	Update javadocs.
	* java/awt/image/PixelGrabber.java: Fix implementation and
	update javadocs.

From-SVN: r74103
2003-12-01 15:28:22 +00:00
Graydon Hoare
146a1ecb87 GdkClasspathFontPeerMetrics.java: New file.
2003-11-17  Graydon Hoare  <graydon@redhat.com>

	* gnu/java/awt/peer/gtk/GdkClasspathFontPeerMetrics.java: New file.
	* gnu/java/awt/peer/gtk/GdkClasspathFontPeer.java
	(GdkFontLineMetrics): New inner class.
	(getLineMetrics): Return new GdkFontLineMetrics.
	(getFontMetrics): Return new GdkClasspathFontPeerMetrics.
	(layoutGlyphVector): Create GdkGlyphVector.
	* gnu/java/awt/peer/gtk/GdkGraphics2D.java (stateStack): New member.
	(GdkGraphics2D): Initialize state via mathod calls.
	(cairoSetMatrix, cairoShowGlyphs): Simplify native calls.
	(cairoTranslate, cairoScale, cairoRotate): Remove.
	(various methods): use setTransform for special transform cases.
	(DrawState): New inner class.
	(stateSave): New method.
	(stateRestore): New method.
	(various methods): use stateSave, stateRestore.
	(getClipInDevSpace): New method.
	(clip, clipRect, setClip, getClip, getClipBounds):
	Follow spec more closely.
	(getTransform): Return clone of transform.
	(setStroke): Set linewidth to passed width / 2.0.
	(setPaintMode): Set SrcOver rather than Xor.
	(setColor): Set paint to passed color.
	(drawRaster, drawImage, PainterThread, drawPixels): Take affine
	transform from image to user space.
	(drawRenderedImage, drawRenderableImage): Implement.
	(getFontRenderContext, getFontMetrics, drawString, getFont):
	Implement
	(drawArc, drawOval, drawRoundRect, fillArc, fillOval, fillRoundRect):
	Implement.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:
	Match changes to java side.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeer.c:
	Release resources.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c:
	Don't use pango for metrics.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeerMetrics.c:
	New file.

From-SVN: r73776
2003-11-20 22:44:01 +00:00
Tom Fitzsimmons
2860518a07 GtkComponentPeer.java (prepareImage): Remove null check.
2003-11-12  Tom Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (prepareImage): Remove
	null check.
	* gnu/java/awt/peer/gtk/GtkToolkit.java (prepareImage): Likewise.
	* java/awt/Component.java (prepareImage): Likewise.

From-SVN: r73513
2003-11-12 22:03:49 +00:00
Thomas Fitzsimmons
a5966c9ef9 Makefile.am: Add GdkPixbufDecoder.java and gnu_java_awt_peer_gtk_GdkPixbufDecoder.c
2003-11-11  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am: Add GdkPixbufDecoder.java and
	gnu_java_awt_peer_gtk_GdkPixbufDecoder.c
	* Makefile.in: Regenerate.
	* gnu/java/awt/image/ImageDecoder.java (ImageDecoder(byte[],int,int)):
	New constructor.
	(startProduction): Create ByteArrayInputStream when url and filename are
	null.
	(produce): Declare stream parameter as InputStream.
	* gnu/java/awt/image/XBMDecoder.java (produce): Declare stream parameter
	as InputStream.
	* gnu/java/awt/peer/gtk/GdkPixbufDecoder.java
	(GdkPixbufDecoder(byte[],int,int)): New constructor.
	(produce): Declare stream parameter as InputStream.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (prepareImage): Throw NPE
	if image is null.  Set image's observer before running PrepareImage
	thread.  Pass image to startProduction.
	* gnu/java/awt/peer/gtk/GtkImage.java: Add null checks before calls to
	source's member functions.
	(observer): New field.
	(setObserver): New method.
	(setDimensions, setPixels, imageComplete): Call observer's imageUpdate.
	* gnu/java/awt/peer/gtk/GtkToolkit.java (checkImage, getImage): Return
	new GtkImage.
	(prepareImage): Implement.
	* java/awt/Component.java: Add static fields incrementalDraw and
	redrawRate.
	(imageUpdate): Implement.
	(createImage): Call Toolkit's createImage if peer is null.
	(prepareImage): Throw NPE if image is null.
	* java/awt/MediaTracker.java: Fix return value.

From-SVN: r73476
2003-11-12 00:37:34 +00:00
Thomas Fitzsimmons
009ed5cc5c GtkLabelPeer.java (create()): Call new create.
2003-11-11  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkLabelPeer.java (create()): Call new create.
	(create(String, float)): New method.
	(setText): Make native.
	(nativeSetAlignment): New method.
	(setAlignment): Call nativeSetAlignment.
	(getArgs): Remove method.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(find_fg_color_widget, find_bg_color_widget): New functions.
	(gtkWidgetSetForeground): Call find_fg_color_widget.
	(gtkWidgetSetBackground): Call find_bg_color_widget.  Modify active and
	prelight colors.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c (create): Wrap label
	widget in event box.
	(setText, setAlignment): Implement new native methods.

From-SVN: r73453
2003-11-11 17:04:47 +00:00
Graydon Hoare
c4bcf1418f ClasspathToolkit.java: New abstract class.
2003-10-14  Graydon Hoare  <graydon@redhat.com>

	* gnu/java/awt/ClasspathToolkit.java: New abstract class.
	* gnu/java/awt/peer/ClasspathFontPeer.java: New abstract class.
	* gnu/java/awt/peer/gtk/GdkClasspathFontPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeer.c:
	New concrete implementation of ClasspathFontPeer, with native part.
	* gnu/java/awt/peer/gtk/GdkGlyphVector.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c:
	New class, with native part.
	* gnu/java/awt/peer/gtk/GdkGraphics2D.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:
	implement setFont, cairoSetFont, drawGlyphVector, cairoShowGlyphs.

From-SVN: r72931
2003-10-25 18:41:45 +00:00
Thomas Fitzsimmons
f2d0e05d4e GtkDialogPeer.java (handleEvent): Remove method.
2003-10-24  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkDialogPeer.java (handleEvent):
	Remove method.
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java (postWindowEvent):
	New method.
	* java/awt/Window.java (Window(Window,GraphicsConfiguration),
	show, hide, dispose, getOwnedWindows): Synchronize on tree lock.
	(dispose): Post WINDOW_CLOSED event.
	(addWindowFocusListener, addWindowStateListener): Assign result
	of multicaster add back to window listener.
	(removeWindowFocusListener, removeWindowStateListener): Assign
	result of multicaster remove back to window listener.
	(dispatchEventImpl): Add null checks for focus and state
	listeners.
	(processWindowEvent): Handle case where windowListener is null
	but state or focus listeners exist.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c: Add JNI
	glue for postWindowEvent.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(window_delete_cb, window_destroy_cb, window_show_cb,
	window_focus_in_cb, window_focus_out_cb, window_window_state_cb,
	window_get_new_state): New functions.
	* jni/gtk-peer/gtkpeer.h: Define window event and frame state
	macros.  Declare postWindowEventID.

From-SVN: r72906
2003-10-24 19:40:30 +00:00
Michael Koch
31f28689a0 2003-10-11 Michael Koch <konqueror@gmx.de>
* gnu/awt/j2d/DirectRasterGraphics.java
	* gnu/java/awt/EmbeddedWindowSupport.java

From-SVN: r72339
2003-10-11 17:10:03 +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