예제 #1
0
  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());
  }
예제 #2
0
  @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());
  }