Skip to content

Commit 78943aa

Browse files
committed
Leverage new Widget.addTypedListeners() and Widget.getTypedListeners()
1 parent 5ae0625 commit 78943aa

File tree

94 files changed

+245
-987
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

94 files changed

+245
-987
lines changed

bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CCombo.java

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -301,10 +301,7 @@ public void add (String string, int index) {
301301
* @see #removeModifyListener
302302
*/
303303
public void addModifyListener (ModifyListener listener) {
304-
checkWidget();
305-
if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
306-
TypedListener typedListener = new TypedListener (listener);
307-
addListener (SWT.Modify, typedListener);
304+
addTypedListener(listener, SWT.Modify);
308305
}
309306
/**
310307
* Adds the listener to the collection of listeners who will
@@ -331,11 +328,7 @@ public void addModifyListener (ModifyListener listener) {
331328
* @see SelectionEvent
332329
*/
333330
public void addSelectionListener(SelectionListener listener) {
334-
checkWidget();
335-
if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
336-
TypedListener typedListener = new TypedListener (listener);
337-
addListener (SWT.Selection,typedListener);
338-
addListener (SWT.DefaultSelection,typedListener);
331+
addTypedListener(listener, SWT.Selection, SWT.DefaultSelection);
339332
}
340333
/**
341334
* Adds the listener to the collection of listeners who will
@@ -359,11 +352,9 @@ public void addSelectionListener(SelectionListener listener) {
359352
* @since 3.3
360353
*/
361354
public void addVerifyListener (VerifyListener listener) {
362-
checkWidget();
363-
if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
364-
TypedListener typedListener = new TypedListener (listener);
365-
addListener (SWT.Verify,typedListener);
355+
addTypedListener(listener, SWT.Verify);
366356
}
357+
367358
void arrowEvent (Event event) {
368359
switch (event.type) {
369360
case SWT.FocusIn: {
@@ -1451,7 +1442,7 @@ public void removeAll () {
14511442
public void removeModifyListener (ModifyListener listener) {
14521443
checkWidget();
14531444
if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
1454-
removeListener(SWT.Modify, listener);
1445+
removeTypedListener(SWT.Modify, listener);
14551446
}
14561447
/**
14571448
* Removes the listener from the collection of listeners who will
@@ -1473,8 +1464,8 @@ public void removeModifyListener (ModifyListener listener) {
14731464
public void removeSelectionListener (SelectionListener listener) {
14741465
checkWidget();
14751466
if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
1476-
removeListener(SWT.Selection, listener);
1477-
removeListener(SWT.DefaultSelection,listener);
1467+
removeTypedListener(SWT.Selection, listener);
1468+
removeTypedListener(SWT.DefaultSelection, listener);
14781469
}
14791470
/**
14801471
* Removes the listener from the collection of listeners who will
@@ -1498,7 +1489,7 @@ public void removeSelectionListener (SelectionListener listener) {
14981489
public void removeVerifyListener (VerifyListener listener) {
14991490
checkWidget();
15001491
if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
1501-
removeListener(SWT.Verify, listener);
1492+
removeTypedListener(SWT.Verify, listener);
15021493
}
15031494
/**
15041495
* Selects the item at the given zero-relative index in the receiver's

bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder.java

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -503,13 +503,7 @@ public void addCTabFolderListener(CTabFolderListener listener) {
503503
* @see SelectionEvent
504504
*/
505505
public void addSelectionListener(SelectionListener listener) {
506-
checkWidget();
507-
if (listener == null) {
508-
SWT.error(SWT.ERROR_NULL_ARGUMENT);
509-
}
510-
TypedListener typedListener = new TypedListener(listener);
511-
addListener(SWT.Selection, typedListener);
512-
addListener(SWT.DefaultSelection, typedListener);
506+
addTypedListener(listener, SWT.Selection, SWT.DefaultSelection);
513507
}
514508

515509
Rectangle[] computeControlBounds (Point size, boolean[][] position) {
@@ -2353,8 +2347,8 @@ public void removeSelectionListener(SelectionListener listener) {
23532347
if (listener == null) {
23542348
SWT.error(SWT.ERROR_NULL_ARGUMENT);
23552349
}
2356-
removeListener(SWT.Selection, listener);
2357-
removeListener(SWT.DefaultSelection, listener);
2350+
removeTypedListener(SWT.Selection, listener);
2351+
removeTypedListener(SWT.DefaultSelection, listener);
23582352
}
23592353

23602354
@Override

bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledText.java

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -886,9 +886,7 @@ public void addLineStyleListener(LineStyleListener listener) {
886886
* </ul>
887887
*/
888888
public void addModifyListener(ModifyListener modifyListener) {
889-
checkWidget();
890-
if (modifyListener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
891-
addListener(SWT.Modify, new TypedListener(modifyListener));
889+
addTypedListener(modifyListener, SWT.Modify);
892890
}
893891
/**
894892
* Adds a paint object listener. A paint object event is sent by the widget when an object
@@ -940,9 +938,7 @@ public void addPaintObjectListener(PaintObjectListener listener) {
940938
* @see SelectionEvent
941939
*/
942940
public void addSelectionListener(SelectionListener listener) {
943-
checkWidget();
944-
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
945-
addListener(SWT.Selection, new TypedListener(listener));
941+
addTypedListener(listener, SWT.Selection);
946942
}
947943
/**
948944
* Adds a verify key listener. A VerifyKey event is sent by the widget when a key
@@ -979,9 +975,7 @@ public void addVerifyKeyListener(VerifyKeyListener listener) {
979975
* </ul>
980976
*/
981977
public void addVerifyListener(VerifyListener verifyListener) {
982-
checkWidget();
983-
if (verifyListener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
984-
addListener(SWT.Verify, new TypedListener(verifyListener));
978+
addTypedListener(verifyListener, SWT.Verify);
985979
}
986980
/**
987981
* Adds a word movement listener. A movement event is sent when the boundary
@@ -7486,7 +7480,7 @@ public void redrawRange(int start, int length, boolean clearBackground) {
74867480
public void removeBidiSegmentListener(BidiSegmentListener listener) {
74877481
checkWidget();
74887482
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
7489-
removeListener(ST.LineGetSegments, listener);
7483+
removeTypedListener(ST.LineGetSegments, listener);
74907484
resetCache(0, content.getLineCount());
74917485
setCaretLocations();
74927486
super.redraw();
@@ -7509,7 +7503,7 @@ public void removeBidiSegmentListener(BidiSegmentListener listener) {
75097503
public void removeCaretListener(CaretListener listener) {
75107504
checkWidget();
75117505
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
7512-
removeListener(ST.CaretMoved, listener);
7506+
removeTypedListener(ST.CaretMoved, listener);
75137507
}
75147508
/**
75157509
* Removes the specified extended modify listener.
@@ -7527,7 +7521,7 @@ public void removeCaretListener(CaretListener listener) {
75277521
public void removeExtendedModifyListener(ExtendedModifyListener extendedModifyListener) {
75287522
checkWidget();
75297523
if (extendedModifyListener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
7530-
removeListener(ST.ExtendedModify, extendedModifyListener);
7524+
removeTypedListener(ST.ExtendedModify, extendedModifyListener);
75317525
}
75327526
/**
75337527
* Removes the specified line background listener.
@@ -7545,7 +7539,7 @@ public void removeExtendedModifyListener(ExtendedModifyListener extendedModifyLi
75457539
public void removeLineBackgroundListener(LineBackgroundListener listener) {
75467540
checkWidget();
75477541
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
7548-
removeListener(ST.LineGetBackground, listener);
7542+
removeTypedListener(ST.LineGetBackground, listener);
75497543
}
75507544
/**
75517545
* Removes the specified line style listener.
@@ -7563,7 +7557,7 @@ public void removeLineBackgroundListener(LineBackgroundListener listener) {
75637557
public void removeLineStyleListener(LineStyleListener listener) {
75647558
checkWidget();
75657559
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
7566-
removeListener(ST.LineGetStyle, listener);
7560+
removeTypedListener(ST.LineGetStyle, listener);
75677561
setCaretLocations();
75687562
}
75697563
/**
@@ -7582,7 +7576,7 @@ public void removeLineStyleListener(LineStyleListener listener) {
75827576
public void removeModifyListener(ModifyListener modifyListener) {
75837577
checkWidget();
75847578
if (modifyListener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
7585-
removeListener(SWT.Modify, modifyListener);
7579+
removeTypedListener(SWT.Modify, modifyListener);
75867580
}
75877581
/**
75887582
* Removes the specified listener.
@@ -7601,7 +7595,7 @@ public void removeModifyListener(ModifyListener modifyListener) {
76017595
public void removePaintObjectListener(PaintObjectListener listener) {
76027596
checkWidget();
76037597
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
7604-
removeListener(ST.PaintObject, listener);
7598+
removeTypedListener(ST.PaintObject, listener);
76057599
}
76067600
/**
76077601
* Removes the listener from the collection of listeners who will
@@ -7623,7 +7617,7 @@ public void removePaintObjectListener(PaintObjectListener listener) {
76237617
public void removeSelectionListener(SelectionListener listener) {
76247618
checkWidget();
76257619
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
7626-
removeListener(SWT.Selection, listener);
7620+
removeTypedListener(SWT.Selection, listener);
76277621
}
76287622
/**
76297623
* Removes the specified verify listener.
@@ -7641,7 +7635,7 @@ public void removeSelectionListener(SelectionListener listener) {
76417635
public void removeVerifyListener(VerifyListener verifyListener) {
76427636
checkWidget();
76437637
if (verifyListener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
7644-
removeListener(SWT.Verify, verifyListener);
7638+
removeTypedListener(SWT.Verify, verifyListener);
76457639
}
76467640
/**
76477641
* Removes the specified key verify listener.
@@ -7658,7 +7652,7 @@ public void removeVerifyListener(VerifyListener verifyListener) {
76587652
*/
76597653
public void removeVerifyKeyListener(VerifyKeyListener listener) {
76607654
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
7661-
removeListener(ST.VerifyKey, listener);
7655+
removeTypedListener(ST.VerifyKey, listener);
76627656
}
76637657
/**
76647658
* Removes the specified word movement listener.
@@ -7683,8 +7677,8 @@ public void removeVerifyKeyListener(VerifyKeyListener listener) {
76837677
public void removeWordMovementListener(MovementListener listener) {
76847678
checkWidget();
76857679
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
7686-
removeListener(ST.WordNext, listener);
7687-
removeListener(ST.WordPrevious, listener);
7680+
removeTypedListener(ST.WordNext, listener);
7681+
removeTypedListener(ST.WordPrevious, listener);
76887682
}
76897683
/**
76907684
* Replaces the styles in the given range with new styles. This method

bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableCursor.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -197,12 +197,7 @@ public void getName(AccessibleEvent e) {
197197
* @see #removeSelectionListener(SelectionListener)
198198
*/
199199
public void addSelectionListener(SelectionListener listener) {
200-
checkWidget();
201-
if (listener == null)
202-
SWT.error(SWT.ERROR_NULL_ARGUMENT);
203-
TypedListener typedListener = new TypedListener(listener);
204-
addListener(SWT.Selection, typedListener);
205-
addListener(SWT.DefaultSelection, typedListener);
200+
addTypedListener(listener, SWT.Selection, SWT.DefaultSelection);
206201
}
207202

208203
void onDispose(Event event) {
@@ -502,8 +497,8 @@ public void removeSelectionListener(SelectionListener listener) {
502497
if (listener == null) {
503498
SWT.error(SWT.ERROR_NULL_ARGUMENT);
504499
}
505-
removeListener(SWT.Selection, listener);
506-
removeListener(SWT.DefaultSelection, listener);
500+
removeTypedListener(SWT.Selection, listener);
501+
removeTypedListener(SWT.DefaultSelection, listener);
507502
}
508503

509504
void _resize() {

bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TreeCursor.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -268,11 +268,7 @@ public void getName(AccessibleEvent e) {
268268
* @see #removeSelectionListener(SelectionListener)
269269
*/
270270
public void addSelectionListener(SelectionListener listener) {
271-
checkWidget();
272-
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
273-
TypedListener typedListener = new TypedListener(listener);
274-
addListener(SWT.Selection, typedListener);
275-
addListener(SWT.DefaultSelection, typedListener);
271+
addTypedListener(listener, SWT.Selection, SWT.DefaultSelection);
276272
}
277273

278274
int countSubTreePages(TreeItem root) {
@@ -704,8 +700,8 @@ void paint(Event event) {
704700
public void removeSelectionListener(SelectionListener listener) {
705701
checkWidget();
706702
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
707-
removeListener(SWT.Selection, listener);
708-
removeListener(SWT.DefaultSelection, listener);
703+
removeTypedListener(SWT.Selection, listener);
704+
removeTypedListener(SWT.DefaultSelection, listener);
709705
}
710706

711707
void _resize() {

bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/cocoa/org/eclipse/swt/dnd/DragSource.java

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -616,21 +616,7 @@ public Control getControl () {
616616
* @since 3.4
617617
*/
618618
public DragSourceListener[] getDragListeners() {
619-
Listener[] listeners = getListeners(DND.DragStart);
620-
int length = listeners.length;
621-
DragSourceListener[] dragListeners = new DragSourceListener[length];
622-
int count = 0;
623-
for (int i = 0; i < length; i++) {
624-
Listener listener = listeners[i];
625-
if (listener instanceof DNDListener) {
626-
dragListeners[count] = (DragSourceListener) ((DNDListener) listener).getEventListener();
627-
count++;
628-
}
629-
}
630-
if (count == length) return dragListeners;
631-
DragSourceListener[] result = new DragSourceListener[count];
632-
System.arraycopy(dragListeners, 0, result, 0, count);
633-
return result;
619+
return getTypedListeners(DND.DragStart, DragSourceListener.class).toArray(DragSourceListener[]::new);
634620
}
635621

636622
/**
@@ -790,9 +776,9 @@ void pasteboard_provideDataForType(long id, long sel, long arg0, long arg1) {
790776
*/
791777
public void removeDragListener(DragSourceListener listener) {
792778
if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
793-
removeListener (DND.DragStart, listener);
794-
removeListener (DND.DragSetData, listener);
795-
removeListener (DND.DragEnd, listener);
779+
removeTypedListener(DND.DragStart, listener);
780+
removeTypedListener(DND.DragSetData, listener);
781+
removeTypedListener(DND.DragEnd, listener);
796782
}
797783

798784
/**

bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/cocoa/org/eclipse/swt/dnd/DropTarget.java

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -506,21 +506,7 @@ public Control getControl () {
506506
* @since 3.4
507507
*/
508508
public DropTargetListener[] getDropListeners() {
509-
Listener[] listeners = getListeners(DND.DragEnter);
510-
int length = listeners.length;
511-
DropTargetListener[] dropListeners = new DropTargetListener[length];
512-
int count = 0;
513-
for (int i = 0; i < length; i++) {
514-
Listener listener = listeners[i];
515-
if (listener instanceof DNDListener) {
516-
dropListeners[count] = (DropTargetListener) ((DNDListener) listener).getEventListener();
517-
count++;
518-
}
519-
}
520-
if (count == length) return dropListeners;
521-
DropTargetListener[] result = new DropTargetListener[count];
522-
System.arraycopy(dropListeners, 0, result, 0, count);
523-
return result;
509+
return getTypedListeners(DND.DragEnter, DropTargetListener.class).toArray(DropTargetListener[]::new);
524510
}
525511

526512
/**
@@ -798,12 +784,12 @@ long outlineView_validateDrop_proposedItem_proposedChildIndex(long id, long sel,
798784
*/
799785
public void removeDropListener(DropTargetListener listener) {
800786
if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
801-
removeListener (DND.DragEnter, listener);
802-
removeListener (DND.DragLeave, listener);
803-
removeListener (DND.DragOver, listener);
804-
removeListener (DND.DragOperationChanged, listener);
805-
removeListener (DND.Drop, listener);
806-
removeListener (DND.DropAccept, listener);
787+
removeTypedListener(DND.DragEnter, listener);
788+
removeTypedListener(DND.DragLeave, listener);
789+
removeTypedListener(DND.DragOver, listener);
790+
removeTypedListener(DND.DragOperationChanged, listener);
791+
removeTypedListener(DND.Drop, listener);
792+
removeTypedListener(DND.DropAccept, listener);
807793
}
808794

809795
/**

bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DragSource.java

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -577,21 +577,7 @@ public Control getControl () {
577577
* @since 3.4
578578
*/
579579
public DragSourceListener[] getDragListeners() {
580-
Listener[] listeners = getListeners(DND.DragStart);
581-
int length = listeners.length;
582-
DragSourceListener[] dragListeners = new DragSourceListener[length];
583-
int count = 0;
584-
for (int i = 0; i < length; i++) {
585-
Listener listener = listeners[i];
586-
if (listener instanceof DNDListener) {
587-
dragListeners[count] = (DragSourceListener) ((DNDListener) listener).getEventListener();
588-
count++;
589-
}
590-
}
591-
if (count == length) return dragListeners;
592-
DragSourceListener[] result = new DragSourceListener[count];
593-
System.arraycopy(dragListeners, 0, result, 0, count);
594-
return result;
580+
return getTypedListeners(DND.DragStart, DragSourceListener.class).toArray(DragSourceListener[]::new);
595581
}
596582

597583
/**
@@ -677,9 +663,9 @@ int osOpToOp(int osOperation){
677663
*/
678664
public void removeDragListener(DragSourceListener listener) {
679665
if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
680-
removeListener (DND.DragStart, listener);
681-
removeListener (DND.DragSetData, listener);
682-
removeListener (DND.DragEnd, listener);
666+
removeTypedListener(DND.DragStart, listener);
667+
removeTypedListener(DND.DragSetData, listener);
668+
removeTypedListener(DND.DragEnd, listener);
683669
}
684670

685671
/**

0 commit comments

Comments
 (0)