From 2ce8542b0de0646ae186ada00f9623965690cacc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=8A?= =?UTF-8?q?=D1=80=20=D0=9A=D1=83=D1=80=D1=82=D0=B0=D0=BA=D0=BE=D0=B2?= Date: Sun, 24 Nov 2024 13:03:32 +0200 Subject: [PATCH] Stop using SWTEventListener internally and mark it as deprecated forRemoval As it: * is internal * makes api tools fail thanks to it * serves no purpose since SWT no longer runs on Java ME Internally SWT is moved to use java.util.EventListener and as it's the superclass of SWTEventListener makes all the APIs that taken SWTEventListener to keep working. --- .../.settings/.api_filters | 448 ------------------ .../AccessibleActionListener.java | 4 +- .../AccessibleAttributeListener.java | 4 +- .../AccessibleControlListener.java | 5 +- .../AccessibleEditableTextListener.java | 4 +- .../AccessibleHyperlinkListener.java | 4 +- .../swt/accessibility/AccessibleListener.java | 5 +- .../AccessibleTableCellListener.java | 4 +- .../AccessibleTableListener.java | 4 +- .../accessibility/AccessibleTextListener.java | 5 +- .../AccessibleValueListener.java | 4 +- .../swt/browser/AuthenticationListener.java | 4 +- .../swt/browser/CloseWindowListener.java | 4 +- .../eclipse/swt/browser/LocationListener.java | 5 +- .../swt/browser/OpenWindowListener.java | 4 +- .../eclipse/swt/browser/ProgressListener.java | 5 +- .../swt/browser/StatusTextListener.java | 4 +- .../eclipse/swt/browser/TitleListener.java | 4 +- .../swt/browser/VisibilityWindowListener.java | 5 +- .../swt/custom/BidiSegmentListener.java | 4 +- .../swt/custom/CTabFolder2Listener.java | 7 +- .../swt/custom/CTabFolderListener.java | 4 +- .../org/eclipse/swt/custom/CaretListener.java | 4 +- .../swt/custom/ExtendedModifyListener.java | 4 +- .../swt/custom/LineBackgroundListener.java | 4 +- .../eclipse/swt/custom/LineStyleListener.java | 4 +- .../eclipse/swt/custom/MovementListener.java | 4 +- .../swt/custom/PaintObjectListener.java | 4 +- .../swt/custom/StyledTextListener.java | 5 +- .../swt/custom/TextChangeListener.java | 5 +- .../eclipse/swt/custom/VerifyKeyListener.java | 5 +- .../org/eclipse/swt/dnd/DNDListener.java | 6 +- .../eclipse/swt/dnd/DragSourceListener.java | 4 +- .../eclipse/swt/dnd/DropTargetListener.java | 4 +- .../cocoa/org/eclipse/swt/widgets/Widget.java | 33 ++ .../org/eclipse/swt/events/ArmListener.java | 4 +- .../eclipse/swt/events/ControlListener.java | 5 +- .../eclipse/swt/events/DisposeListener.java | 4 +- .../swt/events/DragDetectListener.java | 4 +- .../eclipse/swt/events/ExpandListener.java | 5 +- .../org/eclipse/swt/events/FocusListener.java | 5 +- .../eclipse/swt/events/GestureListener.java | 4 +- .../org/eclipse/swt/events/HelpListener.java | 5 +- .../org/eclipse/swt/events/KeyListener.java | 5 +- .../swt/events/MenuDetectListener.java | 4 +- .../org/eclipse/swt/events/MenuListener.java | 5 +- .../eclipse/swt/events/ModifyListener.java | 4 +- .../org/eclipse/swt/events/MouseListener.java | 5 +- .../eclipse/swt/events/MouseMoveListener.java | 4 +- .../swt/events/MouseTrackListener.java | 5 +- .../swt/events/MouseWheelListener.java | 5 +- .../org/eclipse/swt/events/PaintListener.java | 5 +- .../eclipse/swt/events/SegmentListener.java | 4 +- .../eclipse/swt/events/SelectionListener.java | 5 +- .../org/eclipse/swt/events/ShellListener.java | 5 +- .../org/eclipse/swt/events/TouchListener.java | 5 +- .../eclipse/swt/events/TraverseListener.java | 5 +- .../org/eclipse/swt/events/TreeListener.java | 5 +- .../eclipse/swt/events/VerifyListener.java | 5 +- .../swt/graphics/ImageLoaderListener.java | 4 +- .../swt/internal/SWTEventListener.java | 3 +- .../eclipse/swt/widgets/TypedListener.java | 21 +- .../gtk/org/eclipse/swt/widgets/Widget.java | 33 ++ .../win32/org/eclipse/swt/widgets/Widget.java | 33 ++ 64 files changed, 239 insertions(+), 594 deletions(-) diff --git a/binaries/org.eclipse.swt.gtk.linux.x86_64/.settings/.api_filters b/binaries/org.eclipse.swt.gtk.linux.x86_64/.settings/.api_filters index 0319dc28273..04a75c628a0 100644 --- a/binaries/org.eclipse.swt.gtk.linux.x86_64/.settings/.api_filters +++ b/binaries/org.eclipse.swt.gtk.linux.x86_64/.settings/.api_filters @@ -1,453 +1,5 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleActionListener.java b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleActionListener.java index 5e2e52a00fa..a15f88a7357 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleActionListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleActionListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.accessibility; -import org.eclipse.swt.internal.SWTEventListener; +import java.util.*; /** * Classes which implement this interface provide methods @@ -30,7 +30,7 @@ * * @since 3.6 */ -public interface AccessibleActionListener extends SWTEventListener { +public interface AccessibleActionListener extends EventListener { /** * Returns the number of accessible actions available in this object. *

diff --git a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleAttributeListener.java b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleAttributeListener.java index 936f0223a13..d3a7899c102 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleAttributeListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleAttributeListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.accessibility; -import org.eclipse.swt.internal.SWTEventListener; +import java.util.*; /** * Classes which implement this interface provide methods @@ -31,7 +31,7 @@ * * @since 3.6 */ -public interface AccessibleAttributeListener extends SWTEventListener { +public interface AccessibleAttributeListener extends EventListener { /** * Returns attributes specific to this Accessible object. * diff --git a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleControlListener.java b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleControlListener.java index e938a35adcb..ae5a1504319 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleControlListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleControlListener.java @@ -13,8 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.accessibility; - -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes that implement this interface provide methods @@ -43,7 +42,7 @@ * * @since 2.0 */ -public interface AccessibleControlListener extends SWTEventListener { +public interface AccessibleControlListener extends EventListener { /** * Sent when an accessibility client requests the identifier diff --git a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleEditableTextListener.java b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleEditableTextListener.java index c7a930bc063..723cee24292 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleEditableTextListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleEditableTextListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.accessibility; -import org.eclipse.swt.internal.SWTEventListener; +import java.util.*; /** * Classes which implement this interface provide methods @@ -31,7 +31,7 @@ * * @since 3.7 */ -public interface AccessibleEditableTextListener extends SWTEventListener { +public interface AccessibleEditableTextListener extends EventListener { /** * Copies the substring beginning at the specified start offset * and extending to the character at offset end - 1 to the clipboard. diff --git a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleHyperlinkListener.java b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleHyperlinkListener.java index de02c6b497b..bb17eb1493b 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleHyperlinkListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleHyperlinkListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.accessibility; -import org.eclipse.swt.internal.SWTEventListener; +import java.util.*; /** * Classes which implement this interface provide methods @@ -30,7 +30,7 @@ * * @since 3.6 */ -public interface AccessibleHyperlinkListener extends SWTEventListener { +public interface AccessibleHyperlinkListener extends EventListener { /** * Returns the anchor for the link at the specified index. * diff --git a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleListener.java b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleListener.java index a18dad8cc2a..0cfca5e4d1f 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleListener.java @@ -14,10 +14,9 @@ package org.eclipse.swt.accessibility; +import java.util.*; import java.util.function.*; -import org.eclipse.swt.internal.*; - /** * Classes that implement this interface provide methods * that deal with the events that are generated when an @@ -41,7 +40,7 @@ * * @since 2.0 */ -public interface AccessibleListener extends SWTEventListener { +public interface AccessibleListener extends EventListener { /** * Sent when an accessibility client requests the name diff --git a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleTableCellListener.java b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleTableCellListener.java index 5533da3937f..62042bc1e96 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleTableCellListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleTableCellListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.accessibility; -import org.eclipse.swt.internal.SWTEventListener; +import java.util.*; /** * Classes which implement this interface provide methods @@ -30,7 +30,7 @@ * * @since 3.6 */ -public interface AccessibleTableCellListener extends SWTEventListener { +public interface AccessibleTableCellListener extends EventListener { /** * Returns the number of columns occupied by this cell accessible. *

diff --git a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleTableListener.java b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleTableListener.java index ec901d305a2..bb5c96bc9b4 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleTableListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleTableListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.accessibility; -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes which implement this interface provide methods @@ -35,7 +35,7 @@ * * @since 3.6 */ -public interface AccessibleTableListener extends SWTEventListener { +public interface AccessibleTableListener extends EventListener { /** * Deselects one column, leaving other selected columns selected (if any). * diff --git a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleTextListener.java b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleTextListener.java index e0291256a7e..780bc66ab00 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleTextListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleTextListener.java @@ -13,8 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.accessibility; - -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes that implement this interface provide methods @@ -43,7 +42,7 @@ * * @since 3.0 */ -public interface AccessibleTextListener extends SWTEventListener { +public interface AccessibleTextListener extends EventListener { /** * Sent when an accessibility client requests the current character offset diff --git a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleValueListener.java b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleValueListener.java index e012164c34c..95943fc6557 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleValueListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/common/org/eclipse/swt/accessibility/AccessibleValueListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.accessibility; -import org.eclipse.swt.internal.SWTEventListener; +import java.util.*; /** * Classes which implement this interface provide methods @@ -30,7 +30,7 @@ * * @since 3.6 */ -public interface AccessibleValueListener extends SWTEventListener { +public interface AccessibleValueListener extends EventListener { /** * Returns the value of this object as a number. * diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/AuthenticationListener.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/AuthenticationListener.java index 1e855def681..8d62e4e24d2 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/AuthenticationListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/AuthenticationListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.browser; -import org.eclipse.swt.internal.*; +import java.util.*; /** * This listener interface may be implemented in order to receive @@ -26,7 +26,7 @@ * @since 3.5 */ @FunctionalInterface -public interface AuthenticationListener extends SWTEventListener { +public interface AuthenticationListener extends EventListener { /** * This method is called when a page is navigated to that requires diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/CloseWindowListener.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/CloseWindowListener.java index a35b08c0c4e..9ce52d6456a 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/CloseWindowListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/CloseWindowListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.browser; -import org.eclipse.swt.internal.*; +import java.util.*; /** * This listener interface may be implemented in order to receive @@ -29,7 +29,7 @@ * @since 3.0 */ @FunctionalInterface -public interface CloseWindowListener extends SWTEventListener { +public interface CloseWindowListener extends EventListener { /** * This method is called when the window hosting a {@link Browser} should be closed. diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/LocationListener.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/LocationListener.java index 5a37109e0b9..33d5aaee3bf 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/LocationListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/LocationListener.java @@ -13,10 +13,9 @@ *******************************************************************************/ package org.eclipse.swt.browser; +import java.util.*; import java.util.function.*; -import org.eclipse.swt.internal.*; - /** * This listener interface may be implemented in order to receive * a {@link LocationEvent} notification when a {@link Browser} @@ -28,7 +27,7 @@ * * @since 3.0 */ -public interface LocationListener extends SWTEventListener { +public interface LocationListener extends EventListener { /** * This method is called when the current location is about to be changed. diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/OpenWindowListener.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/OpenWindowListener.java index 8dc165fa0ac..7431911d762 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/OpenWindowListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/OpenWindowListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.browser; -import org.eclipse.swt.internal.*; +import java.util.*; /** * This listener interface may be implemented in order to receive @@ -28,7 +28,7 @@ * @since 3.0 */ @FunctionalInterface -public interface OpenWindowListener extends SWTEventListener { +public interface OpenWindowListener extends EventListener { /** * This method is called when a new window needs to be created. diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/ProgressListener.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/ProgressListener.java index c24333f051f..9dc9f9ac3c6 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/ProgressListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/ProgressListener.java @@ -13,10 +13,9 @@ *******************************************************************************/ package org.eclipse.swt.browser; +import java.util.*; import java.util.function.*; -import org.eclipse.swt.internal.*; - /** * This listener interface may be implemented in order to receive * a {@link ProgressEvent} notification when a {@link Browser} @@ -29,7 +28,7 @@ * * @since 3.0 */ -public interface ProgressListener extends SWTEventListener { +public interface ProgressListener extends EventListener { /** * This method is called when a progress is made during the loading of the diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/StatusTextListener.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/StatusTextListener.java index 93786c48ac6..a05bb0b8c73 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/StatusTextListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/StatusTextListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.browser; -import org.eclipse.swt.internal.*; +import java.util.*; /** * This listener interface may be implemented in order to receive @@ -26,7 +26,7 @@ * @since 3.0 */ @FunctionalInterface -public interface StatusTextListener extends SWTEventListener { +public interface StatusTextListener extends EventListener { /** * This method is called when the status text is changed. The diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/TitleListener.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/TitleListener.java index 3fa84cf2b1b..72e5b92ffda 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/TitleListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/TitleListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.browser; -import org.eclipse.swt.internal.*; +import java.util.*; /** * This listener interface may be implemented in order to receive @@ -26,7 +26,7 @@ * @since 3.0 */ @FunctionalInterface -public interface TitleListener extends SWTEventListener { +public interface TitleListener extends EventListener { /** * This method is called when the title of the current document diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/VisibilityWindowListener.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/VisibilityWindowListener.java index cbb88c78b33..3d61aa763ef 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/VisibilityWindowListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/VisibilityWindowListener.java @@ -13,10 +13,9 @@ *******************************************************************************/ package org.eclipse.swt.browser; +import java.util.*; import java.util.function.*; -import org.eclipse.swt.internal.*; - /** * This listener interface may be implemented in order to receive * a {@link WindowEvent} notification when a window hosting a @@ -29,7 +28,7 @@ * * @since 3.0 */ -public interface VisibilityWindowListener extends SWTEventListener { +public interface VisibilityWindowListener extends EventListener { /** * This method is called when the window hosting a Browser diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/BidiSegmentListener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/BidiSegmentListener.java index ed569214ac9..3219f28bff3 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/BidiSegmentListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/BidiSegmentListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.custom; -import org.eclipse.swt.internal.*; +import java.util.*; /** * This listener interface may be implemented in order to receive @@ -21,7 +21,7 @@ * @see BidiSegmentEvent */ @FunctionalInterface -public interface BidiSegmentListener extends SWTEventListener { +public interface BidiSegmentListener extends EventListener { /** * This method is called when a line needs to be reordered for diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder2Listener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder2Listener.java index 25e00abeec3..e71f88fdadb 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder2Listener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder2Listener.java @@ -13,10 +13,9 @@ *******************************************************************************/ package org.eclipse.swt.custom; +import java.util.*; import java.util.function.*; -import org.eclipse.swt.internal.*; - /** * Classes which implement this interface provide methods * that deal with the events that are generated by the CTabFolder @@ -35,7 +34,7 @@ * * @since 3.0 */ -public interface CTabFolder2Listener extends SWTEventListener { +public interface CTabFolder2Listener extends EventListener { /** * Sent when the user clicks on the close button of an item in the CTabFolder. @@ -117,7 +116,7 @@ public interface CTabFolder2Listener extends SWTEventListener { /** * Sent when the tab items count changes - * + * * @param event from observed tab folder * @since 3.124 */ diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolderListener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolderListener.java index ce2e1a2fd8d..22a84794bb0 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolderListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolderListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.custom; -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes which implement this interface provide a method @@ -29,7 +29,7 @@ * @see CTabFolderEvent */ @FunctionalInterface -public interface CTabFolderListener extends SWTEventListener { +public interface CTabFolderListener extends EventListener { /** * Sent when the user clicks on the close button of an item in the CTabFolder. The item being closed is specified diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CaretListener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CaretListener.java index a26605f514d..4633a7dc127 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CaretListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CaretListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.custom; -import org.eclipse.swt.internal.*; +import java.util.*; /** * This listener interface may be implemented in order to receive @@ -24,7 +24,7 @@ * @since 3.5 */ @FunctionalInterface -public interface CaretListener extends SWTEventListener { +public interface CaretListener extends EventListener { /** * This method is called after the caret offset is changed. diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ExtendedModifyListener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ExtendedModifyListener.java index 3652482bc6d..995665243b6 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ExtendedModifyListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ExtendedModifyListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.custom; -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes which implement this interface provide a method @@ -24,7 +24,7 @@ * @see Sample code and further information */ @FunctionalInterface -public interface ExtendedModifyListener extends SWTEventListener { +public interface ExtendedModifyListener extends EventListener { /** * This method is called after a text change occurs. diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineBackgroundListener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineBackgroundListener.java index 41f8bb241b0..f661636dd3f 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineBackgroundListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineBackgroundListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.custom; -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes which implement this interface provide a method @@ -24,7 +24,7 @@ * @see Sample code and further information */ @FunctionalInterface -public interface LineBackgroundListener extends SWTEventListener { +public interface LineBackgroundListener extends EventListener { /** * This method is called when a line is about to be drawn in order to get its diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineStyleListener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineStyleListener.java index 8e2797986ee..9053718a62a 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineStyleListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineStyleListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.custom; -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes which implement this interface provide a method @@ -24,7 +24,7 @@ * @see Sample code and further information */ @FunctionalInterface -public interface LineStyleListener extends SWTEventListener { +public interface LineStyleListener extends EventListener { /** * This method is called when a line is about to be drawn in order to get the diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/MovementListener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/MovementListener.java index 6fcb0f73cd5..a4ec7db5003 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/MovementListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/MovementListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.custom; -import org.eclipse.swt.internal.SWTEventListener; +import java.util.*; /** * This listener is invoked when a new offset is required based on the current @@ -27,7 +27,7 @@ * * @since 3.3 */ -public interface MovementListener extends SWTEventListener { +public interface MovementListener extends EventListener { /** * This method is called when a new offset is required based on the current * offset and a movement type. diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/PaintObjectListener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/PaintObjectListener.java index f4384ad7026..4a2405da08e 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/PaintObjectListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/PaintObjectListener.java @@ -13,15 +13,15 @@ *******************************************************************************/ package org.eclipse.swt.custom; +import java.util.*; -import org.eclipse.swt.internal.*; /** * This listener is invoked when an object needs to be drawn. * * @since 3.2 */ @FunctionalInterface -public interface PaintObjectListener extends SWTEventListener { +public interface PaintObjectListener extends EventListener { /** * This method is called when an object needs to be drawn. * diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextListener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextListener.java index 2e42c53029a..732a51d5547 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextListener.java @@ -13,13 +13,14 @@ *******************************************************************************/ package org.eclipse.swt.custom; +import java.util.*; + import org.eclipse.swt.events.*; -import org.eclipse.swt.internal.*; import org.eclipse.swt.widgets.*; @SuppressWarnings("removal") class StyledTextListener extends TypedListener { -StyledTextListener(SWTEventListener listener) { +StyledTextListener(EventListener listener) { super(listener); } /** diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TextChangeListener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TextChangeListener.java index 0585f6ee587..a03869ab370 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TextChangeListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TextChangeListener.java @@ -13,8 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.custom; - -import org.eclipse.swt.internal.SWTEventListener; +import java.util.*; /** * The StyledText widget implements this listener to receive @@ -29,7 +28,7 @@ * below. If the entire text is replaced the textSet method * should be called instead. */ -public interface TextChangeListener extends SWTEventListener { +public interface TextChangeListener extends EventListener { /** * This method is called when the content is about to be changed. diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/VerifyKeyListener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/VerifyKeyListener.java index c2852315a2c..87394bc43c5 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/VerifyKeyListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/VerifyKeyListener.java @@ -13,8 +13,9 @@ *******************************************************************************/ package org.eclipse.swt.custom; +import java.util.*; + import org.eclipse.swt.events.*; -import org.eclipse.swt.internal.*; /** * Classes which implement this interface provide a method @@ -25,7 +26,7 @@ * @see Sample code and further information */ @FunctionalInterface -public interface VerifyKeyListener extends SWTEventListener { +public interface VerifyKeyListener extends EventListener { /** * The following event fields are used:

    *
  • event.character is the character that was typed (input)
  • diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DNDListener.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DNDListener.java index b30e59264bd..3fe22531997 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DNDListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DNDListener.java @@ -13,7 +13,8 @@ *******************************************************************************/ package org.eclipse.swt.dnd; -import org.eclipse.swt.internal.*; +import java.util.*; + import org.eclipse.swt.widgets.*; @SuppressWarnings("removal") @@ -21,9 +22,8 @@ class DNDListener extends TypedListener { Widget dndWidget; /** * DNDListener constructor comment. - * @param listener org.eclipse.swt.internal.SWTEventListener */ -DNDListener(SWTEventListener listener) { +DNDListener(EventListener listener) { super(listener); } @Override diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DragSourceListener.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DragSourceListener.java index c98a457f8c7..afbf54dc6c4 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DragSourceListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DragSourceListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.dnd; -import org.eclipse.swt.internal.*; +import java.util.*; /** * The DragSourceListener class provides event notification to the application for DragSource events. @@ -26,7 +26,7 @@ * DragSource is required to take the appropriate cleanup action. In the case of a successful * move operation, the application must remove the data that was transferred.

    */ -public interface DragSourceListener extends SWTEventListener { +public interface DragSourceListener extends EventListener { /** * The user has begun the actions required to drag the widget. This event gives the application diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DropTargetListener.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DropTargetListener.java index f41dc996aa7..730de95bd6b 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DropTargetListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DropTargetListener.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.dnd; -import org.eclipse.swt.internal.*; +import java.util.*; /** * The DropTargetListener class provides event notification to the application @@ -35,7 +35,7 @@ * * @see DropTargetEvent */ -public interface DropTargetListener extends SWTEventListener { +public interface DropTargetListener extends EventListener { /** * The cursor has entered the drop target boundaries. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Widget.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Widget.java index 18c25e65030..957a39d9619 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Widget.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Widget.java @@ -1524,11 +1524,44 @@ public void removeListener (int eventType, Listener listener) { * * @noreference This method is not intended to be referenced by clients. * @nooverride This method is not intended to be re-implemented or extended by clients. + * @deprecated Use {@link #removeListener(int, EventListener)}. */ +@Deprecated(forRemoval=true, since="2025-03") protected void removeListener (int eventType, SWTEventListener listener) { removeTypedListener(eventType, listener); } +/** + * Removes the listener from the collection of listeners who will + * be notified when an event of the given type occurs. + *

    + * IMPORTANT: This method is not part of the SWT + * public API. It is marked public only so that it can be shared + * within the packages provided by SWT. It should never be + * referenced from application code. + *

    + * + * @param eventType the type of event to listen for + * @param listener the listener which should no longer be notified + * + * @exception IllegalArgumentException
      + *
    • ERROR_NULL_ARGUMENT - if the listener is null
    • + *
    + * @exception SWTException
      + *
    • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    • + *
    • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • + *
    + * + * @see Listener + * @see #addListener + * + * @noreference This method is not intended to be referenced by clients. + * @nooverride This method is not intended to be re-implemented or extended by clients. + */ +protected void removeListener (int eventType, EventListener listener) { + removeTypedListener(eventType, listener); +} + /** * Removes the listener from the collection of listeners who will * be notified when an event of the given type occurs. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/ArmListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/ArmListener.java index bd4a4d3a42d..801578a4134 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/ArmListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/ArmListener.java @@ -15,7 +15,7 @@ package org.eclipse.swt.events; -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes which implement this interface provide a method @@ -32,7 +32,7 @@ * @see ArmEvent */ @FunctionalInterface -public interface ArmListener extends SWTEventListener { +public interface ArmListener extends EventListener { /** * Sent when a widget is armed, or 'about to be selected'. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/ControlListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/ControlListener.java index d5fd210ec1c..16ebb8c086e 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/ControlListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/ControlListener.java @@ -14,10 +14,9 @@ package org.eclipse.swt.events; +import java.util.*; import java.util.function.*; -import org.eclipse.swt.internal.*; - /** * Classes which implement this interface provide methods * that deal with the events that are generated by moving @@ -34,7 +33,7 @@ * @see ControlAdapter * @see ControlEvent */ -public interface ControlListener extends SWTEventListener { +public interface ControlListener extends EventListener { /** * Sent when the location (x, y) of a control changes relative diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/DisposeListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/DisposeListener.java index 8cb02a8957a..a7b8f76e37d 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/DisposeListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/DisposeListener.java @@ -15,7 +15,7 @@ package org.eclipse.swt.events; -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes which implement this interface provide a method @@ -33,7 +33,7 @@ * @see DisposeEvent */ @FunctionalInterface -public interface DisposeListener extends SWTEventListener { +public interface DisposeListener extends EventListener { /** * Sent when the widget is disposed. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/DragDetectListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/DragDetectListener.java index 1f5f54b4b67..5c712f8ed3d 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/DragDetectListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/DragDetectListener.java @@ -15,7 +15,7 @@ package org.eclipse.swt.events; -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes which implement this interface provide methods that deal with the @@ -33,7 +33,7 @@ * @since 3.3 */ @FunctionalInterface -public interface DragDetectListener extends SWTEventListener { +public interface DragDetectListener extends EventListener { /** * Sent when a drag gesture is detected. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/ExpandListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/ExpandListener.java index 3829a9f64ac..7be2afd2cb6 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/ExpandListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/ExpandListener.java @@ -14,10 +14,9 @@ package org.eclipse.swt.events; +import java.util.*; import java.util.function.*; -import org.eclipse.swt.internal.*; - /** * Classes which implement this interface provide methods * that deal with the expanding and collapsing of ExpandItems. @@ -36,7 +35,7 @@ * * @since 3.2 */ -public interface ExpandListener extends SWTEventListener { +public interface ExpandListener extends EventListener { /** * Sent when an item is collapsed. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/FocusListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/FocusListener.java index 85802482bf1..c7a47490ab2 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/FocusListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/FocusListener.java @@ -15,10 +15,9 @@ package org.eclipse.swt.events; +import java.util.*; import java.util.function.*; -import org.eclipse.swt.internal.*; - /** * Classes which implement this interface provide methods * that deal with the events that are generated as controls @@ -35,7 +34,7 @@ * @see FocusAdapter * @see FocusEvent */ -public interface FocusListener extends SWTEventListener { +public interface FocusListener extends EventListener { /** * Sent when a control gets focus. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/GestureListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/GestureListener.java index 7193e78ef44..d9d338f457c 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/GestureListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/GestureListener.java @@ -15,7 +15,7 @@ package org.eclipse.swt.events; -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes which implement this interface provide methods @@ -39,7 +39,7 @@ * @since 3.7 */ @FunctionalInterface -public interface GestureListener extends SWTEventListener { +public interface GestureListener extends EventListener { /** * Sent when a recognized gesture has occurred. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/HelpListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/HelpListener.java index 74eb24a1361..10647bd37b4 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/HelpListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/HelpListener.java @@ -14,8 +14,7 @@ *******************************************************************************/ package org.eclipse.swt.events; - -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes which implement this interface provide a method @@ -33,7 +32,7 @@ * @see HelpEvent */ @FunctionalInterface -public interface HelpListener extends SWTEventListener { +public interface HelpListener extends EventListener { /** * Sent when help is requested for a control, typically diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/KeyListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/KeyListener.java index 8d55ef2809a..4622df90998 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/KeyListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/KeyListener.java @@ -15,10 +15,9 @@ package org.eclipse.swt.events; +import java.util.*; import java.util.function.*; -import org.eclipse.swt.internal.*; - /** * Classes which implement this interface provide methods * that deal with the events that are generated as keys @@ -35,7 +34,7 @@ * @see KeyAdapter * @see KeyEvent */ -public interface KeyListener extends SWTEventListener { +public interface KeyListener extends EventListener { /** * Sent when a key is pressed on the system keyboard. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MenuDetectListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MenuDetectListener.java index 41d0f3f74e1..8818e370e0b 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MenuDetectListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MenuDetectListener.java @@ -15,7 +15,7 @@ package org.eclipse.swt.events; -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes which implement this interface provide methods @@ -36,7 +36,7 @@ * @since 3.3 */ @FunctionalInterface -public interface MenuDetectListener extends SWTEventListener { +public interface MenuDetectListener extends EventListener { /** * Sent when the platform-dependent trigger for showing a menu item is detected. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MenuListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MenuListener.java index a16bdc73130..d2297b8b744 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MenuListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MenuListener.java @@ -14,10 +14,9 @@ package org.eclipse.swt.events; +import java.util.*; import java.util.function.*; -import org.eclipse.swt.internal.*; - /** * Classes which implement this interface provide methods * that deal with the hiding and showing of menus. @@ -33,7 +32,7 @@ * @see MenuAdapter * @see MenuEvent */ -public interface MenuListener extends SWTEventListener { +public interface MenuListener extends EventListener { /** * Sent when a menu is hidden. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/ModifyListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/ModifyListener.java index 108e3501a19..b2339912a6f 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/ModifyListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/ModifyListener.java @@ -15,7 +15,7 @@ package org.eclipse.swt.events; -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes which implement this interface provide a method @@ -32,7 +32,7 @@ * @see ModifyEvent */ @FunctionalInterface -public interface ModifyListener extends SWTEventListener { +public interface ModifyListener extends EventListener { /** * Sent when the text is modified. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MouseListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MouseListener.java index ec7c13d4534..1fb488c882b 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MouseListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MouseListener.java @@ -15,10 +15,9 @@ package org.eclipse.swt.events; +import java.util.*; import java.util.function.*; -import org.eclipse.swt.internal.*; - /** * Classes which implement this interface provide methods * that deal with the events that are generated as mouse buttons @@ -35,7 +34,7 @@ * @see MouseAdapter * @see MouseEvent */ -public interface MouseListener extends SWTEventListener { +public interface MouseListener extends EventListener { /** * Sent when a mouse button is pressed twice within the diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MouseMoveListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MouseMoveListener.java index 5912e65f074..775ca52e446 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MouseMoveListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MouseMoveListener.java @@ -15,7 +15,7 @@ package org.eclipse.swt.events; -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes which implement this interface provide a method @@ -32,7 +32,7 @@ * @see MouseEvent */ @FunctionalInterface -public interface MouseMoveListener extends SWTEventListener { +public interface MouseMoveListener extends EventListener { /** * Sent when the mouse moves. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MouseTrackListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MouseTrackListener.java index 135d78be752..60cc0e07a89 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MouseTrackListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MouseTrackListener.java @@ -14,10 +14,9 @@ package org.eclipse.swt.events; +import java.util.*; import java.util.function.*; -import org.eclipse.swt.internal.*; - /** * Classes which implement this interface provide methods * that deal with the events that are generated as the mouse @@ -35,7 +34,7 @@ * @see MouseTrackAdapter * @see MouseEvent */ -public interface MouseTrackListener extends SWTEventListener { +public interface MouseTrackListener extends EventListener { /** * Sent when the mouse pointer passes into the area of diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MouseWheelListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MouseWheelListener.java index 8766e14bad1..7fe40dc4016 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MouseWheelListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/MouseWheelListener.java @@ -13,8 +13,7 @@ *******************************************************************************/ package org.eclipse.swt.events; - -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes which implement this interface provide a method @@ -34,7 +33,7 @@ * @since 3.3 */ @FunctionalInterface -public interface MouseWheelListener extends SWTEventListener { +public interface MouseWheelListener extends EventListener { /** * Sent when the mouse wheel is scrolled. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/PaintListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/PaintListener.java index 070c3e919bd..a64fe9d796d 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/PaintListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/PaintListener.java @@ -14,8 +14,7 @@ *******************************************************************************/ package org.eclipse.swt.events; - -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes which implement this interface provide methods @@ -33,7 +32,7 @@ * @see PaintEvent */ @FunctionalInterface -public interface PaintListener extends SWTEventListener { +public interface PaintListener extends EventListener { /** * Sent when a paint event occurs for the control. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/SegmentListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/SegmentListener.java index 37016ee9455..75d72a06c64 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/SegmentListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/SegmentListener.java @@ -14,7 +14,7 @@ *******************************************************************************/ package org.eclipse.swt.events; -import org.eclipse.swt.internal.*; +import java.util.*; /** * This listener interface may be implemented in order to receive @@ -24,7 +24,7 @@ * @since 3.8 */ @FunctionalInterface -public interface SegmentListener extends SWTEventListener { +public interface SegmentListener extends EventListener { /** * This method is called when text content is being modified. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/SelectionListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/SelectionListener.java index 44e0af96323..5acd4c66e71 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/SelectionListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/SelectionListener.java @@ -15,10 +15,9 @@ package org.eclipse.swt.events; +import java.util.*; import java.util.function.*; -import org.eclipse.swt.internal.*; - /** * Classes which implement this interface provide methods * that deal with the events that are generated when selection @@ -35,7 +34,7 @@ * @see SelectionAdapter * @see SelectionEvent */ -public interface SelectionListener extends SWTEventListener { +public interface SelectionListener extends EventListener { /** * Sent when selection occurs in the control. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/ShellListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/ShellListener.java index fc30f65eeb5..2cbc57f5a53 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/ShellListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/ShellListener.java @@ -14,10 +14,9 @@ package org.eclipse.swt.events; +import java.util.*; import java.util.function.*; -import org.eclipse.swt.internal.*; - /** * Classes which implement this interface provide methods * that deal with changes in state of Shells. @@ -33,7 +32,7 @@ * @see ShellAdapter * @see ShellEvent */ -public interface ShellListener extends SWTEventListener { +public interface ShellListener extends EventListener { /** * Sent when a shell becomes the active window. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/TouchListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/TouchListener.java index 0c9913a2d02..527f22806ba 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/TouchListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/TouchListener.java @@ -14,8 +14,7 @@ *******************************************************************************/ package org.eclipse.swt.events; - -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes which implement this interface provide methods @@ -39,7 +38,7 @@ * @since 3.7 */ @FunctionalInterface -public interface TouchListener extends SWTEventListener { +public interface TouchListener extends EventListener { /** * Sent when a touch sequence begins, changes state, or ends. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/TraverseListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/TraverseListener.java index 14a51d7883c..acee82f8848 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/TraverseListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/TraverseListener.java @@ -14,8 +14,7 @@ *******************************************************************************/ package org.eclipse.swt.events; - -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes which implement this interface provide a method @@ -33,7 +32,7 @@ * @see TraverseEvent */ @FunctionalInterface -public interface TraverseListener extends SWTEventListener { +public interface TraverseListener extends EventListener { /** * Sent when a traverse event occurs in a control. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/TreeListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/TreeListener.java index ceacdfe690e..6f7930fc561 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/TreeListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/TreeListener.java @@ -14,10 +14,9 @@ package org.eclipse.swt.events; +import java.util.*; import java.util.function.*; -import org.eclipse.swt.internal.*; - /** * Classes which implement this interface provide methods * that deal with the expanding and collapsing of tree @@ -34,7 +33,7 @@ * @see TreeAdapter * @see TreeEvent */ -public interface TreeListener extends SWTEventListener { +public interface TreeListener extends EventListener { /** * Sent when a tree branch is collapsed. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/VerifyListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/VerifyListener.java index 06360f5af63..e6e02722a79 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/VerifyListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/events/VerifyListener.java @@ -14,8 +14,7 @@ *******************************************************************************/ package org.eclipse.swt.events; - -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes which implement this interface provide a method @@ -33,7 +32,7 @@ * @see VerifyEvent */ @FunctionalInterface -public interface VerifyListener extends SWTEventListener { +public interface VerifyListener extends EventListener { /** * Sent when the text is about to be modified. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/graphics/ImageLoaderListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/graphics/ImageLoaderListener.java index 6a38575d05d..6a7b5c04661 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/graphics/ImageLoaderListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/graphics/ImageLoaderListener.java @@ -14,7 +14,7 @@ package org.eclipse.swt.graphics; -import org.eclipse.swt.internal.*; +import java.util.*; /** * Classes which implement this interface provide methods @@ -32,7 +32,7 @@ * @see ImageLoaderEvent */ @FunctionalInterface -public interface ImageLoaderListener extends SWTEventListener { +public interface ImageLoaderListener extends EventListener { /** * Sent when image data is either partially or completely loaded. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/internal/SWTEventListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/internal/SWTEventListener.java index 2622ded4374..8ccafbbb86a 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/internal/SWTEventListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/internal/SWTEventListener.java @@ -14,7 +14,7 @@ package org.eclipse.swt.internal; -import java.util.EventListener; +import java.util.*; /** * This interface is the cross-platform version of the @@ -29,5 +29,6 @@ *

    * @noreference This interface is not intended to be referenced by clients. */ +@Deprecated(forRemoval=true, since="2025-03") public interface SWTEventListener extends EventListener { } diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/widgets/TypedListener.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/widgets/TypedListener.java index ea598e4395c..e4267dfdaad 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/widgets/TypedListener.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/widgets/TypedListener.java @@ -63,11 +63,26 @@ public class TypedListener implements Listener { * * @noreference This method is not intended to be referenced by clients. */ +@Deprecated(forRemoval=true, since="2025-03") public TypedListener (SWTEventListener listener) { eventListener = listener; } -TypedListener (EventListener listener) { +/** + * Constructs a new instance of this class for the given event listener. + *

    + * IMPORTANT: This method is not part of the SWT + * public API. It is marked public only so that it can be shared + * within the packages provided by SWT. It should never be + * referenced from application code. + *

    + * + * @param listener the event listener to store in the receiver + * + * @noreference This method is not intended to be referenced by clients. + */ + +public TypedListener (EventListener listener) { eventListener = listener; } @@ -84,12 +99,12 @@ public TypedListener (SWTEventListener listener) { * * @noreference This method is not intended to be referenced by clients. */ -public SWTEventListener getEventListener () { +public EventListener getEventListener () { // At the moment all typed listeners implement SWTEventListener but that interface is intended to be removed in the future and then they will only implement EventListener. // This method should not be called for typed listeners listeners that only implement EventListener. // This is only relevant for custom typed listeners that implement EventListener directly before SWTEventListener is eventually removed. // But then the new Widget.getTypedListener() method can be used. - return (SWTEventListener) eventListener; + return eventListener; } /** diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java index d39864ea3e6..b4fe086826c 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java @@ -1494,11 +1494,44 @@ public void removeListener (int eventType, Listener listener) { * * @noreference This method is not intended to be referenced by clients. * @nooverride This method is not intended to be re-implemented or extended by clients. + * @deprecated Use {@link #removeListener(int, EventListener)}. */ +@Deprecated(forRemoval=true, since="2025-03") protected void removeListener (int eventType, SWTEventListener listener) { removeTypedListener(eventType, listener); } +/** + * Removes the listener from the collection of listeners who will + * be notified when an event of the given type occurs. + *

    + * IMPORTANT: This method is not part of the SWT + * public API. It is marked public only so that it can be shared + * within the packages provided by SWT. It should never be + * referenced from application code. + *

    + * + * @param eventType the type of event to listen for + * @param listener the listener which should no longer be notified + * + * @exception IllegalArgumentException
      + *
    • ERROR_NULL_ARGUMENT - if the listener is null
    • + *
    + * @exception SWTException
      + *
    • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    • + *
    • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • + *
    + * + * @see Listener + * @see #addListener + * + * @noreference This method is not intended to be referenced by clients. + * @nooverride This method is not intended to be re-implemented or extended by clients. + */ +protected void removeListener (int eventType, EventListener listener) { + removeTypedListener(eventType, listener); +} + /** * Removes the listener from the collection of listeners who will * be notified when an event of the given type occurs. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Widget.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Widget.java index 22b279b32a2..4fcc69ed1e0 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Widget.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Widget.java @@ -1040,11 +1040,44 @@ public void removeListener (int eventType, Listener listener) { * * @noreference This method is not intended to be referenced by clients. * @nooverride This method is not intended to be re-implemented or extended by clients. + * @deprecated Use {@link #removeListener(int, EventListener)}. */ +@Deprecated(forRemoval=true, since="2025-03") protected void removeListener (int eventType, SWTEventListener listener) { removeTypedListener(eventType, listener); } +/** + * Removes the listener from the collection of listeners who will + * be notified when an event of the given type occurs. + *

    + * IMPORTANT: This method is not part of the SWT + * public API. It is marked public only so that it can be shared + * within the packages provided by SWT. It should never be + * referenced from application code. + *

    + * + * @param eventType the type of event to listen for + * @param listener the listener which should no longer be notified + * + * @exception IllegalArgumentException
      + *
    • ERROR_NULL_ARGUMENT - if the listener is null
    • + *
    + * @exception SWTException
      + *
    • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    • + *
    • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • + *
    + * + * @see Listener + * @see #addListener + * + * @noreference This method is not intended to be referenced by clients. + * @nooverride This method is not intended to be re-implemented or extended by clients. + */ +protected void removeListener (int eventType, EventListener listener) { + removeTypedListener(eventType, listener); +} + /** * Removes the listener from the collection of listeners who will * be notified when an event of the given type occurs.