// TODO: Hier werden die benutzerdefinierten Farben von Kategorien noch nicht genutzt
final Container group = new SimpleContainer(parent,true);
final ChartData eData = new ChartDataUmsatzTyp(UmsatzTyp.TYP_EINNAHME,start);
final ChartData aData = new ChartDataUmsatzTyp(UmsatzTyp.TYP_AUSGABE,start);
final BarChart einnahmen = new BarChart();
final BarChart ausgaben = new BarChart();
if (start < 0)
{
einnahmen.setTitle(i18n.tr("Einnahmen (alle Ums�tze)"));
ausgaben.setTitle(i18n.tr("Ausgaben (alle Ums�tze)"));
}
else
{
einnahmen.setTitle(i18n.tr("Einnahmen ({0} Tage)",""+start));
ausgaben.setTitle(i18n.tr("Ausgaben ({0} Tage)",""+start));
}
einnahmen.addData(eData);
ausgaben.addData(aData);
final UmsatzDaysInput i = new UmsatzDaysInput();
i.addListener(new DelayedListener(300, new Listener()
{
private ChartData myEData = null;
private ChartData myAData = null;
public void handleEvent(Event event)
{
try
{
int newStart = ((Integer)i.getValue()).intValue();
if (newStart == start)
return;
start = newStart;
if (myEData != null) einnahmen.removeData(myEData);
else einnahmen.removeData(eData);
if (myAData != null) ausgaben.removeData(myAData);
else ausgaben.removeData(aData);
myEData = new ChartDataUmsatzTyp(UmsatzTyp.TYP_EINNAHME,newStart);
myAData = new ChartDataUmsatzTyp(UmsatzTyp.TYP_AUSGABE,newStart);
if (newStart < 0)
{
einnahmen.setTitle(i18n.tr("Einnahmen (alle Ums�tze)"));
ausgaben.setTitle(i18n.tr("Ausgaben (alle Ums�tze)"));
}
else
{
einnahmen.setTitle(i18n.tr("Einnahmen ({0} Tage)",Integer.toString(newStart)));
ausgaben.setTitle(i18n.tr("Ausgaben ({0} Tage)",Integer.toString(newStart)));
}
einnahmen.addData(myEData);
ausgaben.addData(myAData);
einnahmen.redraw();
ausgaben.redraw();
}
catch (Throwable t)
{
Logger.error("unable to redraw chart",t);
GUI.getStatusBar().setErrorText(i18n.tr("Fehler beim Aktualisieren der Umsatzverteilung"));
}
}
}));
group.addInput(i);
final Composite comp = new Composite(group.getComposite(),SWT.NONE);
GridData gridData = new GridData(GridData.FILL_BOTH);
gridData.horizontalSpan = 2;
comp.setLayoutData(gridData);
GridLayout layout = new GridLayout(2,true);
layout.horizontalSpacing = 0;
layout.verticalSpacing = 0;
layout.marginHeight = 0;
layout.marginWidth = 0;
comp.setLayout(layout);
einnahmen.paint(comp);
ausgaben.paint(comp);
}
catch (RemoteException re)
{
throw re;
}