Post
by ankit5321 » Tue Aug 07, 2007 2:30 pm
Hi all I was working on the problem, and was jus trying to check weather the popup menu will be generated in a simple view.
I m posting a simple View class which is having a chart as its content. Here also the popup menu is not coming..
Any ideas??
here is my code
package com.example.rcpapp1;
import java.awt.Frame;
import java.text.SimpleDateFormat;
import org.eclipse.swt.SWT;
import org.eclipse.swt.awt.SWT_AWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.part.ViewPart;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.DateAxis;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
public class Test extends ViewPart{
public static final String ID = "com.example.rcpapp1.Treeview";
static ChartPanel chartPanel = null;
CategoryDataset dataset = null;
XYDataset xyDataset = null;
DefaultPieDataset piedataset = null;
static Frame frame = null;
JFreeChart chart = null;
static Composite SWT_AWT_Composite = null;
public void createPartControl(Composite parent) {
SWT_AWT_Composite = new Composite(parent, SWT.EMBEDDED);
frame = SWT_AWT.new_Frame(SWT_AWT_Composite);
XYDataset xyDataset = createDataset();
chart = createLineChart(xyDataset);
chartPanel = new ChartPanel(chart);
//chartPanel.setDismissDelay(999999999);
System.out.println("hi ankit"+chartPanel.getPopupMenu());
frame.add(chartPanel);
}
public static JFreeChart createLineChart(XYDataset xyDataset) {
JFreeChart chart = ChartFactory.createTimeSeriesChart("", // chart title
"Date", // domain axis label
"Net Asset Value", // range axis label
xyDataset, // data
true, // include legend
true, // tooltips?
false // URLs?
);
XYPlot plot = (XYPlot) chart.getPlot();
DateAxis axis = (DateAxis) plot.getDomainAxis();
axis.setDateFormatOverride(new SimpleDateFormat("d-M-yy"));
XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer)plot.getRenderer();
renderer.setShapesVisible(true);
renderer.setShapesFilled(true);
renderer.setUseFillPaint(true);
renderer.setUseOutlinePaint(false);
return chart;
};
private XYSeriesCollection createDataset(){
XYSeries series1 = new XYSeries("First");
series1.add(1.0, 1.0);
series1.add(2.0, 4.0);
series1.add(3.0, 3.0);
series1.add(4.0, 5.0);
series1.add(5.0, 5.0);
series1.add(6.0, 7.0);
series1.add(7.0, 7.0);
series1.add(8.0, 8.0);
XYSeries series2 = new XYSeries("Second");
series2.add(1.0, 5.0);
series2.add(2.0, 7.0);
series2.add(3.0, 6.0);
series2.add(4.0, 8.0);
series2.add(5.0, 4.0);
series2.add(6.0, 4.0);
series2.add(7.0, 2.0);
series2.add(8.0, 1.0);
XYSeries series3 = new XYSeries("Third");
series3.add(3.0, 4.0);
series3.add(4.0, 3.0);
series3.add(5.0, 2.0);
series3.add(6.0, 3.0);
series3.add(7.0, 6.0);
series3.add(8.0, 3.0);
series3.add(9.0, 4.0);
series3.add(10.0, 3.0);
XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(series1);
dataset.addSeries(series2);
dataset.addSeries(series3);
return dataset;
}
public void setFocus() {
SWT_AWT_Composite.setFocus(); // Required for F1 help support
}
}