GuidedDecisionTableRenderer extends BaseGridRenderer { @Override public RendererCommand renderSelector(final double width, final double height, final BaseGridRendererHelper.RenderingInformation renderingInformation) { return (RenderSelectorCommand) (rc) -> { if (!rc.isSelectionLayer()) { final double captionWidth = getHeaderCaptionWidth(); final Bounds bounds = getSelectorBounds(width, height, renderingInformation); final MultiPath selector = theme.getSelector() .M(bounds.getX() + 0.5, bounds.getY() + 0.5) .L(bounds.getX() + 0.5, height) .L(width, height) .L(width, bounds.getY() + GuidedDecisionTableViewImpl.HEADER_CAPTION_HEIGHT) .L(bounds.getX() + captionWidth, bounds.getY() + GuidedDecisionTableViewImpl.HEADER_CAPTION_HEIGHT) .L(bounds.getX() + captionWidth, bounds.getY() + 0.5) .L(bounds.getX() + GuidedDecisionTableViewImpl.HEADER_CAPTION_WIDTH, bounds.getY() + 0.5) .L(bounds.getX() + 0.5, bounds.getY() + 0.5) .setListening(false); rc.getGroup().add(selector); } }; } GuidedDecisionTableRenderer(final GuidedDecisionTableUiModel uiModel,
                                       final GuidedDecisionTable52 model); @Override double getHeaderHeight(); @Override List<RendererCommand> renderBody(final GridData model,
                                            final GridBodyRenderContext context,
                                            final BaseGridRendererHelper rendererHelper,
                                            final BaseGridRendererHelper.RenderingInformation renderingInformation); @Override RendererCommand renderSelector(final double width,
                                          final double height,
                                          final BaseGridRendererHelper.RenderingInformation renderingInformation); double getHeaderCaptionWidth(); @Override RendererCommand renderHeaderBodyDivider(final double width); void highlightRows(final Severity rowHighlightSeverity,
                              final Set<Integer> rowHighlightRowIndexes); void clearHighlights();  }
@Test public void testRenderSelector() { final RendererCommand command = renderer.renderSelector(10.0, 20.0, renderingInformation); assertRenderingCommands(Collections.singletonList(command), RenderSelectorCommand.class); }
@Test public void testRenderSelectorIsSelectionLayer() { final RendererCommand command = renderer.renderSelector(10.0, 20.0, renderingInformation); command.execute(makeGridRendererContext(true)); verify(parent, never()).add(any(Group.class)); }
@Test public void testRenderSelectorIsNotSelectionLayer() { final RendererCommand command = renderer.renderSelector(10.0, 20.0, renderingInformation); command.execute(makeGridRendererContext(false)); verify(parent).add(any(Group.class)); }