*/
public void bind() throws Exception
{
GUI.getView().setTitle(i18n.tr("Ums�tze nach Kategorien"));
final UmsatzTypTreeControl control = new UmsatzTypTreeControl(this);
{
final TabFolder folder = new TabFolder(this.getParent(), SWT.NONE);
folder.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
TabGroup tab = new TabGroup(folder,i18n.tr("Anzeige einschr�nken"));
ColumnLayout cols = new ColumnLayout(tab.getComposite(),2);
Container left = new SimpleContainer(cols.getComposite());
left.addInput(control.getKontoAuswahl());
Input t = control.getText();
left.addInput(t);
// Duerfen wir erst nach dem Zeichnen
t.getControl().addKeyListener(new KeyAdapter(){
private Listener forward = new DelayedListener(400,new Listener()
{
/**
* @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
*/
public void handleEvent(Event event)
{
// hier kommt dann das verzoegerte Event an.
control.handleReload();
}
});
/**
* @see org.eclipse.swt.events.KeyAdapter#keyReleased(org.eclipse.swt.events.KeyEvent)
*/
public void keyReleased(KeyEvent e)
{
forward.handleEvent(null); // Das Event-Objekt interessiert uns eh nicht
}
});
Container right = new SimpleContainer(cols.getComposite());
right.addInput(control.getRange());
MultiInput range = new MultiInput(control.getStart(),control.getEnd());
right.addInput(range);
}
ButtonArea buttons = new ButtonArea();
buttons.addButton(i18n.tr("Alle aufklappen/zuklappen"), new Action() {
public void handleAction(Object context) throws ApplicationException
{
control.handleExpand();
}
},null,false,"folder.png");
buttons.addButton(i18n.tr("Exportieren..."), new Action(){
public void handleAction(Object context) throws ApplicationException
{
// Muss ich in die Action verpacken, weil der Button sonst mit dem
// Default-Tree gefuellt wird. Wird die Aktion dann tatsaechlich
// ausgefuehrt, wuerde die Action immer den gleichen Tree erhalten -
// unabhaengig davon, was in der View gerade angezeigt wird.
// Siehe http://www.onlinebanking-forum.de/phpBB2/viewtopic.php?p=43866#43866
try
{
new UmsatzTypTreeExport().handleAction(control.getUmsatzTree());
}
catch (RemoteException re)
{
Logger.error("unable to load umsatz tree",re);
throw new ApplicationException(i18n.tr("Fehler beim Laden der Ums�tze"),re);
}
}
},null,false,"document-save.png");
buttons.addButton(i18n.tr("Aktualisieren"), new Action()
{
public void handleAction(Object context) throws ApplicationException
{
control.handleReload();
}
}, null, true, "view-refresh.png");
buttons.paint(getParent());
final TabFolder folder = new TabFolder(getParent(), SWT.NONE);
folder.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e)
{
if (folder.getSelectionIndex() == 1)
control.handleRefreshChart();
}
});
folder.setLayoutData(new GridData(GridData.FILL_BOTH));
TabGroup tg1 = new TabGroup(folder,i18n.tr("Tabellarisch"));
TreePart tree = control.getTree();
tree.paint(tg1.getComposite());
final TabGroup tg2 = new TabGroup(folder,i18n.tr("Im Verlauf"));
UmsatzTypVerlauf chart = control.getChart();
chart.paint(tg2.getComposite());
}