/**
   * Aktualisiert die Tabelle.
   *
   * @throws RemoteException
   */
  public void handleReload() throws RemoteException {
    TablePart table = this.getTable();
    table.removeAll();

    Date tStart = (Date) getStart().getValue();
    Date tEnd = (Date) getEnd().getValue();
    if (tStart != null && tEnd != null && tStart.after(tEnd)) {
      GUI.getView().setErrorText(i18n.tr("Das Anfangsdatum muss vor dem Enddatum liegen"));
      return;
    }
    GUI.getView().setErrorText(""); // ggf. vorher angezeigten Fehler loeschen

    List<EinnahmeAusgabe> list = this.getWerte();
    for (EinnahmeAusgabe ea : list) table.addItem(ea);
  }
 public void setColumns(TablePart part, int adresstyp) {
   for (Spalte spalte : spalten) {
     if (spalte.isChecked()) {
       if ((adresstyp == 1) || adresstyp != 1 && spalte.isNurAdressen()) {
         part.addColumn(
             spalte.getSpaltenbezeichnung(), spalte.getSpaltenname(), spalte.getFormatter());
       }
     }
   }
 }
 @SuppressWarnings("unchecked")
 public void save() throws RemoteException {
   for (Spalte spalte : spalten) {
     settings.setAttribute(tabelle + "." + spalte.getSpaltenname(), false);
   }
   List<Spalte> trues = spaltendefinitionList.getItems();
   for (int i = 0; i < trues.size(); i++) {
     Spalte spalte = trues.get(i);
     settings.setAttribute(tabelle + "." + spalte.getSpaltenname(), true);
   }
 }
  /**
   * Ueberschrieben, um einen DisposeListener an das Composite zu haengen.
   *
   * @see de.willuhn.jameica.gui.parts.TablePart#paint(org.eclipse.swt.widgets.Composite)
   */
  public synchronized void paint(Composite parent) throws RemoteException {
    final TabFolder folder = new TabFolder(parent, 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);

    {
      this.left = new SimpleContainer(cols.getComposite());

      Input t = this.getText();
      this.left.addInput(t);

      // Duerfen wir erst nach dem Zeichnen
      t.getControl().addKeyListener(new DelayedAdapter());

      this.left.addInput(this.getKonto());
    }

    {
      Container right = new SimpleContainer(cols.getComposite());

      right.addInput(this.getRange());
      MultiInput range = new MultiInput(this.getFrom(), this.getTo());
      right.addInput(range);
    }

    this.buttons.addButton(
        i18n.tr("Aktualisieren"),
        new Action() {
          public void handleAction(Object context) throws ApplicationException {
            handleReload(true);
          }
        },
        null,
        true,
        "view-refresh.png");
    this.buttons.paint(parent);

    // Erstbefuellung
    GenericIterator items =
        getList(
            getKonto().getValue(),
            (Date) getFrom().getValue(),
            (Date) getTo().getValue(),
            (String) getText().getValue());
    if (items != null) {
      items.begin();
      while (items.hasNext()) addItem(items.next());
    }

    super.paint(parent);
  }
Beispiel #5
0
  /** @see de.willuhn.jameica.gui.parts.TablePart#paint(org.eclipse.swt.widgets.Composite) */
  public synchronized void paint(Composite parent) throws RemoteException {
    Application.getMessagingFactory()
        .getMessagingQueue(Settings.QUEUE_KONTENRAHMEN_CREATED)
        .registerMessageConsumer(this.mc);
    parent.addDisposeListener(
        new DisposeListener() {
          public void widgetDisposed(DisposeEvent e) {
            Application.getMessagingFactory()
                .getMessagingQueue(Settings.QUEUE_KONTENRAHMEN_CREATED)
                .unRegisterMessageConsumer(mc);
          }
        });

    super.paint(parent);
  }
  public TablePart paintSpaltenpaintSpaltendefinitionTable(Composite parent)
      throws RemoteException {
    if (spaltendefinitionList != null) {
      return spaltendefinitionList;
    }
    spaltendefinitionList = new TablePart(spalten, null);
    spaltendefinitionList.addColumn(JVereinPlugin.getI18n().tr("Spalte"), "spaltenbezeichnung");
    spaltendefinitionList.setCheckable(true);
    spaltendefinitionList.setMulti(true);
    spaltendefinitionList.setSummary(false);
    spaltendefinitionList.paint(parent);
    for (int i = 0; i < spalten.size(); ++i) {
      spaltendefinitionList.setChecked(spalten.get(i), spalten.get(i).isChecked());
    }

    return spaltendefinitionList;
  }
  public Part getAbrechungslaeufeList() throws RemoteException {
    DBService service = Einstellungen.getDBService();
    DBIterator abrechnungslaeufe = service.createList(Abrechnungslauf.class);
    abrechnungslaeufe.setOrder("ORDER BY datum DESC");

    if (abrechnungslaufList == null) {
      abrechnungslaufList = new TablePart(abrechnungslaeufe, null);
      abrechnungslaufList.addColumn("Nr", "nr");
      abrechnungslaufList.addColumn(
          "Datum", "datum", new DateFormatter(new JVDateFormatTTMMJJJJ()));
      abrechnungslaufList.addColumn(
          "Modus", "modus", new AbrechnungsmodusFormatter(), false, Column.ALIGN_LEFT);
      abrechnungslaufList.addColumn(
          "Stichtag", "stichtag", new DateFormatter(new JVDateFormatTTMMJJJJ()));
      abrechnungslaufList.addColumn(
          "Eingabedatum", "eingabedatum", new DateFormatter(new JVDateFormatTTMMJJJJ()));
      abrechnungslaufList.addColumn("Zahlungsgrund", "zahlungsgrund");
      abrechnungslaufList.addColumn("Zusatzbeträge", "zusatzbetraege", new JaNeinFormatter());
      abrechnungslaufList.addColumn("Kursteilnehmer", "kursteilnehmer", new JaNeinFormatter());
      abrechnungslaufList.setContextMenu(new AbrechnungslaufMenu());
      abrechnungslaufList.setRememberColWidths(true);
      abrechnungslaufList.setRememberOrder(true);
      abrechnungslaufList.setSummary(true);
    } else {
      abrechnungslaufList.removeAll();
      while (abrechnungslaeufe.hasNext()) {
        abrechnungslaufList.addItem(abrechnungslaeufe.next());
      }
    }
    return abrechnungslaufList;
  }
  /**
   * Liefert eine Tabelle mit den Einnahmen/Ausgaben und Salden
   *
   * @return Tabelle mit den Einnahmen/Ausgaben und Salden
   * @throws RemoteException
   */
  public TablePart getTable() throws RemoteException {
    if (this.table != null) return this.table;

    table = new TablePart(getWerte(), null);
    table.addColumn(i18n.tr("Konto"), "text");
    table.addColumn(
        i18n.tr("Anfangssaldo"),
        "anfangssaldo",
        new CurrencyFormatter(HBCIProperties.CURRENCY_DEFAULT_DE, HBCI.DECIMALFORMAT));
    table.addColumn(
        i18n.tr("Einnahmen"),
        "einnahmen",
        new CurrencyFormatter(HBCIProperties.CURRENCY_DEFAULT_DE, HBCI.DECIMALFORMAT));
    table.addColumn(
        i18n.tr("Ausgaben"),
        "ausgaben",
        new CurrencyFormatter(HBCIProperties.CURRENCY_DEFAULT_DE, HBCI.DECIMALFORMAT));
    table.addColumn(
        i18n.tr("Endsaldo"),
        "endsaldo",
        new CurrencyFormatter(HBCIProperties.CURRENCY_DEFAULT_DE, HBCI.DECIMALFORMAT));
    table.addColumn(
        i18n.tr("Plus/Minus"),
        "plusminus",
        new CurrencyFormatter(HBCIProperties.CURRENCY_DEFAULT_DE, HBCI.DECIMALFORMAT));
    table.addColumn(
        i18n.tr("Differenz"),
        "differenz",
        new CurrencyFormatter(HBCIProperties.CURRENCY_DEFAULT_DE, HBCI.DECIMALFORMAT));

    table.setFormatter(
        new TableFormatter() {
          /**
           * @see
           *     de.willuhn.jameica.gui.formatter.TableFormatter#format(org.eclipse.swt.widgets.TableItem)
           */
          public void format(TableItem item) {
            if (item == null) return;

            EinnahmeAusgabe ea = (EinnahmeAusgabe) item.getData();
            boolean summe = ea.isSumme();
            try {
              double plusminus = ea.getPlusminus();
              if (summe) {
                item.setForeground(Color.WIDGET_FG.getSWTColor());
              } else {
                item.setForeground(ColorUtil.getForeground(plusminus));
                item.setFont(
                    ea.hasDiff() && !summe ? Font.BOLD.getSWTFont() : Font.DEFAULT.getSWTFont());
              }

            } catch (Exception e) {
              Logger.error("unable to format line", e);
            }
          }
        });

    table.setRememberColWidths(true);
    table.setSummary(false);
    return table;
  }