Example usage for org.jfree.chart.entity CategoryItemEntity getRowKey

List of usage examples for org.jfree.chart.entity CategoryItemEntity getRowKey

Introduction

In this page you can find the example usage for org.jfree.chart.entity CategoryItemEntity getRowKey.

Prototype

public Comparable getRowKey() 

Source Link

Document

Returns the row key.

Usage

From source file:net.sf.jasperreports.charts.util.CategoryChartHyperlinkProvider.java

@Override
public JRPrintHyperlink getEntityHyperlink(ChartEntity entity) {
    JRPrintHyperlink printHyperlink = null;
    if (hasHyperlinks() && entity instanceof CategoryItemEntity) {
        CategoryItemEntity itemEntity = (CategoryItemEntity) entity;
        Comparable<?> serie = itemEntity.getRowKey();
        Map<Comparable<?>, JRPrintHyperlink> serieHyperlinks = itemHyperlinks.get(serie);
        if (serieHyperlinks != null) {
            Comparable<?> category = itemEntity.getColumnKey();
            printHyperlink = serieHyperlinks.get(category);
        }/*from   w  w w  .  j  av a 2 s . c om*/
    }
    return printHyperlink;
}

From source file:net.sf.maltcms.common.charts.api.selection.category.CategoryMouseSelectionHandler.java

/**
 *
 * @param cme//from   www.ja  v a  2s  . c o  m
 */
@Override
public void chartMouseClicked(ChartMouseEvent cme) {
    if (cme.getEntity() instanceof CategoryItemEntity) {
        CategoryItemEntity itemEntity = ((CategoryItemEntity) cme.getEntity());
        int seriesIndex = dataset.getRowIndex(itemEntity.getRowKey());
        int itemIndex = dataset.getColumnIndex(itemEntity.getColumnKey());
        if (seriesIndex == -1 || itemIndex == -1) {
            throw new ArrayIndexOutOfBoundsException("Could not locate series and item index for entity!");
        }
        selection = new CategorySelection(dataset, seriesIndex, itemIndex, XYSelection.Type.CLICK,
                dataset.getSource(seriesIndex), dataset.getTarget(seriesIndex, itemIndex),
                shapeFactory.createSelectionShape(itemEntity));
        selection.setName(provider.getName(selection));
        selection.setDisplayName(provider.getDisplayName(selection));
        selection.setShortDescription(provider.getShortDescription(selection));
        fireSelectionChange();
    }
}

From source file:net.sf.maltcms.common.charts.api.selection.category.CategoryMouseSelectionHandler.java

/**
 *
 * @param cme// w  w  w.  j  a  va 2  s .  c om
 */
@Override
public void chartMouseMoved(ChartMouseEvent cme) {
    if (cme.getEntity() instanceof CategoryItemEntity) {
        CategoryItemEntity itemEntity = ((CategoryItemEntity) cme.getEntity());
        int seriesIndex = dataset.getRowIndex(itemEntity.getRowKey());
        int itemIndex = dataset.getColumnIndex(itemEntity.getColumnKey());
        if (seriesIndex == -1 || itemIndex == -1) {
            throw new ArrayIndexOutOfBoundsException("Could not locate series and item index for entity!");
        }
        selection = new CategorySelection(dataset, seriesIndex, itemIndex, XYSelection.Type.HOVER,
                dataset.getSource(seriesIndex), dataset.getTarget(seriesIndex, itemIndex),
                shapeFactory.createSelectionShape(itemEntity));
        selection.setName(provider.getName(selection));
        selection.setDisplayName(provider.getDisplayName(selection));
        selection.setShortDescription(provider.getShortDescription(selection));
        fireSelectionChange();
    } else {
        clear();
    }
}

From source file:biz.ixnay.pivot.charts.skin.jfree.PolarChartViewSkin.java

public Element getElementAt(int x, int y) {
    ChartView.Element element = null;

    ChartEntity chartEntity = getChartEntityAt(x, y);
    if (chartEntity instanceof CategoryItemEntity) {
        CategoryItemEntity categoryItemEntity = (CategoryItemEntity) chartEntity;
        CategoryDataset dataset = categoryItemEntity.getDataset();

        String columnKey = (String) categoryItemEntity.getColumnKey();
        int columnIndex = dataset.getColumnIndex(columnKey);

        String rowKey = (String) categoryItemEntity.getRowKey();
        int rowIndex = dataset.getRowIndex(rowKey);

        element = new ChartView.Element(rowIndex, columnIndex);
    } else if (chartEntity instanceof XYItemEntity) {
        XYItemEntity xyItemEntity = (XYItemEntity) chartEntity;
        element = new ChartView.Element(xyItemEntity.getSeriesIndex(), xyItemEntity.getItem());
    }/*from   www  . jav a 2 s . co  m*/

    return element;

}

From source file:biz.ixnay.pivot.charts.skin.jfree.AreaChartViewSkin.java

@Override
public ChartView.Element getElementAt(int x, int y) {
    ChartView.Element element = null;

    ChartEntity chartEntity = getChartEntityAt(x, y);
    if (chartEntity instanceof CategoryItemEntity) {
        CategoryItemEntity categoryItemEntity = (CategoryItemEntity) chartEntity;
        CategoryDataset dataset = categoryItemEntity.getDataset();

        String columnKey = (String) categoryItemEntity.getColumnKey();
        int columnIndex = dataset.getColumnIndex(columnKey);

        String rowKey = (String) categoryItemEntity.getRowKey();
        int rowIndex = dataset.getRowIndex(rowKey);

        element = new ChartView.Element(rowIndex, columnIndex);
    } else if (chartEntity instanceof XYItemEntity) {
        XYItemEntity xyItemEntity = (XYItemEntity) chartEntity;
        element = new ChartView.Element(xyItemEntity.getSeriesIndex(), xyItemEntity.getItem());
    }//  ww w. j  a v a  2s .c om

    return element;
}

From source file:org.adempiere.webui.editor.WChartEditor.java

private void render(JFreeChart chart) {
    ChartRenderingInfo info = new ChartRenderingInfo();
    int width = 400;
    int height = chartModel.getWinHeight();
    BufferedImage bi = chart.createBufferedImage(width, height, BufferedImage.TRANSLUCENT, info);
    try {/*  w w w  .  j a va 2s  .  c om*/
        byte[] bytes = EncoderUtil.encode(bi, ImageFormat.PNG, true);

        AImage image = new AImage("", bytes);
        Imagemap myImage = new Imagemap();

        Panel panel = getComponent();
        myImage.setContent(image);
        if (panel.getPanelchildren() != null) {
            panel.getPanelchildren().getChildren().clear();
            panel.getPanelchildren().appendChild(myImage);
        } else {
            Panelchildren pc = new Panelchildren();
            panel.appendChild(pc);
            pc.appendChild(myImage);
        }

        int count = 0;
        for (Iterator<?> it = info.getEntityCollection().getEntities().iterator(); it.hasNext();) {
            ChartEntity entity = (ChartEntity) it.next();

            String key = null;
            String seriesName = null;
            if (entity instanceof CategoryItemEntity) {
                CategoryItemEntity item = ((CategoryItemEntity) entity);
                Comparable<?> colKey = item.getColumnKey();
                Comparable<?> rowKey = item.getRowKey();
                if (colKey != null && rowKey != null) {
                    key = colKey.toString();
                    seriesName = rowKey.toString();
                }
            } else if (entity instanceof PieSectionEntity) {
                Comparable<?> sectionKey = ((PieSectionEntity) entity).getSectionKey();
                if (sectionKey != null) {
                    key = sectionKey.toString();
                }
            }
            if (entity instanceof XYItemEntity) {
                XYItemEntity item = ((XYItemEntity) entity);
                if (item.getDataset() instanceof TimeSeriesCollection) {
                    TimeSeriesCollection data = (TimeSeriesCollection) item.getDataset();
                    TimeSeries series = data.getSeries(item.getSeriesIndex());
                    TimeSeriesDataItem dataitem = series.getDataItem(item.getItem());
                    seriesName = series.getKey().toString();
                    key = dataitem.getPeriod().toString();
                }
            }

            if (key == null)
                continue;

            Area area = new Area();
            myImage.appendChild(area);
            area.setCoords(entity.getShapeCoords());
            area.setShape(entity.getShapeType());
            area.setTooltiptext(entity.getToolTipText());
            area.setId(count + "_WG__" + seriesName + "__" + key);
            count++;
        }

        myImage.addEventListener(Events.ON_CLICK, new EventListener() {
            public void onEvent(Event event) throws Exception {
                MouseEvent me = (MouseEvent) event;
                String areaId = me.getArea();
                if (areaId != null) {
                    String[] strs = areaId.split("__");
                    if (strs.length == 3) {
                        chartMouseClicked(strs[2], strs[1]);
                    }
                }
            }
        });
    } catch (Exception e) {
        log.log(Level.SEVERE, "", e);
    }

}

From source file:biz.ixnay.pivot.charts.skin.jfree.LineChartViewSkin.java

@Override
public ChartView.Element getElementAt(int x, int y) {
    ChartView.Element element = null;

    ChartEntity chartEntity = getChartEntityAt(x, y);

    if (chartEntity instanceof CategoryItemEntity) {
        CategoryItemEntity categoryItemEntity = (CategoryItemEntity) chartEntity;
        CategoryDataset dataset = categoryItemEntity.getDataset();

        String columnKey = (String) categoryItemEntity.getColumnKey();
        int columnIndex = dataset.getColumnIndex(columnKey);

        String rowKey = (String) categoryItemEntity.getRowKey();
        int rowIndex = dataset.getRowIndex(rowKey);

        element = new ChartView.Element(rowIndex, columnIndex);
    } else if (chartEntity instanceof XYItemEntity) {
        XYItemEntity xyItemEntity = (XYItemEntity) chartEntity;
        element = new ChartView.Element(xyItemEntity.getSeriesIndex(), xyItemEntity.getItem());
    }//from  w ww.j a  va  2 s.com

    return element;
}

From source file:org.amanzi.awe.charts.ui.ChartsView.java

@Override
public void chartMouseClicked(final ChartMouseEvent event) {
    if (event == null) {
        return;/*from  w w w.  j ava 2s.co  m*/
    }
    Collection<String> groups = null;
    long startDate = Long.MIN_VALUE;
    long endDate = Long.MAX_VALUE;
    String cellName = StringUtils.EMPTY;

    if (event.getEntity() instanceof CategoryItemEntity) {
        CategoryItemEntity entity = (CategoryItemEntity) event.getEntity();
        IColumn period = (IColumn) entity.getColumnKey();
        ICategoryRow column = period.getItemByName((String) entity.getRowKey());

        groups = column.getGroupsNames();
        startDate = period.getStartDate();
        endDate = period.getEndDate();
        cellName = column.getName();
    } else if (event.getEntity() instanceof XYItemEntity) {
        XYItemEntity entity = (XYItemEntity) event.getEntity();
        TimeSeriesCollection dataset = (TimeSeriesCollection) entity.getDataset();
        TimeSeries ts = dataset.getSeries(entity.getSeriesIndex());
        ITimeRow row = (ITimeRow) ts.getKey();
        RegularTimePeriod period = ts.getTimePeriod(entity.getItem());

        startDate = period.getStart().getTime();
        endDate = container.getPeriod().addPeriod(startDate);
        groups = row.getGroupsForTime(startDate);
        cellName = row.getName();
    } else {
        return;
    }

    AWEEventManager.getManager().fireShowInViewEvent(model,
            new StatisticsFilter(container.getPeriod(), startDate, endDate, groups, cellName), this);
}

From source file:com.igalia.java.zk.components.JFreeChartEngine.java

/**
 * decode CategoryItemEntity into key-value pair of Area's componentScope.
 */// w w  w .  j a  v  a2 s  .  c o  m
private void decodeCategoryInfo(Area area, CategoryItemEntity info) {
    if (info == null) {
        return;
    }

    CategoryDataset dataset = info.getDataset();
    Comparable category = info.getColumnKey();
    Comparable series = info.getRowKey();

    area.setAttribute("series", series);
    area.setAttribute("category", category);

    if (dataset instanceof GanttCategoryDataset) {
        final GanttCategoryDataset gd = (GanttCategoryDataset) dataset;
        area.setAttribute("start", gd.getStartValue(series, category));
        area.setAttribute("end", gd.getEndValue(series, category));
        area.setAttribute("percent", gd.getPercentComplete(series, category));
    } else {
        area.setAttribute("value", dataset.getValue(series, category));
    }
}

From source file:uk.ac.lkl.cram.ui.ModuleFrame.java

private JXTaskPane createLearningExperienceChartPane() {
    JXTaskPane experienceChartPane = new JXTaskPane();
    experienceChartPane.setScrollOnExpand(true);
    experienceChartPane.setTitle("Learning Experiences");
    final LearningExperienceChartMaker maker = new LearningExperienceChartMaker(module);
    final ChartPanel chartPanel = maker.getChartPanel();
    //Add a mouselistener, listening for a double click on a bar of the stacked bar
    chartPanel.addChartMouseListener(new ChartMouseListener() {
        @Override//from  ww  w.  j  a va  2 s .  c  om
        public void chartMouseClicked(ChartMouseEvent cme) {
            //Get the mouse event
            MouseEvent trigger = cme.getTrigger();
            //Test if the mouse event is a left-button
            if (trigger.getButton() == MouseEvent.BUTTON1 && trigger.getClickCount() == 2) {
                //Get the selected segment of the pie
                CategoryItemEntity bar = (CategoryItemEntity) cme.getEntity();
                //Get the row key that corresponds to that segment--this is a learning experience
                String key = bar.getRowKey().toString();
                //Get the set of tlalineitems whose activity contains that learning type
                Set<TLALineItem> relevantTLAs = maker.getLearningExperienceMap().get(key);
                //Create a pop up dialog containing that set of tlalineitems
                LearningExperiencePopupDialog popup = new LearningExperiencePopupDialog(
                        (Frame) SwingUtilities.getWindowAncestor(chartPanel), true, relevantTLAs);
                //Set the title of the popup to indicate which learning type was selected
                popup.setTitle("Activities with \'" + key + "\'");
                //Centre the popup at the location of the mouse click
                Point location = trigger.getLocationOnScreen();
                int w = popup.getWidth();
                int h = popup.getHeight();
                popup.setLocation(location.x - w / 2, location.y - h / 2);
                popup.setVisible(true);
                int returnStatus = popup.getReturnStatus();
                if (returnStatus == LearningTypePopupDialog.RET_OK) {
                    modifyTLALineItem(popup.getSelectedTLALineItem(), 0);
                }
            }
        }

        @Override
        public void chartMouseMoved(ChartMouseEvent cme) {
            //Set the cursor shape according to the location of the cursor
            if (cme.getEntity() instanceof CategoryItemEntity) {
                chartPanel.setCursor(HAND);
            } else {
                chartPanel.setCursor(Cursor.getDefaultCursor());
            }
        }
    });
    chartPanel.setPreferredSize(new Dimension(125, 75));
    chartPanel.setMinimumDrawHeight(75);
    experienceChartPane.add(chartPanel);
    return experienceChartPane;
}