Search in sources :

Example 1 with ChartDataFramework

use of com.ramussoft.chart.ChartDataFramework 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)

Aggregations

ChartDataFramework (com.ramussoft.chart.ChartDataFramework)1 ChartDataPlugin (com.ramussoft.chart.ChartDataPlugin)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 ChartPanel (org.jfree.chart.ChartPanel)1 JFreeChart (org.jfree.chart.JFreeChart)1