void removeLinksForDecisionTable(final GuidedDecisionTableView.Presenter dtPresenter) { getAvailableDecisionTables() .stream() .map(other -> other.getView().getModel().getColumns()) .forEach(columns -> columns .stream() .filter(GridColumn::isLinked) .filter(column -> dtPresenter.getView().getModel().getColumns().contains(column.getLink())) .forEach(column -> column.setLink(null))); }
void removeLinksForDecisionTable(final GuidedDecisionTableView.Presenter dtPresenter) { getAvailableDecisionTables() .stream() .map(other -> other.getView().getModel().getColumns()) .forEach(columns -> columns .stream() .filter(GridColumn::isLinked) .filter(column -> dtPresenter.getView().getModel().getColumns().contains(column.getLink())) .forEach(column -> column.setLink(null))); }
when(gridWidget.getAbsoluteY()).thenReturn(100.0); when(uiColumn.isLinked()).thenReturn(true); when(uiColumn.getLink()).thenAnswer(invocation -> uiLinkedColumn);
when(gridWidget.getAbsoluteY()).thenReturn(100.0); when(uiColumn.isLinked()).thenReturn(true); when(uiColumn.getLink()).thenAnswer(invocation -> uiLinkedColumn);
/** * Checks if the {@link AbstractNodeMouseEvent} happened on a "linked" {@link GridColumn}. If * the {@link AbstractNodeMouseEvent} was found to have happened on a {@link GridWidget} "linked" column then * selection of the "linked" {@link GridColumn} is delegated to {@link GridSelectionManager#selectLinkedColumn(GridColumn)}. */ @Override public boolean handleHeaderCell(final GridWidget gridWidget, final Point2D relativeLocation, final int uiHeaderRowIndex, final int uiHeaderColumnIndex, final AbstractNodeMouseEvent event) { final BaseGridRendererHelper rendererHelper = gridWidget.getRendererHelper(); final double cx = relativeLocation.getX(); final BaseGridRendererHelper.ColumnInformation ci = rendererHelper.getColumnInformation(cx); final GridColumn<?> column = ci.getColumn(); if (column == null) { return false; } //If linked scroll it into view if (column.isLinked()) { final GridColumn<?> link = column.getLink(); selectionManager.selectLinkedColumn(link); return true; } return false; } }
/** * Checks if the {@link AbstractNodeMouseEvent} happened on a "linked" {@link GridColumn}. If * the {@link AbstractNodeMouseEvent} was found to have happened on a {@link GridWidget} "linked" column then * selection of the "linked" {@link GridColumn} is delegated to {@link GridSelectionManager#selectLinkedColumn(GridColumn)}. */ @Override public boolean handleHeaderCell(final GridWidget gridWidget, final Point2D relativeLocation, final int uiHeaderRowIndex, final int uiHeaderColumnIndex, final AbstractNodeMouseEvent event) { final BaseGridRendererHelper rendererHelper = gridWidget.getRendererHelper(); final double cx = relativeLocation.getX(); final BaseGridRendererHelper.ColumnInformation ci = rendererHelper.getColumnInformation(cx); final GridColumn<?> column = ci.getColumn(); if (column == null) { return false; } //If linked scroll it into view if (column.isLinked()) { final GridColumn<?> link = column.getLink(); selectionManager.selectLinkedColumn(link); return true; } return false; } }
@Test public void checkRemoveAllClearsCachedReferences() { final GridWidget gridWidget1 = makeGridWidget(); final GridColumn column1 = mock(GridColumn.class); when(column1.isVisible()).thenReturn(true); gridWidget1.getModel().appendColumn(column1); final GridWidget gridWidget2 = makeGridWidget(); final GridColumn column2 = mock(GridColumn.class); when(column2.isVisible()).thenReturn(true); when(column2.isLinked()).thenReturn(true); when(column2.getLink()).thenReturn(column1); gridWidget2.getModel().appendColumn(column2); this.gridLayer.add(gridWidget1); this.gridLayer.add(gridWidget2); assertEquals(2, gridLayer.getGridWidgets().size()); assertEquals(1, gridLayer.getGridWidgetConnectors().size()); gridLayer.removeAll(); assertEquals(0, gridLayer.getGridWidgets().size()); assertEquals(0, gridLayer.getGridWidgetConnectors().size()); }
@Test public void checkRemoveAllClearsCachedReferences() { final GridWidget gridWidget1 = makeGridWidget(); final GridColumn column1 = mock(GridColumn.class); when(column1.isVisible()).thenReturn(true); gridWidget1.getModel().appendColumn(column1); final GridWidget gridWidget2 = makeGridWidget(); final GridColumn column2 = mock(GridColumn.class); when(column2.isVisible()).thenReturn(true); when(column2.isLinked()).thenReturn(true); when(column2.getLink()).thenReturn(column1); gridWidget2.getModel().appendColumn(column2); this.gridLayer.add(gridWidget1); this.gridLayer.add(gridWidget2); assertEquals(2, gridLayer.getGridWidgets().size()); assertEquals(1, gridLayer.getGridWidgetConnectors().size()); gridLayer.removeAll(); assertEquals(0, gridLayer.getGridWidgets().size()); assertEquals(0, gridLayer.getGridWidgetConnectors().size()); }
@Test public void checkConnectorsVisibilityFollowPinnedModeStatus() { final GridWidget gridWidget1 = makeGridWidget(); final GridColumn column1 = mock(GridColumn.class); when(column1.isVisible()).thenReturn(true); gridWidget1.getModel().appendColumn(column1); final GridWidget gridWidget2 = makeGridWidget(); final GridColumn column2 = mock(GridColumn.class); when(column2.isVisible()).thenReturn(true); when(column2.isLinked()).thenReturn(true); when(column2.getLink()).thenReturn(column1); gridWidget2.getModel().appendColumn(column2); this.gridLayer.add(gridWidget1); this.gridLayer.add(gridWidget2); gridLayer.refreshGridWidgetConnectors(); checkConnectorsVisibility(true); gridLayer.enterPinnedMode(gridWidget1, new GridLayerRedrawManager.PrioritizedCommand(0) { @Override public void execute() { //Do nothing } }); gridLayer.refreshGridWidgetConnectors(); checkConnectorsVisibility(false); }
@Test public void checkConnectorsVisibilityFollowPinnedModeStatus() { final GridWidget gridWidget1 = makeGridWidget(); final GridColumn column1 = mock(GridColumn.class); when(column1.isVisible()).thenReturn(true); gridWidget1.getModel().appendColumn(column1); final GridWidget gridWidget2 = makeGridWidget(); final GridColumn column2 = mock(GridColumn.class); when(column2.isVisible()).thenReturn(true); when(column2.isLinked()).thenReturn(true); when(column2.getLink()).thenReturn(column1); gridWidget2.getModel().appendColumn(column2); this.gridLayer.add(gridWidget1); this.gridLayer.add(gridWidget2); gridLayer.refreshGridWidgetConnectors(); checkConnectorsVisibility(true); gridLayer.enterPinnedMode(gridWidget1, new GridLayerRedrawManager.PrioritizedCommand(0) { @Override public void execute() { //Do nothing } }); gridLayer.refreshGridWidgetConnectors(); checkConnectorsVisibility(false); }