Example usage for org.jfree.chart.renderer.category CategoryItemRendererState setCrosshairState

List of usage examples for org.jfree.chart.renderer.category CategoryItemRendererState setCrosshairState

Introduction

In this page you can find the example usage for org.jfree.chart.renderer.category CategoryItemRendererState setCrosshairState.

Prototype

public void setCrosshairState(CategoryCrosshairState state) 

Source Link

Document

Sets the crosshair state.

Usage

From source file:org.openfaces.component.chart.impl.plots.GridCategoryPlotAdapter.java

@Override
public boolean render(Graphics2D g2, Rectangle2D dataArea, int index, PlotRenderingInfo info,
        CategoryCrosshairState crossHairState) {
    final boolean customRenderingModeEnabled = getRenderer() != null
            && getRenderer() instanceof AreaFillRenderer;

    if (!customRenderingModeEnabled) {
        return super.render(g2, dataArea, index, info, crossHairState);
    }/*from  w w  w.  j  av a  2 s  . c o m*/

    CategoryItemRenderer categoryItemRenderer = getRenderer(index);
    CategoryDataset categoryDataset = getDataset(index);

    boolean isDataSetNotEmpty = !DatasetUtilities.isEmptyOrNull(categoryDataset);
    boolean isAscendingRowOrdering = getRowRenderingOrder() == SortOrder.ASCENDING;

    if (!isDataSetNotEmpty || categoryItemRenderer == null) {
        return false;
    }
    CategoryItemRendererState rendererState = categoryItemRenderer.initialise(g2, dataArea, this, index, info);
    rendererState.setCrosshairState(crossHairState);
    int totalRows = categoryDataset.getRowCount();

    if (isAscendingRowOrdering) {
        for (int currentRowIndex = 0; currentRowIndex < totalRows; currentRowIndex++) {
            renderColumns(g2, rendererState, dataArea, categoryItemRenderer, categoryDataset, index,
                    currentRowIndex);
        }
    } else {
        for (int currentRowIndex = totalRows - 1; currentRowIndex >= 0; currentRowIndex--) {
            renderColumns(g2, rendererState, dataArea, categoryItemRenderer, categoryDataset, index,
                    currentRowIndex);
        }
    }

    return true;
}