diff --git a/src/de/jost_net/JVerein/gui/control/MitgliedskontoControl.java b/src/de/jost_net/JVerein/gui/control/MitgliedskontoControl.java index 2448b2ad8..a34292bd7 100644 --- a/src/de/jost_net/JVerein/gui/control/MitgliedskontoControl.java +++ b/src/de/jost_net/JVerein/gui/control/MitgliedskontoControl.java @@ -39,6 +39,7 @@ import de.jost_net.JVerein.gui.input.BuchungsartInput; import de.jost_net.JVerein.gui.input.FormularInput; import de.jost_net.JVerein.gui.menu.MitgliedskontoMenu; +import de.jost_net.JVerein.gui.parts.SollbuchungListTablePart; import de.jost_net.JVerein.io.Kontoauszug; import de.jost_net.JVerein.io.Mahnungsausgabe; import de.jost_net.JVerein.io.Rechnungsausgabe; @@ -680,7 +681,7 @@ public TablePart getMitgliedskontoList(Action action, ContextMenu menu, boolean settings.setAttribute(datumverwendung + "differenz", getDifferenz().getValue().toString()); if (mitgliedskontoList == null) { - mitgliedskontoList = new TablePart(mitgliedskonten, action); + mitgliedskontoList = new SollbuchungListTablePart(mitgliedskonten, action); mitgliedskontoList.addColumn("Datum", "datum", new DateFormatter(new JVDateFormatTTMMJJJJ())); mitgliedskontoList.addColumn("Abrechnungslauf", "abrechnungslauf"); diff --git a/src/de/jost_net/JVerein/gui/parts/BuchungListTablePart.java b/src/de/jost_net/JVerein/gui/parts/BuchungListTablePart.java index 9e7a6fa28..fde69d8df 100644 --- a/src/de/jost_net/JVerein/gui/parts/BuchungListTablePart.java +++ b/src/de/jost_net/JVerein/gui/parts/BuchungListTablePart.java @@ -24,6 +24,9 @@ import de.jost_net.JVerein.rmi.Buchung; import de.willuhn.jameica.gui.Action; import de.willuhn.jameica.gui.parts.TablePart; +import de.willuhn.jameica.gui.parts.table.Feature; +import de.willuhn.jameica.gui.parts.table.FeatureSummary; +import de.willuhn.jameica.gui.parts.table.Feature.Context; public class BuchungListTablePart extends TablePart { @@ -37,36 +40,41 @@ public BuchungListTablePart(List list, Action action) { super(list, action); } - + /** - * Liefert den anzuzeigenden Summen-Text. Kann von abgeleiteten Klassen - * ueberschrieben werde, um etwas anderes anzuzeigen. - * - * @return anzuzeigender Text oder null, wenn nichts angezeigt werden soll. + * Belegt den Context mit dem anzuzeigenden Text. + * Ersetzt getSummary() welches deprecated ist. */ + @SuppressWarnings("unchecked") @Override - protected String getSummary() + protected Context createFeatureEventContext(Feature.Event e, Object data) { - String summary = super.getSummary(); - double sumBetrag = 0.0; - try + Context ctx = super.createFeatureEventContext(e, data); + if (this.hasEvent(FeatureSummary.class,e)) { - @SuppressWarnings("rawtypes") - List l = this.getItems(); - for (int i = 0; i < l.size(); i++) + double sumBetrag = 0.0; + String summary = ""; + try { - Buchung b = (Buchung) l.get(i); - sumBetrag += b.getBetrag(); + @SuppressWarnings("rawtypes") + List l = this.getItems(); + summary = new String(l.size() + " Datensätze"); + for (int i = 0; i < l.size(); i++) + { + Buchung b = (Buchung) l.get(i); + sumBetrag += b.getBetrag(); + } + summary += " / " + "Gesamtbetrag:" + " " + + Einstellungen.DECIMALFORMAT.format(sumBetrag) + " " + + Einstellungen.CURRENCY; } - summary += " / " + "Gesamtbetrag:" + " " - + Einstellungen.DECIMALFORMAT.format(sumBetrag) + " " - + Einstellungen.CURRENCY; - } - catch (RemoteException re) - { - // nichts tun + catch (RemoteException re) + { + // nichts tun + } + ctx.addon.put(FeatureSummary.CTX_KEY_TEXT,summary); } - return summary; + return ctx; } } diff --git a/src/de/jost_net/JVerein/gui/parts/SollbuchungListTablePart.java b/src/de/jost_net/JVerein/gui/parts/SollbuchungListTablePart.java new file mode 100644 index 000000000..4d11d573b --- /dev/null +++ b/src/de/jost_net/JVerein/gui/parts/SollbuchungListTablePart.java @@ -0,0 +1,82 @@ +/********************************************************************** + * Copyright (c) by Heiner Jostkleigrewe + * This program is free software: you can redistribute it and/or modify it under the terms of the + * GNU General Public License as published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See + * the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with this program. If not, + * see . + * + * heiner@jverein.de + * www.jverein.de + **********************************************************************/ + +package de.jost_net.JVerein.gui.parts; + +import java.rmi.RemoteException; +import java.util.List; + +import de.jost_net.JVerein.Einstellungen; +import de.jost_net.JVerein.rmi.Mitgliedskonto; +import de.willuhn.datasource.GenericIterator; +import de.willuhn.jameica.gui.Action; +import de.willuhn.jameica.gui.parts.TablePart; +import de.willuhn.jameica.gui.parts.table.Feature; +import de.willuhn.jameica.gui.parts.table.Feature.Context; +import de.willuhn.jameica.gui.parts.table.FeatureSummary; + +public class SollbuchungListTablePart extends TablePart +{ + + public SollbuchungListTablePart(Action action) + { + super(action); + } + + @SuppressWarnings("rawtypes") + public SollbuchungListTablePart(GenericIterator mitgliedskonten, Action action) + { + super(mitgliedskonten, action); + } + + /** + * Belegt den Context mit dem anzuzeigenden Text. + * Ersetzt getSummary() welches deprecated ist. + */ + @SuppressWarnings("unchecked") + @Override + protected Context createFeatureEventContext(Feature.Event e, Object data) + { + Context ctx = super.createFeatureEventContext(e, data); + if (this.hasEvent(FeatureSummary.class,e)) + { + double sumBetrag = 0.0; + String summary = ""; + try + { + @SuppressWarnings("rawtypes") + List l = this.getItems(); + summary = new String(l.size() + " Datensätze"); + for (int i = 0; i < l.size(); i++) + { + Mitgliedskonto b = (Mitgliedskonto) l.get(i); + sumBetrag += b.getBetrag(); + } + summary += " / " + "Gesamtbetrag:" + " " + + Einstellungen.DECIMALFORMAT.format(sumBetrag) + " " + + Einstellungen.CURRENCY; + } + catch (RemoteException re) + { + // nichts tun + } + ctx.addon.put(FeatureSummary.CTX_KEY_TEXT,summary); + } + return ctx; + } + +}