boolean isEventHandled(final GridCellEditAction cellEditAction, final AbstractNodeMouseEvent event) { return Objects.equals(cellEditAction, GridCellEditAction.getSupportedEditAction(event)); } }
public static GridCellEditAction getSupportedEditAction(final AbstractNodeMouseEvent event) { return Arrays.stream(values()) .filter(action -> Objects.equals(action.eventClass, event.getClass())) .findFirst() .orElse(NONE); }
@Test public void assertEnumeratedValues() { assertThat(GridCellEditAction.getSupportedEditAction(nodeMouseClickEvent)).isEqualTo(GridCellEditAction.SINGLE_CLICK); assertThat(GridCellEditAction.getSupportedEditAction(nodeMouseDoubleClickEvent)).isEqualTo(GridCellEditAction.DOUBLE_CLICK); assertThat(GridCellEditAction.getSupportedEditAction(nodeMouseWheelEvent)).isEqualTo(GridCellEditAction.NONE); } }
public static GridCellEditAction getSupportedEditAction(final AbstractNodeMouseEvent event) { return Arrays.stream(values()) .filter(action -> Objects.equals(action.eventClass, event.getClass())) .findFirst() .orElse(NONE); }
@Test public void assertEnumeratedValues() { assertThat(GridCellEditAction.getSupportedEditAction(nodeMouseClickEvent)).isEqualTo(GridCellEditAction.SINGLE_CLICK); assertThat(GridCellEditAction.getSupportedEditAction(nodeMouseDoubleClickEvent)).isEqualTo(GridCellEditAction.DOUBLE_CLICK); assertThat(GridCellEditAction.getSupportedEditAction(nodeMouseWheelEvent)).isEqualTo(GridCellEditAction.NONE); } }
/** * Checks if a {@link AbstractNodeMouseEvent} happened within a {@link GridCell}. If the * {@link AbstractNodeMouseEvent} is found to have happened within a cell, the {@link GridCell#getSupportedEditAction()} * is checked to {@link Object#equals(Object)} that for the {@link AbstractNodeMouseEvent}. If they equal then the * {@link GridCell} is put into "edit" mode via {@link GridWidget#startEditingCell(Point2D)}. */ @Override public boolean handleBodyCell(final GridWidget gridWidget, final Point2D relativeLocation, final int uiRowIndex, final int uiColumnIndex, final AbstractNodeMouseEvent event) { final GridData gridData = gridWidget.getModel(); if (gridData.getSelectedCells().size() == 1) { final GridCell<?> cell = gridData.getCell(uiRowIndex, uiColumnIndex); final GridCellEditAction cellEditAction = cell == null ? GridCell.DEFAULT_EDIT_ACTION : cell.getSupportedEditAction(); if (Objects.equals(cellEditAction, GridCellEditAction.getSupportedEditAction(event))) { return gridWidget.startEditingCell(relativeLocation); } } return false; } }
/** * Checks if a {@link AbstractNodeMouseEvent} happened within a {@link GridCell}. If the * {@link AbstractNodeMouseEvent} is found to have happened within a cell, the {@link GridCell#getSupportedEditAction()} * is checked to {@link Object#equals(Object)} that for the {@link AbstractNodeMouseEvent}. If they equal then the * {@link GridCell} is put into "edit" mode via {@link GridWidget#startEditingCell(Point2D)}. */ @Override public boolean handleBodyCell(final GridWidget gridWidget, final Point2D relativeLocation, final int uiRowIndex, final int uiColumnIndex, final AbstractNodeMouseEvent event) { final GridData gridData = gridWidget.getModel(); if (gridData.getSelectedCells().size() == 1) { final GridCell<?> cell = gridData.getCell(uiRowIndex, uiColumnIndex); final GridCellEditAction cellEditAction = cell == null ? GridCell.DEFAULT_EDIT_ACTION : cell.getSupportedEditAction(); if (Objects.equals(cellEditAction, GridCellEditAction.getSupportedEditAction(event))) { return gridWidget.startEditingCell(relativeLocation); } } return false; } }
final GridData gridData = gridWidget.getModel(); if (gridData.getSelectedHeaderCells().size() == 1 && Objects.equals(headerMetaData.getSupportedEditAction(), GridCellEditAction.getSupportedEditAction(event)) && isHeaderEditable(rendererHelper, headerMetaData, (ScenarioGridColumn) column)) { final Point2D gridWidgetComputedLocation = gridWidget.getComputedLocation();
if (Objects.equals(headerMetaData.getSupportedEditAction(), GridCellEditAction.getSupportedEditAction(event))) { headerMetaData.edit(context); return true;