Search in sources :

Example 1 with ChartDataPlugin

use of com.ramussoft.chart.ChartDataPlugin in project ramus by Vitaliy-Yakovchuk.

the class TableChartAttributePlugin method getAttributeEditor.

@Override
public AttributeEditor getAttributeEditor(final Engine engine, final AccessRules rules, final Element element, final Attribute attribute, AttributeEditor oldAttributeEditor) {
    return new AbstractAttributeEditor() {

        @Override
        public Object setValue(Object value) {
            return null;
        }

        @Override
        public Object getValue() {
            return null;
        }

        @Override
        public JComponent getComponent() {
            ChartDataFramework chartDataFramework = ChartDataFramework.getChartDataFramework(engine);
            ChartSource source = new ChartSource(engine) {

                @Override
                public List<Element> getElements() {
                    List<Element> res = new ArrayList<Element>();
                    for (QualifierSource source : qualifierSources) {
                        if (QualifierSource.ELEMENTS_LOAD_TYPE_ALL.equals(source.getElementsLoadType())) {
                            FilterSource filterSource = source.getFilterSources().get(0);
                            Qualifier qualifier = source.getQualifier();
                            if (StandardAttributesPlugin.isTableQualifier(qualifier) && filterSource.getAttribute().equals(StandardAttributesPlugin.getTableElementIdAttribute(engine))) {
                                res.addAll(StandardAttributesPlugin.getOrderedTableElements(engine, StandardAttributesPlugin.getAttributeForTable(engine, qualifier), element));
                            } else
                                res.addAll(engine.findElements(qualifier.getId(), filterSource.getAttribute(), Long.parseLong(filterSource.getValue())));
                        } else
                            for (ElementSource elementSource : source.getElementSources()) res.add(elementSource.getElement());
                    }
                    return res;
                }
            };
            TableChartPersistent tcp = (TableChartPersistent) engine.getAttribute(null, attribute);
            Element chartElement = engine.getElement(tcp.getOtherElementId());
            source.load(chartElement);
            ChartDataPlugin chartDataPlugin = chartDataFramework.getChartDataPlugin(source.getChartType());
            JFreeChart freeChart = chartDataPlugin.createChart(element, source);
            return new ChartPanel(freeChart);
        }
    };
}
Also used : FilterSource(com.ramussoft.chart.FilterSource) ChartPanel(org.jfree.chart.ChartPanel) Element(com.ramussoft.common.Element) ArrayList(java.util.ArrayList) ChartDataFramework(com.ramussoft.chart.ChartDataFramework) JFreeChart(org.jfree.chart.JFreeChart) QualifierSource(com.ramussoft.chart.QualifierSource) ChartDataPlugin(com.ramussoft.chart.ChartDataPlugin) AbstractAttributeEditor(com.ramussoft.gui.common.AbstractAttributeEditor) ChartSource(com.ramussoft.chart.ChartSource) TableChartPersistent(com.ramussoft.chart.core.TableChartPersistent) Qualifier(com.ramussoft.common.Qualifier) ElementSource(com.ramussoft.chart.ElementSource)

Example 2 with ChartDataPlugin

use of com.ramussoft.chart.ChartDataPlugin in project ramus by Vitaliy-Yakovchuk.

the class ChartView method createComponent.

@Override
public JComponent createComponent() {
    ChartDataPlugin plugin = chartDataFramework.getChartDataPlugin(chartSource.getChartType());
    try {
        chartPanel = new ChartPanel(plugin.createChart(element));
        chartPanel.setPopupMenu(null);
    } catch (ChartNotSetupedException e) {
        JOptionPane.showMessageDialog(framework.getMainFrame(), ChartResourceManager.getString("Error.chartNotSetuped"));
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                close();
            }
        });
        return new JPanel();
    }
    return chartPanel;
}
Also used : ChartDataPlugin(com.ramussoft.chart.ChartDataPlugin) JPanel(javax.swing.JPanel) ChartPanel(org.jfree.chart.ChartPanel) ChartNotSetupedException(com.ramussoft.chart.exception.ChartNotSetupedException)

Example 3 with ChartDataPlugin

use of com.ramussoft.chart.ChartDataPlugin in project ramus by Vitaliy-Yakovchuk.

the class ChartView method reload.

protected void reload() {
    try {
        ChartDataPlugin plugin = chartDataFramework.getChartDataPlugin(chartSource.getChartType());
        chartPanel.setChart(plugin.createChart(element));
    } catch (ChartNotSetupedException e) {
        close();
        JOptionPane.showMessageDialog(framework.getMainFrame(), ChartResourceManager.getString("Error.chartNotSetuped"));
    }
}
Also used : ChartDataPlugin(com.ramussoft.chart.ChartDataPlugin) ChartNotSetupedException(com.ramussoft.chart.exception.ChartNotSetupedException)

Aggregations

ChartDataPlugin (com.ramussoft.chart.ChartDataPlugin)3 ChartNotSetupedException (com.ramussoft.chart.exception.ChartNotSetupedException)2 ChartPanel (org.jfree.chart.ChartPanel)2 ChartDataFramework (com.ramussoft.chart.ChartDataFramework)1 ChartSource (com.ramussoft.chart.ChartSource)1 ElementSource (com.ramussoft.chart.ElementSource)1 FilterSource (com.ramussoft.chart.FilterSource)1 QualifierSource (com.ramussoft.chart.QualifierSource)1 TableChartPersistent (com.ramussoft.chart.core.TableChartPersistent)1 Element (com.ramussoft.common.Element)1 Qualifier (com.ramussoft.common.Qualifier)1 AbstractAttributeEditor (com.ramussoft.gui.common.AbstractAttributeEditor)1 ArrayList (java.util.ArrayList)1 JPanel (javax.swing.JPanel)1 JFreeChart (org.jfree.chart.JFreeChart)1