Commit Graph

86 Commits

Author SHA1 Message Date
Michael Koch 53ef271f84 2004-06-03 Michael Koch <konqueror@gmx.de>
* gnu/java/awt/peer/gtk/GtkComponentPeer.java
	(requestFocus): Revert last changes.
	(gtkRequestFocus): Removed.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkRequestFocus):
	Renamed to ...
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetRequestFocus):
	Reverted last patch.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkPopupMenuPeer_setupAccelGroup):
	Reverted comment change.

From-SVN: r82596
2004-06-03 10:23:12 +00:00
Mark Wielaard 1900c4c6bf GtkComponentPeer.java (requestFocus): Implement by calling gtkRequestFocus.
2004-06-01  Mark Wielaard  <mark@klomp.org>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (requestFocus):
	Implement by calling gtkRequestFocus.
	(gtkRequestFocus): New native method.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_requestFocus__):
	Renamed to ...
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkRequestFocus):
	New function name.
	(filter_expose_event_handler):
	Mark static.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c
	(menu_pos): Mark static.

From-SVN: r82517
2004-05-31 23:03:01 +00:00
Graydon Hoare c5d2de6b4c [multiple changes]
2004-05-25  David Jee  <djee@redhat.com>

	* java/awt/Container.java
	(remove): Set component's parent to null only after we removed the
	component from its parent's layout manager.

2004-05-25  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java
	(GtkComponentPeer): Set bounds regardless of whether awtComponent
	is valid.
	* gnu/java/awt/peer/gtk/GtkListPeer.java
	(getSize): Change native method declaration.
	(minimumSize): Pass visible row count into getSize().
	(preferredSize): Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkListPeer_getSize): Use scroll window's
	natural size. Use visible row count to determine the final height
	value to return.

2004-05-21  Graydon Hoare  <graydon@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(setClip): Minor correction to order of operations.

	* javax/swing/JScrollPane.java: Extend sketchy implementation.
	* javax/swing/ScrollPaneLayout.java: Likewise.
	* javax/swing/JViewPort.java: Likewise.
	* javax/swing/ViewportLayout.java: Likewise.

	* javax/swing/JComponent.java: Rewrite.
	* javax/swing/RepaintManager.java: Likewise.

	* javax/swing/JLayeredPane.java: Change validate() to revalidate().
	* javax/swing/JList.java
	(setSelectedIndices):
	(getSelectedIndices):
	(getSelectedValues): New functions.
	(getPreferredScrollableViewportSize): Return preferred size.
	(getScrollableUnitIncrement):
	(getScrollableBlockIncrement): Initial implementations.
	* javax/swing/JRootPane.java: Clean up slightly.
	(getUI):
	(setUI):
	(updateUI):
	(getUIClassID):
	(isValidateRoot): Add overrides from JComponent.
	* javax/swing/JScrollBar.java: Set default orientation to VERTICAL.
	* javax/swing/UIManager.java (getDimension): Return the dimension.

	* javax/swing/plaf/basic/BasicButtonUI.java: Set component opaque.
	* javax/swing/plaf/basic/BasicLabelUI.java: Likewise.
	* javax/swing/plaf/basic/BasicMenuItemUI.java: Likewise.
	* javax/swing/plaf/basic/BasicProgressBarUI.java: Likewise.
	* javax/swing/plaf/basic/BasicSeparatorUI.java: Likewise.
	* javax/swing/plaf/basic/BasicSliderUI.java: Likewise.
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java: Likewise.
	* javax/swing/plaf/basic/BasicRootPaneUI.java:
	Likewise, and set background.
	* javax/swing/plaf/basic/BasicListUI.java:
	Likewise, and improve a bit.
	* javax/swing/plaf/basic/BasicScrollBarUI.java:
	Likewise, and adjust calculations.
	* javax/swing/plaf/basic/BasicViewportUI.java:
	Likewise, and improve a bit.
	* javax/swing/plaf/basic/BasicLookAndFeel.java
	(Button.margin): Shrink.

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c:
	Hack to set horizontal always, workaround pango.

	* jni/gtk-peer/gtkcairopeer.h: Change to match pattern API.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:
	Synchronize more often, check cairo status after ops,
	handle changes to cairo pattern API, check for disposal.

2004-05-21  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/plaf/basic/BasicMenuItemUI.java:
	(BasicMenuItemUI): Create propertyChangeListener.
	(getPath):Implemented.
	(installListeners): Add propertyChangeListener to menuItem.
	(uninstallListeners): Remove propertyChangeListener from menuItem.
	(update): Implemented.
	* javax/swing/plaf/basic/BasicMenuUI.MouseInputHandler:
	(mouseEntered): Take insets of popup menu into account when
	calculating position of popup menu.

2004-05-18  Olga Rodimina  <rodimina@redhat.com>

	* Makefile.am: Added new file.
	* Makefile.in: Regenerate.
	* javax/swing/JMenuBar.java:
	Started implementation.
	* javax/swing/JPopupMenu.java:
	(setVisible): Fixed location of lightweight/mediumweight
	popup menu.
	(show): Fixed location of PopupMenu.
	* javax/swing/plaf/basic/BasicMenuBarUI.java:
	New file. UI Delegate for JMenuBar.
	* javax/swing/plaf/basic/BasicMenuUI.MouseInputHandler:
	(mouseEntered): Corrected position of the submenu.

2004-05-18  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c: Remove calls
	to _gtk_accel_group_attach.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c:
	Likewise.

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java: Give gtkSetFont
	package access.  Don't override setFont.
	* gnu/java/awt/peer/gtk/GtkCheckboxPeer.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java: Give
	gtkWidgetRequestFocus package access.
	* gnu/java/awt/peer/gtk/GtkLabelPeer.java: Don't override
	setFont.
	* gnu/java/awt/peer/gtk/GtkListPeer.java: Override gtkSetFont.
	Give gtkWidgetRequestFocus package access.
	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java: Give
	gtkWidgetRequestFocus package access.  Don't override setFont.
	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java: Don't override
	setFont.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
	(gtkSetLabel): Move call to gtk_bin_get_child into GDK critical
	region.
	(gtkSetFont): Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c (gtkSetFont):
	Implement.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
	(gtkSetFont): Whitespace fix.

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(gtkWidgetSetUsize): Remove method.

2004-05-18  David Jee  <djee@redhat.com>

	* java/awt/image/MemoryImageSource.java
	(newPixels(int,int,int,int,boolean)): Set only the specified
	rectangle of pixels.
	(newPixels(byte[],ColorModel,int,int)): Implement.
	(newPixels(int[],ColorModel,int,int)): Implement.

2004-05-18  Olga Rodimina  <rodimina@redhat.com>

	* Makefile.am: Added new file.
	* Makefile.in: Regenerate.
	* javax/swing/JMenu.java: Started
	implementation.
	* javax/swing/JPopupMenu.java:
	(insert): If specified index is -1, then
	add component at the end.
	(isPopupTrigger): Reimplemented.
	(JPopupMenu.LightWeightPopup): setBounds
	of the lightWeightPopup before adding it
	to the layeredPane.
	(javax/swing/plaf/basic/BasicIconFactory.java):
	(getMenuArrowIcon): Implemented.
	* javax/swing/plaf/basic/BasicMenuItemUI.java:
	(getPreferredSize): Add size of the arrow icon
	if this menu item is instance of JMenu.
	(paintMenuItem): Paint arrow icon if this
	menu item is a submenu.
	* javax/swing/plaf/basic/BasicMenuUI.java:
	New File. UI Delegate for JMenu.

2004-05-17  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (postKeyEvent):
	Post KEY_TYPED events.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(generates_key_typed_event): Remove function.

2004-05-17  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JRootPane.java
	(JRootPane.RootLayout): Reimplemented to
	set bounds of contentPane and menuBar.
	(setJMenuBar): Add menu bar to the layered pane.
	(createLayeredPane): Set layout of layeredPane
	to null.
	* javax/swing/JLayeredPane.java:
	(addImpl): Calculate index of the component in the
	layeredPane according to the specified position within
	the layer.

2004-05-17  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkImagePainter.java
	(setPixels): Change color model to the default model after
	converting pixels.
	* java/awt/image/MemoryImageSource.java
	(newPixels): Set only the specified rectangle of pixels.

2004-05-13  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* libgcj.spec.in (lib): Add -l-java-awt -l-java-applet
	-l-java-beans -l-javax-accessibility -l-javax-swing.

	* java/awt/AWTEvent.java (toString): Print source's name rather
	than the source itself.

2004-05-12  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkToolkit.java (loadSystemColors): Make
	native.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c
	(gdk_color_to_java_color): New function.
	* jni/gtk-peer/gtkpeer.h: Add SystemColor defines.

2004-05-12  David Jee  <djee@redhat.com>

	* java/awt/image/RGBImageFilter.java:
	Initialize origmodel as null.
	(makeColor): Fix pixel component order.
	(filterRGBPixels): Fix pixel iteration.
	(setPixels): Add extra checks for index color model. Convert pixels
	to default color model if necessary.
	(convertColorModelToDefault): New override method for byte pixels.
	(convertColorModelToDefault): For int pixels, fix pixel iteration.
	(makeColorbyDefaultCM): New override method for byte pixels.
	(makeColorbyDefaultCM): For int pixel, add color model as argument.
	(makeColor): Fix pixel component order.

2004-05-11  Kim Ho  <kho@redhat.com>

	* javax/swing/Box.java:
	Comment out more parts of Box.Filler.

2004-05-11  Kim Ho  <kho@redhat.com>

	* javax/swing/Box.java:
	Remove reference to AccessibleAWTComponent so
	it compiles again.

2004-05-10  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkListPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c: Update
	implementation of list peer to use GtkTreeView instead of
	deprecated GtkCList.

2004-05-07  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java
	(gtkWidgetDispatchKeyEvent): Remove keyChar parameter.
	(handleEvent): Remove keyChar argument to
	gtkWidgetDispatchKeyEvent calls.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c: Fix
	compiler warnings.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c: Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c: Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c:
	Likewise.

2004-05-06  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java
	(gtkWidgetRequestFocus): Mark protected.
	(GtkComponentPeer): Only set the peer's bounds if its component
	is valid.
	* java/awt/Component.java (static): Set the default keyboard
	focus manager.
	(requestFocus(), requestFocus(boolean), requestFocusInWindow(),
	requestFocusInWindow(temporary)): Don't request focus if the
	component is not showing.  Get tree lock before traversing
	component hierarchy.
	* java/awt/DefaultKeyboardFocusManager.java (dispatchEvent):
	Only set the global focus owner if it is not a Window.
	(processKeyEvent): Consume keystrokes associated with the focus
	traversal keystroke.
	(focusPreviousComponent, focusNextComponent, upFocusCycle,
	downFocusCycle): Call requestFocusInWindow instead of
	requestFocus.
	* java/awt/EventDispatchThread.java (run): Move setting of
	default keyboard focus manager to Component.java.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(awt_keycode_to_keysym): New function.
	(gtkWidgetDispatchKeyEvent): Finish implementation.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(pre_event_handler): Add FIXME comment.

	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
	(gtkWidgetRequestFocus): New method.
	* java/awt/TextArea.java (TextArea): Set focus traversal keys to
	disable Tab and Shift-Tab keystrokes.
	(addNotify, appendText, insertText, replaceText): Simplify peer
	retrieval code.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c
	(connectSignals): Remove connections to "commit" signals.
	Remove C++-style comments.

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
	(handleEvent): Activate GTK button when the space bar key is
	pressed.
	(gtkActivate): New method.

2004-05-06  David Jee  <djee@redhat.com>

	* java/awt/image/CropImageFilter.java
	(setPixels): Implement for byte array pixels.
	* java/awt/image/ReplicateScaleFilter.java
	(setPixels): Implement for byte array pixels.
	(replicatePixels): Overload for byte array pixels.

2004-05-06  Kim Ho  <kho@redhat.com>

	* javax/swing/Box.java:
	(getAccessibleContext): Return an instance of the
	correct class.

2004-05-05  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics.java
	(drawImage): When component is null, use SystemColor.window as
	the default bgcolor.
	* gnu/java/awt/peer/gtk/GtkImage.java
	(setPixels): We can avoid iterating through the pixel rows only
	when height is 1.
	* java/awt/Image.java
	(getScaledInstance): Partially implement.
	* java/awt/image/CropImageFilter.java
	(setProperties): Fix "filter" property.
	(setPixels): Implement.
	* java/awt/image/ReplicateScaleFilter.java
	(setDimensions): Use scaled dimensions.
	(setPixels): Implement.
	(replicatePixels): New method.

2004-05-05  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkImagePainter.java
	(convertPixels): If either pixels or model is null, return null.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImagePainter.c
	(Java_gnu_java_awt_peer_gtk_GtkImagePainter_drawPixels): If jpixels
	is null, do nothing and return.

2004-05-03  Kim Ho  <kho@redhat.com>

	* gnu/java/awt/peer/gtk/GtkDialogPeer.java:
	(getGraphics): Like GtkFramePeer, the Graphics
	object needs to be translate to account for
	window decorations.
	(postMouseEvent): New method. Account for
	translation.
	(postExposeEvent): ditto.
	* javax/swing/Box.java: Stubbed.
	* javax/swing/JDialog.java: Ran through jalopy
	to fix indentation.
	(JDialog): Call SwingUtilities' getOwnerFrame
	for null owners.
	(setLayout): Check isRootPaneCheckingEnabled
	* javax/swing/JOptionPane.java: Re-implemented.
	* javax/swing/SwingUtilities.java:
	(getOwnerFrame): Static method to grab a default
	owner frame for Dialogs that don't specify owners.
	* javax/swing/event/SwingPropertyChangeSupport.java:
	(firePropertyChange): Fix early exit condition.
	* javax/swing/plaf/basic/BasicLabelUI.java:
	(paint): Avoid painting text if it is null
	or empty.
	* javax/swing/plaf/basic/BasicOptionPaneUI.java:
	Implement.

2004-05-03  Olga Rodimina  <rodimina@redhat.com>

	* Makefile.am: Added new file.
	* Makefile.in: Regenerate.
	* javax/swing/JPopupMenu.java:
	Started implementation.
	* javax/swing/JWindow.java
	(JWindow): call super() if parent for window
	is not specified.
	* javax/swing/plaf/basic/BasicPopupMenuUI.java:
	New File. UI Delegate for JPopupMenu.

2004-04-30  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JApplet.java: Indicated that JApplet
	implements RootPaneContainer and made method of this
	interface public.
	* javax/swing/JFrame.java: Ditto.
	* javax/swing/JWindow.java: Ditto.

2004-04-29  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(nativeSetBounds): Call gdk_window_move in addition to
	gtk_window_move.

	* java/applet/Applet.java (preferredSize): Call parent's
	preferredSize if the applet stub is null.
	(minimumSize): Likewise for parent's minimumSize.

2004-04-27  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JMenuItem.java
	(createActionPropertyChangeListener): Implemented.
	(processMouseEvent): Ditto.
	(fireMenuDragMouseEntered): Ditto.
	(fireMenuDragMouseExited): Ditto.
	(fireMenuDragMouseDragged): Ditto.
	(fireMenuDragMouseReleased): Ditto.
	(menuSelectionChanged): Ditto.
	(getSubElements): Ditto.
	(getComponent): Ditto.
	(addMenuDragMouseListener): Ditto.
	(removeMenuDragMouseListener):Ditto.
	(addMenuKeyListener): Ditto.
	(removeMenuKeyListener): Ditto.
	* javax/swing/plaf/basic/BasicMenuItemUI.java
	(doClick): Imlemented.
	* javax/swing/plaf/basic/BasicMenuItemUI.MouseInputHandler:
	Don't handle mouse events here. Pass them to
	MenuSelectionManager.

2004-04-26  Olga Rodimina  <rodimina@redhat.com>
	Used correct version of jalopy configuration
	file to fix style in the files below.

2004-04-26  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JCheckBoxMenuItem.java:
	Fixed style and removed unnecessary comments.
	* javax/swing/JMenuItem.java: Ditto.
	* javax/swing/JRadioButtonMenuItem.java: Ditto.
	* javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java: Ditto.
	* javax/swing/plaf/basic/BasicMenuItemUI.java: Ditto.
	* javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java: Ditto.

2004-04-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu_java_awt_peer_gtk_GtkWindowPeer.c: Change FIXME comment to
	C-style.

	* gnu_java_awt_peer_gtk_GtkWindowPeer.c: Add FIXME comment.

	* java/awt/ContainerOrderFocusTraversalPolicy.java
	(getComponentAfter): Start from current component and work up
	the component hierarchy until an acceptable component is found.
	Synchronize on tree lock.
	(getComponentBefore): Likewise.

2004-04-22  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java: Remove
	focus-related debugging messages.
	* java/awt/DefaultKeyboardFocusManager.java: Likewise.
	* java/awt/EventDispatchThread.java: Likewise.
	* java/awt/KeyboardFocusManager.java: Likewise.
	* java/awt/Window.java: Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c: Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c: Likewise.

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c: Change
	new C++-style comments to C-style comments.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c: Likewise.

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(handleEvent): Dispatch key press and key release events to
	backing widget.
	(requestFocus): Post a FOCUS_GAINED event to the event queue.
	(gtkWidgetRequestFocus): New method.
	(gtkWidgetDispatchKeyEvent): Likewise.
	* java/awt/Component.java (requestFocus, requestFocus(boolean),
	requestFocusInWindow, requestFocusInWindow(boolean),
	getFocusCycleRootAncestor, nextFocus, transferFocus,
	transferFocusBackward, transferFocusUpCycle, hasFocus,
	isFocusOwner): Implement and document focus-handling methods.
	(setFocusTraversalKeys): Inherit focus traversal keys when
	keystrokes argument is null.  Fix focus-handling documentation
	throughout class.
	* java/awt/Container.java (setFocusTraversalKeys,
	getFocusTraversalKeys, areFocusTraversalKeysSet,
	isFocusCycleRoot, setFocusTraversalPolicy,
	getFocusTraversalPolicy, isFocusTraversalPolicySet,
	setFocusCycleRoot, isFocusCycleRoot, transferFocusDownCycle):
	Implement and document focus-handling methods.
	(transferFocusBackward): Remove method.
	(readObject, writeObject): Implement and document serialization
	methods.
	* java/awt/ContainerOrderFocusTraversalPolicy.java: Implement
	and document.
	* java/awt/DefaultFocusTraversalPolicy.java: Implement and
	document.
	* java/awt/DefaultKeyboardFocusManager.java: Implement and
	partially document.
	* java/awt/EventDispatchThread.java (run): Set default keyboard
	focus manager.  Attempt to dispatch each event to the keyboard
	focus manager before normal dispatch.
	* java/awt/KeyboardFocusManager.java: Implement and partially
	document.
	* java/awt/Window.java (Window): Set focusCycleRoot to true.
	(show): Focus initial component when window is shown for the
	first time.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(pre_event_handler): Replace complex key press and key release
	logic with simple callbacks into GtkComponentPeer.
	* jni/gtk-peer/gtkpeer.h: Fix FOCUS_GAINED/FOCUS_LOST reversal.

2004-04-21  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/MenuSelectionManager.java
	(componentForPoint): Added new method.
	(defaultManager): New Method. Implemented.
	(getSelectedPath): Ditto.
	(isComponentPartOfCurrentMenu): Ditto.
	(processKeyEvent): Added new method.
	(processMouseEvent): New Method. Implemented.
	(setSelectedPath): Ditto.
	(getPath): Ditto.

2004-04-19  Kim Ho  <kho@redhat.com>

	* java/awt/Container.java:
	(remove): Set the component's parent to null.
	(getComponentAt): Implement.
	* javax/swing/JComponent.java:
	(JComponent): Initialize defaultLocale
	(getDefaultLocale): Implement.
	(setDefaultLocale): ditto.
	* javax/swing/JSlider.java:
	(JSlider): Fix calculation of value.
	* javax/swing/JSplitPane.java: Implement.
	* javax/swing/plaf/basic/BasicLookAndFeel.java:
	Change SplitPane's default divider size.
	* javax/swing/plaf/basic/BasicScrollBarUI.java:
	(paint): Remove unused code.
	* javax/swing/plaf/basic/BasicSplitPaneDivider.java:
	Added comments and ran through jalopy.
	(setBasicSplitPaneUI): Get reference to hidden divider
	and set up one touch buttons if necessary.
	(setBorder): Fire propertyChangeEvent only if
	borders are different.
	(getPreferredSize): Defer to layout manager.
	(propertyChange): Implement.
	(oneTouchExpandableChanged): ditto.
	(createLeftOneTouchButton): Use BasicArrowButton.
	(createRightOneTouchButton): ditto.
	(moveDividerTo): New method. Moves the divider
	to a set location based on the last divider location.
	(BasicSplitPaneDivider::MouseHandler): Implement.
	(BasicSplitPaneDivider::OneTouchButton): Removed.
	(BasicSplitPaneDivider::DragController): Implement.
	(BasicSplitPaneDivider::VerticalDragController):
	ditto.
	(BasicSplitPaneDivider::DividerLayout): ditto.
	* javax/swing/plaf/basic/BasicSplitPaneUI.java: Reimplement.
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java:
	(calculateLayoutInfo): Don't show component if it's
	null.
	(paintTab): Fix title paint logic.

From-SVN: r82314
2004-05-27 06:17:44 +00:00
Michael Koch 9f2eefb7bc gnu_java_awt_peer_gtk_GtkComponentPeer.c: Removed empty line.
2004-05-06  Michael Koch  <konqueror@gmx.de>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c:
	Removed empty line.

From-SVN: r81559
2004-05-06 11:12:09 +00:00
Michael Koch 45505d4d0c gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c, [...]: New files.
2004-05-06  Michael Koch  <konqueror@gmx.de>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkGenericPeer.c:
	New files.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c:
	Include gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.h.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c:
	Moved GtkCheckboxGroupPeer_dispose and GtkCheckboxGroupPeer_remove to
	their own source file.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c:
	Moved GtkGenericPeer_dispose and GtkComponentPeer_requestFocus to
	their own source file. Removed GtkComponentPeer_gtkWidgetSetUsize.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c
	(create): Define variable on top of function.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c
	(menu_pos): Prototyped.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(setTitle): Removed.
	* jni/gtk-peer/gthread-jni.c
	(gdk_threads_wake): Removed.
	* Makefile.am (gtk_c_source_files): Added new files
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c and
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkGenericPeer.c.
	* Makefile.in: Regenerated.

From-SVN: r81558
2004-05-06 10:25:02 +00:00
Mark Wielaard 99a8881684 * jni/classpath/jcl.c: Changed C++ comments into C comments.
From-SVN: r81104
2004-04-23 21:05:02 +00:00
Michael Koch 838a4849fa [multiple changes]
2004-04-22  Mark Wielaard  <mark@klomp.org>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c:
	Changed C++ comments into C comments.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c:
	Likewise.

2004-04-22  Michael Koch  <konqueror@gmx.de>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c:
	Merged copyright year with GNU classpath.

From-SVN: r81042
2004-04-22 18:02:54 +00:00
Mark Wielaard 60e957d071 gthread-jni.c (maybe_rethrow): Explicitly malloc and free buf.
2004-04-21  Mark Wielaard  <mark@klomp.org>

	* native/jni/gtk-peer/gthread-jni.c (maybe_rethrow): Explicitly
	malloc and free buf.

From-SVN: r80948
2004-04-21 07:19:24 +00:00
Mark Wielaard 2635995aca gnu_java_awt_peer_gtk_GtkCheckboxPeer.c: Changed C++ comments into C comments.
2004-04-21  Mark Wielaard  <mark@klomp.org>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c:
	Changed C++ comments into C comments. Removed commented out code.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c:
	Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c:
	Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c:
	Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c:
	Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c:
	Likewise.
	* native/jni/gtk-peer/gthread-jni.c:
	Likewise.

From-SVN: r80946
2004-04-21 06:52:26 +00:00
Graydon Hoare 31e632d3e4 [multiple changes]
2004-04-09  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkPanelPeer.java (connectSignals):
	Remove method.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c: Remove
	unused code.

2004-04-02  Olga Rodimina  <rodimina@redhat.com>

	* Makefile.am: Added new file.
	* Makefile.in: Regenerate.
	* javax/swing/ImageIcon.java:
	(ImageIcon(file)): set description of the icon
	to the file name
	* javax/swing/JCheckBoxMenuItem.java:
	Mostly Implemented. Work in progress.
	* javax/swing/JRadioButtonMenuItem.java:
 	Reimplement constructors to use JToggleButtonModel.
	* javax/swing/plaf/basic/BasicIconFactory.java:
	(getCheckBoxMenuItemIcon): return check box
	icon.
	* javax/swing/plaf/basic/BasicMenuItemUI.java:
	paint menu item selected only when it is armed and
	pressed.

2004-04-02  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkMenuItemPeer.java
	(GtkMenuItemPeer): Only connect signals if this isn't a Menu peer.
	* java/awt/Component.java
	(add): Set the parent of the popup as this component.
	* java/awt/PopupMenu.java
	(addNotify): Create popup menu when peer is null.
	(show): Call addNotify() if peer is null.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkPopupMenuPeer_show): Set the button
	argument for gtk_menu_popup() as zero. This causes the popup menu to
	respond to any mouse button.

2004-03-31  Olga Rodimina  <rodimina@redhat.com>

	* Makefile.am: Added new file.
	* Makefile.in: Regenerate.
	* javax/swing/JRadioButtonMenuItem.java:
	Implemented.
	* javax/swing/plaf/basic/BasicIconFactory.java:
	(getRadioButtonMenuItemIcon): Return
	radio button icon.
	* javax/swing/plaf/basic/BasicMenuItemUI.java:
	(getPreferredSize): Add size of checkIcon if it
	exists.
	(installDefaults): Don't initialize checkIcon.
	It's value will be set in subclasses.
	(uninstallDefaults): remove uninstallation of
	checkIcon.
	(paint): Moved code to paintMenuItem().
	(paintMenuItem): Implemented.
	* javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java:
	UI delegate for JRadioButtonMenuItem.

2004-03-29  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/plaf/basic/BasicMenuItemUI.java:
	Corrected position of the accelerator.

2004-03-29  Olga Rodimina  <rodimina@redhat.com>

	* Makefile.am: Added new file.
	* Makefile.in: Regenerate.
	* javax/swing/JMenuItem.java: Partly
	implemented. Work in progress
	* javax/swing/plaf/basic/BasicLookAndFeel.java:
	Changed default value of acceleratorDelimiter.
	* javax/swing/plaf/basic/BasicMenuItemUI.java:
	New class. Partly implemented.

2004-03-26  Mark Wielaard  <mark@klomp.org>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
	(item_activate): Declare label before use.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(gtkSetFont): Removed unused variable label.
	(addExposeFilter): Declare variables before use.
	(removeExposeFilter): Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c
	(ok_clicked): Declare str_fileName before use.

2004-03-26  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkMenuPeer.java
	(addSeparator): Remove.
	* java/awt/Menu.java
	(separator): Remove static final MenuItem field.
	(separatorLabel): New static final String field.
	(addSeparator): Do not use peer method; use add(MenuItem) instead.
	Use separatorLabel to denote that it is a separator.
	(insertSeparator): Create a new MenuItem with separatorLabel, instead
	of reusing the static separator instance, because a MenuItem instance
	can't be added more than once without being cloned.
	* java/awt/peer/MenuPeer.java
	(addSeparator): Remove from interface.

2004-03-26  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkMenuItemPeer.java
	(connectSignals): New native method declaration.
	(GtkMenuItemPeer): Connect signals if the parent is a Menu.
	* java/awt/MenuItem.java
	(getActionCommand): Return the label if the action command is not set.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkMenuBarPeer_addMenu): Use
	gtk_menu_shell_append().
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c
	(item_activate): Fix argument type.
	(Java_gnu_java_awt_peer_gtk_GtkMenuItemPeer_create): Do not connect
	signal here.
	(Java_gnu_java_awt_peer_gtk_GtkMenuItemPeer_connectSignals): New
	method.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkMenuPeer_create): Check if a label is
	given. Add the menu widget's top-level GtkWindow to the global window
	group, so it can grab the pointer.
	(Java_gnu_java_awt_peer_gtk_GtkMenuPeer_addItem): Use
	gtk_menu_shell_append().

2004-03-23  Graydon Hoare  <graydon@redhat.com>

	* java/text/AttributedString.java
	(addAttribute): Fix off-by-one.
	(getIterator): Likewise.
	* java/text/AttributedStringIterator.java
	(getRunLimit): Correct logic.
	(getRunStart): Likewise.
	(getAttribute): Fix inequality.
	(getAttributes): Likewise.
	* testsuite/libjava.mauve/xfails: Remove AttributedString xfail.

2004-03-23  Kim Ho  <kho@redhat.com>

	* javax/swing/plaf/basic/BasicTabbedPaneUI.java:
	(calculateSizes): Return real width and height.

2004-03-23  Kim Ho  <kho@redhat.com>

	* javax/swing/plaf/basic/BasicTabbedPaneUI.java
	(calculateTabRects): Set the selectedRun before
	trying to rotate tabs.

2004-03-23  Kim Ho  <kho@redhat.com>

	* Makefile.am: New file
	* Makefile.in: Regenerate
	* java/awt/Graphics.java: (drawRect):
	Draw to the correct point.
	* javax/swing/DefaultSingleSelectionModel.java
	(isSelected): Return true if the selected index
	is not -1.
	* javax/swing/JLabel.java: Do not change mnemonic
	index if text is null.
	* javax/swing/JProgressBar.java: Use JComponent's
	EventListenerList.
	* javax/swing/JScrollBar.java: Ditto.
	* javax/swing/JSlider.java: Ditto.
	* javax/swing/JTabbedPane.java: Reimplement.
	* javax/swing/plaf/basic/BasicLookAndFeel.java:
	Add defaults for TabbedPane.
	* javax/swing/plaf/basic/BasicArrowButton.java:
	Implement
	* javax/swing/plaf/basic/BasicProgressBarUI.java:
	(paintDeterminate): Don't paint String if it's
	empty.
	(paintIndeterminate): ditto.
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java:
	Reimplement.

2004-03-19  Michael Koch  <konqueror@gmx.de>

	* java/awt/image/AffineTransformOp.java
	(AffineTransformOp): Made public.
	* javax/swing/JComponent.java
	(listenerList): Made protected.
	(accessibleContext): Likewise.
	* javax/swing/JList.java
	(valueChanged): Dont use internal fields of ListSelectionEvent.
	* javax/swing/JViewport.java
	(getView): Dont use internal fields of Component.
	(addImpl): Likewise.
	* javax/swing/Timer.java
	(isRunning): Made public.
	(start): Likewise.
	(stop): Likewise.
	* javax/swing/UIDefaults.java
	(getInt): Made public.
	* javax/swing/plaf/basic/BasicListUI.java
	(mousePressed): Dont use internal fields of MouseEvent.
	(propertyChanged): Dont use internal fields of PropertyChangeEvent.
	* javax/swing/plaf/basic/BasicScrollBarUI.java
	(arrowIcon): Made static.
	* javax/swing/plaf/basic/BasicViewportUI.java
	(stateChanged): Dont use internal field on ChangeEvent.
	* javax/swing/text/JTextComponent.java
	(getUI): Call UIManager.getUI().
	(updateUI): Use getUI().

2004-03-19  Graydon Hoare  <graydon@redhat.com>

	* javax/swing/JComponent.java: Turn off double buffer by default.
	* javax/swing/plaf/basic/BasicViewportUI.java: Clear rects before painting.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c
	(Java_gnu_java_awt_peer_gtk_GdkGraphics2D_gdkDrawDrawable):
	Use cairo to copy areas.
	(Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoClip):
	Initialize and set clip region.

2004-03-15  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* java/applet/Applet.java (preferredSize): Override deprecated
	variant of getPreferredSize.
	(minimumSize): Override deprecated variant of getMinimumSize.

2004-03-15  Olga Rodimina  <rodimina@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(drawImage(img,xform,bgcolor,obs)): New Method.
	Helper function that every drawImage method will
	use.
	(drawRaster): Added new parameter, bgcolor. All
	transparent pixels are changed to bgcolor before
	image is drawn.
	(drawRenderedImage): Fixed to use changed drawRaster().
	(drawImage(image,xform,obs): Fixed to use new helper function
	(drawImage(image,op,x,y)): Ditto.
	(drawImage (img,x,y,observer)): Ditto.
	((PainterThread) bgcolor): New Field.
	((PainterThread) (setPixels)): Changed all transparent pixels
	to bgcolor.
	(drawImage(img,x,y,width,height,bgcolor,observer)):
	Fixed FIXME - all the transparent pixels are
	changed to the specified bgcolor.
	(drawImage(img, x, y, width, height, observer): Changed to
	use function above.
	(drawImage (img,dx1,dy1,dx2,dy2,sx1,sy1,sx2,sy2,bgcolor,observer)):
	Fixed FIXME- changed all transparent pixels to bgcolor.
	(drawImage (img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, observer)):
	Changed to use function above.

2004-03-14  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* java/applet/Applet.java (dimensions): New field.
	(getDimensions): New method.
	(getPreferredSize): Call getDimensions.
	(getMinimumSize): Likewise.

2004-03-13  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/classpath/jcl.c: Include stdlib.h, not malloc.h.
	* jni/classpath/jnilink.c: Likewise.

	* java/applet/Applet.java (getPreferredSize): New method.
	(getMinimumSize): New method.

From-SVN: r80762
2004-04-16 18:44:45 +00:00
Mark Wielaard edb3d42631 2004-03-20 Mark Wielaard <mark@klomp.org>
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_getVScrollbarWidth):
	Don't access ws when it is null.
	(Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_getHScrollbarHeight):
	Likewise.

From-SVN: r79708
2004-03-19 23:03:57 +00:00
Graydon Hoare 86881a7b54 [multiple changes]
2004-03-12  Graydon Hoare  <graydon@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java: Clipping fixes.
	* javax/swing/JComponent.java (paint): Use persistent double buffer.
	* javax/swing/JList.java (ListListener): Revalidate on changes.
	* javax/swing/JScrollPane.java: Reimplement.
	* javax/swing/JViewport.java: Reimplement.
	* javax/swing/ScrollPaneLayout.java: Reimplement.
	* javax/swing/ViewportLayout.java: Tidy up.
	* javax/swing/plaf/basic/BasicButtonListener.java: Remove printlns.
	* javax/swing/plaf/basic/BasicScrollPaneUI.java: Reimplement.
	* javax/swing/plaf/basic/BasicSliderUI.java: Handle missing labels.
	* javax/swing/plaf/basic/BasicViewportUI.java: Implement in terms of
	backing store only.

2004-03-11  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(window_wm_protocols_filter): New function.
	(window_focus_in_cb): Remove function.
	(window_focus_out_cb): Likewise.
	(window_focus_or_active_state_change_cb): New function.
	(create): Add filter that removes WM_TAKE_FOCUS client messages.
	(connectSignals): Don't attach handlers to focus-in-event or
	focus-out-event signals.  Handle notify signal.

2004-03-11  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkCheckboxPeer.java
	(gtkSetLabel): New native method declaration.
	(setLabel): Use gtkSetLabel.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkSetLabel): New method.

2004-03-10  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics.java (setColor): Default to
	black when color argument is null.

2004-03-10  Kim Ho  <kho@redhat.com>

	* java/awt/Container.java: Remove check
	for drag events.

2004-03-10  Kim Ho  <kho@redhat.com>

	* java/awt/Container.java: (visitChild):
	Remove candidate clip. Use the component
	clip to intersect.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java:
	(handleEvent): Use the PaintEvent's clip.

2004-03-10  Kim Ho  <kho@redhat.com>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java:
	(handleEvent): Don't set the clip for the
	Graphics object.

2004-03-09  Graydon Hoare  <graydon@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c:
	Fix double <-> fixed macros, reset font transform.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeerMetrics.c:
	Likewise.

2004-03-09�� Kim Ho  <kho@redhat.com>

	* java/awt/Container.java: (visitChild): Move
	the x and y coordinate of the component rectangle
	to correct position.
	(handleEvent): Forward drag events to the pressed
	component.
	* javax/swing/plaf/basic/BasicScrollBarUI.java:
	Fix comments.
	(ArrowButtonListener::mousePressed): Stop the
	existing timer.
	(mouseDragged): Implement.
	(TrackListener::mousePressed): Only react if
	the press doesn't occur on the thumb, otherwise
	just set the offset.
	(TrackListener::mouseReleased): Unset the isAdjusting
	value.
	(createIncreaseIcon): Switch icon.
	(createDecreaseIcon): Switch icon.
	(calculatePreferredSize): Use width.
	(getThumbBounds): Use the top as the lower value.
	(layoutVScrollBar): Switch the button locations.
	(paintIncreaseHighlight): Paint correct side of thumb.
	(paintDecreaseHighlight): ditto.
	(valueForYPosition): Use top as the lower value.
	* javax/swing/plaf/basic/BasicSliderUI.java:
	Fix comments.
	(mouseDragged): Implement.
	(mousePressed): Only react when the thumb isn't
	pressed, otherwise just set offset.
	(mouseReleased): Handle a release of the thumb.
	(scrollDueToClickInTrack): Stop the timer first.
	* javax/swing/JProgressBar.java:
	(setString): Fix change condition.
	* javax/swing/JSeparator.java:
	Remove println's.

2004-03-08  David Jee  <djee@redhat.com>

	* java/awt/image/AffineTransformOp.java:
	(filter): Use Graphics2D interface instead of directly using the
	GdkGraphics2D peer.

2004-03-05  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java
	(handleEvent): Action events are generated upon MOUSE_RELEASED.
	* java/awt/Container.java
	(acquireComponentForMouseEvent): Fixed.
	(handleEvent): Fixed.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(state_to_awt_mods_with_button_states): New method.
	(pre_event_handler): Fixed mouse event generation.

2004-03-05  Olga Rodimina  <rodimina@redhat.com>

	gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(GdkGraphics2D (BufferedImage)): Initialize
	pixmap associated with specified BufferedImage.
	(setPaint): Changed implementation of Texture
	Paint to use AffineTransformOp.
	* java/awt/image/AffineTransformOp.java
	(createCompatibleDestRaster): Throw RasterFormatException
	if resulting width or height of raster is 0.

2004-03-04  Olga Rodimina  <rodimina@redhat.com>

	* java/awt/image/AffineTransformOp.java:
	Removed unnecessary field interpolationType.
	Formatted some of the lines to be consistent with
	the GNU style.
	(AffineTransformOp): Create new RenderingHints
	containing specified interpolation type.
	(createCompatibleDestImage): Implemented.
	(createCompatibleDestRaster): Implemented.
	(filter): Implemented.
	(getBounds2D(BufferedImage)): Implemented.
	(getBounds2D(Raster)): Implemented.
	(getInterpolationType): Get interpolation value from
	rendering hints.

2004-03-04  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkContainerPeer.java
	(setFont): Check if child peers are null.

2004-03-04  Graydon Hoare  <graydon@redhat.com>

	* testsuite/lib/libjava.exp (libjava_find_lib): Don't include
	.libs in -L option.
	(libjava_arguments): Add new libraries to argument list.

2004-03-04  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (toolexeclib_LTLIBRARIES): Added lib-java-awt.la,
	lib-javax-swing.la, lib-java-applet.la, lib-java-beans.la.
	(misc_java_source_files): New macro.
	(swing_java_source_files): Likewise.
	(awt_java_source_files): Pruned.
	(applet_java_source_files): New macro.
	(beans_java_source_files): Likewise.
	(lib_java_applet_la_SOURCES): Likewise.
	(lib_java_awt_la_SOURCES): Likewise.
	(lib_javax_swing_la_SOURCES): Likewise.
	(lib_java_beans_la_SOURCES): Likewise.
	(all_java_object_files): Likewise.
	(%.lo: %.java): Use all_java_object_files.
	(all_java_source_files): Added new _SOURCES.
	(ordinary_java_source_files): Removed awt_java_source_files.

2004-03-02  Olga Rodimina  <rodimina@redhat.com>

	* Makefile.am: Added java/awt/image/AffineTransformOp.java
	* Makefile.in: Re-generated.
	* java/awt/image/AffineTransformOp.java: New Class.

2004-03-01  Olga Rodimina  <rodimina@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(setPaint): Interpret correctly TexturePaint's
	anchor rectangle.
	(drawImage): Fixed scale factors of the affine
	transform.

2004-02-27  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics.java
	(GdkGraphics(Component)): Inherit font from component.
	(drawString): Use font style.
	* gnu/java/awt/peer/gtk/GtkCheckboxPeer.java
	(gtkSetFont): New native method declaration.
	(setFont): New method.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java
	(gtkSetFont): New native method declaration.
	(setFont): Call new native method gtkSetFont.
	* gnu/java/awt/peer/gtk/GtkContainerPeer.java
	(setFont): For all child components who do not their fonts set,
        set their peers' fonts with this container's font.
	* gnu/java/awt/peer/gtk/GtkLabelPeer.java:
	Move all native method declarations to the top for readability.
	(gtkSetFont): New native method declaration.
	(setFont): New method.
	* java/awt/Component.java
	(setFont): Invalidate after setting the font.
	* java/awt/Container.java
	(invalidateTree): New method.
	(setFont): Invalidate the container tree after setting the font.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c
	(Java_gnu_java_awt_peer_gtk_GdkGraphics_drawString): Use font style.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkSetFont): New method.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkSetFont): New method.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkLabelPeer_gtkSetFont): New method.

2004-02-27  Olga Rodimina <rodimina@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(updateBufferedImage): New helper function.
	Updates BufferedImage in memory if it was changed.
	(draw): changed to update BufferedImage in memory after
	this drawing operation
	(fill): Ditto.
	(draw3DRect): Ditto.
	(fill3DRect): Ditto.
	(clearRect): Ditto.
	(drawRaster): Ditto.
	(drawImage) : Ditto. Update only in case of GtkOffScreenImage with
	no affine transformation.
	(drawGlyphVector): Ditto.

2004-02-26  Olga Rodimina <rodimina@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(isBufferedImageGraphics): New Helper function.
	Returns true if this graphics2d can be used to draw
	into buffered image and false otherwise.
	(updateImagePixels): New Helper function.
	Updates pixels in the BufferedImage.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c
	(getImagePixels): New function. Returns pixels
	of the buffered image associated with
	this Graphics2D.

2004-02-26  David Jee  <djee@redhat.com>

	* java/awt/BorderLayout.java
	(layoutContainer): Fix width and height calculations to ensure
	that they're non-negative.
	* java/awt/Component.java
	(setBackground): If c is null, inherit from closest ancestor whose
	background color is set.

2004-02-26�� Kim Ho�� <kho@redhat.com>

	* Makefile.am: Add new files.
	* Makefile.in: Re-generate.
	* javax/swing/JProgressBar.java:
	(JProgressBar(int, int int)): Throw
	IllegalArgumentException if orientation is
	invalid.
	(JProgressBar(BoundedRangeModel)): Create
	ChangeListener and register it. UpdateUI.
	(getChangeListeners): Implement.
	(setModel): Reset ChangeListener.
	* javax/swing/JScrollBar.java: Implement.
	* javax/swing/JSeparator.java: Implement.
	* javax/swing/JSlider.java:
	(JSlider(int, int, int, int)): Throw
	IllegalArgumentException if orientation
	is invalid.
	(getChangeListeners): Fix method name.
	* javax/swing/SwingUtilities.java:
	(layoutCompoundLabel): If there is no text,
	set the text rectangle dimensions to 0.
	* javax/swing/plaf/basic/BasicButtonUI.java:
	(paint): If there is no text, don't paint it.
	* javax/swing/plaf/basic/BasicScrollBarUI.java:
	Implement.
	* javax/swing/plaf/basic/BasicSeparatorUI.java:
	Implement.
	* javax/swing/plaf/basic/BasicSliderUI.java:
	(propertyChange): If the model changes, change
	the listeners accordingly.

2004-02-25  Graydon Hoare  <graydon@redhat.com>

	* javax/swing/AbstractButton.java: Add "final" qualifiers.
	* javax/swing/JList.java: Reimplement.
	* javax/swing/DefaultListSelectionModel.java: Reimplement.
	* javax/swing/plaf/basic/BasicListUI.java: Reimplement.
	* javax/swing/plaf/basic/BasicLookAndFeel.java: Add "purple" values.
	* javax/swing/ListModel.java: Javadoc.
	* javax/swing/ListSelectionModel.java: Add missing methods.
	* javax/swing/AbstractListModel.java: Javadoc and corrections.
	* javax/swing/DefaultListModel.java: Javadoc and corrections.
	* javax/swing/ListModel.java: Javadoc and corrections.
	* javax/swing/DefaultListCellRenderer.java: Minor tidying.

2004-02-25  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkFontPeer.java
	(GtkFontPeer): Change default size to 12.
	* gnu/java/awt/peer/gtk/GtkToolkit.java
	(getFontPeer): Change default size to 12.
	(getClasspathFontPeer): Likewise. Set default name to "Default".
	* java/awt/Font.java
	(Font(Map)): Call Font(String,Map).
	(Font(String,Map)): If attrs is null, initialize it as an empty
	HashMap, which will ensure that the Font will get default attributes.

2004-02-25  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkFontPeer.java
	(GtkFontPeer(String,int)): Call the new constructor with size 1.
	(GtkFontPeer(String,int,int)): New constructor with size attribute.
	* gnu/java/awt/peer/gtk/GtkToolkit.java
	(getFontPeer(String,int)): Call the new overload method with size 1.
	(getFontPeer(String,int,int)): New method. Overloaded with size
	attribute.
	(getClasspathFontPeer): Set the size of the font.

2004-02-24  Olga Rodimina  <rodimina@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(bimage): New field.
	(GdkGraphics2D): New Constructor. Constructs Graphics
	object that can be used to draw into the Buffered Image.
	* gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java:
	(GdkGraphicsEnvironment): Fixed to include public
	keyword.
	(createGraphics): Implemented.
	* gnu/java/awt/peer/gtk/GtkToolkit.java
	(getLocalGraphicsEnvironment): Implemented.
	* java/awt/GraphicsEnvironment.java:
	(getLocalGraphicsEnvironment): Implemented.
	* java/awt/image/BufferedImage.java:
	(createGraphics): Implemented.

2004-02-24  David Jee  <djee@redhat.com>

	* java/awt/Component.java
	(eventTypeEnabled): Add MOUSE_MOVED and MOUSE_DRAGGED event types.
	* java/awt/Container.java
	(addNotifyContainerChildren): Fix event enabling.

2004-02-23  Olga Rodimina  <rodimina@redhat.com>

	* Makefile.am: Added
	gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java
	* Makefile.in: Re-generated.
	* gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java:
	New Class.

2004-02-19  Kim Ho  <kho@redhat.com>

	* Makefile.am: Add BasicProgressBarUI
	* Makefile.in: Regenerate.
	* javax/swing/JProgressBar.java:
	Re-implement.
	* javax/swing/plaf/basic/BasicLookAndFeel.java
	Add constants for JProgressBar.
	* javax/swing/plaf/basic/BasicProgressBarUI.java
	Implement.
	* javax/swing/plaf/basic/BasicSliderUI.java
	Change comments.
	(calculateGeometry): New method
	(paint): Remove unnecessary size calculations.

2004-02-18  Olga Rodimina  <rodimina@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(drawRaster): Fixed small error that caused
	imageToUser transformation to be set incorrectly.
	(toString): Implemented.

2004-02-18  David Jee  <djee@redhat.com>

	* java/awt/CardLayout.java
	(addLayoutComponent): Show the first component added as the default.
	(removeLayoutComponent): After removing, show the next component.
	(gotoComponent): If there is only one component, show it and return.

2004-02-18  Kim Ho  <kho@redhat.com>

	* javax/swing/JSlider.java: Re-order
	modifiers.
	* javax/swing/JLabel.java: Re-order
	modifiers.
	* javax/swing/JComponent.java:
	(addPropertyChangeListener):
	Implement.
	(removePropertyChangeListener):
	ditto.
	(firePropertyChangeEvent):
	ditto.

2004-02-17  David Jee  <djee@redhat.com>

	* java/awt/Component.java
	(show): Dispatch ComponentEvent via system event queue.
	(hide): Likewise.
	(move): Likewise.
	(resize): Likewise.
	(reshape): Likewise.
	* java/awt/Window.java
	(setBoundsCallback): Likewise.

2004-02-17  David Jee  <djee@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_setNativeBounds):
	Use gtk_widget_set_size_request() instead of the deprecated
	gtk_widget_set_usize().

2004-02-17  Kim Ho  <kho@redhat.com>

	* javax/swing/JSlider.java: Fix comments and
	make property strings constants.
	(createStandardLabels): Use the labels
	preferred size as bounds.
	* javax/swing/plaf/basic/BasicSliderUI.java
	Fix comments.
	(ScrollHandler::actionPerformed): Don't
	calculate the timer stop value. Let the
	MouseListeners find the stop location.
	(getPreferredHorizontalSize): Re-implement.
	(getPreferredVerticalSize): ditto.
	(getMinimumHorizontalSize): ditto.
	(getMinimumVerticalSize): ditto.
	(getPreferredSize): ditto.
	(getMinimumSize): ditto.
	(getMaximumSize): ditto.
	(paintTicks): Use doubles to find the
	tick location.
	(paintHorizontalLabel):�� Use preferredSize
	as initial width and height.
	(paintVerticalLabel): ditto.

2004-02-17  Kim Ho  <kho@redhat.com>

	* javax/swing/JLabel.java: Changed
	property strings to constants.
	(DISPLAYED_MNEMONIC_INDEX_CHANGED_PROPERTY):
	New property.
	(setText): Change mnemonic index if
	text is too short.
	(setDisplayedMnemonicIndex): Fire property
	change event.
	(getDisplayedMnemonicIndex): Remove check
	against short text.

2004-02-17 Olga Rodimina <rodimina@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java:
	(drawImage(img,xform,obs)): Invert xform before
	passing the xform to cairo.
	(drawImage(img,x,y,bgcolor,obs)): Implemented.
	(drawImage (img,x,y,w,h,bgcolor,obs)): Partly
	implemented.
	(drawImage (img,x,y,w,h,obs)): Implemented.
	(drawImage (img,dx1,dy1,dx2,dy2,sx1,sy1,sx2,sy2,
	bgcolor,obs)): Partly implemented.
	(drawImage (img,dx1,dy1,dx2,dy2,sx1,sy1,sx2,sy2,obs)):
	Implemented.
	* java/awt/image/BufferedImage.java:
	(copyData): if dest is null, create raster with same
	dimensions as the current image.

2004-02-16  Graydon Hoare  <graydon@redhat.com>

	* javax/swing/plaf/basic/BasicLabelUI.java
	(getPreferredSize): Use layoutCL.
	* javax/swing/plaf/basic/BasicGraphicsUtils.java
	(getPreferredButtonSize): Start with empty view rect, layout using
	component's preferred alignment.
	* javax/swing/plaf/basic/BasicLookAndFeel.java: Add some Label and
	List defaults.

2004-02-16  David Jee  <djee@redhat.com>

	* java/awt/Component.java
	(show): Dispatch COMPONENT_SHOWN ComponentEvent.
	(hide): Dispatch COMPONENT_HIDDEN ComponentEvent.
	(move): Erase old bounds and repaint new bounds. Dispatch
	COMPONENT_MOVED ComponentEvent.
	(resize): Erase old bounds and repaint new bounds. Dispatch
	COMPONENT_RESIZED ComponentEvent.
	(reshape): Dispatch COMPONENT_RESIZED and COMPONENT_MOVED
	ComponentEvents.
	* java/awt/Window.java
	(setBoundsCallback): Dispatch COMPONENT_RESIZED and COMPONENT_MOVED
	ComponentEvents.

2004-02-16  Olga Rodimina  <rodimina@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java:
	(setRenderingHint): Added implementation of
	Interpolation rendering hints.
	(setRenderingHints): Ditto.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:
	(drawPixels): fixed to allow user to choose type
	of filtering that should be used when displaying images.
	(cairoSurfaceSetFilter): New method. Sets filter type for
	interpolation of pixel values.

2004-02-16  David Jee  <djee@redhat.com>

	* java/awt/GridBagLayout.java
	(calcCellSizes): Rows or columns with zero sizes should still be
	considered for extra space distribution.

2004-02-16  Kim Ho  <kho@redhat.com>

	* javax/swing/JLabel.java: Re-implement.
	* javax/swing/plaf/basic/BasicLabelUI.java
	Re-implement.
	* javax/swing/plaf/basic/BasicLookAndFeel.java:
	Added constant.

2004-02-16�� Kim Ho�� <kho@redhat.com>

	* javax/swing/JSlider.java: Fix indentation and comments.
	(setModel): Remove null check to conform with Sun's.
	(setOrientation): Throw exception if not
	HORIZONTAL or VERTICAL.
	(getInverted): Use private variable instead of
	ComponentOrientation.
	(setInverted): ditto.
	* javax/swing/plaf/basic/BasicSliderUI.java:
	Fix indentation and comments.
	(propertyChange): Remove check for inverted slider, handle
	in main paint.
	(getMinimumSize): Return preferred size.
	(getMaximumSize): ditto.
	(calculateFocusRect): Don't relocate rectangle.
	(drawInverted): Return XOR of the slider's inversion and
	the component's orientation.
	(paint): Update leftToRightCache

2004-02-13  David Jee  <djee@redhat.com>

	* java/awt/GridBagLayout.java
	(GetLayoutInfo): Fix weight and size distribution. Relocate repeated
	code to helper methods.
	(sortBySpan): New helper method.
	(distributeSizeAndWeight): Likewise.
	(calcCellWeights): Likewise.
	(calcCellSizes): Add comments.

2004-02-13  David Jee  <djee@redhat.com>

	* java/awt/Component.java
        (show): Only do something if component is invisible at the moment.
        (hide): Only do something if component is visible at the moment.
        (reshape): If lightweight, erase old bounds and repaint new bounds.

2004-02-13�� Kim Ho�� <kho@redhat.com>

	* Makefile.am: Updated for new file.
	* Makefile.in: Regenerated.
	* javax/swing/JSlider.java: Reimplement.
	* javax/swing/SwingUtilities.java
	(layoutCompoundLabel): Use icon height
	instead of width.
	(paintComponent): Implement.
	* javax/swing/plaf/basic/BasicLookAndFeel.java:
	Add JSlider defaults.
	* javax/swing/plaf/basic/BasicSliderUI.java:
	Implement. New file.

From-SVN: r79607
2004-03-17 21:29:02 +00:00
Graydon Hoare 9288d11204 ToggleButtonModel.java: Remove dead class.
2004-02-09  Graydon Hoare  <graydon@redhat.com>

	* javax/swing/ToggleButtonModel.java: Remove dead class.
	* javax/swing/plaf/basic/BasicDefaults.java: Remove dead class.
	* javax/swing/plaf/basic/BasicButtonListener.java: New class.
	* javax/swing/plaf/basic/BasicRootPaneUI.java: New class.
	* Makefile.am: Update for new and removed files.
	* Makefile.in: Regenerate.

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java: Initialize default hints.
	* javax/swing/AbstractButton.java
	(AbstractButton): Initialize fields correctly in ctor.
	* javax/swing/JCheckbox.java
	(JCheckBox): Override painting flags.
	* javax/swing/DefaultButtonModel.java: Conform to sun.
	* javax/swing/JComponent.java (paint): Fill with background color
	if available.
	(processComponentKeyEvent)
	(processFocusEvent)
	(processKeyEvent)
	(processMouseMotionEvent): Remove event-consuming empty methods.
	(getUIClassID): Return "ComponentUI" not "JComponent"
	* javax/swing/JFrame.java: Remove some debugging chatter.
	(JFrame): Subscribe to window events.
	* javax/swing/JRadioButton.java
	(JRadioButton): Override painting flags.
	* javax/swing/JRootPane.java
	(JRootPane): Set background from UIDefaults.
	* javax/swing/JToggleButton.java
	(ToggleButtonModel): New inner class.
	(JToggleButton): Override layout alighment.
	* javax/swing/SwingUtilities.java:
	(getLocalBounds): Return width and height, not x and y.
	(calculateInnerArea): Use local bounds, not bounds.
	(layoutCompoundLabel): Provide overridden form.
	(layoutCompoundLabel): Correct bugs.
	* javax/swing/UIDefaults.java: Correct comment.
	* javax/swing/plaf/basic/BasicButtonUI.java:
	Move most logic into defaults, external listener.
	(paintIcon): Implement icon painting.
	(paint): Fix state painting to conform to changes in model.
	* javax/swing/plaf/basic/BasicCheckBoxUI.java:
	Remove most dead/wrong methods.
	(getDefaultIcon): Return defaults.getIcon("CheckBox.icon").
	* javax/swing/plaf/basic/BasicIconFactory.java:
	(DummyIcon): New class.
	(getMenuItemCheckIcon)
	(getMenuItemArrowIcon)
	(getMenuArrowIcon)
	(getCheckBoxMenuItemIcon)
	(getRadioButtonMenuItemIcon)
	(createEmptyFrameIcon): Return DummyIcons, not null.
	(getCheckBoxIcon): Implement an icon that looks like sun's.
	(getRadioButtonIcon): Implement an icon that looks like sun's.
	* javax/swing/plaf/basic/BasicLookAndFeel.java
	(initComponentDefaults): Fix impossible values, add some missing.
	* javax/swing/plaf/basic/BasicPanelUI.java (gap): Remove field.
	* javax/swing/plaf/basic/BasicRadioButtonUI.java:
	Remove most dead/wrong methods.
	(icon): New field.
	(getDefaultIcon): New method.
	* javax/swing/plaf/basic/BasicToggleButtonUI.java:
	Remove most dead/wrong methods.
	* javax/swing/plaf/metal/MetalLookAndFeel.java
	(getDefaults): Return super.getDefaults(), not BasicDefaults.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c
	(Java_gnu_java_awt_peer_gtk_GdkGraphics_clearRect):
	Implement "clearing" as drawing, when on pixmap drawables.

	* javax/swing/JButton.java (getUIClassID):
	* javax/swing/JCheckBox.java (getUIClassID):
	* javax/swing/JEditorPane.java (getUIClassID):
	* javax/swing/JLabel.java (getUIClassID):
	* javax/swing/JList.java (getUIClassID):
	* javax/swing/JOptionPane.java (getUIClassID):
	* javax/swing/JPanel.java (getUIClassID):
	* javax/swing/JPasswordField.java (uiClassID):
	* javax/swing/JRadioButton.java (getUIClassID):
	* javax/swing/JRootPane.java (getUIClassID):
	* javax/swing/JScrollPane.java (getUIClassID):
	* javax/swing/JTabbedPane.java (getUIClassID):
	* javax/swing/JToggleButton.java (getUIClassID):
	* javax/swing/JTree.java (getUIClassID):
	* javax/swing/JViewport.java (getUIClassID):
	* javax/swing/text/JTextComponent.java (getUIClassID):
	Return "fooUI" not "Jfoo"

From-SVN: r77686
2004-02-12 00:17:26 +00:00
David Jee 49d77e2275 2004-02-10 David Jee <djee@redhat.com>
* gnu/java/awt/peer/gtk/GtkButtonPeer.java
	(gtkSetLabel): New native method definition.
	(setLabel): Use gtkSetLabel.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkButtonPeer_gtkSetLabel): New method.

From-SVN: r77604
2004-02-10 17:12:09 +00:00
Thomas Fitzsimmons bc1ec7f70e Scrollbar.java (next_scrollbar_number): New field.
2004-02-05  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* java/awt/Scrollbar.java (next_scrollbar_number): New field.
	(Scrollbar (int, int, int, int, int)): Make default page
	increment 10.
	(setValues): Only call peer.setValues if one of the values has
	changed.
	(generateName): New method.
	(getUniqueLong): New method.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c
	(range_scrollbar): Remove structure.
	(post_adjustment_event): Remove function.
	(post_change_event): Accept jobject argument.
	(create): Cast jints to gdoubles.  Round scrollbar values to the
	nearest integer.  Clamp min, max and value settings.
	(connectJObject): Connect hook to widget->window.
	(connectSignals): Remove range_scrollbar structure variables.
	Remove "move-slider" connection.  Pass global peer reference to
	"value-changed" callback.
	(setLineIncrement): Cast jint value to gdouble.
	(setPageIncrement): Likewise.
	(setValues): Likewise.  Clamp min, max and value settings.

From-SVN: r77332
2004-02-05 19:45:02 +00:00
Kim Ho 5efa76401e 2004-01-29 Kim Ho <kho@redhat.com>
* gnu/java/awt/peer/gtk/GtkFramePeer.java
        (gtkLayoutSetVisible): New method
        (setMenuBar): Hide layout before setting MenuBar
        and reshow it after.
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
        (gtkLayoutSetVisible): Hide or show the Gtk Layout.

From-SVN: r76861
2004-01-29 14:34:31 +00:00
David Jee f2919ef38a 2004-01-27 David Jee <djee@redhat.com>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(addExposeFilter): Handle GtkFramePeer separately.
	(removeExposeFilter): Likewise.

From-SVN: r76751
2004-01-27 21:28:39 +00:00
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 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
David Jee 81a88a6157 2004-01-26 David Jee <djee@redhat.com>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(find_bg_color_widget): For GtkButton, return its child.

From-SVN: r76667
2004-01-26 21:04:06 +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 9deab0b79f 2004-01-22 Thomas Fitzsimmons <fitzsim@redhat.com>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(connectJObject): Replace printf calls with g_assert statements.
	Move property-notify-event signal connection to ...
	(connectSignals): Connect property-notify-event signal.  Iterate
	through the vbox's children to find layout.

From-SVN: r76367
2004-01-22 20:17:43 +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 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
Kim Ho a2708c12b2 2004-01-19 Kim Ho <kho@redhat.com>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
        (connectJObject): Iterate through the vbox's children to find layout.

From-SVN: r76166
2004-01-19 18:41:52 +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
Fernando Nasser 2f9c39f8fc gnu_java_awt_peer_gtk_GtkEvents.c (pre_event_handler): Discard GDK_ENTER_NOTIFY related to ungrabs.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c (pre_event_handler):
        Discard GDK_ENTER_NOTIFY related to ungrabs.

From-SVN: r75999
2004-01-16 22:30:11 +00:00
Thomas Fitzsimmons eae433e995 2004-01-16 Thomas Fitzsimmons <fitzsim@redhat.com>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(window_property_changed_cb): Set id_set.

Also: re-indent kho's latest ChangeLog entry.

From-SVN: r75997
2004-01-16 21:55:21 +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
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 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
Thomas Fitzsimmons a6444561cb 2003-12-22 Thomas Fitzsimmons <fitzsim@redhat.com>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(pre_event_handler): Don't dereference NULL focus_obj_ptr.

From-SVN: r74948
2003-12-22 20:43:37 +00:00
Fernando Nasser aeb5418870 2003-12-16 Fernando Nasser <fnasser@redhat.com>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
        (pre_event_handler): Handle GtkButton widgets differently as events
        go to its event_window.
        (connect_awt_hook): Remove compiler warning.

From-SVN: r74704
2003-12-16 17:20:34 +00:00
Graydon Hoare 61a8f1edff gdkfont.h: New file.
2003-12-15  Graydon Hoare  <graydon@redhat.com>

	* jni/gtk-peer/gdkfont.h: New file.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c: Remove
	include of cairo-xlib.h, add extra gdk_flush().

From-SVN: r74644
2003-12-15 19:15:23 +00:00
Fernando Nasser 7ecd45764f gtkpeer.h: Extend NSA set of macros to handle a second native state table --...
2003-12-12  Fernando Nasser  <fnasser@redhat.com>

	* jni/gtk-peer/gtkpeer.h: Extend NSA set of macros to handle a second
	native state table -- native_global_ref_table.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c: Define
	native_global_ref_table pointer.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkGenericPeer_dispose): Make sure JNI
	global reference is deleted and memory allocated for pointer freed.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectSignals): Use saved
	JNI global reference instead of JNI local reference.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(pre_event_handler): Remove compilation warning.
	(connect_awt_hook): Use saved JNI global reference instead of creating
	a new one.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkButtonPeer_create): Save JNI global
	reference to the Java object.
	(Java_gnu_java_awt_peer_gtk_GtkButtonPeer_connectSignals): Remove
	unused variable declaration and add comment.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkCanvasPeer_create): Save JNI global
	reference to the Java object.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer_create): Ditto.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_nativeCreate): Ditto.
	(Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_connectSignals): Use saved
	JNI global reference instead of JNI local reference.
	(item_toggled): Add debug statement.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
	(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_create): Save JNI global
	reference to the Java object.
	(connect_choice_item_selectable_hook): Use saved JNI global references
	instead of JNI local reference.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create): Save JNI
	global reference to the Java object.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkFileDialogPeer_create): Save JNI global
	reference to the Java object.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkLabelPeer_create): Ditto.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkMenuBarPeer_create): Ditto.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkMenuPeer_create): Ditto.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c
	(Java_gnu_java_awt_peer_gtk_GtkScrollPanePeer_create): Ditto.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_create): Ditto.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_create): Ditto.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkListPeer_create): Ditto.
	(Java_gnu_java_awt_peer_gtk_GtkListPeer_connectSignals): Use saved
	JNI global reference instead of JNI local reference.
	(item_selected): Add debug statement.
	(item_unselected): Add debug statement.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkMenuItemPeer_create): Save JNI global
	reference to the Java object.
	Connect "activate" signal handler using global JNI reference.
	(connect_activate_hook): Removed in favor of inline code.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkPanelPeer_create): Save JNI global
	reference to the Java object.
	(Java_gnu_java_awt_peer_gtk_GtkPanelPeer_connectSignals): Use saved
	JNI global reference instead of JNI local reference.  Add FIXME comment.
	(Java_gnu_java_awt_peer_gtk_GtkPanelPeer_gtkPanelNew): Save JNI global
	reference to the Java object.  Add FIXME comment.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_create): Save JNI global
	reference to the Java object.
	(Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_connectSignals): Use saved
	JNI global reference instead of JNI local reference.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkTextComponentPeer_connectSignals): Use
	saved JNI global reference instead of JNI local reference.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkWindowPeer_create): Save JNI global
	reference to the Java object.
	(Java_gnu_java_awt_peer_gtk_GtkWindowPeer_connectSignals): Use saved
	JNI global reference instead of JNI local reference.

From-SVN: r74593
2003-12-13 01:15:47 +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
Olga Rodimina 1616b0d5f9 2003-12-08 Olga Rodimina <rodimina@redhat.com>
* java/awt/Polygon.java
	(translate): Fixed error that caused polygon
	to move right/left when up/down translation was required.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c:
	(getSelectionStart): Initialized start position to 0.
	(getSelectionEnd): Initialized end position to 0.
	(getCaretPosition): Initialized caret position to 0.
	(getText): Initialized selected text to NULL

From-SVN: r74445
2003-12-08 22:59:52 +00:00
Thomas Fitzsimmons 5f8a45f75c 2003-12-02 Thomas Fitzsimmons <fitzsim@redhat.com>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c
	(initState): Mark obj parameter as unused.
	(stringWidth): Mark obj parameter as unused.  Initialize
	font_name properly.

From-SVN: r74198
2003-12-02 21:00:05 +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