use of com.ramussoft.chart.core.TableChartPersistent in project ramus by Vitaliy-Yakovchuk.
the class TableChartAttributePlugin method getAttributePreferenciesEditor.
@Override
public AttributePreferenciesEditor getAttributePreferenciesEditor() {
return new AttributePreferenciesEditor() {
private RowTreeTableComponent component;
@Override
public JComponent createComponent(Attribute attribute, Engine engine, AccessRules accessRules) {
component = new RowTreeTableComponent(engine, ChartPlugin.getCharts(engine), accessRules, new RowRootCreater(), new Attribute[] { StandardAttributesPlugin.getAttributeNameAttribute(engine) }, framework);
component.setSelectType(SelectType.RADIO);
return component;
}
@Override
public boolean canApply() {
return component.getModel().getSelectedRows().size() > 0;
}
@Override
public void apply(Attribute attribute, Engine engine, AccessRules accessRules) {
Row row = component.getModel().getSelectedRows().get(0);
TableChartPersistent tcp = new TableChartPersistent();
tcp.setOtherElementId(row.getElementId());
engine.setAttribute(null, attribute, tcp);
}
};
}
use of com.ramussoft.chart.core.TableChartPersistent 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);
}
};
}
Aggregations