Big AWT patch.
From-SVN: r34976
This commit is contained in:
parent
406a65d0db
commit
c7a136d3ef
@ -1,3 +1,82 @@
|
||||
2000-07-12 Bryce McKinlay <bryce@albatross.co.nz>
|
||||
|
||||
AWT Stuff:
|
||||
* java/util/ResourceBundle.java (getLocale): stub.
|
||||
* Makefile.am: Added new AWT classes.
|
||||
* Makefile.in: Rebuilt.
|
||||
* java/awt/AWTEvent.java: Add EVENT_MASK constants, isConsumed,
|
||||
constructors. Fix toString() and paramString().
|
||||
* java/awt/AWTEventMulticaster.java: New class. Implemented.
|
||||
* java/awt/CheckboxGroup.java: New class.
|
||||
* java/awt/ColorModel.java: New class.
|
||||
* java/awt/Component.java: Added stubs for most methods. Implemented
|
||||
event dispatch.
|
||||
* java/awt/Container.java: ditto.
|
||||
* java/awt/ComponentOrientation.java: New class. Partly implemented.
|
||||
* java/awt/Cursor.java: ditto.
|
||||
* java/awt/Event.java: Fix paramString().
|
||||
* java/awt/EventQueue.java: New class. Implemented.
|
||||
* java/awt/Font.java: Added additional stub methods. Implemented
|
||||
toString().
|
||||
* java/awt/FontMetrics.java: New class. Stubbed.
|
||||
* java/awt/GraphicsConfiguration.java: New class. Complete, except for
|
||||
Java2D parts.
|
||||
* java/awt/Insets.java: New class. Implemented.
|
||||
* java/awt/Menu.java: Add new methods. Partially implemented.
|
||||
* java/awt/MenuItem.java: Add new methods and fields. Partially
|
||||
implemented.
|
||||
* java/awt/MenuShortcut.java: New class. Implemented.
|
||||
* java/awt/Panel.java: New class. Placeholder.
|
||||
* java/awt/PopupMenu.java: New class. Stubbed.
|
||||
* java/awt/Rectangle.java: New class. Implemented.
|
||||
* java/awt/Toolkit.java: Added getSystemEventQueue() stub.
|
||||
* java/awt/event/ActionEvent.java: Implement paramString().
|
||||
* java/awt/event/AdjustmentEvent.java: Implement paramString().
|
||||
* java/awt/event/ComponentEvent.java: Implement paramString().
|
||||
* java/awt/event/ContainerEvent.java: Implement paramString().
|
||||
* java/awt/event/FocusEvent.java: Implement paramString().
|
||||
* java/awt/event/HierarchyBoundsAdapter.java: New class.
|
||||
* java/awt/event/HierarchyBoundsListener.java: New class.
|
||||
* java/awt/event/HierarchyEvent.java: New class.
|
||||
* java/awt/event/HierarchyListener.java: New class.
|
||||
* java/awt/event/InputMethodEvent.java: Implement paramString().
|
||||
* java/awt/event/InvocationEvent.java: Implement paramString(). Throw
|
||||
exception if !catchExceptions.
|
||||
* java/awt/event/ItemEvent.java: Implement paramString().
|
||||
* java/awt/event/KeyEvent.java: Implement paramString().
|
||||
* java/awt/event/MouseEvent.java: Implement paramString().
|
||||
* java/awt/event/PaintEvent.java: Implement paramString().
|
||||
* java/awt/event/TextEvent.java: Implement paramString().
|
||||
* java/awt/event/WindowEvent.java: Implement paramString().
|
||||
|
||||
AWT Peer interfaces:
|
||||
* java/awt/peer/ButtonPeer.java: New file.
|
||||
* java/awt/peer/ListPeer.java: New file.
|
||||
* java/awt/peer/CanvasPeer.java: New file.
|
||||
* java/awt/peer/MenuBarPeer.java: New file.
|
||||
* java/awt/peer/CheckboxMenuItemPeer.java: New file.
|
||||
* java/awt/peer/MenuComponentPeer.java: New file.
|
||||
* java/awt/peer/CheckboxPeer.java: New file.
|
||||
* java/awt/peer/MenuItemPeer.java: New file.
|
||||
* java/awt/peer/ChoicePeer.java: New file.
|
||||
* java/awt/peer/MenuPeer.java: New file.
|
||||
* java/awt/peer/ComponentPeer.java: Implemented.
|
||||
* java/awt/peer/PanelPeer.java: New file.
|
||||
* java/awt/peer/ContainerPeer.java: Implemented.
|
||||
* java/awt/peer/PopupMenuPeer.java: New file.
|
||||
* java/awt/peer/DialogPeer.java: New file.
|
||||
* java/awt/peer/ScrollPanePeer.java: New file.
|
||||
* java/awt/peer/FileDialogPeer.java: New file.
|
||||
* java/awt/peer/ScrollbarPeer.java: New file.
|
||||
* java/awt/peer/FontPeer.java: New file.
|
||||
* java/awt/peer/TextAreaPeer.java: New file.
|
||||
* java/awt/peer/FramePeer.java: Implemented.
|
||||
* java/awt/peer/TextComponentPeer.java: New file.
|
||||
* java/awt/peer/LabelPeer.java: New file.
|
||||
* java/awt/peer/TextFieldPeer.java: New file.
|
||||
* java/awt/peer/LightweightPeer.java: New file.
|
||||
* java/awt/peer/WindowPeer.java: Implemented.
|
||||
|
||||
2000-07-06 Tom Tromey <tromey@cygnus.com>
|
||||
|
||||
* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass):
|
||||
@ -32,7 +111,7 @@
|
||||
|
||||
2000-06-28 Bryce McKinlay <bryce@albatross.co.nz>
|
||||
|
||||
* ThreadGroup.java: Added synchronized flag to many methods.
|
||||
* java/lang/ThreadGroup.java: Added synchronized flag to many methods.
|
||||
(destroyed_flag): Removed.
|
||||
(isDestroyed, removeGroup, removeThread): Test for parent == null.
|
||||
(activeCount): Added spec note.
|
||||
|
@ -489,8 +489,12 @@ awt_java_source_files = \
|
||||
java/awt/event/ActionEvent.java \
|
||||
java/awt/event/ActionListener.java \
|
||||
java/awt/event/ComponentEvent.java \
|
||||
java/awt/event/KeyAdapter.java \
|
||||
java/awt/event/HierarchyBoundsAdapter.java \
|
||||
java/awt/event/HierarchyBoundsListener.java \
|
||||
java/awt/event/HierarchyEvent.java \
|
||||
java/awt/event/HierarchyListener.java \
|
||||
java/awt/event/InputEvent.java \
|
||||
java/awt/event/KeyAdapter.java \
|
||||
java/awt/event/KeyEvent.java \
|
||||
java/awt/event/KeyListener.java \
|
||||
java/awt/event/TextEvent.java \
|
||||
@ -520,14 +524,25 @@ java/awt/event/ItemEvent.java \
|
||||
java/awt/event/InvocationEvent.java \
|
||||
java/awt/event/PaintEvent.java \
|
||||
java/awt/event/ContainerEvent.java \
|
||||
java/awt/AWTError.java \
|
||||
java/awt/AWTEvent.java \
|
||||
java/awt/AWTEventMulticaster.java \
|
||||
java/awt/BorderLayout.java \
|
||||
java/awt/CheckboxGroup.java \
|
||||
java/awt/ColorModel.java \
|
||||
java/awt/Component.java \
|
||||
java/awt/ComponentOrientation.java \
|
||||
java/awt/Container.java \
|
||||
java/awt/Cursor.java \
|
||||
java/awt/Dimension.java \
|
||||
java/awt/Event.java \
|
||||
java/awt/EventDispatchThread.java \
|
||||
java/awt/EventQueue.java \
|
||||
java/awt/Font.java \
|
||||
java/awt/FontMetrics.java \
|
||||
java/awt/Frame.java \
|
||||
java/awt/GraphicsConfiguration.java \
|
||||
java/awt/Insets.java \
|
||||
java/awt/LayoutManager.java \
|
||||
java/awt/LayoutManager2.java \
|
||||
java/awt/Menu.java \
|
||||
@ -535,18 +550,45 @@ java/awt/MenuBar.java \
|
||||
java/awt/MenuComponent.java \
|
||||
java/awt/MenuContainer.java \
|
||||
java/awt/MenuItem.java \
|
||||
java/awt/MenuShortcut.java \
|
||||
java/awt/Panel.java \
|
||||
java/awt/Point.java \
|
||||
java/awt/AWTError.java \
|
||||
java/awt/PopupMenu.java \
|
||||
java/awt/Shape.java \
|
||||
java/awt/TextArea.java \
|
||||
java/awt/TextComponent.java \
|
||||
java/awt/Toolkit.java \
|
||||
java/awt/Window.java \
|
||||
java/awt/image/ImageConsumer.java \
|
||||
java/awt/image/ImageObserver.java \
|
||||
java/awt/image/ImageProducer.java \
|
||||
java/awt/geom/Dimension2D.java \
|
||||
java/awt/geom/Point2D.java \
|
||||
java/awt/peer/ButtonPeer.java \
|
||||
java/awt/peer/CanvasPeer.java \
|
||||
java/awt/peer/CheckboxMenuItemPeer.java \
|
||||
java/awt/peer/CheckboxPeer.java \
|
||||
java/awt/peer/ChoicePeer.java \
|
||||
java/awt/peer/ComponentPeer.java \
|
||||
java/awt/peer/ContainerPeer.java \
|
||||
java/awt/peer/DialogPeer.java \
|
||||
java/awt/peer/FileDialogPeer.java \
|
||||
java/awt/peer/FontPeer.java \
|
||||
java/awt/peer/FramePeer.java \
|
||||
java/awt/peer/LabelPeer.java \
|
||||
java/awt/peer/LightweightPeer.java \
|
||||
java/awt/peer/ListPeer.java \
|
||||
java/awt/peer/MenuBarPeer.java \
|
||||
java/awt/peer/MenuComponentPeer.java \
|
||||
java/awt/peer/MenuItemPeer.java \
|
||||
java/awt/peer/MenuPeer.java \
|
||||
java/awt/peer/PanelPeer.java \
|
||||
java/awt/peer/PopupMenuPeer.java \
|
||||
java/awt/peer/ScrollPanePeer.java \
|
||||
java/awt/peer/ScrollbarPeer.java \
|
||||
java/awt/peer/TextAreaPeer.java \
|
||||
java/awt/peer/TextComponentPeer.java \
|
||||
java/awt/peer/TextFieldPeer.java \
|
||||
java/awt/peer/WindowPeer.java \
|
||||
java/awt/Adjustable.java \
|
||||
java/awt/Color.java \
|
||||
|
@ -265,8 +265,12 @@ awt_java_source_files = \
|
||||
java/awt/event/ActionEvent.java \
|
||||
java/awt/event/ActionListener.java \
|
||||
java/awt/event/ComponentEvent.java \
|
||||
java/awt/event/KeyAdapter.java \
|
||||
java/awt/event/HierarchyBoundsAdapter.java \
|
||||
java/awt/event/HierarchyBoundsListener.java \
|
||||
java/awt/event/HierarchyEvent.java \
|
||||
java/awt/event/HierarchyListener.java \
|
||||
java/awt/event/InputEvent.java \
|
||||
java/awt/event/KeyAdapter.java \
|
||||
java/awt/event/KeyEvent.java \
|
||||
java/awt/event/KeyListener.java \
|
||||
java/awt/event/TextEvent.java \
|
||||
@ -296,14 +300,25 @@ java/awt/event/ItemEvent.java \
|
||||
java/awt/event/InvocationEvent.java \
|
||||
java/awt/event/PaintEvent.java \
|
||||
java/awt/event/ContainerEvent.java \
|
||||
java/awt/AWTError.java \
|
||||
java/awt/AWTEvent.java \
|
||||
java/awt/AWTEventMulticaster.java \
|
||||
java/awt/BorderLayout.java \
|
||||
java/awt/CheckboxGroup.java \
|
||||
java/awt/ColorModel.java \
|
||||
java/awt/Component.java \
|
||||
java/awt/ComponentOrientation.java \
|
||||
java/awt/Container.java \
|
||||
java/awt/Cursor.java \
|
||||
java/awt/Dimension.java \
|
||||
java/awt/Event.java \
|
||||
java/awt/EventDispatchThread.java \
|
||||
java/awt/EventQueue.java \
|
||||
java/awt/Font.java \
|
||||
java/awt/FontMetrics.java \
|
||||
java/awt/Frame.java \
|
||||
java/awt/GraphicsConfiguration.java \
|
||||
java/awt/Insets.java \
|
||||
java/awt/LayoutManager.java \
|
||||
java/awt/LayoutManager2.java \
|
||||
java/awt/Menu.java \
|
||||
@ -311,18 +326,45 @@ java/awt/MenuBar.java \
|
||||
java/awt/MenuComponent.java \
|
||||
java/awt/MenuContainer.java \
|
||||
java/awt/MenuItem.java \
|
||||
java/awt/MenuShortcut.java \
|
||||
java/awt/Panel.java \
|
||||
java/awt/Point.java \
|
||||
java/awt/AWTError.java \
|
||||
java/awt/PopupMenu.java \
|
||||
java/awt/Shape.java \
|
||||
java/awt/TextArea.java \
|
||||
java/awt/TextComponent.java \
|
||||
java/awt/Toolkit.java \
|
||||
java/awt/Window.java \
|
||||
java/awt/image/ImageConsumer.java \
|
||||
java/awt/image/ImageObserver.java \
|
||||
java/awt/image/ImageProducer.java \
|
||||
java/awt/geom/Dimension2D.java \
|
||||
java/awt/geom/Point2D.java \
|
||||
java/awt/peer/ButtonPeer.java \
|
||||
java/awt/peer/CanvasPeer.java \
|
||||
java/awt/peer/CheckboxMenuItemPeer.java \
|
||||
java/awt/peer/CheckboxPeer.java \
|
||||
java/awt/peer/ChoicePeer.java \
|
||||
java/awt/peer/ComponentPeer.java \
|
||||
java/awt/peer/ContainerPeer.java \
|
||||
java/awt/peer/DialogPeer.java \
|
||||
java/awt/peer/FileDialogPeer.java \
|
||||
java/awt/peer/FontPeer.java \
|
||||
java/awt/peer/FramePeer.java \
|
||||
java/awt/peer/LabelPeer.java \
|
||||
java/awt/peer/LightweightPeer.java \
|
||||
java/awt/peer/ListPeer.java \
|
||||
java/awt/peer/MenuBarPeer.java \
|
||||
java/awt/peer/MenuComponentPeer.java \
|
||||
java/awt/peer/MenuItemPeer.java \
|
||||
java/awt/peer/MenuPeer.java \
|
||||
java/awt/peer/PanelPeer.java \
|
||||
java/awt/peer/PopupMenuPeer.java \
|
||||
java/awt/peer/ScrollPanePeer.java \
|
||||
java/awt/peer/ScrollbarPeer.java \
|
||||
java/awt/peer/TextAreaPeer.java \
|
||||
java/awt/peer/TextComponentPeer.java \
|
||||
java/awt/peer/TextFieldPeer.java \
|
||||
java/awt/peer/WindowPeer.java \
|
||||
java/awt/Adjustable.java \
|
||||
java/awt/Color.java \
|
||||
@ -904,14 +946,13 @@ LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
DATA = $(data_DATA) $(toolexeclib_DATA)
|
||||
|
||||
DIST_COMMON = README COPYING ChangeLog Makefile.am Makefile.in NEWS \
|
||||
THANKS acconfig.h acinclude.m4 aclocal.m4 configure configure.in \
|
||||
include/config.h.in include/stamp-h.in libgcj-test.spec.in \
|
||||
libgcj.spec.in
|
||||
THANKS acinclude.m4 aclocal.m4 configure configure.in \
|
||||
libgcj-test.spec.in libgcj.spec.in
|
||||
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = gtar
|
||||
TAR = tar
|
||||
GZIP_ENV = --best
|
||||
DIST_SUBDIRS = @DIRLTDL@ testsuite gcj include @DIRLTDL@ gcj include
|
||||
DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
|
||||
@ -971,19 +1012,26 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
|
||||
.deps/gnu/java/security/provider/SHA.P \
|
||||
.deps/gnu/java/security/provider/SHA1PRNG.P .deps/interpret.P \
|
||||
.deps/java/awt/AWTError.P .deps/java/awt/AWTEvent.P \
|
||||
.deps/java/awt/AWTException.P .deps/java/awt/ActiveEvent.P \
|
||||
.deps/java/awt/Adjustable.P .deps/java/awt/BorderLayout.P \
|
||||
.deps/java/awt/Color.P .deps/java/awt/Component.P \
|
||||
.deps/java/awt/Container.P .deps/java/awt/Dimension.P \
|
||||
.deps/java/awt/Event.P .deps/java/awt/Font.P .deps/java/awt/Frame.P \
|
||||
.deps/java/awt/Graphics.P \
|
||||
.deps/java/awt/AWTEventMulticaster.P .deps/java/awt/AWTException.P \
|
||||
.deps/java/awt/ActiveEvent.P .deps/java/awt/Adjustable.P \
|
||||
.deps/java/awt/BorderLayout.P .deps/java/awt/CheckboxGroup.P \
|
||||
.deps/java/awt/Color.P .deps/java/awt/ColorModel.P \
|
||||
.deps/java/awt/Component.P .deps/java/awt/ComponentOrientation.P \
|
||||
.deps/java/awt/Container.P .deps/java/awt/Cursor.P \
|
||||
.deps/java/awt/Dimension.P .deps/java/awt/Event.P \
|
||||
.deps/java/awt/EventDispatchThread.P .deps/java/awt/EventQueue.P \
|
||||
.deps/java/awt/Font.P .deps/java/awt/FontMetrics.P \
|
||||
.deps/java/awt/Frame.P .deps/java/awt/Graphics.P \
|
||||
.deps/java/awt/GraphicsConfiguration.P \
|
||||
.deps/java/awt/IllegalComponentStateException.P .deps/java/awt/Image.P \
|
||||
.deps/java/awt/ItemSelectable.P .deps/java/awt/LayoutManager.P \
|
||||
.deps/java/awt/LayoutManager2.P .deps/java/awt/Menu.P \
|
||||
.deps/java/awt/MenuBar.P .deps/java/awt/MenuComponent.P \
|
||||
.deps/java/awt/MenuContainer.P .deps/java/awt/MenuItem.P \
|
||||
.deps/java/awt/Insets.P .deps/java/awt/ItemSelectable.P \
|
||||
.deps/java/awt/LayoutManager.P .deps/java/awt/LayoutManager2.P \
|
||||
.deps/java/awt/Menu.P .deps/java/awt/MenuBar.P \
|
||||
.deps/java/awt/MenuComponent.P .deps/java/awt/MenuContainer.P \
|
||||
.deps/java/awt/MenuItem.P .deps/java/awt/MenuShortcut.P \
|
||||
.deps/java/awt/Paint.P .deps/java/awt/PaintContext.P \
|
||||
.deps/java/awt/Point.P .deps/java/awt/Rectangle.P \
|
||||
.deps/java/awt/Panel.P .deps/java/awt/Point.P \
|
||||
.deps/java/awt/PopupMenu.P .deps/java/awt/Rectangle.P \
|
||||
.deps/java/awt/Shape.P .deps/java/awt/TextArea.P \
|
||||
.deps/java/awt/TextComponent.P .deps/java/awt/Toolkit.P \
|
||||
.deps/java/awt/Transparency.P .deps/java/awt/Window.P \
|
||||
@ -999,7 +1047,12 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
|
||||
.deps/java/awt/event/ContainerEvent.P \
|
||||
.deps/java/awt/event/ContainerListener.P \
|
||||
.deps/java/awt/event/FocusAdapter.P .deps/java/awt/event/FocusEvent.P \
|
||||
.deps/java/awt/event/FocusListener.P .deps/java/awt/event/InputEvent.P \
|
||||
.deps/java/awt/event/FocusListener.P \
|
||||
.deps/java/awt/event/HierarchyBoundsAdapter.P \
|
||||
.deps/java/awt/event/HierarchyBoundsListener.P \
|
||||
.deps/java/awt/event/HierarchyEvent.P \
|
||||
.deps/java/awt/event/HierarchyListener.P \
|
||||
.deps/java/awt/event/InputEvent.P \
|
||||
.deps/java/awt/event/InputMethodEvent.P \
|
||||
.deps/java/awt/event/InputMethodListener.P \
|
||||
.deps/java/awt/event/InvocationEvent.P .deps/java/awt/event/ItemEvent.P \
|
||||
@ -1013,12 +1066,27 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
|
||||
.deps/java/awt/event/TextListener.P \
|
||||
.deps/java/awt/event/WindowAdapter.P .deps/java/awt/event/WindowEvent.P \
|
||||
.deps/java/awt/event/WindowListener.P .deps/java/awt/geom/Dimension2D.P \
|
||||
.deps/java/awt/geom/Point2D.P .deps/java/awt/peer/ComponentPeer.P \
|
||||
.deps/java/awt/peer/ContainerPeer.P .deps/java/awt/peer/FramePeer.P \
|
||||
.deps/java/awt/peer/WindowPeer.P .deps/java/beans/BeanDescriptor.P \
|
||||
.deps/java/beans/BeanInfo.P .deps/java/beans/Beans.P \
|
||||
.deps/java/beans/Customizer.P .deps/java/beans/DesignMode.P \
|
||||
.deps/java/beans/EventSetDescriptor.P \
|
||||
.deps/java/awt/geom/Point2D.P .deps/java/awt/image/ImageConsumer.P \
|
||||
.deps/java/awt/image/ImageObserver.P \
|
||||
.deps/java/awt/image/ImageProducer.P .deps/java/awt/peer/ButtonPeer.P \
|
||||
.deps/java/awt/peer/CanvasPeer.P \
|
||||
.deps/java/awt/peer/CheckboxMenuItemPeer.P \
|
||||
.deps/java/awt/peer/CheckboxPeer.P .deps/java/awt/peer/ChoicePeer.P \
|
||||
.deps/java/awt/peer/ComponentPeer.P .deps/java/awt/peer/ContainerPeer.P \
|
||||
.deps/java/awt/peer/DialogPeer.P .deps/java/awt/peer/FileDialogPeer.P \
|
||||
.deps/java/awt/peer/FontPeer.P .deps/java/awt/peer/FramePeer.P \
|
||||
.deps/java/awt/peer/LabelPeer.P .deps/java/awt/peer/LightweightPeer.P \
|
||||
.deps/java/awt/peer/ListPeer.P .deps/java/awt/peer/MenuBarPeer.P \
|
||||
.deps/java/awt/peer/MenuComponentPeer.P \
|
||||
.deps/java/awt/peer/MenuItemPeer.P .deps/java/awt/peer/MenuPeer.P \
|
||||
.deps/java/awt/peer/PanelPeer.P .deps/java/awt/peer/PopupMenuPeer.P \
|
||||
.deps/java/awt/peer/ScrollPanePeer.P \
|
||||
.deps/java/awt/peer/ScrollbarPeer.P .deps/java/awt/peer/TextAreaPeer.P \
|
||||
.deps/java/awt/peer/TextComponentPeer.P \
|
||||
.deps/java/awt/peer/TextFieldPeer.P .deps/java/awt/peer/WindowPeer.P \
|
||||
.deps/java/beans/BeanDescriptor.P .deps/java/beans/BeanInfo.P \
|
||||
.deps/java/beans/Beans.P .deps/java/beans/Customizer.P \
|
||||
.deps/java/beans/DesignMode.P .deps/java/beans/EventSetDescriptor.P \
|
||||
.deps/java/beans/FeatureDescriptor.P \
|
||||
.deps/java/beans/IndexedPropertyDescriptor.P \
|
||||
.deps/java/beans/IntrospectionException.P \
|
||||
@ -1296,34 +1364,6 @@ config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
|
||||
include/config.h: include/stamp-h
|
||||
@if test ! -f $@; then \
|
||||
rm -f include/stamp-h; \
|
||||
$(MAKE) include/stamp-h; \
|
||||
else :; fi
|
||||
include/stamp-h: $(srcdir)/include/config.h.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES= CONFIG_HEADERS=include/config.h \
|
||||
$(SHELL) ./config.status
|
||||
@echo timestamp > include/stamp-h 2> /dev/null
|
||||
$(srcdir)/include/config.h.in: @MAINTAINER_MODE_TRUE@$(srcdir)/include/stamp-h.in
|
||||
@if test ! -f $@; then \
|
||||
rm -f $(srcdir)/include/stamp-h.in; \
|
||||
$(MAKE) $(srcdir)/include/stamp-h.in; \
|
||||
else :; fi
|
||||
$(srcdir)/include/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
|
||||
cd $(top_srcdir) && $(AUTOHEADER)
|
||||
@echo timestamp > $(srcdir)/include/stamp-h.in 2> /dev/null
|
||||
|
||||
mostlyclean-hdr:
|
||||
|
||||
clean-hdr:
|
||||
|
||||
distclean-hdr:
|
||||
-rm -f include/config.h
|
||||
|
||||
maintainer-clean-hdr:
|
||||
libgcj.spec: $(top_builddir)/config.status libgcj.spec.in
|
||||
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
libgcj-test.spec: $(top_builddir)/config.status libgcj-test.spec.in
|
||||
@ -1786,33 +1826,31 @@ distclean-generic:
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
mostlyclean-am: mostlyclean-hdr mostlyclean-toolexeclibLIBRARIES \
|
||||
mostlyclean-compile mostlyclean-libtool \
|
||||
mostlyclean-toolexeclibLTLIBRARIES \
|
||||
mostlyclean-am: mostlyclean-toolexeclibLIBRARIES mostlyclean-compile \
|
||||
mostlyclean-libtool mostlyclean-toolexeclibLTLIBRARIES \
|
||||
mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \
|
||||
mostlyclean-tags mostlyclean-depend mostlyclean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
clean-am: clean-hdr clean-toolexeclibLIBRARIES clean-compile \
|
||||
clean-libtool clean-toolexeclibLTLIBRARIES \
|
||||
clean-binPROGRAMS clean-noinstPROGRAMS clean-tags \
|
||||
clean-depend clean-generic mostlyclean-am clean-local
|
||||
clean-am: clean-toolexeclibLIBRARIES clean-compile clean-libtool \
|
||||
clean-toolexeclibLTLIBRARIES clean-binPROGRAMS \
|
||||
clean-noinstPROGRAMS clean-tags clean-depend \
|
||||
clean-generic mostlyclean-am clean-local
|
||||
|
||||
clean: clean-recursive
|
||||
|
||||
distclean-am: distclean-hdr distclean-toolexeclibLIBRARIES \
|
||||
distclean-compile distclean-libtool \
|
||||
distclean-toolexeclibLTLIBRARIES distclean-binPROGRAMS \
|
||||
distclean-noinstPROGRAMS distclean-tags \
|
||||
distclean-depend distclean-generic clean-am
|
||||
distclean-am: distclean-toolexeclibLIBRARIES distclean-compile \
|
||||
distclean-libtool distclean-toolexeclibLTLIBRARIES \
|
||||
distclean-binPROGRAMS distclean-noinstPROGRAMS \
|
||||
distclean-tags distclean-depend distclean-generic \
|
||||
clean-am
|
||||
-rm -f libtool
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f config.status
|
||||
|
||||
maintainer-clean-am: maintainer-clean-hdr \
|
||||
maintainer-clean-toolexeclibLIBRARIES \
|
||||
maintainer-clean-am: maintainer-clean-toolexeclibLIBRARIES \
|
||||
maintainer-clean-compile maintainer-clean-libtool \
|
||||
maintainer-clean-toolexeclibLTLIBRARIES \
|
||||
maintainer-clean-binPROGRAMS \
|
||||
@ -1825,8 +1863,7 @@ maintainer-clean-am: maintainer-clean-hdr \
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f config.status
|
||||
|
||||
.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
|
||||
mostlyclean-toolexeclibLIBRARIES distclean-toolexeclibLIBRARIES \
|
||||
.PHONY: mostlyclean-toolexeclibLIBRARIES distclean-toolexeclibLIBRARIES \
|
||||
clean-toolexeclibLIBRARIES maintainer-clean-toolexeclibLIBRARIES \
|
||||
uninstall-toolexeclibLIBRARIES install-toolexeclibLIBRARIES \
|
||||
mostlyclean-compile distclean-compile clean-compile \
|
||||
|
@ -1,20 +1,65 @@
|
||||
/* Copyright (C) 1999, 2000 Free Software Foundation
|
||||
|
||||
This file is part of libjava.
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libjava License. Please consult the file "LIBJAVA_LICENSE" for
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt;
|
||||
|
||||
/* A very incomplete placeholder. */
|
||||
/* Written using on-line Java 2 Platform Standard Edition v1.3 API
|
||||
* Specification, as well as "The Java Class Libraries", 2nd edition
|
||||
* (Addison-Wesley, 1998).
|
||||
* Status: Believed complete and correct, except for the java.awt.Event
|
||||
* compatibility constructor.
|
||||
*/
|
||||
|
||||
/**
|
||||
* AWTEvent is the root event class for all AWT events in the JDK 1.1 event
|
||||
* model. It supercedes the Event class from JDK 1.0.
|
||||
*/
|
||||
|
||||
public abstract class AWTEvent extends java.util.EventObject
|
||||
{
|
||||
protected boolean consumed;
|
||||
protected int id;
|
||||
|
||||
/* Event selection masks */
|
||||
public static final long COMPONENT_EVENT_MASK = 1 << 0,
|
||||
CONTAINER_EVENT_MASK = 1 << 1,
|
||||
FOCUS_EVENT_MASK = 1 << 2,
|
||||
KEY_EVENT_MASK = 1 << 3,
|
||||
MOUSE_EVENT_MASK = 1 << 4,
|
||||
MOUSE_MOTION_EVENT_MASK = 1 << 5,
|
||||
WINDOW_EVENT_MASK = 1 << 6,
|
||||
ACTION_EVENT_MASK = 1 << 7,
|
||||
ADJUSTMENT_EVENT_MASK = 1 << 8,
|
||||
ITEM_EVENT_MASK = 1 << 9,
|
||||
TEXT_EVENT_MASK = 1 << 10,
|
||||
INPUT_METHOD_EVENT_MASK = 1 << 11;
|
||||
|
||||
/* Additional event selection masks from JDK 1.3 javadocs */
|
||||
public static final long PAINT_EVENT_MASK = 1 << 13,
|
||||
INVOCATION_EVENT_MASK = 1 << 14,
|
||||
HIERARCHY_EVENT_MASK = 1 << 15,
|
||||
HIERARCHY_BOUNDS_EVENT_MASK = 1 << 16;
|
||||
|
||||
public static final int RESERVED_ID_MAX = 0x7cf;
|
||||
|
||||
public AWTEvent(Event event)
|
||||
{
|
||||
// FIXME??
|
||||
super(event.target);
|
||||
this.id = event.id;
|
||||
}
|
||||
|
||||
public AWTEvent(Object source, int id)
|
||||
{
|
||||
super(source);
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public int getID()
|
||||
{
|
||||
return id;
|
||||
@ -22,17 +67,21 @@ public abstract class AWTEvent extends java.util.EventObject
|
||||
|
||||
public String paramString ()
|
||||
{
|
||||
return toString ();
|
||||
return "";
|
||||
}
|
||||
|
||||
public String toString ()
|
||||
{
|
||||
return getClass().getName() + "[" + id + "]";
|
||||
return getClass().getName() + "[" + paramString() + "] on " + source;
|
||||
}
|
||||
|
||||
public AWTEvent (Object source, int id)
|
||||
|
||||
protected void consume()
|
||||
{
|
||||
super(source);
|
||||
this.id = id;
|
||||
consumed = true;
|
||||
}
|
||||
|
||||
protected boolean isConsumed()
|
||||
{
|
||||
return consumed;
|
||||
}
|
||||
}
|
||||
|
463
libjava/java/awt/AWTEventMulticaster.java
Normal file
463
libjava/java/awt/AWTEventMulticaster.java
Normal file
@ -0,0 +1,463 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt;
|
||||
|
||||
import java.awt.event.*;
|
||||
import java.util.EventListener;
|
||||
import java.io.ObjectOutputStream;
|
||||
|
||||
/* Written using on-line Java 2 Platform Standard Edition v1.3 API
|
||||
* Specification, as well as "The Java Class Libraries", 2nd edition
|
||||
* (Addison-Wesley, 1998).
|
||||
* Status: Believed complete and correct to J2SE 1.3, except for
|
||||
* serialization support methods, save() and saveInternal(), which are
|
||||
* stubbed.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Convienience class for thread-safe multicasting of AWT events,
|
||||
* without synchronization.
|
||||
*
|
||||
* @author Bryce McKinlay
|
||||
*/
|
||||
|
||||
public class AWTEventMulticaster implements ComponentListener,
|
||||
ContainerListener, FocusListener, KeyListener, MouseListener,
|
||||
MouseMotionListener, WindowListener, ActionListener, ItemListener,
|
||||
AdjustmentListener, TextListener, InputMethodListener, HierarchyListener,
|
||||
HierarchyBoundsListener
|
||||
{
|
||||
protected final EventListener a, b;
|
||||
|
||||
protected AWTEventMulticaster(EventListener a,
|
||||
EventListener b)
|
||||
{
|
||||
this.a = a;
|
||||
this.b = b;
|
||||
}
|
||||
|
||||
protected static EventListener addInternal(EventListener a, EventListener b)
|
||||
{
|
||||
if (a == null)
|
||||
return b;
|
||||
else if (b == null)
|
||||
return a;
|
||||
else return new AWTEventMulticaster(a, b);
|
||||
}
|
||||
|
||||
protected static EventListener removeInternal(EventListener l,
|
||||
EventListener oldl)
|
||||
{
|
||||
if (l == oldl)
|
||||
return null;
|
||||
else if (l instanceof AWTEventMulticaster)
|
||||
{
|
||||
AWTEventMulticaster mc = (AWTEventMulticaster) l;
|
||||
return mc.remove(oldl);
|
||||
}
|
||||
return l;
|
||||
}
|
||||
|
||||
/* Remove oldl from this multicaster. */
|
||||
protected EventListener remove(EventListener oldl)
|
||||
{
|
||||
// If oldl is an immediate child, return the other child.
|
||||
if (a == oldl)
|
||||
return b;
|
||||
if (b == oldl)
|
||||
return a;
|
||||
|
||||
// If a and/or b are Multicaster's, search them recursivly.
|
||||
if (a instanceof AWTEventMulticaster)
|
||||
{
|
||||
AWTEventMulticaster mc = (AWTEventMulticaster) a;
|
||||
EventListener newa = mc.remove(oldl);
|
||||
if (newa != a)
|
||||
return new AWTEventMulticaster (newa, b);
|
||||
}
|
||||
if (b instanceof AWTEventMulticaster)
|
||||
{
|
||||
AWTEventMulticaster mc = (AWTEventMulticaster) a;
|
||||
EventListener newb = mc.remove(oldl);
|
||||
if (newb != b)
|
||||
return new AWTEventMulticaster (a, newb);
|
||||
}
|
||||
|
||||
// oldl was not found.
|
||||
return this;
|
||||
}
|
||||
|
||||
public static ActionListener add(ActionListener a, ActionListener b)
|
||||
{
|
||||
return (ActionListener) addInternal(a, b);
|
||||
}
|
||||
|
||||
public static AdjustmentListener add(AdjustmentListener a,
|
||||
AdjustmentListener b)
|
||||
{
|
||||
return (AdjustmentListener) addInternal(a, b);
|
||||
}
|
||||
|
||||
public static ComponentListener add(ComponentListener a, ComponentListener b)
|
||||
{
|
||||
return (ComponentListener) addInternal(a, b);
|
||||
}
|
||||
|
||||
public static ContainerListener add(ContainerListener a, ContainerListener b)
|
||||
{
|
||||
return (ContainerListener) addInternal(a, b);
|
||||
}
|
||||
|
||||
public static FocusListener add(FocusListener a, FocusListener b)
|
||||
{
|
||||
return (FocusListener) addInternal(a, b);
|
||||
}
|
||||
|
||||
public static HierarchyBoundsListener add(HierarchyBoundsListener a,
|
||||
HierarchyBoundsListener b)
|
||||
{
|
||||
return (HierarchyBoundsListener) addInternal(a, b);
|
||||
}
|
||||
|
||||
public static HierarchyListener add(HierarchyListener a, HierarchyListener b)
|
||||
{
|
||||
return (HierarchyListener) addInternal(a, b);
|
||||
}
|
||||
|
||||
public static InputMethodListener add(InputMethodListener a,
|
||||
InputMethodListener b)
|
||||
{
|
||||
return (InputMethodListener) addInternal(a, b);
|
||||
}
|
||||
|
||||
public static ItemListener add(ItemListener a, ItemListener b)
|
||||
{
|
||||
return (ItemListener) addInternal(a, b);
|
||||
}
|
||||
|
||||
public static KeyListener add(KeyListener a, KeyListener b)
|
||||
{
|
||||
return (KeyListener) addInternal(a, b);
|
||||
}
|
||||
|
||||
public static MouseListener add(MouseListener a, MouseListener b)
|
||||
{
|
||||
return (MouseListener) addInternal(a, b);
|
||||
}
|
||||
|
||||
public static MouseMotionListener add(MouseMotionListener a,
|
||||
MouseMotionListener b)
|
||||
{
|
||||
return (MouseMotionListener) addInternal(a, b);
|
||||
}
|
||||
|
||||
public static TextListener add(TextListener a, TextListener b)
|
||||
{
|
||||
return (TextListener) addInternal(a, b);
|
||||
}
|
||||
|
||||
public static WindowListener add(WindowListener a, WindowListener b)
|
||||
{
|
||||
return (WindowListener) addInternal(a, b);
|
||||
}
|
||||
|
||||
public static ActionListener remove(ActionListener l, ActionListener oldl)
|
||||
{
|
||||
return (ActionListener) removeInternal(l, oldl);
|
||||
}
|
||||
|
||||
public static AdjustmentListener remove(AdjustmentListener l,
|
||||
AdjustmentListener oldl)
|
||||
{
|
||||
return (AdjustmentListener) removeInternal(l, oldl);
|
||||
}
|
||||
|
||||
public static ComponentListener remove(ComponentListener l,
|
||||
ComponentListener oldl)
|
||||
{
|
||||
return (ComponentListener) removeInternal(l, oldl);
|
||||
}
|
||||
|
||||
public static ContainerListener remove(ContainerListener l,
|
||||
ContainerListener oldl)
|
||||
{
|
||||
return (ContainerListener) removeInternal(l, oldl);
|
||||
}
|
||||
|
||||
public static FocusListener remove(FocusListener l, FocusListener oldl)
|
||||
{
|
||||
return (FocusListener) removeInternal(l, oldl);
|
||||
}
|
||||
|
||||
public static HierarchyBoundsListener remove(HierarchyBoundsListener l,
|
||||
HierarchyBoundsListener oldl)
|
||||
{
|
||||
return (HierarchyBoundsListener) removeInternal(l, oldl);
|
||||
}
|
||||
|
||||
public static HierarchyListener remove(HierarchyListener l,
|
||||
HierarchyListener oldl)
|
||||
{
|
||||
return (HierarchyListener) removeInternal(l, oldl);
|
||||
}
|
||||
|
||||
public static InputMethodListener remove(InputMethodListener l,
|
||||
InputMethodListener oldl)
|
||||
{
|
||||
return (InputMethodListener) removeInternal(l, oldl);
|
||||
}
|
||||
|
||||
public static ItemListener remove(ItemListener l, ItemListener oldl)
|
||||
{
|
||||
return (ItemListener) removeInternal(l, oldl);
|
||||
}
|
||||
|
||||
public static KeyListener remove(KeyListener l, KeyListener oldl)
|
||||
{
|
||||
return (KeyListener) removeInternal(l, oldl);
|
||||
}
|
||||
|
||||
public static MouseListener remove(MouseListener l, MouseListener oldl)
|
||||
{
|
||||
return (MouseListener) removeInternal(l, oldl);
|
||||
}
|
||||
|
||||
public static MouseMotionListener remove(MouseMotionListener l,
|
||||
MouseMotionListener oldl)
|
||||
{
|
||||
return (MouseMotionListener) removeInternal(l, oldl);
|
||||
}
|
||||
|
||||
public static TextListener remove(TextListener l, TextListener oldl)
|
||||
{
|
||||
return (TextListener) removeInternal(l, oldl);
|
||||
}
|
||||
|
||||
public static WindowListener remove(WindowListener l, WindowListener oldl)
|
||||
{
|
||||
return (WindowListener) removeInternal(l, oldl);
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent e)
|
||||
{
|
||||
((ActionListener) a).actionPerformed(e);
|
||||
((ActionListener) b).actionPerformed(e);
|
||||
}
|
||||
|
||||
public void adjustmentValueChanged(AdjustmentEvent e)
|
||||
{
|
||||
((AdjustmentListener) a).adjustmentValueChanged(e);
|
||||
((AdjustmentListener) b).adjustmentValueChanged(e);
|
||||
}
|
||||
|
||||
public void componentHidden(ComponentEvent e)
|
||||
{
|
||||
((ComponentListener) a).componentHidden(e);
|
||||
((ComponentListener) b).componentHidden(e);
|
||||
}
|
||||
|
||||
public void componentMoved(ComponentEvent e)
|
||||
{
|
||||
((ComponentListener) a).componentMoved(e);
|
||||
((ComponentListener) b).componentMoved(e);
|
||||
}
|
||||
|
||||
public void componentResized(ComponentEvent e)
|
||||
{
|
||||
((ComponentListener) a).componentResized(e);
|
||||
((ComponentListener) b).componentResized(e);
|
||||
}
|
||||
|
||||
public void componentShown(ComponentEvent e)
|
||||
{
|
||||
((ComponentListener) a).componentShown(e);
|
||||
((ComponentListener) b).componentShown(e);
|
||||
}
|
||||
|
||||
public void componentAdded(ContainerEvent e)
|
||||
{
|
||||
((ContainerListener) a).componentAdded(e);
|
||||
((ContainerListener) b).componentAdded(e);
|
||||
}
|
||||
|
||||
public void componentRemoved(ContainerEvent e)
|
||||
{
|
||||
((ContainerListener) a).componentRemoved(e);
|
||||
((ContainerListener) b).componentRemoved(e);
|
||||
}
|
||||
|
||||
public void focusGained(FocusEvent e)
|
||||
{
|
||||
((FocusListener) a).focusGained(e);
|
||||
((FocusListener) b).focusGained(e);
|
||||
}
|
||||
|
||||
public void focusLost(FocusEvent e)
|
||||
{
|
||||
((FocusListener) a).focusLost(e);
|
||||
((FocusListener) b).focusLost(e);
|
||||
}
|
||||
|
||||
|
||||
public void ancestorMoved(HierarchyEvent e)
|
||||
{
|
||||
((HierarchyBoundsListener) a).ancestorMoved(e);
|
||||
((HierarchyBoundsListener) b).ancestorMoved(e);
|
||||
}
|
||||
|
||||
public void ancestorResized(HierarchyEvent e)
|
||||
{
|
||||
((HierarchyBoundsListener) a).ancestorResized(e);
|
||||
((HierarchyBoundsListener) b).ancestorResized(e);
|
||||
}
|
||||
|
||||
public void hierarchyChanged(HierarchyEvent e)
|
||||
{
|
||||
((HierarchyListener) a).hierarchyChanged(e);
|
||||
((HierarchyListener) b).hierarchyChanged(e);
|
||||
}
|
||||
|
||||
public void caretPositionChanged(InputMethodEvent e)
|
||||
{
|
||||
((InputMethodListener) a).caretPositionChanged(e);
|
||||
((InputMethodListener) b).caretPositionChanged(e);
|
||||
}
|
||||
|
||||
public void inputMethodTextChanged(InputMethodEvent e)
|
||||
{
|
||||
((InputMethodListener) a).inputMethodTextChanged(e);
|
||||
((InputMethodListener) b).inputMethodTextChanged(e);
|
||||
}
|
||||
|
||||
public void itemStateChanged(ItemEvent e)
|
||||
{
|
||||
((ItemListener) a).itemStateChanged(e);
|
||||
((ItemListener) b).itemStateChanged(e);
|
||||
}
|
||||
|
||||
public void keyPressed(KeyEvent e)
|
||||
{
|
||||
((KeyListener) a).keyPressed(e);
|
||||
((KeyListener) b).keyPressed(e);
|
||||
}
|
||||
|
||||
public void keyReleased(KeyEvent e)
|
||||
{
|
||||
((KeyListener) a).keyReleased(e);
|
||||
((KeyListener) b).keyReleased(e);
|
||||
}
|
||||
|
||||
public void keyTyped(KeyEvent e)
|
||||
{
|
||||
((KeyListener) a).keyTyped(e);
|
||||
((KeyListener) b).keyTyped(e);
|
||||
}
|
||||
|
||||
public void mouseClicked(MouseEvent e)
|
||||
{
|
||||
((MouseListener) a).mouseClicked(e);
|
||||
((MouseListener) b).mouseClicked(e);
|
||||
}
|
||||
|
||||
|
||||
public void mouseEntered(MouseEvent e)
|
||||
{
|
||||
((MouseListener) a).mouseEntered(e);
|
||||
((MouseListener) b).mouseEntered(e);
|
||||
}
|
||||
|
||||
public void mouseExited(MouseEvent e)
|
||||
{
|
||||
((MouseListener) a).mouseExited(e);
|
||||
((MouseListener) b).mouseExited(e);
|
||||
}
|
||||
|
||||
public void mousePressed(MouseEvent e)
|
||||
{
|
||||
((MouseListener) a).mousePressed(e);
|
||||
((MouseListener) b).mousePressed(e);
|
||||
}
|
||||
|
||||
public void mouseReleased(MouseEvent e)
|
||||
{
|
||||
((MouseListener) a).mouseReleased(e);
|
||||
((MouseListener) b).mouseReleased(e);
|
||||
}
|
||||
|
||||
public void mouseDragged(MouseEvent e)
|
||||
{
|
||||
((MouseMotionListener) a).mouseDragged(e);
|
||||
((MouseMotionListener) b).mouseDragged(e);
|
||||
}
|
||||
|
||||
public void mouseMoved(MouseEvent e)
|
||||
{
|
||||
((MouseMotionListener) a).mouseMoved(e);
|
||||
((MouseMotionListener) b).mouseMoved(e);
|
||||
}
|
||||
|
||||
public void textValueChanged(TextEvent e)
|
||||
{
|
||||
((TextListener) a).textValueChanged(e);
|
||||
((TextListener) b).textValueChanged(e);
|
||||
}
|
||||
|
||||
public void windowActivated(WindowEvent e)
|
||||
{
|
||||
((WindowListener) a).windowActivated(e);
|
||||
((WindowListener) b).windowActivated(e);
|
||||
}
|
||||
|
||||
public void windowClosed(WindowEvent e)
|
||||
{
|
||||
((WindowListener) a).windowClosed(e);
|
||||
((WindowListener) b).windowClosed(e);
|
||||
}
|
||||
|
||||
public void windowClosing(WindowEvent e)
|
||||
{
|
||||
((WindowListener) a).windowClosing(e);
|
||||
((WindowListener) b).windowClosing(e);
|
||||
}
|
||||
|
||||
public void windowDeactivated(WindowEvent e)
|
||||
{
|
||||
((WindowListener) a).windowDeactivated(e);
|
||||
((WindowListener) b).windowDeactivated(e);
|
||||
}
|
||||
|
||||
public void windowDeiconified(WindowEvent e)
|
||||
{
|
||||
((WindowListener) a).windowDeiconified(e);
|
||||
((WindowListener) b).windowDeiconified(e);
|
||||
}
|
||||
|
||||
public void windowIconified(WindowEvent e)
|
||||
{
|
||||
((WindowListener) a).windowIconified(e);
|
||||
((WindowListener) b).windowIconified(e);
|
||||
}
|
||||
|
||||
public void windowOpened(WindowEvent e)
|
||||
{
|
||||
((WindowListener) a).windowOpened(e);
|
||||
((WindowListener) b).windowOpened(e);
|
||||
}
|
||||
|
||||
protected static void save(ObjectOutputStream s, String k, EventListener l)
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
protected void saveInternal(ObjectOutputStream s, String k)
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
}
|
18
libjava/java/awt/CheckboxGroup.java
Normal file
18
libjava/java/awt/CheckboxGroup.java
Normal file
@ -0,0 +1,18 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt;
|
||||
|
||||
/* Status: Empty placeholder. */
|
||||
|
||||
public class CheckboxGroup
|
||||
{
|
||||
// Fields from the serialization spec. Decalare others "transient".
|
||||
boolean state;
|
||||
int checkboxMenuItemSerializedDataVersion;
|
||||
}
|
20
libjava/java/awt/ColorModel.java
Normal file
20
libjava/java/awt/ColorModel.java
Normal file
@ -0,0 +1,20 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt;
|
||||
|
||||
/* Status: Just a placeholder. */
|
||||
|
||||
public class ColorModel implements Transparency
|
||||
{
|
||||
public int getTransparency()
|
||||
{
|
||||
// FIXME
|
||||
return 0;
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
84
libjava/java/awt/ComponentOrientation.java
Normal file
84
libjava/java/awt/ComponentOrientation.java
Normal file
@ -0,0 +1,84 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
/* Status: Incomplete. Needs a Locale lookup table. */
|
||||
|
||||
package java.awt;
|
||||
|
||||
import java.util.Locale;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
public class ComponentOrientation implements java.io.Serializable
|
||||
{
|
||||
public static final ComponentOrientation LEFT_TO_RIGHT
|
||||
= new ComponentOrientation(HORIZONTAL_ID & LEFT_TO_RIGHT_ID);
|
||||
public static final ComponentOrientation RIGHT_TO_LEFT
|
||||
= new ComponentOrientation(HORIZONTAL_ID);
|
||||
public static final ComponentOrientation UNKNOWN
|
||||
= new ComponentOrientation(0);
|
||||
|
||||
// FIXME: This field is from the serialization spec, but what are the
|
||||
// correct values?
|
||||
int orientation;
|
||||
|
||||
// Here is a wild guess.
|
||||
private static int HORIZONTAL_ID = 1 << 0,
|
||||
LEFT_TO_RIGHT_ID = 1 << 1;
|
||||
|
||||
ComponentOrientation(int orientation)
|
||||
{
|
||||
this.orientation = orientation;
|
||||
}
|
||||
|
||||
public boolean isHorizontal()
|
||||
{
|
||||
return ((orientation & HORIZONTAL_ID) != 0);
|
||||
}
|
||||
|
||||
public boolean isLeftToRight()
|
||||
{
|
||||
return ((orientation & LEFT_TO_RIGHT_ID) != 0);
|
||||
}
|
||||
|
||||
public static ComponentOrientation getOrientation(Locale locale)
|
||||
{
|
||||
// FIXME: Use a table to look this up.
|
||||
return LEFT_TO_RIGHT;
|
||||
}
|
||||
|
||||
public static ComponentOrientation getOrientation(ResourceBundle bdl)
|
||||
{
|
||||
ComponentOrientation r;
|
||||
|
||||
try
|
||||
{
|
||||
Object obj = bdl.getObject("Orientation");
|
||||
r = (ComponentOrientation) obj;
|
||||
if (r != null)
|
||||
return r;
|
||||
}
|
||||
catch (Exception x)
|
||||
{
|
||||
// Fall through
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
Locale l = bdl.getLocale();
|
||||
r = getOrientation(l);
|
||||
if (r != null)
|
||||
return r;
|
||||
}
|
||||
catch (Exception x)
|
||||
{
|
||||
// Fall through
|
||||
}
|
||||
|
||||
return (getOrientation (Locale.getDefault ()));
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1999 Free Software Foundation
|
||||
/* Copyright (C) 1999, 2000 Free Software Foundation
|
||||
|
||||
This file is part of libjava.
|
||||
|
||||
@ -8,26 +8,320 @@ details. */
|
||||
|
||||
package java.awt;
|
||||
|
||||
import java.awt.event.*;
|
||||
import java.io.PrintStream;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.EventListener;
|
||||
|
||||
/* A very incomplete placeholder. */
|
||||
|
||||
public abstract class Container extends Component
|
||||
{
|
||||
int componentCount;
|
||||
Component[] components;
|
||||
/* Serialized fields from the serialization spec. */
|
||||
int ncomponents;
|
||||
Component[] component;
|
||||
LayoutManager layoutMgr;
|
||||
/* LightweightDispatcher dispatcher; */ // wtf?
|
||||
Dimension maxSize;
|
||||
int containerSerializedDataVersion;
|
||||
|
||||
public Component[] getComponents()
|
||||
/* Anything else is non-serializable, and should be declared "transient". */
|
||||
transient ContainerListener containerListener;
|
||||
|
||||
public Container()
|
||||
{
|
||||
Component[] result = new Component[componentCount];
|
||||
if (componentCount > 0)
|
||||
System.arraycopy(components, 0, result, 0, componentCount);
|
||||
return result;
|
||||
}
|
||||
|
||||
public int getComponentCount()
|
||||
{
|
||||
return ncomponents;
|
||||
}
|
||||
|
||||
/** @deprecated Use getComponentCount() instead. */
|
||||
public int countComponents()
|
||||
{
|
||||
return ncomponents;
|
||||
}
|
||||
|
||||
public Component getComponent (int n)
|
||||
{
|
||||
if (n < 0 || n >= componentCount)
|
||||
if (n < 0 || n >= ncomponents)
|
||||
throw new ArrayIndexOutOfBoundsException("no such component");
|
||||
return components[n];
|
||||
return component[n];
|
||||
}
|
||||
|
||||
public Component[] getComponents()
|
||||
{
|
||||
Component[] result = new Component[ncomponents];
|
||||
if (ncomponents > 0)
|
||||
System.arraycopy(component, 0, result, 0, ncomponents);
|
||||
return result;
|
||||
}
|
||||
|
||||
public Insets getInsets()
|
||||
{
|
||||
// FIXME
|
||||
return null;
|
||||
}
|
||||
|
||||
/** @deprecated Use getInsets() instead. */
|
||||
public Insets insets()
|
||||
{
|
||||
return getInsets();
|
||||
}
|
||||
|
||||
public Component add(Component comp)
|
||||
{
|
||||
// FIXME
|
||||
return null;
|
||||
}
|
||||
|
||||
public Component add(String name, Component comp)
|
||||
{
|
||||
// FIXME
|
||||
return null;
|
||||
}
|
||||
|
||||
public Component add(Component comp, int index)
|
||||
{
|
||||
// FIXME
|
||||
return null;
|
||||
}
|
||||
|
||||
public void add(Component comp, Object constraints)
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
public void add(Component comp, Object constraints, int index)
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
protected void addImpl(Component comp, Object constraints, int index)
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
public void remove(int index)
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
public void remove(Component comp)
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
public void removeAll()
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
public LayoutManager getLayout()
|
||||
{
|
||||
return layoutMgr;
|
||||
}
|
||||
|
||||
public void setLayout(LayoutManager mgr)
|
||||
{
|
||||
layoutMgr = mgr;
|
||||
// FIXME
|
||||
}
|
||||
|
||||
public void doLayout()
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
/** @deprecated Use doLayout() instead. */
|
||||
public void layout()
|
||||
{
|
||||
doLayout();
|
||||
}
|
||||
|
||||
public void invalidate()
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
public void validate()
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
protected void validateTree()
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
public void setFont(Font f)
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
public Dimension getPreferredSize()
|
||||
{
|
||||
// FIXME
|
||||
return null;
|
||||
}
|
||||
|
||||
/** @deprecated Use getPreferredSize() instead */
|
||||
public Dimension preferredSize()
|
||||
{
|
||||
return getPreferredSize();
|
||||
}
|
||||
|
||||
public Dimension getMinimumSize()
|
||||
{
|
||||
// FIXME
|
||||
return null;
|
||||
}
|
||||
|
||||
/** @deprecated Use getMinimumSize() instead */
|
||||
public Dimension minimumSize()
|
||||
{
|
||||
return getMinimumSize();
|
||||
}
|
||||
|
||||
public Dimension getMaximumSize()
|
||||
{
|
||||
// FIXME
|
||||
return null;
|
||||
}
|
||||
|
||||
public float getAlignmentX()
|
||||
{
|
||||
// FIXME
|
||||
return 0;
|
||||
}
|
||||
|
||||
public float getAlignmentY()
|
||||
{
|
||||
// FIXME
|
||||
return 0;
|
||||
}
|
||||
|
||||
public void paint(Graphics g)
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
public void update(Graphics g)
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
public void print(Graphics g)
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
public void paintComponents(Graphics g)
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
public void printComponents(Graphics g)
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
void dispatchEventImpl(AWTEvent e)
|
||||
{
|
||||
if ((e.id <= ContainerEvent.CONTAINER_LAST
|
||||
&& e.id >= ContainerEvent.CONTAINER_FIRST)
|
||||
&& (containerListener != null
|
||||
|| (eventMask & AWTEvent.CONTAINER_EVENT_MASK) != 0))
|
||||
processEvent(e);
|
||||
else super.dispatchEventImpl(e);
|
||||
}
|
||||
|
||||
public void addContainerListener(ContainerListener l)
|
||||
{
|
||||
containerListener = (ContainerListener)
|
||||
AWTEventMulticaster.add(containerListener, l);
|
||||
}
|
||||
|
||||
public void removeContainerListener(ContainerListener l)
|
||||
{
|
||||
containerListener = (ContainerListener)
|
||||
AWTEventMulticaster.remove(containerListener, l);
|
||||
}
|
||||
|
||||
/** @since 1.3 */
|
||||
public EventListener[] getListeners(Class listenerType)
|
||||
{
|
||||
if (listenerType == ContainerListener.class)
|
||||
return getListenersImpl(listenerType, containerListener);
|
||||
else return super.getListeners(listenerType);
|
||||
}
|
||||
|
||||
protected void processEvent(AWTEvent e)
|
||||
{
|
||||
if (e instanceof ContainerEvent)
|
||||
processContainerEvent((ContainerEvent) e);
|
||||
else super.processEvent(e);
|
||||
}
|
||||
|
||||
protected void processContainerEvent(ContainerEvent e)
|
||||
{
|
||||
if (componentListener == null)
|
||||
return;
|
||||
switch (e.id)
|
||||
{
|
||||
case ContainerEvent.COMPONENT_ADDED:
|
||||
containerListener.componentAdded(e);
|
||||
break;
|
||||
|
||||
case ContainerEvent.COMPONENT_REMOVED:
|
||||
containerListener.componentRemoved(e);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/** @deprecated */
|
||||
public void deliverEvent(Event e)
|
||||
{
|
||||
}
|
||||
|
||||
public Component getComponentAt(int x, int y)
|
||||
{
|
||||
// FIXME
|
||||
return null;
|
||||
}
|
||||
|
||||
/** @deprecated Use getComponentAt() instead */
|
||||
public Component locate(int x, int y)
|
||||
{
|
||||
return getComponentAt(x, y);
|
||||
}
|
||||
|
||||
public Component getComponentAt(Point p)
|
||||
{
|
||||
return getComponentAt(p.x, p.y);
|
||||
}
|
||||
|
||||
public Component findComponentAt(int x, int y)
|
||||
{
|
||||
// FIXME
|
||||
return null;
|
||||
}
|
||||
|
||||
public Component findComponentAt(Point p)
|
||||
{
|
||||
return findComponentAt(p.x, p.y);
|
||||
}
|
||||
|
||||
public void addNotify ()
|
||||
{
|
||||
for (int i = ncomponents; --i >= 0; )
|
||||
component[i].addNotify();
|
||||
}
|
||||
|
||||
public void removeNotify()
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
public boolean isAncestorOf (Component comp)
|
||||
@ -42,18 +336,18 @@ public abstract class Container extends Component
|
||||
}
|
||||
}
|
||||
|
||||
public Component add (String name, Component comp)
|
||||
protected String paramString()
|
||||
{
|
||||
/* FIXME */
|
||||
return comp;
|
||||
return "FIXME";
|
||||
}
|
||||
|
||||
public void addNotify ()
|
||||
|
||||
public void list(PrintStream out, int indent)
|
||||
{
|
||||
for (int i = componentCount; --i >= 0; )
|
||||
components[i].addNotify();
|
||||
// FIXME
|
||||
}
|
||||
|
||||
public void list(PrintWriter out, int indent)
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
public void setLayout (LayoutManager layout)
|
||||
{ /* FIXME */ }
|
||||
}
|
||||
|
87
libjava/java/awt/Cursor.java
Normal file
87
libjava/java/awt/Cursor.java
Normal file
@ -0,0 +1,87 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt;
|
||||
|
||||
/* A somewhat incomplete placeholder. */
|
||||
|
||||
public class Cursor
|
||||
{
|
||||
public static final int DEFAULT_CURSOR = 0,
|
||||
CROSSHAIR_CURSOR = 1,
|
||||
TEXT_CURSOR = 2,
|
||||
WAIT_CURSOR = 3,
|
||||
SW_RESIZE_CURSOR = 4,
|
||||
SE_RESIZE_CURSOR = 5,
|
||||
NW_RESIZE_CURSOR = 6,
|
||||
NE_RESIZE_CURSOR = 7,
|
||||
N_RESIZE_CURSOR = 8,
|
||||
S_RESIZE_CURSOR = 9,
|
||||
W_RESIZE_CURSOR = 10,
|
||||
E_RESIZE_CURSOR = 11,
|
||||
HAND_CURSOR = 12,
|
||||
MOVE_CURSOR = 13,
|
||||
CUSTOM_CURSOR = 0xFFFFFFFF;
|
||||
|
||||
private static final int PREDEFINED_COUNT = 14;
|
||||
|
||||
protected static Cursor[] predefined = new Cursor[PREDEFINED_COUNT];
|
||||
protected String name;
|
||||
int type;
|
||||
|
||||
public Cursor(int type)
|
||||
{
|
||||
this.type = type;
|
||||
// FIXME: lookup and set name?
|
||||
}
|
||||
|
||||
/** This constructor is used internally only.
|
||||
* Application code should call Toolkit.createCustomCursor().
|
||||
*/
|
||||
protected Cursor(String name)
|
||||
{
|
||||
this.name = name;
|
||||
// FIXME
|
||||
}
|
||||
|
||||
public static Cursor getPredefinedCursor(int type)
|
||||
{
|
||||
if (type >= PREDEFINED_COUNT)
|
||||
return null;
|
||||
if (predefined[type] == null)
|
||||
predefined[type] = new Cursor(type);
|
||||
return predefined[type];
|
||||
}
|
||||
|
||||
public static Cursor getSystemCustomCursor(String name)
|
||||
throws AWTException
|
||||
{
|
||||
// FIXME
|
||||
return null;
|
||||
}
|
||||
|
||||
public static Cursor getDefaultCursor()
|
||||
{
|
||||
return getPredefinedCursor(0);
|
||||
}
|
||||
|
||||
public int getType()
|
||||
{
|
||||
return type;
|
||||
}
|
||||
|
||||
public String getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
public String toString()
|
||||
{
|
||||
return (this.getClass() + "[" + getName() + "]");
|
||||
}
|
||||
}
|
@ -11,8 +11,7 @@ package java.awt;
|
||||
/**
|
||||
* Written using on-line Java Platform 1.2 API Specification, as well
|
||||
* as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
|
||||
* Status: Believed complete and correct, except for the paramString()
|
||||
* method, which is stubbed.
|
||||
* Status: Believed complete and correct.
|
||||
*/
|
||||
|
||||
public class Event
|
||||
@ -132,7 +131,7 @@ public class Event
|
||||
|
||||
protected String paramString ()
|
||||
{
|
||||
return "Event.paramString() not implemented";
|
||||
return "id=" + id + ",x=" + x + ",y=" + y + "target=" + target;
|
||||
}
|
||||
|
||||
public boolean shiftDown()
|
||||
@ -142,9 +141,7 @@ public class Event
|
||||
|
||||
public String toString()
|
||||
{
|
||||
String r = getClass() + "[id=" + id + ",x=" + x + ",y=" + y + "target="
|
||||
+ ((target == null) ? "null" : target) + "]";
|
||||
return r;
|
||||
return getClass().getName() + "[" + paramString() + "]";
|
||||
}
|
||||
|
||||
public void translate (int x, int y)
|
||||
|
45
libjava/java/awt/EventDispatchThread.java
Normal file
45
libjava/java/awt/EventDispatchThread.java
Normal file
@ -0,0 +1,45 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
/** @author Bryce McKinlay */
|
||||
|
||||
/* Status: believed complete, but untested. */
|
||||
|
||||
package java.awt;
|
||||
|
||||
class EventDispatchThread extends Thread
|
||||
{
|
||||
private static int dispatchThreadNum = 1;
|
||||
|
||||
private EventQueue queue;
|
||||
|
||||
EventDispatchThread(EventQueue queue)
|
||||
{
|
||||
super();
|
||||
setName("AWT-EventQueue-" + dispatchThreadNum++);
|
||||
this.queue = queue;
|
||||
setPriority(NORM_PRIORITY + 1);
|
||||
}
|
||||
|
||||
public void run()
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
try
|
||||
{
|
||||
AWTEvent evt = queue.getNextEvent();
|
||||
queue.dispatchEvent(evt);
|
||||
}
|
||||
catch (Throwable x)
|
||||
{
|
||||
System.err.println("Exception during event dispatch:");
|
||||
x.printStackTrace(System.err);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
259
libjava/java/awt/EventQueue.java
Normal file
259
libjava/java/awt/EventQueue.java
Normal file
@ -0,0 +1,259 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt;
|
||||
|
||||
import java.awt.event.*;
|
||||
import java.util.EmptyStackException;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
/* Written using on-line Java 2 Platform Standard Edition v1.3 API
|
||||
* Specification, as well as "The Java Class Libraries", 2nd edition
|
||||
* (Addison-Wesley, 1998).
|
||||
* Status: Believed complete, but untested. Check FIXME's.
|
||||
*/
|
||||
|
||||
/** @author Bryce McKinlay */
|
||||
|
||||
public class EventQueue
|
||||
{
|
||||
private static final int INITIAL_QUEUE_DEPTH = 8;
|
||||
private AWTEvent[] queue = new AWTEvent[INITIAL_QUEUE_DEPTH];
|
||||
|
||||
private int next_in = 0; // Index where next event will be added to queue
|
||||
private int next_out = 0; // Index of next event to be removed from queue
|
||||
|
||||
private EventQueue next;
|
||||
private EventQueue prev;
|
||||
|
||||
private EventDispatchThread dispatchThread = new EventDispatchThread(this);
|
||||
|
||||
public EventQueue()
|
||||
{
|
||||
}
|
||||
|
||||
public synchronized AWTEvent getNextEvent()
|
||||
throws InterruptedException
|
||||
{
|
||||
if (next != null)
|
||||
return next.getNextEvent();
|
||||
|
||||
while (next_in == next_out)
|
||||
wait();
|
||||
|
||||
AWTEvent res = queue[next_out];
|
||||
|
||||
if (++next_out == queue.length)
|
||||
next_out = 0;
|
||||
return res;
|
||||
}
|
||||
|
||||
/** @specnote Does not block. Returns null if there are no events on the
|
||||
* queue.
|
||||
*/
|
||||
public synchronized AWTEvent peekEvent()
|
||||
{
|
||||
if (next != null)
|
||||
return next.peekEvent();
|
||||
|
||||
if (next_in != next_out)
|
||||
return queue[next_out];
|
||||
else return null;
|
||||
}
|
||||
|
||||
/** @specnote Does not block. Returns null if there are no matching events
|
||||
* on the queue.
|
||||
*/
|
||||
public synchronized AWTEvent peekEvent(int id)
|
||||
{
|
||||
if (next != null)
|
||||
return next.peekEvent(id);
|
||||
|
||||
int i = next_out;
|
||||
while (i != next_in)
|
||||
{
|
||||
AWTEvent qevt = queue[i];
|
||||
if (qevt.id == id)
|
||||
return qevt;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public synchronized void postEvent(AWTEvent evt)
|
||||
{
|
||||
if (next != null)
|
||||
{
|
||||
next.postEvent(evt);
|
||||
return;
|
||||
}
|
||||
// FIXME: Security checks?
|
||||
|
||||
/* Check for any events already on the queue with the same source
|
||||
and ID. */
|
||||
int i = next_out;
|
||||
while (i != next_in)
|
||||
{
|
||||
AWTEvent qevt = queue[i];
|
||||
Object src;
|
||||
if (qevt.id == evt.id
|
||||
&& (src = qevt.getSource()) == evt.getSource()
|
||||
&& src instanceof Component)
|
||||
{
|
||||
/* If there are, call coalesceEvents on the source component
|
||||
to see if they can be combined. */
|
||||
Component srccmp = (Component) src;
|
||||
AWTEvent coalesced_evt = srccmp.coalesceEvents(qevt, evt);
|
||||
if (coalesced_evt != null)
|
||||
{
|
||||
/* Yes. Replace the existing event with the combined event. */
|
||||
queue[i] = coalesced_evt;
|
||||
return;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (++i == queue.length)
|
||||
i = 0;
|
||||
}
|
||||
|
||||
queue[next_in] = evt;
|
||||
if (++next_in == queue.length)
|
||||
next_in = 0;
|
||||
|
||||
if (next_in == next_out)
|
||||
{
|
||||
/* Queue is full. Extend it. */
|
||||
AWTEvent[] oldQueue = queue;
|
||||
queue = new AWTEvent[queue.length * 2];
|
||||
|
||||
int len = oldQueue.length - next_out;
|
||||
System.arraycopy(oldQueue, next_out, queue, 0, len);
|
||||
if (next_out != 0)
|
||||
System.arraycopy(oldQueue, 0, queue, len, next_out);
|
||||
|
||||
next_out = 0;
|
||||
next_in = oldQueue.length;
|
||||
}
|
||||
notify();
|
||||
}
|
||||
|
||||
/** @since JDK1.2 */
|
||||
public static void invokeAndWait(Runnable runnable)
|
||||
throws InterruptedException, InvocationTargetException
|
||||
{
|
||||
// FIXME: Is this an appropriate way to access the event queue?
|
||||
EventQueue eq = Toolkit.systemEventQueue;
|
||||
Thread current = Thread.currentThread();
|
||||
if (current == eq.dispatchThread)
|
||||
throw new Error("Can't call invokeAndWait from event dispatch thread");
|
||||
|
||||
InvocationEvent ie =
|
||||
new InvocationEvent(eq, runnable, current, true);
|
||||
|
||||
eq.postEvent(ie);
|
||||
|
||||
synchronized (current)
|
||||
{
|
||||
current.wait();
|
||||
}
|
||||
|
||||
Exception exception;
|
||||
|
||||
if ((exception = ie.getException()) != null)
|
||||
throw new InvocationTargetException(exception);
|
||||
}
|
||||
|
||||
/** @since JDK1.2 */
|
||||
static void invokeLater(Runnable runnable)
|
||||
{
|
||||
// FIXME: Is this an appropriate way to access the event queue?
|
||||
EventQueue eq = Toolkit.systemEventQueue;
|
||||
|
||||
InvocationEvent ie =
|
||||
new InvocationEvent(eq, runnable, null, false);
|
||||
|
||||
eq.postEvent(ie);
|
||||
}
|
||||
|
||||
static boolean isDispatchThread()
|
||||
{
|
||||
// FIXME: Is this an appropriate way to access the event queue?
|
||||
EventQueue eq = Toolkit.systemEventQueue;
|
||||
return (Thread.currentThread() == eq.dispatchThread);
|
||||
}
|
||||
|
||||
/** Allows a custom EventQueue implementation to replace this one.
|
||||
* All pending events are transferred to the new queue. Calls to postEvent,
|
||||
* getNextEvent, and peekEvent are forwarded to the pushed queue until it
|
||||
* is removed with a pop().
|
||||
*/
|
||||
public synchronized void push(EventQueue newEventQueue)
|
||||
{
|
||||
int i = next_out;
|
||||
while (i != next_in)
|
||||
{
|
||||
newEventQueue.postEvent(queue[i]);
|
||||
next_out = i;
|
||||
if (++i == queue.length)
|
||||
i = 0;
|
||||
}
|
||||
|
||||
next = newEventQueue;
|
||||
newEventQueue.prev = this;
|
||||
}
|
||||
|
||||
/** Transfer any pending events from this queue back to the parent queue that
|
||||
* was previously push()ed. Event dispatch from this queue is suspended. */
|
||||
protected void pop() throws EmptyStackException
|
||||
{
|
||||
if (prev == null)
|
||||
throw new EmptyStackException();
|
||||
|
||||
// Don't synchronize both this and prev at the same time, or deadlock could
|
||||
// occur.
|
||||
synchronized (prev)
|
||||
{
|
||||
prev.next = null;
|
||||
}
|
||||
|
||||
synchronized (this)
|
||||
{
|
||||
int i = next_out;
|
||||
while (i != next_in)
|
||||
{
|
||||
prev.postEvent(queue[i]);
|
||||
next_out = i;
|
||||
if (++i == queue.length)
|
||||
i = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void dispatchEvent(AWTEvent evt)
|
||||
{
|
||||
if (evt instanceof ActiveEvent)
|
||||
{
|
||||
ActiveEvent active_evt = (ActiveEvent) evt;
|
||||
active_evt.dispatch();
|
||||
}
|
||||
else
|
||||
{
|
||||
Object source = evt.getSource();
|
||||
|
||||
if (source instanceof Component)
|
||||
{
|
||||
Component srccmp = (Component) source;
|
||||
srccmp.dispatchEvent(evt);
|
||||
}
|
||||
else if (source instanceof MenuComponent)
|
||||
{
|
||||
MenuComponent srccmp = (MenuComponent) source;
|
||||
srccmp.dispatchEvent(evt);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -8,6 +8,8 @@ details. */
|
||||
|
||||
package java.awt;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* @author Warren Levy <warrenl@cygnus.com>
|
||||
* @date March 16, 2000.
|
||||
@ -71,6 +73,18 @@ public class Font
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getFamily()
|
||||
{
|
||||
// FIXME
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getFamily(Locale l)
|
||||
{
|
||||
// FIXME
|
||||
return null;
|
||||
}
|
||||
|
||||
public int getStyle()
|
||||
{
|
||||
return style;
|
||||
@ -87,4 +101,20 @@ public class Font
|
||||
}
|
||||
|
||||
public static Font decode(String str) { return null; } // FIXME
|
||||
|
||||
public String toString()
|
||||
{
|
||||
String style_str = "";
|
||||
if (isPlain())
|
||||
style_str = "plain";
|
||||
else
|
||||
{
|
||||
if (isBold())
|
||||
style_str += "bold";
|
||||
if (isItalic())
|
||||
style_str += "italic";
|
||||
}
|
||||
return getClass().getName() + "[family=" + getFamily() + ",name=" +
|
||||
getName() + ",style=" + style_str + ",size=" + getSize() + "]";
|
||||
}
|
||||
}
|
||||
|
153
libjava/java/awt/FontMetrics.java
Normal file
153
libjava/java/awt/FontMetrics.java
Normal file
@ -0,0 +1,153 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt;
|
||||
|
||||
/**
|
||||
* Status: Stubbed; A very incomplete implementation.
|
||||
*/
|
||||
|
||||
public class FontMetrics implements java.io.Serializable
|
||||
{
|
||||
protected Font font;
|
||||
|
||||
protected FontMetrics(Font font)
|
||||
{
|
||||
this.font = font;
|
||||
}
|
||||
|
||||
public Font getFont()
|
||||
{
|
||||
return font;
|
||||
}
|
||||
|
||||
public int getLeading()
|
||||
{
|
||||
// FIXME??
|
||||
return getHeight() - (getDescent() + getAscent());
|
||||
}
|
||||
|
||||
public int getAscent()
|
||||
{
|
||||
// FIXME??
|
||||
return getHeight() - (getDescent() + getLeading());
|
||||
}
|
||||
|
||||
public int getDescent()
|
||||
{
|
||||
// FIXME??
|
||||
return getHeight() - getDescent();
|
||||
}
|
||||
|
||||
public int getHeight()
|
||||
{
|
||||
// FIXME??
|
||||
return getLeading() + getAscent() + getDescent();
|
||||
}
|
||||
|
||||
public int getMaxAscent()
|
||||
{
|
||||
// FIXME
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int getMaxDescent()
|
||||
{
|
||||
// FIXME
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* @deprecated Use getMaxDescent() instead. */
|
||||
public int getMaxDecent()
|
||||
{
|
||||
return getMaxDescent();
|
||||
}
|
||||
|
||||
public int getMaxAdvance()
|
||||
{
|
||||
// FIXME
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int charWidth(int ch)
|
||||
{
|
||||
// FIXME
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int charWidth(char ch)
|
||||
{
|
||||
// FIXME
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int stringWidth(String str)
|
||||
{
|
||||
return charsWidth(str.toCharArray(), 0, str.length());
|
||||
}
|
||||
|
||||
public int charsWidth(char[] data, int off, int len)
|
||||
{
|
||||
// FIXME
|
||||
return -1;
|
||||
}
|
||||
|
||||
public int bytesWidth(byte[] data, int off, int len)
|
||||
{
|
||||
// FIXME?
|
||||
return -1;
|
||||
}
|
||||
|
||||
public int[] getWidths()
|
||||
{
|
||||
// FIXME
|
||||
return new int[0];
|
||||
}
|
||||
|
||||
public boolean hasUniformLineMetrics()
|
||||
{
|
||||
// FIXME
|
||||
return false;
|
||||
}
|
||||
|
||||
// Don't have LineMetrics yet...
|
||||
/*
|
||||
public LineMetrics getLineMetrics(String str, Graphics context)
|
||||
|
||||
public LineMetrics getLineMetrics(String str, int beginIndex, int limit,
|
||||
Graphics context)
|
||||
|
||||
public LineMetrics getLineMetrics(char[] chars, int beginIndex, int limit,
|
||||
Graphics context)
|
||||
|
||||
public LineMetrics getLineMetrics(CharacterIterator ci, int beginIndex,
|
||||
int limit, Graphics context)
|
||||
*/
|
||||
|
||||
// Don't have Java2D yet.
|
||||
/*
|
||||
public Rectangle2D getStringBounds(String str, Graphics context)
|
||||
|
||||
public Rectangle2D getStringBounds(String str, int beginIndex, int limit,
|
||||
Graphics context)
|
||||
|
||||
public Rectangle2D getStringBounds(char[] chars, int beginIndex, int limit,
|
||||
Graphics context)
|
||||
|
||||
public Rectangle2D getStringBounds(CharacterIterator ci, int beginIndex,
|
||||
int limit, Graphics context)
|
||||
|
||||
public Rectangle2D getMaxCharBounds(Graphics context)
|
||||
*/
|
||||
|
||||
public String toString()
|
||||
{
|
||||
return this.getClass() + "[font=" + font + ",ascent=" + getAscent()
|
||||
+ ",descent=" + getDescent() + ",height=" + getHeight() + "]";
|
||||
}
|
||||
}
|
28
libjava/java/awt/GraphicsConfiguration.java
Normal file
28
libjava/java/awt/GraphicsConfiguration.java
Normal file
@ -0,0 +1,28 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
/* Status: Complete, but commented out until we have the required Java2D
|
||||
classes. */
|
||||
|
||||
package java.awt;
|
||||
|
||||
public abstract class GraphicsConfiguration
|
||||
{
|
||||
/*
|
||||
public abstract GraphicsDevice getDevice();
|
||||
public abstract BufferedImage createCompatibleImage(int width, int height);
|
||||
public abstract BufferedImage createCompatibleImage(int width, int height,
|
||||
int transparency);
|
||||
public abstract ColorModel getColorModel();
|
||||
public abstract ColorModel getColorModel(int transparency);
|
||||
public abstract AffineTransform getDefaultTransform();
|
||||
public abstract AffineTransform getNormalizingTransform();
|
||||
*/
|
||||
/* @since 1.3 */
|
||||
public abstract Rectangle getBounds();
|
||||
}
|
56
libjava/java/awt/Insets.java
Normal file
56
libjava/java/awt/Insets.java
Normal file
@ -0,0 +1,56 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt;
|
||||
|
||||
public class Insets implements Cloneable, java.io.Serializable
|
||||
{
|
||||
public int top;
|
||||
public int left;
|
||||
public int bottom;
|
||||
public int right;
|
||||
|
||||
public Insets(int top, int left, int bottom, int right)
|
||||
{
|
||||
this.top = top;
|
||||
this.left = left;
|
||||
this.bottom = bottom;
|
||||
this.right = right;
|
||||
}
|
||||
|
||||
public boolean equals(Object obj)
|
||||
{
|
||||
if (obj instanceof Insets)
|
||||
{
|
||||
Insets i = (Insets) obj;
|
||||
return (i.top == top
|
||||
&& i.left == left
|
||||
&& i.bottom == bottom
|
||||
&& i.right == right);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public int hashCode()
|
||||
{
|
||||
// FIXME: what is the correct algorithm for this?
|
||||
return (top * (2 * left) * (3 * right) * (4 * bottom));
|
||||
}
|
||||
|
||||
public String toString()
|
||||
{
|
||||
return (getClass() + "[top=" + top + ",left=" + left + ",bottom="
|
||||
+ bottom + ",right=" + right + "]");
|
||||
}
|
||||
|
||||
public Object clone()
|
||||
{
|
||||
Insets r = new Insets(top, left, bottom, right);
|
||||
return r;
|
||||
}
|
||||
}
|
@ -8,26 +8,128 @@ details. */
|
||||
|
||||
package java.awt;
|
||||
|
||||
/* A very incomplete placeholder. */
|
||||
import java.util.Vector;
|
||||
|
||||
/* Status: Incomplete. */
|
||||
|
||||
public class Menu extends MenuItem implements MenuContainer
|
||||
{
|
||||
public Menu (String label)
|
||||
// Fields from the serialization spec. Decalare others "transient".
|
||||
Vector items = new Vector();
|
||||
boolean tearOff;
|
||||
boolean isHelpMenu;
|
||||
int menuSerializedDataVersion;
|
||||
|
||||
static final MenuItem separator = new MenuItem("-");
|
||||
|
||||
public Menu()
|
||||
{
|
||||
super(label); // ???
|
||||
throw new Error ("java.awt.Menu: not implemented");
|
||||
this(null, false);
|
||||
}
|
||||
|
||||
public Menu(String label)
|
||||
{
|
||||
this(label, false);
|
||||
}
|
||||
|
||||
public Menu(String label, boolean tearOff)
|
||||
{
|
||||
super(label);
|
||||
this.tearOff = tearOff;
|
||||
}
|
||||
|
||||
public void add (String label)
|
||||
{ /* FIXME */ }
|
||||
|
||||
public synchronized MenuItem add (MenuItem item)
|
||||
public void addNotify()
|
||||
{
|
||||
/* FIXME */
|
||||
return item;
|
||||
// FIXME
|
||||
}
|
||||
|
||||
public Font getFont() { return null; } // FIXME
|
||||
public boolean postEvent(Event evt) { return false; } // FIXME
|
||||
public void remove(MenuComponent comp) { } // FIXME
|
||||
public void removeNotify()
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
public boolean isTearOff()
|
||||
{
|
||||
return tearOff;
|
||||
}
|
||||
|
||||
public int getItemCount()
|
||||
{
|
||||
return items.size();
|
||||
}
|
||||
|
||||
/** @deprecated Use getItemCount() instead. */
|
||||
public int countItems()
|
||||
{
|
||||
return getItemCount();
|
||||
}
|
||||
|
||||
public MenuItem getItem(int index)
|
||||
{
|
||||
return (MenuItem) items.elementAt(index);
|
||||
}
|
||||
|
||||
public synchronized MenuItem add(MenuItem mi)
|
||||
{
|
||||
items.addElement(mi);
|
||||
if (mi.parent != null)
|
||||
{
|
||||
mi.parent.remove(mi);
|
||||
}
|
||||
mi.parent = this;
|
||||
return mi;
|
||||
}
|
||||
|
||||
public void add(String label)
|
||||
{
|
||||
MenuItem mi = new MenuItem(label);
|
||||
this.add(mi);
|
||||
}
|
||||
|
||||
public synchronized void insert(MenuItem menuitem, int index)
|
||||
{
|
||||
if (index < 0)
|
||||
throw new IllegalArgumentException();
|
||||
items.insertElementAt(menuitem, index);
|
||||
}
|
||||
|
||||
public void insert(String label, int index)
|
||||
{
|
||||
MenuItem mi = new MenuItem(label);
|
||||
this.insert(mi, index);
|
||||
}
|
||||
|
||||
public void addSeparator()
|
||||
{
|
||||
this.add(separator);
|
||||
}
|
||||
|
||||
public void insertSeparator(int index)
|
||||
{
|
||||
this.insert(separator, index);
|
||||
}
|
||||
|
||||
public synchronized void remove(int index)
|
||||
{
|
||||
items.removeElementAt(index);
|
||||
}
|
||||
|
||||
public synchronized void remove(MenuComponent item)
|
||||
{
|
||||
items.removeElement(item);
|
||||
}
|
||||
|
||||
public synchronized void removeAll()
|
||||
{
|
||||
items.removeAllElements();
|
||||
}
|
||||
|
||||
public String paramString()
|
||||
{
|
||||
return getName() + ",label" + label + ",tearOff=" + tearOff +
|
||||
",isHelpMenu=" + isHelpMenu;
|
||||
}
|
||||
|
||||
// Accessibility API not yet implemented.
|
||||
// public AccessibleContext getAccessibleContext()
|
||||
}
|
||||
|
@ -1,15 +1,118 @@
|
||||
/* Copyright (C) 1999 Free Software Foundation
|
||||
/* Copyright (C) 1999, 2000 Free Software Foundation
|
||||
|
||||
This file is part of libjava.
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libjava License. Please consult the file "LIBJAVA_LICENSE" for
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt;
|
||||
|
||||
/* A very incomplete placeholder. */
|
||||
/* Status: partially complete, untested. */
|
||||
|
||||
public abstract class MenuComponent
|
||||
{
|
||||
// Fields from the serialization spec. Decalare others "transient".
|
||||
Font font;
|
||||
String name;
|
||||
boolean nameExplicitlySet;
|
||||
boolean newEventsOnly;
|
||||
//AccessibleContext accessibleContext;
|
||||
|
||||
transient MenuContainer parent;
|
||||
transient java.awt.peer.MenuComponentPeer peer;
|
||||
|
||||
public MenuComponent()
|
||||
{
|
||||
}
|
||||
|
||||
public String getName()
|
||||
{
|
||||
if (name == null && !nameExplicitlySet)
|
||||
name = generateName();
|
||||
return name;
|
||||
}
|
||||
|
||||
/** Subclasses should override this to generate unique names like
|
||||
* "menuitem0".
|
||||
*/
|
||||
String generateName()
|
||||
{
|
||||
// MenuComponent is abstract.
|
||||
return null;
|
||||
}
|
||||
|
||||
public void setName(String name)
|
||||
{
|
||||
nameExplicitlySet = true;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public MenuContainer getParent()
|
||||
{
|
||||
return parent;
|
||||
}
|
||||
|
||||
/** @deprecated Don't use this. */
|
||||
public java.awt.peer.MenuComponentPeer getPeer()
|
||||
{
|
||||
return peer;
|
||||
}
|
||||
|
||||
public Font getFont()
|
||||
{
|
||||
return font;
|
||||
}
|
||||
|
||||
public void setFont(Font f)
|
||||
{
|
||||
this.font = f;
|
||||
}
|
||||
|
||||
public void removeNotify()
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
/** @deprecated Replaced by dispatchEvent(AWTEvent) */
|
||||
public boolean postEvent(Event evt)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public final void dispatchEvent(AWTEvent e)
|
||||
{
|
||||
// FIXME
|
||||
dispatchEventImpl(e);
|
||||
}
|
||||
|
||||
void dispatchEventImpl(AWTEvent e)
|
||||
{
|
||||
// This is overridden by subclasses that support events.
|
||||
}
|
||||
|
||||
protected void processEvent(AWTEvent e)
|
||||
{
|
||||
// Nothing to do here? This is be overridden by subclasses that
|
||||
// support events.
|
||||
}
|
||||
|
||||
protected String paramString()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
public String toString()
|
||||
{
|
||||
return this.getClass().getName() + "[" + paramString() + "]";
|
||||
}
|
||||
|
||||
protected final Object getTreeLock()
|
||||
{
|
||||
// FIXME: figure out how the tree lock works.
|
||||
return null;
|
||||
}
|
||||
|
||||
// Accessibility API not yet implemented.
|
||||
// public AccessibleContext getAccessibleContext()
|
||||
}
|
||||
|
@ -1,25 +1,159 @@
|
||||
/* Copyright (C) 1999 Free Software Foundation
|
||||
/* Copyright (C) 1999, 2000 Free Software Foundation
|
||||
|
||||
This file is part of libjava.
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libjava License. Please consult the file "LIBJAVA_LICENSE" for
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt;
|
||||
import java.awt.event.*;
|
||||
import java.util.EventListener;
|
||||
|
||||
/* A very incomplete placeholder. */
|
||||
|
||||
public class MenuItem extends MenuComponent
|
||||
{
|
||||
// Fields from the serialization spec. Decalare others "transient".
|
||||
boolean enabled;
|
||||
String label;
|
||||
String actionCommand;
|
||||
long eventMask;
|
||||
MenuShortcut shortcut;
|
||||
int menuItemSerializedDataVersion;
|
||||
|
||||
transient ActionListener actionListener;
|
||||
|
||||
public MenuItem (String label)
|
||||
{
|
||||
throw new Error("java.awt.MenuItem: not implemented");
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
public synchronized void addActionListener (ActionListener listener)
|
||||
public String getLabel()
|
||||
{
|
||||
/* FIXME */
|
||||
return label;
|
||||
}
|
||||
|
||||
public synchronized void setLabel(String label)
|
||||
{
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
public boolean isEnabled()
|
||||
{
|
||||
return enabled;
|
||||
}
|
||||
|
||||
public synchronized void setEnabled(boolean b)
|
||||
{
|
||||
this.enabled = b;
|
||||
}
|
||||
|
||||
/** @deprecated Use setEnabled() instead. */
|
||||
public void enable()
|
||||
{
|
||||
setEnabled(true);
|
||||
}
|
||||
|
||||
/** @deprecated Use setEnabled() instead. */
|
||||
public void enable(boolean b)
|
||||
{
|
||||
setEnabled(b);
|
||||
}
|
||||
|
||||
/** @deprecated Use setEnabled() instead. */
|
||||
public void disable()
|
||||
{
|
||||
setEnabled(false);
|
||||
}
|
||||
|
||||
public MenuShortcut getShortcut()
|
||||
{
|
||||
return shortcut;
|
||||
}
|
||||
|
||||
public void setShortcut(MenuShortcut s)
|
||||
{
|
||||
this.shortcut = s;
|
||||
}
|
||||
|
||||
public void deleteShortcut()
|
||||
{
|
||||
setShortcut(null);
|
||||
}
|
||||
|
||||
protected final void enableEvents(long eventsToEnable)
|
||||
{
|
||||
eventMask |= eventsToEnable;
|
||||
// TODO: see comment in Component.enableEvents().
|
||||
}
|
||||
|
||||
protected final void disableEvents(long eventsToDisable)
|
||||
{
|
||||
eventMask &= ~eventsToDisable;
|
||||
}
|
||||
|
||||
public void setActionCommand(String command)
|
||||
{
|
||||
this.actionCommand = command;
|
||||
}
|
||||
|
||||
public String getActionCommand()
|
||||
{
|
||||
return actionCommand;
|
||||
}
|
||||
|
||||
public synchronized void addActionListener(ActionListener l)
|
||||
{
|
||||
actionListener = AWTEventMulticaster.add(actionListener, l);
|
||||
if (actionListener != null)
|
||||
enableEvents(AWTEvent.ACTION_EVENT_MASK);
|
||||
}
|
||||
|
||||
public synchronized void removeActionListener(ActionListener l)
|
||||
{
|
||||
actionListener = AWTEventMulticaster.remove(actionListener, l);
|
||||
}
|
||||
|
||||
/** Returns all registered EventListers of the given listenerType.
|
||||
* listenerType must be a subclass of EventListener, or a
|
||||
* ClassClassException is thrown.
|
||||
* @since 1.3
|
||||
*/
|
||||
public EventListener[] getListeners(Class listenerType)
|
||||
{
|
||||
if (listenerType == ActionListener.class)
|
||||
return Component.getListenersImpl(listenerType, actionListener);
|
||||
else
|
||||
return Component.getListenersImpl(listenerType, null);
|
||||
}
|
||||
|
||||
void dispatchEventImpl(AWTEvent e)
|
||||
{
|
||||
if (e.id <= ActionEvent.ACTION_LAST
|
||||
&& e.id >= ActionEvent.ACTION_FIRST
|
||||
&& (actionListener != null
|
||||
|| (eventMask & AWTEvent.ACTION_EVENT_MASK) != 0))
|
||||
processEvent(e);
|
||||
}
|
||||
|
||||
protected void processEvent(AWTEvent e)
|
||||
{
|
||||
if (e instanceof ActionEvent)
|
||||
processActionEvent((ActionEvent) e);
|
||||
}
|
||||
|
||||
protected void processActionEvent(ActionEvent e)
|
||||
{
|
||||
if (actionListener != null)
|
||||
actionListener.actionPerformed(e);
|
||||
}
|
||||
|
||||
public String paramString()
|
||||
{
|
||||
return name + ",label=" + label;
|
||||
}
|
||||
|
||||
// Accessibility API not yet implemented.
|
||||
// public AccessibleContext getAccessibleContext()
|
||||
}
|
||||
|
75
libjava/java/awt/MenuShortcut.java
Normal file
75
libjava/java/awt/MenuShortcut.java
Normal file
@ -0,0 +1,75 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt;
|
||||
|
||||
import java.awt.event.KeyEvent;
|
||||
|
||||
/* Status: Complete, except for hashCode(). Untested. */
|
||||
|
||||
public class MenuShortcut
|
||||
{
|
||||
// Fields from the serialization spec. Decalare others "transient".
|
||||
int key;
|
||||
boolean usesShift;
|
||||
|
||||
public MenuShortcut(int key)
|
||||
{
|
||||
this.key = key;
|
||||
}
|
||||
|
||||
public MenuShortcut(int key, boolean useShiftModifier)
|
||||
{
|
||||
this.key = key;
|
||||
this.usesShift = useShiftModifier;
|
||||
}
|
||||
|
||||
public int getKey()
|
||||
{
|
||||
return key;
|
||||
}
|
||||
|
||||
public boolean usesShiftModifier()
|
||||
{
|
||||
return usesShift;
|
||||
}
|
||||
|
||||
public boolean equals(MenuShortcut ms)
|
||||
{
|
||||
return (ms.key == key && ms.usesShift == usesShift);
|
||||
}
|
||||
|
||||
public boolean equals(Object obj)
|
||||
{
|
||||
if (obj instanceof MenuShortcut)
|
||||
{
|
||||
MenuShortcut ms = (MenuShortcut) obj;
|
||||
return (ms.key == key && ms.usesShift == usesShift);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public int hashCode()
|
||||
{
|
||||
// FIXME: find/implement the correct algorithm for this
|
||||
if (usesShift)
|
||||
return (2 * key);
|
||||
else
|
||||
return key;
|
||||
}
|
||||
|
||||
public String toString()
|
||||
{
|
||||
return paramString(); // ?
|
||||
}
|
||||
|
||||
protected String paramString()
|
||||
{
|
||||
return KeyEvent.getKeyText(key);
|
||||
}
|
||||
}
|
32
libjava/java/awt/Panel.java
Normal file
32
libjava/java/awt/Panel.java
Normal file
@ -0,0 +1,32 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt;
|
||||
|
||||
/* An incomplete placeholder. */
|
||||
|
||||
public class Panel extends Container
|
||||
{
|
||||
public Panel()
|
||||
{
|
||||
super();
|
||||
}
|
||||
|
||||
public Panel(LayoutManager layout)
|
||||
{
|
||||
super();
|
||||
setLayout (layout);
|
||||
}
|
||||
|
||||
//public AccessibleContext getAccessibleContext()
|
||||
|
||||
public void addNotify()
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
}
|
37
libjava/java/awt/PopupMenu.java
Normal file
37
libjava/java/awt/PopupMenu.java
Normal file
@ -0,0 +1,37 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libjava.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libjava License. Please consult the file "LIBJAVA_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt;
|
||||
|
||||
/* Status: Incomplete. */
|
||||
|
||||
public class PopupMenu extends Menu
|
||||
{
|
||||
public PopupMenu()
|
||||
{
|
||||
super();
|
||||
}
|
||||
|
||||
public PopupMenu(String label)
|
||||
{
|
||||
super(label);
|
||||
}
|
||||
|
||||
public void addNotify()
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
public void show(Component origin, int x, int y)
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
|
||||
// Accessibility API not yet implemented.
|
||||
// public AccessibleContext getAccessibleContext()
|
||||
}
|
@ -8,28 +8,324 @@ details. */
|
||||
|
||||
package java.awt;
|
||||
|
||||
/* Status: Quite imcomplete. */
|
||||
/* Status: Mostly complete. Some of the Java2D stuff is commented out. */
|
||||
|
||||
public class Rectangle implements Shape
|
||||
// FIXME: Should extend Rectangle2D for 1.2 implementation
|
||||
public class Rectangle implements Cloneable, Shape
|
||||
{
|
||||
public int x;
|
||||
public int y;
|
||||
public int width;
|
||||
public int height;
|
||||
|
||||
public Rectangle () { }
|
||||
|
||||
public Rectangle (int width, int height)
|
||||
{ this.width = width; this.height = height; }
|
||||
|
||||
public Rectangle (int x, int y, int width, int height)
|
||||
public Rectangle()
|
||||
{
|
||||
this.x = x; this.y = y;
|
||||
this.width = width; this.height = height;
|
||||
x = 0;
|
||||
y = 0;
|
||||
width = 0;
|
||||
height = 0;
|
||||
}
|
||||
|
||||
public Rectangle(Rectangle r)
|
||||
{
|
||||
x = r.x;
|
||||
y = r.y;
|
||||
width = r.width;
|
||||
height = r.height;
|
||||
}
|
||||
|
||||
public Rectangle(int x, int y, int width, int height)
|
||||
{
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.width = width;
|
||||
this.height = height;
|
||||
}
|
||||
|
||||
public Rectangle(int width, int height)
|
||||
{
|
||||
x = 0;
|
||||
y = 0;
|
||||
this.width = width;
|
||||
this.height = height;
|
||||
}
|
||||
|
||||
public Rectangle(Point p, Dimension d)
|
||||
{
|
||||
x = p.x;
|
||||
y = p.y;
|
||||
width = d.width;
|
||||
height = d.height;
|
||||
}
|
||||
|
||||
public Rectangle(Point p)
|
||||
{
|
||||
x = p.x;
|
||||
y = p.y;
|
||||
width = 0;
|
||||
height = 0;
|
||||
}
|
||||
|
||||
public Rectangle(Dimension d)
|
||||
{
|
||||
x = 0;
|
||||
y = 0;
|
||||
width = d.width;
|
||||
height = d.height;
|
||||
}
|
||||
|
||||
public Rectangle getBounds ()
|
||||
{
|
||||
return new Rectangle (x, y, width, height);
|
||||
return (Rectangle) this.clone();
|
||||
}
|
||||
|
||||
public void add(int newx, int newy)
|
||||
{
|
||||
int x = this.x > newx ? newx : this.x;
|
||||
int y = this.y > newy ? newy : this.y;
|
||||
width = (this.x + width > newx ? this.x + width : newx) - x;
|
||||
height = (this.y + height > newy ? this.y + height : newy) - y;
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
}
|
||||
|
||||
public void add(Point pt)
|
||||
{
|
||||
add (pt.x, pt.y);
|
||||
}
|
||||
|
||||
public void add(Rectangle r)
|
||||
{
|
||||
int x = this.x > r.x ? r.x : this.x;
|
||||
int y = this.y > r.y ? r.y : this.y;
|
||||
width = (this.x + width > r.x + r.width ?
|
||||
this.x + width : r.x + r.width) - x;
|
||||
height = (this.y + height > r.y + r.height ?
|
||||
this.y + height : r.y + r.height) - y;
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
}
|
||||
|
||||
public boolean contains(int x, int y)
|
||||
{
|
||||
return (x >= this.x && x <= this.x + this.width
|
||||
&& y >= this.y && y <= this.y + this.height);
|
||||
}
|
||||
|
||||
public boolean contains(int x, int y, int w, int h)
|
||||
{
|
||||
return (x >= this.x && x + w <= this.x + this.width
|
||||
&& y >= this.y && y + h <= this.y + this.height);
|
||||
}
|
||||
|
||||
public boolean contains(Point p)
|
||||
{
|
||||
return contains(p.x, p.y);
|
||||
}
|
||||
|
||||
public boolean contains(Rectangle r)
|
||||
{
|
||||
return contains(r.x, r.y, r.width, r.height);
|
||||
}
|
||||
|
||||
public boolean equals(Object obj)
|
||||
{
|
||||
if (obj instanceof Rectangle)
|
||||
{
|
||||
Rectangle r = (Rectangle) obj;
|
||||
return (r.x == x
|
||||
&& r.y == y
|
||||
&& r.width == width
|
||||
&& r.height == height);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public double getHeight()
|
||||
{
|
||||
return (double) this.height;
|
||||
}
|
||||
|
||||
public Point getLocation()
|
||||
{
|
||||
return new Point(x,y);
|
||||
}
|
||||
|
||||
public Dimension getSize()
|
||||
{
|
||||
return new Dimension(width, height);
|
||||
}
|
||||
|
||||
public double getWidth()
|
||||
{
|
||||
return (double) this.width;
|
||||
}
|
||||
|
||||
public double getX()
|
||||
{
|
||||
return (double) x;
|
||||
}
|
||||
|
||||
public double getY()
|
||||
{
|
||||
return (double) y;
|
||||
}
|
||||
|
||||
public void grow(int h, int v)
|
||||
{
|
||||
width += h;
|
||||
height += v;
|
||||
}
|
||||
|
||||
/** @deprecated Use contains() instead. */
|
||||
public boolean inside(int x, int y)
|
||||
{
|
||||
return contains(x, y);
|
||||
}
|
||||
|
||||
/** @specnote If there is no intersection, an empty rectangle at 0,0
|
||||
* is returned.
|
||||
*/
|
||||
public Rectangle intersection(Rectangle r)
|
||||
{
|
||||
int newx = x < r.x ? r.x : x;
|
||||
int newy = y < r.y ? r.y : y;
|
||||
int neww = (x + width < r.x + r.width ?
|
||||
x + width : r.x + r.width) - newx;
|
||||
int newh = (y + height < r.y + r.height ?
|
||||
y + height : r.y + r.height) - newy;
|
||||
if (neww >= 0 && newh >= 0)
|
||||
return new Rectangle(newx, newy, neww, newh);
|
||||
else
|
||||
return new Rectangle(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
/** @specnote If the intersection is at an edge or corner only (an empty
|
||||
* intersection with a non-zero location), false is returned.
|
||||
*/
|
||||
public boolean intersects(Rectangle r)
|
||||
{
|
||||
int neww = (x + width < r.x + r.width ?
|
||||
x + width : r.x + r.width) - (x < r.x ? r.x : x);
|
||||
int newh = (y + height < r.y + r.height ?
|
||||
y + height : r.y + r.height) - (y < r.y ? r.y : y);
|
||||
return (neww > 0 && newh > 0);
|
||||
}
|
||||
|
||||
public boolean isEmpty()
|
||||
{
|
||||
return (width > 0 && height > 0);
|
||||
}
|
||||
|
||||
/** @deprecated Use setLocation() instead. */
|
||||
public void move(int x, int y)
|
||||
{
|
||||
setLocation(x, y);
|
||||
}
|
||||
|
||||
public int outcode(double x, double y)
|
||||
{
|
||||
// FIXME
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** @deprecated Use setBounds() instead. */
|
||||
public void reshape(int x, int y, int width, int height)
|
||||
{
|
||||
setBounds(x, y, width, height);
|
||||
}
|
||||
|
||||
/** @deprecated Use setSize() instead. */
|
||||
public void resize(int width, int height)
|
||||
{
|
||||
setSize(width, height);
|
||||
}
|
||||
|
||||
public void setBounds(int x, int y, int width, int height)
|
||||
{
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.width = width;
|
||||
this.height = height;
|
||||
}
|
||||
|
||||
public void setBounds(Rectangle r)
|
||||
{
|
||||
this.x = r.x;
|
||||
this.y = r.y;
|
||||
this.width = r.width;
|
||||
this.height = r.height;
|
||||
}
|
||||
|
||||
public void setLocation(int x, int y)
|
||||
{
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
}
|
||||
|
||||
public void setLocation(Point p)
|
||||
{
|
||||
this.x = p.x;
|
||||
this.y = p.y;
|
||||
}
|
||||
|
||||
public void setRect(double x, double y, double width, double height)
|
||||
{
|
||||
this.x = (int) x;
|
||||
this.y = (int) y;
|
||||
this.width = (int) width;
|
||||
this.height = (int) height;
|
||||
}
|
||||
|
||||
public void setSize(Dimension d)
|
||||
{
|
||||
this.width = d.width;
|
||||
this.height = d.height;
|
||||
}
|
||||
|
||||
public void setSize(int width, int height)
|
||||
{
|
||||
this.width = width;
|
||||
this.height = height;
|
||||
}
|
||||
|
||||
public void translate(int x, int y)
|
||||
{
|
||||
x += x;
|
||||
y += y;
|
||||
}
|
||||
|
||||
public Rectangle union(Rectangle r)
|
||||
{
|
||||
int newx = x > r.x ? r.x : x;
|
||||
int newy = y > r.y ? r.y : y;
|
||||
int neww = (this.x + width > r.x + r.width ?
|
||||
this.x + width : r.x + r.width) - newx;
|
||||
int newh = (this.y + height > r.y + r.height ?
|
||||
this.y + height : r.y + r.height) - newy;
|
||||
return new Rectangle(newx, newy, neww, newh);
|
||||
}
|
||||
|
||||
// Commented out until we have Rectangle2D
|
||||
/*
|
||||
public Rectangle2D createIntersection(Rectangle2D r)
|
||||
{
|
||||
}
|
||||
|
||||
public Rectangle2D createUnion(Rectangle2D r)
|
||||
{
|
||||
}
|
||||
|
||||
public Rectangle2D getBounds2D()
|
||||
{
|
||||
}
|
||||
*/
|
||||
|
||||
public String toString()
|
||||
{
|
||||
return getClass().getName() + "[x=" + x + ",y=" + y + ",width=" + width +
|
||||
",height=" + height + "]";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ import java.net.URL;
|
||||
public abstract class Toolkit
|
||||
{
|
||||
static Toolkit defaultToolkit;
|
||||
static EventQueue systemEventQueue = new EventQueue();
|
||||
|
||||
public static synchronized Toolkit getDefaultToolkit()
|
||||
{
|
||||
@ -26,6 +27,11 @@ public abstract class Toolkit
|
||||
protected abstract FramePeer createFrame(Frame target);
|
||||
public abstract Image getImage(URL url);
|
||||
|
||||
public final EventQueue getSystemEventQueue()
|
||||
{
|
||||
return systemEventQueue;
|
||||
}
|
||||
|
||||
private static void init() { }
|
||||
// private static native void init();
|
||||
// static { init(); }
|
||||
|
@ -21,25 +21,25 @@ public class ActionEvent extends AWTEvent
|
||||
public static final int META_MASK = 4;
|
||||
public static final int SHIFT_MASK = 1;
|
||||
|
||||
String actionCommand;
|
||||
String cmd;
|
||||
int modifiers;
|
||||
|
||||
public ActionEvent (Object source, int id, String command)
|
||||
{
|
||||
super(source, id);
|
||||
actionCommand = command;
|
||||
cmd = command;
|
||||
}
|
||||
|
||||
public ActionEvent (Object source, int id, String command, int modifiers)
|
||||
{
|
||||
super(source, id);
|
||||
actionCommand = command;
|
||||
cmd = command;
|
||||
this.modifiers = modifiers;
|
||||
}
|
||||
|
||||
public String getActionCommand ()
|
||||
public String getcmd ()
|
||||
{
|
||||
return actionCommand;
|
||||
return cmd;
|
||||
}
|
||||
|
||||
public int getModifiers ()
|
||||
@ -49,7 +49,18 @@ public class ActionEvent extends AWTEvent
|
||||
|
||||
public String paramString ()
|
||||
{
|
||||
return ("ActionEvent[" + actionCommand + "," + modifiers
|
||||
+ ";" + super.paramString () + "]");
|
||||
String r;
|
||||
switch (id)
|
||||
{
|
||||
case ACTION_PERFORMED:
|
||||
r = "ACTION_PERFORMED";
|
||||
break;
|
||||
default:
|
||||
r = "unknown type";
|
||||
break;
|
||||
}
|
||||
|
||||
r += ",cmd=" + cmd;
|
||||
return r;
|
||||
}
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ public class AdjustmentEvent extends AWTEvent
|
||||
public AdjustmentEvent (Adjustable source, int id, int type, int value)
|
||||
{
|
||||
super (source, id);
|
||||
this.type = type;
|
||||
this.adjType = type;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@ -41,7 +41,7 @@ public class AdjustmentEvent extends AWTEvent
|
||||
|
||||
public int getAdjustmentType ()
|
||||
{
|
||||
return type;
|
||||
return adjType;
|
||||
}
|
||||
|
||||
public int getValue ()
|
||||
@ -51,10 +51,45 @@ public class AdjustmentEvent extends AWTEvent
|
||||
|
||||
public String paramString ()
|
||||
{
|
||||
return ("AdjustmentEvent[" + type + "," + value
|
||||
+ ";" + super.paramString () + "]");
|
||||
String r;
|
||||
switch (id)
|
||||
{
|
||||
case ADJUSTMENT_VALUE_CHANGED:
|
||||
r = "ADJUSTMENT_VALUE_CHANGED";
|
||||
break;
|
||||
default:
|
||||
r = "unknown id";
|
||||
break;
|
||||
}
|
||||
|
||||
r += ",adjType=";
|
||||
|
||||
switch (adjType)
|
||||
{
|
||||
case BLOCK_DECREMENT:
|
||||
r += "BLOCK_DECREMENT";
|
||||
break;
|
||||
case BLOCK_INCREMENT:
|
||||
r += "BLOCK_INCREMENT";
|
||||
break;
|
||||
case TRACK:
|
||||
r += "TRACK";
|
||||
break;
|
||||
case UNIT_DECREMENT:
|
||||
r += "UNIT_DECREMENT";
|
||||
break;
|
||||
case UNIT_INCREMENT:
|
||||
r += "UNIT_INCREMENT";
|
||||
break;
|
||||
default:
|
||||
r += "unknown type";
|
||||
break;
|
||||
}
|
||||
|
||||
r += ",value=" + value;
|
||||
return r;
|
||||
}
|
||||
|
||||
private int type;
|
||||
private int adjType;
|
||||
private int value;
|
||||
}
|
||||
|
@ -37,6 +37,25 @@ public class ComponentEvent extends AWTEvent
|
||||
|
||||
public String paramString ()
|
||||
{
|
||||
return super.paramString ();
|
||||
String r;
|
||||
switch (id)
|
||||
{
|
||||
case COMPONENT_HIDDEN:
|
||||
r = "COMPONENT_HIDDEN";
|
||||
break;
|
||||
case COMPONENT_MOVED:
|
||||
r = "COMPONENT_MOVED";
|
||||
break;
|
||||
case COMPONENT_RESIZED:
|
||||
r = "COMPONENT_RESIZED";
|
||||
break;
|
||||
case COMPONENT_SHOWN:
|
||||
r = "COMPONENT_SHOWN";
|
||||
break;
|
||||
default:
|
||||
r = "unknown id";
|
||||
break;
|
||||
}
|
||||
return r;
|
||||
}
|
||||
}
|
||||
|
@ -23,8 +23,8 @@ public class ContainerEvent extends ComponentEvent
|
||||
public static final int CONTAINER_FIRST = 300;
|
||||
public static final int CONTAINER_LAST = 301;
|
||||
|
||||
// FIXME: jdk1.2 docs say source is a Component.
|
||||
public ContainerEvent (Container source, int id, Component child)
|
||||
/** @specnote In JDK1.2 and 1.3, source is a Component. */
|
||||
public ContainerEvent (Component source, int id, Component child)
|
||||
{
|
||||
super (source, id);
|
||||
this.child = child;
|
||||
@ -35,15 +35,29 @@ public class ContainerEvent extends ComponentEvent
|
||||
return child;
|
||||
}
|
||||
|
||||
public Component getContainer ()
|
||||
public Component getComponent ()
|
||||
{
|
||||
return (Container) source;
|
||||
return (Component) source;
|
||||
}
|
||||
|
||||
public String paramString ()
|
||||
{
|
||||
return ("ContainerEvent[" + child
|
||||
+ ";" + super.paramString () + "]");
|
||||
String r;
|
||||
switch (id)
|
||||
{
|
||||
case COMPONENT_ADDED:
|
||||
r = "COMPONENT_ADDED";
|
||||
break;
|
||||
case COMPONENT_REMOVED:
|
||||
r = "COMPONENT_REMOVED";
|
||||
break;
|
||||
default:
|
||||
r = "unknown id";
|
||||
break;
|
||||
|
||||
}
|
||||
r += ",child=" + child;
|
||||
return r;
|
||||
}
|
||||
|
||||
private Component child;
|
||||
|
@ -42,8 +42,21 @@ public class FocusEvent extends AWTEvent
|
||||
|
||||
public String paramString ()
|
||||
{
|
||||
return ("FocusEvent[" + temporary
|
||||
+ ";" + super.paramString () + "]");
|
||||
String r = "";
|
||||
switch (id)
|
||||
{
|
||||
case FOCUS_GAINED:
|
||||
r += "FOCUS_GAINED";
|
||||
break;
|
||||
case FOCUS_LOST:
|
||||
r += "FOCUS_LOST";
|
||||
break;
|
||||
default:
|
||||
r += "unknown id";
|
||||
break;
|
||||
}
|
||||
r += (temporary ? "temporary" : "permanent");
|
||||
return r;
|
||||
}
|
||||
|
||||
private boolean temporary;
|
||||
|
27
libjava/java/awt/event/HierarchyBoundsAdapter.java
Normal file
27
libjava/java/awt/event/HierarchyBoundsAdapter.java
Normal file
@ -0,0 +1,27 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libjava License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.event;
|
||||
|
||||
/**
|
||||
* @since 1.3
|
||||
* @author Bryce McKinlay
|
||||
*/
|
||||
|
||||
/* Status: Believed complete and correct. */
|
||||
|
||||
public abstract class HierarchyBoundsAdapter implements HierarchyBoundsListener
|
||||
{
|
||||
public void ancestorMoved(HierarchyEvent e)
|
||||
{
|
||||
}
|
||||
|
||||
public void ancestorResized(HierarchyEvent e)
|
||||
{
|
||||
}
|
||||
}
|
22
libjava/java/awt/event/HierarchyBoundsListener.java
Normal file
22
libjava/java/awt/event/HierarchyBoundsListener.java
Normal file
@ -0,0 +1,22 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libjava License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.event;
|
||||
|
||||
/**
|
||||
* @since 1.3
|
||||
* @author Bryce McKinlay
|
||||
*/
|
||||
|
||||
/* Status: Believed complete and correct. */
|
||||
|
||||
public interface HierarchyBoundsListener extends java.util.EventListener
|
||||
{
|
||||
public void ancestorMoved(HierarchyEvent e);
|
||||
public void ancestorResized(HierarchyEvent e);
|
||||
}
|
96
libjava/java/awt/event/HierarchyEvent.java
Normal file
96
libjava/java/awt/event/HierarchyEvent.java
Normal file
@ -0,0 +1,96 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libjava License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.event;
|
||||
import java.awt.*;
|
||||
|
||||
/**
|
||||
* @since 1.3
|
||||
* @author Bryce McKinlay
|
||||
*/
|
||||
|
||||
/* Status: thought to be complete and correct. */
|
||||
|
||||
public class HierarchyEvent extends AWTEvent
|
||||
{
|
||||
public static final int PARENT_CHANGED = 1 << 0,
|
||||
DISPLAYABILITY_CHANGED = 1 << 1,
|
||||
SHOWING_CHANGED = 1 << 2,
|
||||
HIERARCHY_FIRST = 1400,
|
||||
HIERARCHY_CHANGED = 1400,
|
||||
ANCESTOR_MOVED = 1401,
|
||||
ANCESTOR_RESIZED = 1402,
|
||||
HIERARCHY_LAST = 1402;
|
||||
|
||||
/* Serialized fields from the serialization spec. */
|
||||
Component changed;
|
||||
Container changedParent;
|
||||
long changeFlags = 0;
|
||||
|
||||
public HierarchyEvent(Component source, int id, Component changed,
|
||||
Container changedParent)
|
||||
{
|
||||
super(source, id);
|
||||
this.changed = changed;
|
||||
this.changedParent = changedParent;
|
||||
}
|
||||
|
||||
public HierarchyEvent(Component source, int id, Component changed,
|
||||
Container changedParent, long changeFlags)
|
||||
{
|
||||
super(source,id);
|
||||
this.changed = changed;
|
||||
this.changedParent = changedParent;
|
||||
this.changeFlags = changeFlags;
|
||||
}
|
||||
|
||||
public Component getComponent()
|
||||
{
|
||||
return (Component) source;
|
||||
}
|
||||
|
||||
public Component getChanged()
|
||||
{
|
||||
return changed;
|
||||
}
|
||||
|
||||
public Container getChangedParent()
|
||||
{
|
||||
return changedParent;
|
||||
}
|
||||
|
||||
public long getChangeFlags()
|
||||
{
|
||||
return changeFlags;
|
||||
}
|
||||
|
||||
public String paramString()
|
||||
{
|
||||
String r;
|
||||
switch (id)
|
||||
{
|
||||
case HIERARCHY_CHANGED:
|
||||
r = "HIERARCHY_CHANGED";
|
||||
break;
|
||||
|
||||
case ANCESTOR_MOVED:
|
||||
r = "ANCESTOR_MOVED";
|
||||
break;
|
||||
|
||||
case ANCESTOR_RESIZED:
|
||||
r = "ANCESTOR_RESIZED";
|
||||
break;
|
||||
|
||||
default:
|
||||
return "unknown type";
|
||||
}
|
||||
|
||||
r += "(" + changed + "," + changedParent + ")";
|
||||
return r;
|
||||
}
|
||||
}
|
21
libjava/java/awt/event/HierarchyListener.java
Normal file
21
libjava/java/awt/event/HierarchyListener.java
Normal file
@ -0,0 +1,21 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libjava License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.event;
|
||||
|
||||
/**
|
||||
* @since 1.3
|
||||
* @author Bryce McKinlay
|
||||
*/
|
||||
|
||||
/* Status: Believed complete and correct. */
|
||||
|
||||
public interface HierarchyListener extends java.util.EventListener
|
||||
{
|
||||
public void hierarchyChanged(HierarchyEvent e);
|
||||
}
|
@ -43,7 +43,21 @@ public class InputMethodEvent extends AWTEvent
|
||||
public TextHitInfo getVisiblePosition ();
|
||||
public boolean isConsumed ();
|
||||
|
||||
public String paramString ();
|
||||
public String paramString ()
|
||||
{
|
||||
String r;
|
||||
switch (id)
|
||||
{
|
||||
case CARET_POSITION_CHANGED:
|
||||
r = "CARET_POSITION_CHANGED";
|
||||
break;
|
||||
case INPUT_METHOD_TEXT_CHANGED:
|
||||
r = "INPUT_METHOD_TEXT_CHANGED";
|
||||
break;
|
||||
}
|
||||
r += ""; // FIXME
|
||||
return r;
|
||||
}
|
||||
*/
|
||||
|
||||
// FIXME: this is just to let it compile.
|
||||
|
@ -14,7 +14,7 @@ import java.awt.*;
|
||||
* @date April 8, 2000
|
||||
*/
|
||||
|
||||
/* Status: Still one bug. */
|
||||
/* Status: Believed to be complete and correct. */
|
||||
|
||||
public class InvocationEvent extends AWTEvent implements ActiveEvent
|
||||
{
|
||||
@ -37,28 +37,29 @@ public class InvocationEvent extends AWTEvent implements ActiveEvent
|
||||
this.runnable = runnable;
|
||||
}
|
||||
|
||||
public InvocationEvent (Object source, Runnable runnable, Object notifier)
|
||||
public InvocationEvent(Object source, Runnable runnable, Object notifier,
|
||||
boolean catchExceptions)
|
||||
{
|
||||
super (source, INVOCATION_DEFAULT);
|
||||
this.runnable = runnable;
|
||||
this.notifier = notifier;
|
||||
this.catchExceptions = catchExceptions;
|
||||
}
|
||||
|
||||
public void dispatch ()
|
||||
{
|
||||
Exception e = null;
|
||||
try
|
||||
{
|
||||
runnable.run ();
|
||||
}
|
||||
catch (Exception _)
|
||||
{
|
||||
e = _;
|
||||
}
|
||||
|
||||
// FIXME: what to do if !catchExceptions?
|
||||
if (catchExceptions)
|
||||
exception = e;
|
||||
try
|
||||
{
|
||||
runnable.run ();
|
||||
}
|
||||
catch (Exception x)
|
||||
{
|
||||
exception = x;
|
||||
}
|
||||
else
|
||||
runnable.run ();
|
||||
|
||||
if (notifier != null)
|
||||
notifier.notifyAll ();
|
||||
@ -71,9 +72,15 @@ public class InvocationEvent extends AWTEvent implements ActiveEvent
|
||||
|
||||
public String paramString ()
|
||||
{
|
||||
return ("InvocationEvent[" + notifier + "," + runnable
|
||||
+ "," + catchExceptions
|
||||
+ ";" + super.paramString () + "]");
|
||||
String r;
|
||||
if (id == INVOCATION_DEFAULT)
|
||||
r = "INVOCATION_DEFAULT";
|
||||
else
|
||||
r = "unknown type";
|
||||
|
||||
r += ",runnable=" + runnable + ",notifier=" + notifier +
|
||||
",catchExceptions=" + catchExceptions;
|
||||
return r;
|
||||
}
|
||||
|
||||
protected boolean catchExceptions;
|
||||
|
@ -48,8 +48,32 @@ public class ItemEvent extends AWTEvent
|
||||
|
||||
public String paramString ()
|
||||
{
|
||||
return ("ItemEvent[" + item + "," + stateChange
|
||||
+ ";" + super.paramString () + "]");
|
||||
String r;
|
||||
switch (id)
|
||||
{
|
||||
case ITEM_STATE_CHANGED:
|
||||
r = "ITEM_STATE_CHANGED";
|
||||
break;
|
||||
default:
|
||||
r = "unknown id";
|
||||
break;
|
||||
}
|
||||
|
||||
r += ",item=" + item + ",stateChange=";
|
||||
switch (stateChange)
|
||||
{
|
||||
case SELECTED:
|
||||
r += "SELECTED";
|
||||
break;
|
||||
case DESELECTED:
|
||||
r += "DESELECTED";
|
||||
break;
|
||||
default:
|
||||
r += "unknown";
|
||||
break;
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
private Object item;
|
||||
|
@ -251,8 +251,22 @@ public class KeyEvent extends InputEvent
|
||||
|
||||
public String paramString ()
|
||||
{
|
||||
return ("KeyEvent[" + keyCode + "," + keyChar + "," + modifiers
|
||||
+ ";" + super.paramString () + "]");
|
||||
String r;
|
||||
switch (id)
|
||||
{
|
||||
case KEY_PRESSED:
|
||||
r = "KEY_PRESSED";
|
||||
break;
|
||||
case KEY_RELEASED:
|
||||
r = "KEY_RELEASED";
|
||||
break;
|
||||
case KEY_TYPED:
|
||||
r = "KEY_TYPED";
|
||||
break;
|
||||
}
|
||||
r += ",keyCode=" + keyCode + "," + getKeyText(keyCode) + ",modifiers=" +
|
||||
getKeyModifiersText(modifiers);
|
||||
return r;
|
||||
}
|
||||
|
||||
private int keyCode;
|
||||
|
@ -67,10 +67,37 @@ public class MouseEvent extends InputEvent
|
||||
|
||||
public String paramString ()
|
||||
{
|
||||
return ("MouseEvent[" + when + "," + modifiers
|
||||
+ ",(" + x + "," + y + "),"
|
||||
+ clickCount + "," + popupTrigger
|
||||
+ ";" + super.paramString () + "]");
|
||||
String r;
|
||||
switch (id)
|
||||
{
|
||||
case MOUSE_CLICKED:
|
||||
r = "MOUSE_CLICKED";
|
||||
break;
|
||||
case MOUSE_DRAGGED:
|
||||
r = "MOUSE_DRAGGED";
|
||||
break;
|
||||
case MOUSE_ENTERED:
|
||||
r = "MOUSE_ENTERED";
|
||||
break;
|
||||
case MOUSE_EXITED:
|
||||
r = "MOUSE_EXITED";
|
||||
break;
|
||||
case MOUSE_MOVED:
|
||||
r = "MOUSE_MOVED";
|
||||
break;
|
||||
case MOUSE_PRESSED:
|
||||
r = "MOUSE_PRESSED";
|
||||
break;
|
||||
case MOUSE_RELEASED:
|
||||
r = "MOUSE_RELEASED";
|
||||
break;
|
||||
default:
|
||||
r = "unknown id";
|
||||
break;
|
||||
}
|
||||
r += ",(" + x + "," + y + "),modifiers=" + modifiers + ",clickCount=" +
|
||||
clickCount;
|
||||
return r;
|
||||
}
|
||||
|
||||
public void translatePoint (int x, int y)
|
||||
|
@ -36,8 +36,22 @@ public class PaintEvent extends ComponentEvent
|
||||
|
||||
public String paramString ()
|
||||
{
|
||||
return ("PaintEvent[" + updateRect
|
||||
+ ";" + super.paramString () + "]");
|
||||
String r;
|
||||
switch (id)
|
||||
{
|
||||
case UPDATE:
|
||||
r = "UPDATE";
|
||||
break;
|
||||
case PAINT:
|
||||
r = "PAINT";
|
||||
break;
|
||||
default:
|
||||
r = "unknown id";
|
||||
break;
|
||||
}
|
||||
|
||||
r += ",updateRect=" + updateRect;
|
||||
return r;
|
||||
}
|
||||
|
||||
public void setUpdateRect (Rectangle updateRect)
|
||||
|
@ -24,6 +24,6 @@ public class TextEvent extends AWTEvent
|
||||
|
||||
public String paramString ()
|
||||
{
|
||||
return super.paramString ();
|
||||
return "TEXT_VALUE_CHANGED";
|
||||
}
|
||||
}
|
||||
|
@ -35,6 +35,31 @@ public class WindowEvent extends ComponentEvent
|
||||
|
||||
public String paramString ()
|
||||
{
|
||||
return super.paramString ();
|
||||
String r;
|
||||
switch (id)
|
||||
{
|
||||
case WINDOW_ACTIVATED:
|
||||
r = "WINDOW_ACTIVATED";
|
||||
break;
|
||||
case WINDOW_CLOSED:
|
||||
r = "WINDOW_CLOSED";
|
||||
break;
|
||||
case WINDOW_CLOSING:
|
||||
r = "WINDOW_CLOSING";
|
||||
break;
|
||||
case WINDOW_DEACTIVATED:
|
||||
r = "WINDOW_DEACTIVATED";
|
||||
break;
|
||||
case WINDOW_DEICONIFIED:
|
||||
r = "WINDOW_DEICONIFIED";
|
||||
break;
|
||||
case WINDOW_ICONIFIED:
|
||||
r = "WINDOW_ICONIFIED";
|
||||
break;
|
||||
case WINDOW_OPENED:
|
||||
r = "WINDOW_OPENED";
|
||||
break;
|
||||
}
|
||||
return r;
|
||||
}
|
||||
}
|
||||
|
15
libjava/java/awt/peer/ButtonPeer.java
Normal file
15
libjava/java/awt/peer/ButtonPeer.java
Normal file
@ -0,0 +1,15 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
public interface ButtonPeer extends ComponentPeer
|
||||
{
|
||||
void setLabel(String label);
|
||||
}
|
||||
|
13
libjava/java/awt/peer/CanvasPeer.java
Normal file
13
libjava/java/awt/peer/CanvasPeer.java
Normal file
@ -0,0 +1,13 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
public interface CanvasPeer extends ComponentPeer
|
||||
{
|
||||
}
|
15
libjava/java/awt/peer/CheckboxMenuItemPeer.java
Normal file
15
libjava/java/awt/peer/CheckboxMenuItemPeer.java
Normal file
@ -0,0 +1,15 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
public interface CheckboxMenuItemPeer extends MenuItemPeer
|
||||
{
|
||||
void setState(boolean state);
|
||||
}
|
||||
|
16
libjava/java/awt/peer/CheckboxPeer.java
Normal file
16
libjava/java/awt/peer/CheckboxPeer.java
Normal file
@ -0,0 +1,16 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
public interface CheckboxPeer extends ComponentPeer
|
||||
{
|
||||
void setCheckboxGroup(java.awt.CheckboxGroup group);
|
||||
void setLabel(String label);
|
||||
void setState(boolean state);
|
||||
}
|
18
libjava/java/awt/peer/ChoicePeer.java
Normal file
18
libjava/java/awt/peer/ChoicePeer.java
Normal file
@ -0,0 +1,18 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
public interface ChoicePeer extends ComponentPeer
|
||||
{
|
||||
void add(String item, int index);
|
||||
void addItem(String item, int index);
|
||||
void remove(int index);
|
||||
void select(int index);
|
||||
}
|
||||
|
@ -1,23 +1,48 @@
|
||||
/* Copyright (C) 1999 Free Software Foundation
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libjava.
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libjava License. Please consult the file "LIBJAVA_LICENSE" for
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
import java.awt.*;
|
||||
|
||||
/* A very incomplete placeholder. */
|
||||
import java.awt.*;
|
||||
import java.awt.image.*;
|
||||
|
||||
public interface ComponentPeer
|
||||
{
|
||||
public abstract Toolkit getToolkit ();
|
||||
|
||||
public Dimension getMinimumSize ();
|
||||
|
||||
public Dimension getPreferredSize ();
|
||||
|
||||
public void setBounds (int x, int y, int w, int h);
|
||||
int checkImage(Image img, int width, int height, ImageObserver o);
|
||||
Image createImage(ImageProducer prod);
|
||||
Image createImage(int width, int height);
|
||||
void disable();
|
||||
void dispose();
|
||||
void enable();
|
||||
ColorModel getColorModel();
|
||||
FontMetrics getFontMetrics(Font f);
|
||||
Graphics getGraphics();
|
||||
Point getLocationOnScreen();
|
||||
Dimension getMinimumSize();
|
||||
Dimension getPreferredSize();
|
||||
Toolkit getToolkit();
|
||||
void handleEvent(AWTEvent e);
|
||||
void hide();
|
||||
boolean isFocusTraversable();
|
||||
Dimension minimumSize();
|
||||
Dimension preferredSize();
|
||||
void paint(Graphics graphics);
|
||||
boolean prepareImage(Image img, int width, int height, ImageObserver o);
|
||||
void print(Graphics graphics);
|
||||
void repaint(long tm, int x, int y, int width, int height);
|
||||
void requestFocus();
|
||||
void reshape(int x, int y, int width, int height);
|
||||
void setBackground(Color color);
|
||||
void setBounds(int x, int y, int width, int height);
|
||||
void setCursor(Cursor cursor);
|
||||
void setEnabled(boolean enabled);
|
||||
void setFont(Font font);
|
||||
void setForeground(Color color);
|
||||
void setVisible(boolean visible);
|
||||
void show();
|
||||
}
|
||||
|
@ -1,15 +1,19 @@
|
||||
/* Copyright (C) 1999 Free Software Foundation
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libjava.
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libjava License. Please consult the file "LIBJAVA_LICENSE" for
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
/* A very incomplete placeholder. */
|
||||
import java.awt.Insets;
|
||||
|
||||
public interface ContainerPeer extends ComponentPeer
|
||||
{
|
||||
Insets insets();
|
||||
Insets getInsets();
|
||||
void beginValidate();
|
||||
void endValidate();
|
||||
}
|
||||
|
15
libjava/java/awt/peer/DialogPeer.java
Normal file
15
libjava/java/awt/peer/DialogPeer.java
Normal file
@ -0,0 +1,15 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
public interface DialogPeer extends WindowPeer
|
||||
{
|
||||
void setResizable(boolean resizeable);
|
||||
void setTitle(String title);
|
||||
}
|
18
libjava/java/awt/peer/FileDialogPeer.java
Normal file
18
libjava/java/awt/peer/FileDialogPeer.java
Normal file
@ -0,0 +1,18 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
import java.io.FilenameFilter;
|
||||
|
||||
public interface FileDialogPeer extends DialogPeer
|
||||
{
|
||||
void setDirectory(String dir);
|
||||
void setFile(String file);
|
||||
void setFilenameFilter(FilenameFilter filter);
|
||||
}
|
13
libjava/java/awt/peer/FontPeer.java
Normal file
13
libjava/java/awt/peer/FontPeer.java
Normal file
@ -0,0 +1,13 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
public interface FontPeer
|
||||
{
|
||||
}
|
@ -1,16 +1,20 @@
|
||||
/* Copyright (C) 1999 Free Software Foundation
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libjava.
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libjava License. Please consult the file "LIBJAVA_LICENSE" for
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
/* A very incomplete placeholder. */
|
||||
import java.awt.Image;
|
||||
import java.awt.MenuBar;
|
||||
|
||||
public interface FramePeer extends WindowPeer
|
||||
{
|
||||
void setIconImage(Image image);
|
||||
void setMenuBar(MenuBar mb);
|
||||
void setResizable(boolean resizable);
|
||||
void setTitle(String title);
|
||||
}
|
||||
|
15
libjava/java/awt/peer/LabelPeer.java
Normal file
15
libjava/java/awt/peer/LabelPeer.java
Normal file
@ -0,0 +1,15 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
public interface LabelPeer extends ComponentPeer
|
||||
{
|
||||
void setAlignment(int alignment);
|
||||
void setText(String text);
|
||||
}
|
13
libjava/java/awt/peer/LightweightPeer.java
Normal file
13
libjava/java/awt/peer/LightweightPeer.java
Normal file
@ -0,0 +1,13 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
public interface LightweightPeer extends ComponentPeer
|
||||
{
|
||||
}
|
28
libjava/java/awt/peer/ListPeer.java
Normal file
28
libjava/java/awt/peer/ListPeer.java
Normal file
@ -0,0 +1,28 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
import java.awt.Dimension;
|
||||
|
||||
public interface ListPeer extends ComponentPeer
|
||||
{
|
||||
void add(String item, int index);
|
||||
void addItem(String item, int index);
|
||||
void clear();
|
||||
void delItems(int start_index, int end_index);
|
||||
void deselect(int index);
|
||||
int[] getSelectedIndexes();
|
||||
void makeVisible(int index);
|
||||
Dimension minimumSize(int size);
|
||||
Dimension preferredSize(int size);
|
||||
void removeAll();
|
||||
void select(int index);
|
||||
void setMultipleMode(boolean multipleMode);
|
||||
void setMultipleSelections(boolean multipleSelections);
|
||||
}
|
18
libjava/java/awt/peer/MenuBarPeer.java
Normal file
18
libjava/java/awt/peer/MenuBarPeer.java
Normal file
@ -0,0 +1,18 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
import java.awt.Menu;
|
||||
|
||||
public interface MenuBarPeer extends MenuComponentPeer
|
||||
{
|
||||
void addHelpMenu(Menu menu);
|
||||
void addMenu(Menu menu);
|
||||
void delMenu(int index);
|
||||
}
|
14
libjava/java/awt/peer/MenuComponentPeer.java
Normal file
14
libjava/java/awt/peer/MenuComponentPeer.java
Normal file
@ -0,0 +1,14 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
public interface MenuComponentPeer
|
||||
{
|
||||
void dispose();
|
||||
}
|
17
libjava/java/awt/peer/MenuItemPeer.java
Normal file
17
libjava/java/awt/peer/MenuItemPeer.java
Normal file
@ -0,0 +1,17 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
public interface MenuItemPeer extends MenuComponentPeer
|
||||
{
|
||||
void disable();
|
||||
void enable();
|
||||
void setEnabled(boolean enabled);
|
||||
void setLabel(String text);
|
||||
}
|
18
libjava/java/awt/peer/MenuPeer.java
Normal file
18
libjava/java/awt/peer/MenuPeer.java
Normal file
@ -0,0 +1,18 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
import java.awt.MenuItem;
|
||||
|
||||
public interface MenuPeer extends MenuItemPeer
|
||||
{
|
||||
void addItem(MenuItem item);
|
||||
void addSeparator();
|
||||
void delItem(int index);
|
||||
}
|
13
libjava/java/awt/peer/PanelPeer.java
Normal file
13
libjava/java/awt/peer/PanelPeer.java
Normal file
@ -0,0 +1,13 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
public interface PanelPeer extends ContainerPeer
|
||||
{
|
||||
}
|
16
libjava/java/awt/peer/PopupMenuPeer.java
Normal file
16
libjava/java/awt/peer/PopupMenuPeer.java
Normal file
@ -0,0 +1,16 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
import java.awt.Event;
|
||||
|
||||
public interface PopupMenuPeer extends MenuPeer
|
||||
{
|
||||
void show(Event e);
|
||||
}
|
21
libjava/java/awt/peer/ScrollPanePeer.java
Normal file
21
libjava/java/awt/peer/ScrollPanePeer.java
Normal file
@ -0,0 +1,21 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
import java.awt.Adjustable;
|
||||
|
||||
public interface ScrollPanePeer extends ContainerPeer
|
||||
{
|
||||
void childResized(int width, int height);
|
||||
int getHScrollbarHeight();
|
||||
int getVScrollbarWidth();
|
||||
void setScrollPosition(int x, int y);
|
||||
void setUnitIncrement(Adjustable adj, int increment);
|
||||
void setValue(Adjustable adj, int value);
|
||||
}
|
16
libjava/java/awt/peer/ScrollbarPeer.java
Normal file
16
libjava/java/awt/peer/ScrollbarPeer.java
Normal file
@ -0,0 +1,16 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
public interface ScrollbarPeer extends ComponentPeer
|
||||
{
|
||||
void setLineIncrement(int increment);
|
||||
void setPageIncrement(int increment);
|
||||
void setValues(int value, int visible, int minimum, int maximum);
|
||||
}
|
23
libjava/java/awt/peer/TextAreaPeer.java
Normal file
23
libjava/java/awt/peer/TextAreaPeer.java
Normal file
@ -0,0 +1,23 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
import java.awt.Dimension;
|
||||
|
||||
public interface TextAreaPeer extends TextComponentPeer
|
||||
{
|
||||
Dimension getMinimumSize(int rows, int columns);
|
||||
Dimension getPreferredSize(int rows, int columns);
|
||||
void insert(String text, int pos);
|
||||
void insertText(String text, int pos);
|
||||
Dimension minimumSize(int rows, int cols);
|
||||
Dimension preferredSize(int rows, int cols);
|
||||
void replaceRange(String text, int start, int end);
|
||||
void replaceText(String text, int start, int end);
|
||||
}
|
21
libjava/java/awt/peer/TextComponentPeer.java
Normal file
21
libjava/java/awt/peer/TextComponentPeer.java
Normal file
@ -0,0 +1,21 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
public interface TextComponentPeer extends ComponentPeer
|
||||
{
|
||||
int getCaretPosition();
|
||||
int getSelectionEnd();
|
||||
int getSelectionStart();
|
||||
String getText();
|
||||
void select(int start, int end);
|
||||
void setCaretPosition(int pos);
|
||||
void setEditable(boolean editable);
|
||||
void setText(String text);
|
||||
}
|
21
libjava/java/awt/peer/TextFieldPeer.java
Normal file
21
libjava/java/awt/peer/TextFieldPeer.java
Normal file
@ -0,0 +1,21 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
import java.awt.Dimension;
|
||||
|
||||
public interface TextFieldPeer extends TextComponentPeer
|
||||
{
|
||||
Dimension getMinimumSize(int columns);
|
||||
Dimension getPreferredSize(int columns);
|
||||
Dimension minimumSize(int columns);
|
||||
Dimension preferredSize(int columns);
|
||||
void setEchoChar(char echo);
|
||||
void setEchoCharacter(char echo);
|
||||
}
|
@ -1,15 +1,15 @@
|
||||
/* Copyright (C) 1999 Free Software Foundation
|
||||
/* Copyright (C) 2000 Free Software Foundation
|
||||
|
||||
This file is part of libjava.
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libjava License. Please consult the file "LIBJAVA_LICENSE" for
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.awt.peer;
|
||||
|
||||
/* A very incomplete placeholder. */
|
||||
|
||||
public interface WindowPeer extends ContainerPeer
|
||||
{
|
||||
void toBack();
|
||||
void toFront();
|
||||
}
|
||||
|
@ -28,6 +28,12 @@ public abstract class ResourceBundle
|
||||
public ResourceBundle ()
|
||||
{
|
||||
}
|
||||
|
||||
public Locale getLocale()
|
||||
{
|
||||
// FIXME: Stub added for this missing method because it is needed for AWT.
|
||||
return null;
|
||||
}
|
||||
|
||||
public final String getString (String key) throws MissingResourceException
|
||||
{
|
||||
@ -110,9 +116,14 @@ public abstract class ResourceBundle
|
||||
|
||||
// Look for a properties file.
|
||||
{
|
||||
String prop_name = (bundleName.replace('.', '/') + ".properties");
|
||||
System.out.println ("trying '" + prop_name + "' for '" + bundleName);
|
||||
InputStream i = ClassLoader.getSystemResourceAsStream (prop_name);
|
||||
/*
|
||||
InputStream i =
|
||||
ClassLoader.getSystemResourceAsStream (bundleName.replace ('.', '/')
|
||||
+ ".properties");
|
||||
*/
|
||||
if (i != null)
|
||||
{
|
||||
try {
|
||||
|
Loading…
Reference in New Issue
Block a user