@Test public void noPopOverWhenEventNotOverDecisionTableColumn() { when( modellerPresenter.getAvailableDecisionTables() ).thenReturn( new HashSet<GuidedDecisionTableView.Presenter>() {{ add( dtPresenter1 ); }} ); when( event.getX() ).thenReturn( 150 ); when( event.getY() ).thenReturn( 50 ); when( dtView1.getLocation() ).thenReturn( new Point2D( 0, 0 ) ); handler.onNodeMouseMove( event ); verify( columnPopOverPresenter, never() ).show( any( GuidedDecisionTableModellerView.class ), any( GuidedDecisionTableView.Presenter.class ), any( Integer.class ) ); }
private void doFindMovableGridWhenOverDragHandle(final boolean isPinned, final Runnable assertion) { state.setOperation(GridWidgetHandlersOperation.NONE); when(gridWidget.isVisible()).thenReturn(true); when(gridWidget.onDragHandle(any(INodeXYEvent.class))).thenReturn(true); when(layer.isGridPinned()).thenReturn(isPinned); when(layer.getGridWidgets()).thenReturn(new HashSet<GridWidget>() {{ add(gridWidget); }}); //This location is top-left of the GridWidget; not within a column move/resize or row move hot-spot when(event.getX()).thenReturn(100); when(event.getY()).thenReturn(100); handler.onNodeMouseMove(event); verify(handler, times(1)).findGridColumn(eq(event)); assertion.run(); }
@Test public void popOverWhenEventOverDecisionTableHeaderAndColumn() { when( modellerPresenter.getAvailableDecisionTables() ).thenReturn( new HashSet<GuidedDecisionTableView.Presenter>() {{ add( dtPresenter1 ); }} ); when( event.getX() ).thenReturn( 50 ); when( event.getY() ).thenReturn( 50 ); when( dtView1.getLocation() ).thenReturn( new Point2D( 0, 0 ) ); handler.onNodeMouseMove( event ); verify( columnPopOverPresenter, times( 1 ) ).show( any( GuidedDecisionTableModellerView.class ), eq( dtPresenter1 ), eq( 0 ) ); }
private void doFindMovableGridWhenOverDragHandle(final boolean isPinned, final Runnable assertion) { state.setOperation(GridWidgetHandlersOperation.NONE); when(gridWidget.isVisible()).thenReturn(true); when(gridWidget.onDragHandle(any(INodeXYEvent.class))).thenReturn(true); when(layer.isGridPinned()).thenReturn(isPinned); when(layer.getGridWidgets()).thenReturn(new HashSet<GridWidget>() {{ add(gridWidget); }}); //This location is top-left of the GridWidget; not within a column move/resize or row move hot-spot when(event.getX()).thenReturn(100); when(event.getY()).thenReturn(100); handler.onNodeMouseMove(event); verify(handler, times(1)).findGridColumn(eq(event)); assertion.run(); }
@Test public void noPopOverWhenEventNotOverDecisionTableHeader() { when( modellerPresenter.getAvailableDecisionTables() ).thenReturn( new HashSet<GuidedDecisionTableView.Presenter>() {{ add( dtPresenter1 ); }} ); when( event.getX() ).thenReturn( 50 ); when( event.getY() ).thenReturn( 100 ); when( dtView1.getLocation() ).thenReturn( new Point2D( 0, 0 ) ); handler.onNodeMouseMove( event ); verify( columnPopOverPresenter, never() ).show( any( GuidedDecisionTableModellerView.class ), any( GuidedDecisionTableView.Presenter.class ), any( Integer.class ) ); }
@Test public void findMovableGridWhenNoColumnOrRowOperationIsDetectedAndGridIsPinned() { when(state.getOperation()).thenReturn(GridWidgetHandlersOperation.NONE); when(gridWidget.isVisible()).thenReturn(true); when(layer.getGridWidgets()).thenReturn(new HashSet<GridWidget>() {{ add(gridWidget); }}); when(layer.isGridPinned()).thenReturn(true); //This location is top-left of the GridWidget; not within a column move/resize or row move hot-spot when(event.getX()).thenReturn(100); when(event.getY()).thenReturn(100); handler.onNodeMouseMove(event); verify(handler, times(1)).findGridColumn(eq(event)); verify(state, never()).setActiveGridWidget(any(GridWidget.class)); verify(state, times(1)).setOperation(eq(GridWidgetHandlersOperation.NONE)); }
@Test public void findMovableGridWhenNoColumnOrRowOperationIsDetectedAndGridIsPinned() { when(state.getOperation()).thenReturn(GridWidgetHandlersOperation.NONE); when(gridWidget.isVisible()).thenReturn(true); when(layer.getGridWidgets()).thenReturn(new HashSet<GridWidget>() {{ add(gridWidget); }}); when(layer.isGridPinned()).thenReturn(true); //This location is top-left of the GridWidget; not within a column move/resize or row move hot-spot when(event.getX()).thenReturn(100); when(event.getY()).thenReturn(100); handler.onNodeMouseMove(event); verify(handler, times(1)).findGridColumn(eq(event)); verify(state, never()).setActiveGridWidget(any(GridWidget.class)); verify(state, times(1)).setOperation(eq(GridWidgetHandlersOperation.NONE)); }
@Test public void popOverWhenEventOverDecisionTableHeaderAndColumnWithMultipleTables() { when( modellerPresenter.getAvailableDecisionTables() ).thenReturn( new HashSet<GuidedDecisionTableView.Presenter>() {{ add( dtPresenter1 ); add( dtPresenter2 ); }} ); when( dtView1.getLocation() ).thenReturn( new Point2D( 0, 0 ) ); when( dtView2.getLocation() ).thenReturn( new Point2D( 200, 200 ) ); when( event.getX() ).thenReturn( 50 ); when( event.getY() ).thenReturn( 50 ); handler.onNodeMouseMove( event ); verify( columnPopOverPresenter, times( 1 ) ).show( any( GuidedDecisionTableModellerView.class ), eq( dtPresenter1 ), eq( 0 ) ); when( event.getX() ).thenReturn( 250 ); when( event.getY() ).thenReturn( 250 ); handler.onNodeMouseMove( event ); verify( columnPopOverPresenter, times( 1 ) ).show( any( GuidedDecisionTableModellerView.class ), eq( dtPresenter2 ), eq( 0 ) ); }
protected void handleColumnResize(final NodeMouseMoveEvent event) { final GridWidget activeGridWidget = state.getActiveGridWidget(); final List<GridColumn<?>> activeGridColumns = state.getActiveGridColumns(); if (activeGridColumns.size() > 1) { return; } final GridColumn<?> activeGridColumn = activeGridColumns.get(0); final GridData activeGridModel = activeGridWidget.getModel(); final List<GridColumn<?>> allGridColumns = activeGridModel.getColumns(); final Point2D ap = CoordinateUtilities.convertDOMToGridCoordinate(activeGridWidget, new Point2D(event.getX(), event.getY())); final double deltaX = ap.getX() - state.getEventInitialX(); final Double columnMinimumWidth = activeGridColumn.getMinimumWidth(); final Double columnMaximumWidth = activeGridColumn.getMaximumWidth(); double columnNewWidth = state.getEventInitialColumnWidth() + deltaX; if (columnMinimumWidth != null) { if (columnNewWidth < columnMinimumWidth) { columnNewWidth = columnMinimumWidth; } } if (columnMaximumWidth != null) { if (columnNewWidth > columnMaximumWidth) { columnNewWidth = columnMaximumWidth; } } destroyColumns(allGridColumns); activeGridColumn.setWidth(adjustColumnWidth(columnNewWidth, activeGridColumn, activeGridWidget)); layer.batch(); }
@Override public void onNodeMouseMove( final NodeMouseMoveEvent event ) { columnPopOverPresenter.hide(); for ( GuidedDecisionTableView.Presenter dtPresenter : modellerPresenter.getAvailableDecisionTables() ) { final GuidedDecisionTableView dtView = dtPresenter.getView(); if ( !dtView.isVisible() ) { continue; } final Point2D ap = CoordinateUtilities.convertDOMToGridCoordinate( dtView, new Point2D( event.getX(), event.getY() ) ); if ( !isMouseOverTableHeader( dtView, ap.getY() ) ) { continue; } final Integer uiColumnIndex = getUiColumn( dtView, ap.getX() ); if ( uiColumnIndex == null ) { continue; } columnPopOverPresenter.show( modellerPresenter.getView(), dtPresenter, uiColumnIndex ); } }
@Override public void onNodeMouseMove( final NodeMouseMoveEvent event ) { columnPopOverPresenter.hide(); for ( GuidedDecisionTableView.Presenter dtPresenter : modellerPresenter.getAvailableDecisionTables() ) { final GuidedDecisionTableView dtView = dtPresenter.getView(); if ( !dtView.isVisible() ) { continue; } final Point2D ap = CoordinateUtilities.convertDOMToGridCoordinate( dtView, new Point2D( event.getX(), event.getY() ) ); if ( !isMouseOverTableHeader( dtView, ap.getY() ) ) { continue; } final Integer uiColumnIndex = getUiColumn( dtView, ap.getX() ); if ( uiColumnIndex == null ) { continue; } columnPopOverPresenter.show( modellerPresenter.getView(), dtPresenter, uiColumnIndex ); } }
protected void onMouseMove(final NodeMouseMoveEvent event) { m_end.setX(event.getX()).setY(event.getY()); m_inverseTransform.transform(m_end, m_end); double x = m_start.getX(); double y = m_start.getY(); double dx = m_end.getX() - x; double dy = m_end.getY() - y; if (dx < 0) { x += dx; dx = -dx; } if (dy < 0) { y += dy; dy = -dy; } m_rectangle.setX(x).setY(y).setWidth(dx).setHeight(dy); if (!m_addedRectangle) { m_addedRectangle = true; m_dragLayer.add(m_rectangle); } m_dragLayer.draw(); }
protected void onMouseMove(NodeMouseMoveEvent event) { m_end.setX(event.getX()).setY(event.getY()); m_inverseTransform.transform(m_end, m_end); double x = m_start.getX(); double y = m_start.getY(); double dx = m_end.getX() - x; double dy = m_end.getY() - y; if (dx < 0) { x += dx; dx = -dx; } if (dy < 0) { y += dy; dy = -dy; } m_rectangle.setX(x).setY(y).setWidth(dx).setHeight(dy); if (!m_addedRectangle) { m_addedRectangle = true; m_dragLayer.add(m_rectangle); } m_dragLayer.draw(); }
protected void onMouseMove(final NodeMouseMoveEvent event) { m_end.setX(event.getX()).setY(event.getY()); m_inverseTransform.transform(m_end, m_end); double x = m_start.getX(); double y = m_start.getY(); double dx = m_end.getX() - x; double dy = m_end.getY() - y; if (dx < 0) { x += dx; dx = -dx; } if (dy < 0) { y += dy; dy = -dy; } m_rectangle.setX(x).setY(y).setWidth(dx).setHeight(dy); if (!m_addedRectangle) { m_addedRectangle = true; m_dragLayer.add(m_rectangle); } m_dragLayer.draw(); }
protected void onMouseMove(final NodeMouseMoveEvent event) { final Point2D curr = new Point2D(event.getX(), event.getY()); m_inverseTransform.transform(curr, curr); setTransform(getTransform().copy().translate(curr.getX() - m_last.getX(), curr.getY() - m_last.getY())); m_last = curr; if (isBatchDraw()) { getViewport().getScene().batch(); } else { getViewport().getScene().draw(); } }
protected void onMouseMove(NodeMouseMoveEvent event) { Point2D curr = new Point2D(event.getX(), event.getY()); m_inverseTransform.transform(curr, curr); Transform transform = getTransform().copy(); transform.translate(curr.getX() - m_last.getX(), curr.getY() - m_last.getY()); setTransform(transform); m_last = curr; if (isBatchDraw()) { getViewport().getScene().batch(); } else { getViewport().getScene().draw(); } }
protected void onMouseMove(final NodeMouseMoveEvent event) { final Point2D curr = new Point2D(event.getX(), event.getY()); m_inverseTransform.transform(curr, curr); setTransform(getTransform().copy().translate(curr.getX() - m_last.getX(), curr.getY() - m_last.getY())); m_last = curr; if (isBatchDraw()) { getViewport().getScene().batch(); } else { getViewport().getScene().draw(); } }
protected void onMouseMove(final NodeMouseMoveEvent event) { final Point2D curr = new Point2D(event.getX(), event.getY()); m_inverseTransform.transform(curr, curr); setTransform(getTransform().copy().translate(curr.getX() - m_last.getX(), curr.getY() - m_last.getY())); m_last = curr; if (isBatchDraw()) { getViewport().getScene().batch(); } else { getViewport().getScene().draw(); } }
protected void onMouseMove(final NodeMouseMoveEvent event) { final Point2D curr = new Point2D(event.getX(), event.getY()); inverseTransform().transform(curr, curr); double deltaX = curr.getX() - m_last.getX(); double deltaY = curr.getY() - m_last.getY(); Transform newTransform = getTransform().copy().translate(deltaX, deltaY); if (transformMediator != null) { newTransform = transformMediator.adjust(newTransform, gridLayer.getVisibleBounds()); } setTransform(newTransform); m_last = curr; if (isBatchDraw()) { getViewport().getScene().batch(); } else { getViewport().getScene().draw(); } }
protected void onMouseMove(final NodeMouseMoveEvent event) { final Point2D curr = new Point2D(event.getX(), event.getY()); inverseTransform().transform(curr, curr); double deltaX = curr.getX() - m_last.getX(); double deltaY = curr.getY() - m_last.getY(); Transform newTransform = getTransform().copy().translate(deltaX, deltaY); if (transformMediator != null) { newTransform = transformMediator.adjust(newTransform, gridLayer.getVisibleBounds()); } setTransform(newTransform); m_last = curr; if (isBatchDraw()) { getViewport().getScene().batch(); } else { getViewport().getScene().draw(); } }