Example usage for org.jfree.chart.event ChartChangeEvent ChartChangeEvent

List of usage examples for org.jfree.chart.event ChartChangeEvent ChartChangeEvent

Introduction

In this page you can find the example usage for org.jfree.chart.event ChartChangeEvent ChartChangeEvent.

Prototype

public ChartChangeEvent(Object source) 

Source Link

Document

Creates a new chart change event.

Usage

From source file:com.choicemaker.cm.modelmaker.gui.utils.HistoChartPanel.java

public HistoChartPanel(final JFreeChart chart, boolean properties, boolean save, boolean print, boolean zoom,
        boolean tooltips, final ModelMaker modelMaker) {
    super(chart, properties, save, print, zoom, tooltips);
    this.modelMaker = modelMaker;
    // horizontal zoom doesn't work, by setting false we don't get bogus menu item
    //      setHorizontalZoom(false);
    //      setVerticalZoom(true);
    final JCheckBoxMenuItem logYScale = new JCheckBoxMenuItem(
            ChoiceMakerCoreMessages.m.formatMessage("train.gui.modelmaker.panel.test.logscale.y"));
    logYScale.addItemListener(new ItemListener() {
        public void itemStateChanged(ItemEvent e) {
            CategoryPlot p = (CategoryPlot) chart.getPlot();
            Axis oldAxis = p.getRangeAxis();
            if (logYScale.isSelected()) {
                LogarithmicAxis yAxis = new LogarithmicAxis(ChoiceMakerCoreMessages.m
                        .formatMessage("train.gui.modelmaker.panel.histogram.cm.numpairs"));
                yAxis.setStrictValuesFlag(false);
                p.setRangeAxis(yAxis);//from   w w w .j av a2 s . c o  m
            } else {
                p.setRangeAxis(new NumberAxis(ChoiceMakerCoreMessages.m
                        .formatMessage("train.gui.modelmaker.panel.histogram.cm.numpairs")));
            }
            oldAxis.setPlot(null);
            chartChanged(new ChartChangeEvent(this));
        }
    });
    JPopupMenu popup = getPopupMenu();
    popup.addSeparator();
    popup.add(logYScale);
    popup.addSeparator();
    select = new JMenu("Select");
    final JMenuItem all = new JMenuItem("All");
    select.add(all);
    final JMenuItem cmDiffer = new JMenuItem("Human marked differ");
    select.add(cmDiffer);
    final JMenuItem cmHold = new JMenuItem("Human marked hold");
    select.add(cmHold);
    final JMenuItem cmMatch = new JMenuItem("Human marked match");
    select.add(cmMatch);
    ActionListener l = new ActionListener() {
        public void actionPerformed(ActionEvent ev) {
            ListeningMarkedRecordPairFilter filter = modelMaker.getFilter();
            filter.reset();
            filter.setFromPercentage(rangeFrom);
            filter.setToPercentage(rangeTo);
            Object src = ev.getSource();
            if (src != all) {
                boolean[] b = new boolean[Decision.NUM_DECISIONS];
                if (src == cmDiffer) {
                    b[Decision.DIFFER.toInt()] = true;
                } else if (src == cmHold) {
                    b[Decision.HOLD.toInt()] = true;
                } else if (src == cmMatch) {
                    b[Decision.MATCH.toInt()] = true;
                }
                filter.setHumanDecision(b);
            }
            modelMaker.filterMarkedRecordPairList();
        }
    };
    all.addActionListener(l);
    cmDiffer.addActionListener(l);
    cmHold.addActionListener(l);
    cmMatch.addActionListener(l);
    popup.add(select);
    addChartMouseListener(new ChartMouseListener() {
        public void chartMouseClicked(ChartMouseEvent evt) {
            ChartEntity e = evt.getEntity();
            if (e instanceof CategoryItemEntity) {
                CategoryItemEntity c = (CategoryItemEntity) e;
                int cat = c.getCategoryIndex();
                HistoCategoryDataset data = (HistoCategoryDataset) ((CategoryPlot) getChart().getPlot())
                        .getDataset();
                int len = data.getColumnCount();
                float step = 1f / len;
                rangeFrom = cat * step;
                rangeTo = rangeFrom + step;
                ListeningMarkedRecordPairFilter filter = modelMaker.getFilter();
                filter.reset();
                filter.setFromPercentage(rangeFrom);
                filter.setToPercentage(rangeTo);
                boolean[] b = new boolean[Decision.NUM_DECISIONS];
                int series = c.getSeries();
                if (data.isIncludeHolds() && series != 0) {
                    if (series == 1) {
                        series = 2;
                    } else {
                        series = 1;
                    }
                }
                b[series] = true;
                filter.setHumanDecision(b);
                modelMaker.filterMarkedRecordPairList();

            }
        }

        public void chartMouseMoved(ChartMouseEvent arg0) {
        }
    });
}

From source file:edu.ucla.stat.SOCR.motionchart.MotionChart.java

/**
 * Sets a flag that controls whether or not listeners receive
 * {@link ChartChangeEvent} notifications.
 *
 * @param notify  a boolean.//from  ww  w  .  java 2 s  .  c o  m
 *
 * @see #isNotify()
 */
public void setNotify(boolean notify) {
    this.notify = notify;
    // if the flag is being set to true, there may be queued up changes...
    if (notify) {
        notifyListeners(new ChartChangeEvent(this));
    }
}

From source file:edu.ucla.stat.SOCR.motionchart.MotionChart.java

/**
 * Sends a default {@link ChartChangeEvent} to all registered listeners.
 * <P>/*from w ww  .j  a v a 2 s  .  c om*/
 * This method is for convenience only.
 */
public void fireChartChanged() {
    ChartChangeEvent event = new ChartChangeEvent(this);
    notifyListeners(event);
}

From source file:ucar.unidata.idv.control.chart.ChartManager.java

/**
 * Tell the chart holds that something changed
 *///from ww  w  .j av  a2  s .  c o  m
public void signalChartChanged() {
    for (ChartHolder chartHolder : chartHolders) {
        if (chartHolder.getChartPanel() != null) {
            chartHolder.getChartPanel().chartChanged(new ChartChangeEvent(this));
        }
    }
}

From source file:ucar.unidata.idv.control.chart.PlotWrapper.java

/**
 * update chart/*from w  w w. j a  va 2s  .  co m*/
 */
public void signalChartChanged() {
    if (chartPanel != null) {
        chartPanel.chartChanged(new ChartChangeEvent(this));
    }
}