Skip to content

Commit

Permalink
Leverage new Widget.addTypedListeners() and Widget.getTypedListeners()
Browse files Browse the repository at this point in the history
  • Loading branch information
HannesWell committed Mar 15, 2024
1 parent e96886d commit 14e056a
Show file tree
Hide file tree
Showing 94 changed files with 269 additions and 988 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -301,10 +301,7 @@ public void add (String string, int index) {
* @see #removeModifyListener
*/
public void addModifyListener (ModifyListener listener) {
checkWidget();
if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
TypedListener typedListener = new TypedListener (listener);
addListener (SWT.Modify, typedListener);
addTypedListener(listener, SWT.Modify);
}
/**
* Adds the listener to the collection of listeners who will
Expand All @@ -331,11 +328,7 @@ public void addModifyListener (ModifyListener listener) {
* @see SelectionEvent
*/
public void addSelectionListener(SelectionListener listener) {
checkWidget();
if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
TypedListener typedListener = new TypedListener (listener);
addListener (SWT.Selection,typedListener);
addListener (SWT.DefaultSelection,typedListener);
addTypedListener(listener, SWT.Selection, SWT.DefaultSelection);
}
/**
* Adds the listener to the collection of listeners who will
Expand All @@ -359,11 +352,9 @@ public void addSelectionListener(SelectionListener listener) {
* @since 3.3
*/
public void addVerifyListener (VerifyListener listener) {
checkWidget();
if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
TypedListener typedListener = new TypedListener (listener);
addListener (SWT.Verify,typedListener);
addTypedListener(listener, SWT.Verify);
}

void arrowEvent (Event event) {
switch (event.type) {
case SWT.FocusIn: {
Expand Down Expand Up @@ -1451,7 +1442,7 @@ public void removeAll () {
public void removeModifyListener (ModifyListener listener) {
checkWidget();
if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
removeListener(SWT.Modify, listener);
removeTypedListener(SWT.Modify, listener);
}
/**
* Removes the listener from the collection of listeners who will
Expand All @@ -1473,8 +1464,8 @@ public void removeModifyListener (ModifyListener listener) {
public void removeSelectionListener (SelectionListener listener) {
checkWidget();
if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
removeListener(SWT.Selection, listener);
removeListener(SWT.DefaultSelection,listener);
removeTypedListener(SWT.Selection, listener);
removeTypedListener(SWT.DefaultSelection, listener);
}
/**
* Removes the listener from the collection of listeners who will
Expand All @@ -1498,7 +1489,7 @@ public void removeSelectionListener (SelectionListener listener) {
public void removeVerifyListener (VerifyListener listener) {
checkWidget();
if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
removeListener(SWT.Verify, listener);
removeTypedListener(SWT.Verify, listener);
}
/**
* Selects the item at the given zero-relative index in the receiver's
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -503,13 +503,7 @@ public void addCTabFolderListener(CTabFolderListener listener) {
* @see SelectionEvent
*/
public void addSelectionListener(SelectionListener listener) {
checkWidget();
if (listener == null) {
SWT.error(SWT.ERROR_NULL_ARGUMENT);
}
TypedListener typedListener = new TypedListener(listener);
addListener(SWT.Selection, typedListener);
addListener(SWT.DefaultSelection, typedListener);
addTypedListener(listener, SWT.Selection, SWT.DefaultSelection);
}

Rectangle[] computeControlBounds (Point size, boolean[][] position) {
Expand Down Expand Up @@ -2353,8 +2347,8 @@ public void removeSelectionListener(SelectionListener listener) {
if (listener == null) {
SWT.error(SWT.ERROR_NULL_ARGUMENT);
}
removeListener(SWT.Selection, listener);
removeListener(SWT.DefaultSelection, listener);
removeTypedListener(SWT.Selection, listener);
removeTypedListener(SWT.DefaultSelection, listener);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -886,9 +886,7 @@ public void addLineStyleListener(LineStyleListener listener) {
* </ul>
*/
public void addModifyListener(ModifyListener modifyListener) {
checkWidget();
if (modifyListener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
addListener(SWT.Modify, new TypedListener(modifyListener));
addTypedListener(modifyListener, SWT.Modify);
}
/**
* Adds a paint object listener. A paint object event is sent by the widget when an object
Expand Down Expand Up @@ -940,9 +938,7 @@ public void addPaintObjectListener(PaintObjectListener listener) {
* @see SelectionEvent
*/
public void addSelectionListener(SelectionListener listener) {
checkWidget();
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
addListener(SWT.Selection, new TypedListener(listener));
addTypedListener(listener, SWT.Selection);
}
/**
* Adds a verify key listener. A VerifyKey event is sent by the widget when a key
Expand Down Expand Up @@ -979,9 +975,7 @@ public void addVerifyKeyListener(VerifyKeyListener listener) {
* </ul>
*/
public void addVerifyListener(VerifyListener verifyListener) {
checkWidget();
if (verifyListener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
addListener(SWT.Verify, new TypedListener(verifyListener));
addTypedListener(verifyListener, SWT.Verify);
}
/**
* Adds a word movement listener. A movement event is sent when the boundary
Expand Down Expand Up @@ -7486,7 +7480,7 @@ public void redrawRange(int start, int length, boolean clearBackground) {
public void removeBidiSegmentListener(BidiSegmentListener listener) {
checkWidget();
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
removeListener(ST.LineGetSegments, listener);
removeTypedListener(ST.LineGetSegments, listener);
resetCache(0, content.getLineCount());
setCaretLocations();
super.redraw();
Expand All @@ -7509,7 +7503,7 @@ public void removeBidiSegmentListener(BidiSegmentListener listener) {
public void removeCaretListener(CaretListener listener) {
checkWidget();
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
removeListener(ST.CaretMoved, listener);
removeTypedListener(ST.CaretMoved, listener);
}
/**
* Removes the specified extended modify listener.
Expand All @@ -7527,7 +7521,7 @@ public void removeCaretListener(CaretListener listener) {
public void removeExtendedModifyListener(ExtendedModifyListener extendedModifyListener) {
checkWidget();
if (extendedModifyListener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
removeListener(ST.ExtendedModify, extendedModifyListener);
removeTypedListener(ST.ExtendedModify, extendedModifyListener);
}
/**
* Removes the specified line background listener.
Expand All @@ -7545,7 +7539,7 @@ public void removeExtendedModifyListener(ExtendedModifyListener extendedModifyLi
public void removeLineBackgroundListener(LineBackgroundListener listener) {
checkWidget();
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
removeListener(ST.LineGetBackground, listener);
removeTypedListener(ST.LineGetBackground, listener);
}
/**
* Removes the specified line style listener.
Expand All @@ -7563,7 +7557,7 @@ public void removeLineBackgroundListener(LineBackgroundListener listener) {
public void removeLineStyleListener(LineStyleListener listener) {
checkWidget();
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
removeListener(ST.LineGetStyle, listener);
removeTypedListener(ST.LineGetStyle, listener);
setCaretLocations();
}
/**
Expand All @@ -7582,7 +7576,7 @@ public void removeLineStyleListener(LineStyleListener listener) {
public void removeModifyListener(ModifyListener modifyListener) {
checkWidget();
if (modifyListener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
removeListener(SWT.Modify, modifyListener);
removeTypedListener(SWT.Modify, modifyListener);
}
/**
* Removes the specified listener.
Expand All @@ -7601,7 +7595,7 @@ public void removeModifyListener(ModifyListener modifyListener) {
public void removePaintObjectListener(PaintObjectListener listener) {
checkWidget();
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
removeListener(ST.PaintObject, listener);
removeTypedListener(ST.PaintObject, listener);
}
/**
* Removes the listener from the collection of listeners who will
Expand All @@ -7623,7 +7617,7 @@ public void removePaintObjectListener(PaintObjectListener listener) {
public void removeSelectionListener(SelectionListener listener) {
checkWidget();
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
removeListener(SWT.Selection, listener);
removeTypedListener(SWT.Selection, listener);
}
/**
* Removes the specified verify listener.
Expand All @@ -7641,7 +7635,7 @@ public void removeSelectionListener(SelectionListener listener) {
public void removeVerifyListener(VerifyListener verifyListener) {
checkWidget();
if (verifyListener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
removeListener(SWT.Verify, verifyListener);
removeTypedListener(SWT.Verify, verifyListener);
}
/**
* Removes the specified key verify listener.
Expand All @@ -7658,7 +7652,7 @@ public void removeVerifyListener(VerifyListener verifyListener) {
*/
public void removeVerifyKeyListener(VerifyKeyListener listener) {
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
removeListener(ST.VerifyKey, listener);
removeTypedListener(ST.VerifyKey, listener);
}
/**
* Removes the specified word movement listener.
Expand All @@ -7683,8 +7677,8 @@ public void removeVerifyKeyListener(VerifyKeyListener listener) {
public void removeWordMovementListener(MovementListener listener) {
checkWidget();
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
removeListener(ST.WordNext, listener);
removeListener(ST.WordPrevious, listener);
removeTypedListener(ST.WordNext, listener);
removeTypedListener(ST.WordPrevious, listener);
}
/**
* Replaces the styles in the given range with new styles. This method
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -197,12 +197,7 @@ public void getName(AccessibleEvent e) {
* @see #removeSelectionListener(SelectionListener)
*/
public void addSelectionListener(SelectionListener listener) {
checkWidget();
if (listener == null)
SWT.error(SWT.ERROR_NULL_ARGUMENT);
TypedListener typedListener = new TypedListener(listener);
addListener(SWT.Selection, typedListener);
addListener(SWT.DefaultSelection, typedListener);
addTypedListener(listener, SWT.Selection, SWT.DefaultSelection);
}

void onDispose(Event event) {
Expand Down Expand Up @@ -502,8 +497,8 @@ public void removeSelectionListener(SelectionListener listener) {
if (listener == null) {
SWT.error(SWT.ERROR_NULL_ARGUMENT);
}
removeListener(SWT.Selection, listener);
removeListener(SWT.DefaultSelection, listener);
removeTypedListener(SWT.Selection, listener);
removeTypedListener(SWT.DefaultSelection, listener);
}

void _resize() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -268,11 +268,7 @@ public void getName(AccessibleEvent e) {
* @see #removeSelectionListener(SelectionListener)
*/
public void addSelectionListener(SelectionListener listener) {
checkWidget();
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
TypedListener typedListener = new TypedListener(listener);
addListener(SWT.Selection, typedListener);
addListener(SWT.DefaultSelection, typedListener);
addTypedListener(listener, SWT.Selection, SWT.DefaultSelection);
}

int countSubTreePages(TreeItem root) {
Expand Down Expand Up @@ -704,8 +700,8 @@ void paint(Event event) {
public void removeSelectionListener(SelectionListener listener) {
checkWidget();
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
removeListener(SWT.Selection, listener);
removeListener(SWT.DefaultSelection, listener);
removeTypedListener(SWT.Selection, listener);
removeTypedListener(SWT.DefaultSelection, listener);
}

void _resize() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
package org.eclipse.swt.dnd;


import java.util.*;

import org.eclipse.swt.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.internal.*;
Expand Down Expand Up @@ -616,21 +618,9 @@ public Control getControl () {
* @since 3.4
*/
public DragSourceListener[] getDragListeners() {
Listener[] listeners = getListeners(DND.DragStart);
int length = listeners.length;
DragSourceListener[] dragListeners = new DragSourceListener[length];
int count = 0;
for (int i = 0; i < length; i++) {
Listener listener = listeners[i];
if (listener instanceof DNDListener) {
dragListeners[count] = (DragSourceListener) ((DNDListener) listener).getEventListener();
count++;
}
}
if (count == length) return dragListeners;
DragSourceListener[] result = new DragSourceListener[count];
System.arraycopy(dragListeners, 0, result, 0, count);
return result;
return Arrays.stream(getTypedListeners(DND.DragStart)) //
.filter(DragSourceListener.class::isInstance).map(DragSourceListener.class::cast)
.toArray(DragSourceListener[]::new);
}

/**
Expand Down Expand Up @@ -790,9 +780,9 @@ void pasteboard_provideDataForType(long id, long sel, long arg0, long arg1) {
*/
public void removeDragListener(DragSourceListener listener) {
if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
removeListener (DND.DragStart, listener);
removeListener (DND.DragSetData, listener);
removeListener (DND.DragEnd, listener);
removeTypedListener(DND.DragStart, listener);
removeTypedListener(DND.DragSetData, listener);
removeTypedListener(DND.DragEnd, listener);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -506,21 +506,9 @@ public Control getControl () {
* @since 3.4
*/
public DropTargetListener[] getDropListeners() {
Listener[] listeners = getListeners(DND.DragEnter);
int length = listeners.length;
DropTargetListener[] dropListeners = new DropTargetListener[length];
int count = 0;
for (int i = 0; i < length; i++) {
Listener listener = listeners[i];
if (listener instanceof DNDListener) {
dropListeners[count] = (DropTargetListener) ((DNDListener) listener).getEventListener();
count++;
}
}
if (count == length) return dropListeners;
DropTargetListener[] result = new DropTargetListener[count];
System.arraycopy(dropListeners, 0, result, 0, count);
return result;
return Arrays.stream(getTypedListeners(DND.DragEnter)) //
.filter(DropTargetListener.class::isInstance).map(DropTargetListener.class::cast)
.toArray(DropTargetListener[]::new);
}

/**
Expand Down Expand Up @@ -798,12 +786,12 @@ long outlineView_validateDrop_proposedItem_proposedChildIndex(long id, long sel,
*/
public void removeDropListener(DropTargetListener listener) {
if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
removeListener (DND.DragEnter, listener);
removeListener (DND.DragLeave, listener);
removeListener (DND.DragOver, listener);
removeListener (DND.DragOperationChanged, listener);
removeListener (DND.Drop, listener);
removeListener (DND.DropAccept, listener);
removeTypedListener(DND.DragEnter, listener);
removeTypedListener(DND.DragLeave, listener);
removeTypedListener(DND.DragOver, listener);
removeTypedListener(DND.DragOperationChanged, listener);
removeTypedListener(DND.Drop, listener);
removeTypedListener(DND.DropAccept, listener);
}

/**
Expand Down
Loading

0 comments on commit 14e056a

Please sign in to comment.