2002-08-09 04:26:17 +00:00
|
|
|
/* SwingPropertyChangeSupport.java --
|
JRadioButtonMenuItem.java, [...]: Fixed import statements.
2004-01-10 Michael Koch <konqueror@gmx.de>
* javax/swing/JRadioButtonMenuItem.java,
javax/swing/JSeparator.java,
javax/swing/JSplitPane.java,
javax/swing/JTextPane.java,
javax/swing/JToolBar.java,
javax/swing/ListCellRenderer.java,
javax/swing/ListModel.java,
javax/swing/MenuElement.java,
javax/swing/OverlayLayout.java,
javax/swing/ProgressMonitor.java,
javax/swing/ProgressMonitorInputStream.java,
javax/swing/Renderer.java,
javax/swing/RootPaneContainer.java,
javax/swing/Scrollable.java,
javax/swing/SingleSelectionModel.java,
javax/swing/ToolTipManager.java,
javax/swing/ViewportLayout.java,
javax/swing/event/DocumentEvent.java,
javax/swing/event/SwingPropertyChangeSupport.java,
javax/swing/event/TreeSelectionEvent.java,
javax/swing/event/UndoableEditEvent.java,
javax/swing/text/AbstractDocument.java,
javax/swing/text/AttributeSet.java,
javax/swing/text/Caret.java,
javax/swing/text/ComponentView.java,
javax/swing/text/DefaultCaret.java,
javax/swing/text/DefaultEditorKit.java,
javax/swing/text/Document.java,
javax/swing/text/EditorKit.java,
javax/swing/text/GapContent.java,
javax/swing/text/Keymap.java,
javax/swing/text/MutableAttributeSet.java,
javax/swing/text/PlainEditorKit.java,
javax/swing/text/Segment.java,
javax/swing/text/Style.java,
javax/swing/text/StyledDocument.java,
javax/swing/text/StyledEditorKit.java,
javax/swing/text/TextAction.java,
javax/swing/text/View.java: Fixed import statements.
From-SVN: r75651
2004-01-10 21:07:44 +00:00
|
|
|
Copyright (C) 2002, 2004 Free Software Foundation, Inc.
|
2002-08-09 04:26:17 +00:00
|
|
|
|
|
|
|
This file is part of GNU Classpath.
|
|
|
|
|
|
|
|
GNU Classpath is free software; you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
the Free Software Foundation; either version 2, or (at your option)
|
|
|
|
any later version.
|
|
|
|
|
|
|
|
GNU Classpath is distributed in the hope that it will be useful, but
|
|
|
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with GNU Classpath; see the file COPYING. If not, write to the
|
|
|
|
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
|
|
02111-1307 USA.
|
|
|
|
|
|
|
|
Linking this library statically or dynamically with other modules is
|
|
|
|
making a combined work based on this library. Thus, the terms and
|
|
|
|
conditions of the GNU General Public License cover the whole
|
|
|
|
combination.
|
|
|
|
|
|
|
|
As a special exception, the copyright holders of this library give you
|
|
|
|
permission to link this library with independent modules to produce an
|
|
|
|
executable, regardless of the license terms of these independent
|
|
|
|
modules, and to copy and distribute the resulting executable under
|
|
|
|
terms of your choice, provided that you also meet, for each linked
|
|
|
|
independent module, the terms and conditions of the license of that
|
|
|
|
module. An independent module is a module which is not derived from
|
|
|
|
or based on this library. If you modify this library, you may extend
|
|
|
|
this exception to your version of the library, but you are not
|
|
|
|
obligated to do so. If you do not wish to do so, delete this
|
|
|
|
exception statement from your version. */
|
|
|
|
|
|
|
|
package javax.swing.event;
|
|
|
|
|
JRadioButtonMenuItem.java, [...]: Fixed import statements.
2004-01-10 Michael Koch <konqueror@gmx.de>
* javax/swing/JRadioButtonMenuItem.java,
javax/swing/JSeparator.java,
javax/swing/JSplitPane.java,
javax/swing/JTextPane.java,
javax/swing/JToolBar.java,
javax/swing/ListCellRenderer.java,
javax/swing/ListModel.java,
javax/swing/MenuElement.java,
javax/swing/OverlayLayout.java,
javax/swing/ProgressMonitor.java,
javax/swing/ProgressMonitorInputStream.java,
javax/swing/Renderer.java,
javax/swing/RootPaneContainer.java,
javax/swing/Scrollable.java,
javax/swing/SingleSelectionModel.java,
javax/swing/ToolTipManager.java,
javax/swing/ViewportLayout.java,
javax/swing/event/DocumentEvent.java,
javax/swing/event/SwingPropertyChangeSupport.java,
javax/swing/event/TreeSelectionEvent.java,
javax/swing/event/UndoableEditEvent.java,
javax/swing/text/AbstractDocument.java,
javax/swing/text/AttributeSet.java,
javax/swing/text/Caret.java,
javax/swing/text/ComponentView.java,
javax/swing/text/DefaultCaret.java,
javax/swing/text/DefaultEditorKit.java,
javax/swing/text/Document.java,
javax/swing/text/EditorKit.java,
javax/swing/text/GapContent.java,
javax/swing/text/Keymap.java,
javax/swing/text/MutableAttributeSet.java,
javax/swing/text/PlainEditorKit.java,
javax/swing/text/Segment.java,
javax/swing/text/Style.java,
javax/swing/text/StyledDocument.java,
javax/swing/text/StyledEditorKit.java,
javax/swing/text/TextAction.java,
javax/swing/text/View.java: Fixed import statements.
From-SVN: r75651
2004-01-10 21:07:44 +00:00
|
|
|
import java.beans.PropertyChangeEvent;
|
|
|
|
import java.beans.PropertyChangeListener;
|
|
|
|
import java.beans.PropertyChangeSupport;
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.io.ObjectInputStream;
|
|
|
|
import java.io.ObjectOutputStream;
|
|
|
|
import java.util.EventListener;
|
|
|
|
import java.util.Hashtable;
|
2002-08-09 04:26:17 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* SwingPropertyChangeSupport
|
|
|
|
* @author Andrew Selkirk
|
|
|
|
*/
|
|
|
|
public final class SwingPropertyChangeSupport
|
|
|
|
extends PropertyChangeSupport {
|
|
|
|
|
AbstractAction.java, [...]: New versions from classpath.
2003-06-11 Michael Koch <konqueror@gmx.de>
* javax/swing/AbstractAction.java,
javax/swing/AbstractButton.java,
javax/swing/AbstractCellEditor.java,
javax/swing/AbstractListModel.java,
javax/swing/BorderFactory.java,
javax/swing/Box.java,
javax/swing/BoxLayout.java,
javax/swing/ButtonGroup.java,
javax/swing/DefaultButtonModel.java,
javax/swing/DefaultListModel.java,
javax/swing/DefaultListSelectionModel.java,
javax/swing/FocusManager.java,
javax/swing/ImageIcon.java,
javax/swing/InputMap.java,
javax/swing/JApplet.java,
javax/swing/JButton.java,
javax/swing/JCheckBox.java,
javax/swing/JCheckBoxMenuItem.java,
javax/swing/JColorChooser.java,
javax/swing/JComboBox.java,
javax/swing/JComponent.java,
javax/swing/JDesktopPane.java,
javax/swing/JDialog.java,
javax/swing/JEditorPane.java,
javax/swing/JFileChooser.java,
javax/swing/JFormattedTextField.java,
javax/swing/JFrame.java,
javax/swing/JLabel.java,
javax/swing/JLayeredPane.java,
javax/swing/JList.java,
javax/swing/JMenuBar.java,
javax/swing/JMenuItem.java,
javax/swing/JOptionPane.java,
javax/swing/JPanel.java,
javax/swing/JPasswordField.java,
javax/swing/JPopupMenu.java,
javax/swing/JProgressBar.java,
javax/swing/JRadioButton.java,
javax/swing/JRadioButtonMenuItem.java,
javax/swing/JRootPane.java,
javax/swing/JScrollBar.java,
javax/swing/JScrollPane.java,
javax/swing/JSeparator.java,
javax/swing/JSlider.java,
javax/swing/JTabbedPane.java,
javax/swing/JTable.java,
javax/swing/JTextField.java,
javax/swing/JToggleButton.java,
javax/swing/JToolBar.java,
javax/swing/JToolTip.java,
javax/swing/JTree.java,
javax/swing/JViewport.java,
javax/swing/JWindow.java,
javax/swing/KeyStroke.java,
javax/swing/ListSelectionModel.java,
javax/swing/LookAndFeel.java,
javax/swing/RepaintManager.java,
javax/swing/ScrollPaneLayout.java,
javax/swing/SizeRequirements.java,
javax/swing/SwingConstants.java,
javax/swing/Timer.java,
javax/swing/UIDefaults.java,
javax/swing/UIManager.java,
javax/swing/border/AbstractBorder.java,
javax/swing/border/CompoundBorder.java,
javax/swing/colorchooser/AbstractColorChooserPanel.java,
javax/swing/colorchooser/ColorChooserComponentFactory.java,
javax/swing/colorchooser/ColorSelectionModel.java,
javax/swing/colorchooser/DefaultColorSelectionModel.java,
javax/swing/event/AncestorEvent.java,
javax/swing/event/HyperlinkEvent.java,
javax/swing/event/InternalFrameAdapter.java,
javax/swing/event/InternalFrameEvent.java,
javax/swing/event/ListDataEvent.java,
javax/swing/event/MouseInputAdapter.java,
javax/swing/event/SwingPropertyChangeSupport.java,
javax/swing/event/TableModelEvent.java,
javax/swing/event/TreeWillExpandListener.java,
javax/swing/event/UndoableEditEvent.java,
javax/swing/filechooser/FileFilter.java,
javax/swing/filechooser/FileSystemView.java,
javax/swing/filechooser/FileView.java,
javax/swing/plaf/BorderUIResource.java,
javax/swing/plaf/basic/BasicDefaults.java,
javax/swing/table/AbstractTableModel.java,
javax/swing/table/DefaultTableCellRenderer.java,
javax/swing/table/DefaultTableColumnModel.java,
javax/swing/table/DefaultTableModel.java,
javax/swing/table/TableColumn.java,
javax/swing/text/JTextComponent.java,
javax/swing/tree/AbstractLayoutCache.java,
javax/swing/tree/DefaultMutableTreeNode.java,
javax/swing/tree/DefaultTreeCellEditor.java,
javax/swing/tree/DefaultTreeCellRenderer.java,
javax/swing/tree/DefaultTreeModel.java,
javax/swing/tree/DefaultTreeSelectionModel.java,
javax/swing/tree/FixedHeightLayoutCache.java,
javax/swing/tree/TreeCellEditor.java,
javax/swing/tree/TreeModel.java,
javax/swing/tree/TreeNode.java,
javax/swing/tree/TreePath.java,
javax/swing/tree/TreeSelectionModel.java,
javax/swing/tree/VariableHeightLayoutCache.java,
javax/swing/undo/AbstractUndoableEdit.java,
javax/swing/undo/CompoundEdit.java,
javax/swing/undo/StateEdit.java,
javax/swing/undo/UndoManager.java,
javax/swing/undo/UndoableEditSupport.java:
New versions from classpath.
* javax/swing/table/JTableHeader.java:
New file from classpath.
* Makefile.am
(java_awt_sources): Added javax/swing/table/JTableHeader.java.
* Makefile.in: Regenerated.
From-SVN: r67769
2003-06-11 13:20:41 +00:00
|
|
|
private static final long serialVersionUID = 7162625831330845068L;
|
|
|
|
|
2002-08-09 04:26:17 +00:00
|
|
|
//-------------------------------------------------------------
|
|
|
|
// Variables --------------------------------------------------
|
|
|
|
//-------------------------------------------------------------
|
|
|
|
|
|
|
|
/**
|
|
|
|
* listeners
|
|
|
|
*/
|
|
|
|
private transient EventListenerList listeners;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* propertyListeners
|
|
|
|
*/
|
|
|
|
private Hashtable propertyListeners;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* source
|
|
|
|
*/
|
|
|
|
private Object source;
|
|
|
|
|
|
|
|
|
|
|
|
//-------------------------------------------------------------
|
|
|
|
// Initialization ---------------------------------------------
|
|
|
|
//-------------------------------------------------------------
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Constructor SwingPropertyChangeSupport
|
|
|
|
* @param source TODO
|
|
|
|
*/
|
|
|
|
public SwingPropertyChangeSupport(Object source) {
|
|
|
|
super(source);
|
|
|
|
this.source = source;
|
|
|
|
this.listeners = new EventListenerList();
|
|
|
|
this.propertyListeners = new Hashtable();
|
|
|
|
} // SwingPropertyChangeSupport()
|
|
|
|
|
|
|
|
|
|
|
|
//-------------------------------------------------------------
|
|
|
|
// Methods ----------------------------------------------------
|
|
|
|
//-------------------------------------------------------------
|
|
|
|
|
|
|
|
/**
|
|
|
|
* writeObject
|
|
|
|
* @param stream TODO
|
|
|
|
* @exception IOException TODO
|
|
|
|
*/
|
|
|
|
private void writeObject(ObjectOutputStream stream) throws IOException {
|
|
|
|
// TODO
|
|
|
|
} // writeObject()
|
|
|
|
|
|
|
|
/**
|
|
|
|
* readObject
|
|
|
|
* @param stream TODO
|
|
|
|
* @exception ClassNotFoundException TODO
|
|
|
|
* @exception IOException TODO
|
|
|
|
*/
|
|
|
|
private void readObject(ObjectInputStream stream) throws ClassNotFoundException, IOException {
|
|
|
|
// TODO
|
|
|
|
} // readObject()
|
|
|
|
|
|
|
|
/**
|
|
|
|
* addPropertyChangeListener
|
|
|
|
* @param listener TODO
|
|
|
|
*/
|
|
|
|
public synchronized void addPropertyChangeListener(PropertyChangeListener listener) {
|
|
|
|
listeners.add(PropertyChangeListener.class, listener);
|
|
|
|
} // addPropertyChangeListener()
|
|
|
|
|
|
|
|
/**
|
|
|
|
* addPropertyChangeListener
|
|
|
|
* @param propertyName TODO
|
|
|
|
* @param listener TODO
|
|
|
|
*/
|
|
|
|
public synchronized void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) {
|
|
|
|
|
|
|
|
// Variables
|
|
|
|
EventListenerList list;
|
|
|
|
|
|
|
|
// Get Listener list
|
|
|
|
list = (EventListenerList) propertyListeners.get(propertyName);
|
|
|
|
if (list == null) {
|
|
|
|
list = new EventListenerList();
|
|
|
|
propertyListeners.put(propertyName, list);
|
|
|
|
} // if
|
|
|
|
|
|
|
|
// Add Listeners
|
|
|
|
list.add(PropertyChangeListener.class, listener);
|
|
|
|
|
|
|
|
} // addPropertyChangeListener()
|
|
|
|
|
|
|
|
/**
|
|
|
|
* removePropertyChangeListener
|
|
|
|
* @param listener TODO
|
|
|
|
*/
|
|
|
|
public synchronized void removePropertyChangeListener(PropertyChangeListener listener) {
|
|
|
|
listeners.remove(PropertyChangeListener.class, listener);
|
|
|
|
} // removePropertyChangeListener()
|
|
|
|
|
|
|
|
/**
|
|
|
|
* removePropertyChangeListener
|
|
|
|
* @param propertyName TODO
|
|
|
|
* @param listener TODO
|
|
|
|
*/
|
|
|
|
public synchronized void removePropertyChangeListener(String propertyName, PropertyChangeListener listener) {
|
|
|
|
|
|
|
|
// Variables
|
|
|
|
EventListenerList list;
|
|
|
|
|
|
|
|
// Get Listener list
|
|
|
|
list = (EventListenerList) propertyListeners.get(propertyName);
|
|
|
|
if (list == null) {
|
|
|
|
return;
|
|
|
|
} // if
|
|
|
|
|
|
|
|
// Remove Listeners
|
|
|
|
list.remove(PropertyChangeListener.class, listener);
|
|
|
|
|
|
|
|
// Clean up propertyListeners
|
|
|
|
if (list.getListenerCount() == 0) {
|
|
|
|
propertyListeners.remove(propertyName);
|
|
|
|
} // if
|
|
|
|
|
|
|
|
} // removePropertyChangeListener()
|
|
|
|
|
|
|
|
/**
|
|
|
|
* firePropertyChange
|
|
|
|
* @param propertyName TODO
|
|
|
|
* @param oldValue TODO
|
|
|
|
* @param newValue TODO
|
|
|
|
*/
|
|
|
|
public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
|
|
|
|
|
|
|
|
// Variables
|
|
|
|
PropertyChangeEvent event;
|
|
|
|
|
|
|
|
// Create Property Change Event
|
|
|
|
event = new PropertyChangeEvent(source, propertyName, oldValue, newValue);
|
|
|
|
|
|
|
|
// Fire Event
|
|
|
|
firePropertyChange(event);
|
|
|
|
|
|
|
|
} // firePropertyChange()
|
|
|
|
|
|
|
|
/**
|
|
|
|
* firePropertyChange
|
|
|
|
* @param event TODO
|
|
|
|
*/
|
|
|
|
public void firePropertyChange(PropertyChangeEvent event) {
|
|
|
|
|
|
|
|
// Variables
|
|
|
|
EventListenerList list;
|
|
|
|
EventListener[] listenerList;
|
|
|
|
int index;
|
|
|
|
PropertyChangeListener listener;
|
|
|
|
|
|
|
|
// Check Values if they are equal
|
[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
|
|
|
if (event.getOldValue() == null && event.getNewValue() == null ||
|
|
|
|
(event.getOldValue() != null && event.getNewValue() != null &&
|
|
|
|
event.getOldValue().equals(event.getNewValue()))) {
|
2002-08-09 04:26:17 +00:00
|
|
|
return;
|
|
|
|
} // if
|
|
|
|
|
|
|
|
// Process Main Listener List
|
|
|
|
listenerList = listeners.getListeners(PropertyChangeListener.class);
|
|
|
|
for (index = 0; index < listenerList.length; index++) {
|
|
|
|
listener = (PropertyChangeListener) listenerList[index];
|
|
|
|
listener.propertyChange(event);
|
|
|
|
} // for
|
|
|
|
|
|
|
|
// Process Property Listener List
|
|
|
|
list = (EventListenerList) propertyListeners.get(event.getPropertyName());
|
|
|
|
if (list != null) {
|
|
|
|
listenerList = list.getListeners(PropertyChangeListener.class);
|
|
|
|
for (index = 0; index < listenerList.length; index++) {
|
|
|
|
listener = (PropertyChangeListener) listenerList[index];
|
|
|
|
listener.propertyChange(event);
|
|
|
|
} // for
|
|
|
|
} // if
|
|
|
|
|
|
|
|
} // firePropertyChange()
|
|
|
|
|
|
|
|
/**
|
|
|
|
* hasListeners
|
|
|
|
* @param propertyName TODO
|
|
|
|
* @returns boolean
|
|
|
|
*/
|
|
|
|
public synchronized boolean hasListeners(String propertyName) {
|
|
|
|
|
|
|
|
// Get Listener list
|
|
|
|
if (propertyListeners.get(propertyName) == null) {
|
|
|
|
return false;
|
|
|
|
} // if
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
} // hasListeners()
|
|
|
|
|
|
|
|
|
|
|
|
} // SwingPropertyChangeSupport
|