public void testAddDoubleClickListener() { final ITableRidget ridget = getRidget(); final Grid control = getWidget(); try { ridget.addDoubleClickListener(null); fail(); } catch (final RuntimeException npe) { ok(); } final FTActionListener listener1 = new FTActionListener(); ridget.addDoubleClickListener(listener1); final FTActionListener listener2 = new FTActionListener(); ridget.addDoubleClickListener(listener2); ridget.addDoubleClickListener(listener2); final Event doubleClick = new Event(); doubleClick.widget = control; doubleClick.type = SWT.MouseDoubleClick; control.notifyListeners(SWT.MouseDoubleClick, doubleClick); assertEquals(1, listener1.getCount()); assertEquals(1, listener2.getCount()); ridget.removeDoubleClickListener(listener1); control.notifyListeners(SWT.MouseDoubleClick, doubleClick); assertEquals(1, listener1.getCount()); }
@Override public void testAddClickListener() { final ITableRidget ridget = getRidget(); ridget.updateFromModel(); final Grid control = getWidget(); final RowData rowData = new RowData(); rowData.width = 300; rowData.height = 300; control.setLayoutData(rowData); control.getColumn(0).setWidth(100); control.getColumn(1).setWidth(100); control.getShell().pack(); control.getParent().update(); try { ridget.addClickListener(null); fail(); } catch (final RuntimeException npe) { ok(); } final FTClickListener listener1 = new FTClickListener(); ridget.addClickListener(listener1); final FTClickListener listener2 = new FTClickListener(); ridget.addClickListener(listener2); ridget.addClickListener(listener2); final Event mdEvent = new Event(); mdEvent.widget = control; mdEvent.type = SWT.MouseDown; mdEvent.button = 2; final GridItem row2 = control.getItem(2); mdEvent.item = row2; mdEvent.x = row2.getBounds(0).x + 1; mdEvent.y = row2.getBounds(0).y + 1; control.notifyListeners(SWT.MouseDown, mdEvent); assertEquals(0, listener1.getCount()); assertEquals(0, listener2.getCount()); mdEvent.type = SWT.MouseUp; control.notifyListeners(SWT.MouseUp, mdEvent); assertEquals(1, listener1.getCount()); assertEquals(1, listener2.getCount()); final ClickEvent event = listener2.getEvent(); assertEquals(ridget, event.getSource()); assertEquals(2, event.getButton()); assertEquals(0, event.getColumnIndex()); assertEquals(row2.getData(), event.getRow()); ridget.removeClickListener(listener1); mdEvent.type = SWT.MouseDown; control.notifyListeners(SWT.MouseDown, mdEvent); mdEvent.type = SWT.MouseUp; control.notifyListeners(SWT.MouseUp, mdEvent); assertEquals(1, listener1.getCount()); }