/**
   * 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);
  }
  /** @see de.willuhn.jameica.gui.Part#paint(org.eclipse.swt.widgets.Composite) */
  public void paint(Composite parent) throws RemoteException {
    try {
      if (this.konto == null) {
        if (tiny) {
          ColumnLayout layout = new ColumnLayout(parent, 2);
          Container left = new SimpleContainer(layout.getComposite());
          left.addInput(this.getKontoAuswahl());
          Container right = new SimpleContainer(layout.getComposite());
          right.addInput(this.getRange());
        } else {
          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"));

          tab.addInput(this.getKontoAuswahl());
          tab.addInput(this.getRange());

          ButtonArea buttons = new ButtonArea();
          buttons.addButton(
              i18n.tr("Aktualisieren"),
              new Action() {

                /** @see de.willuhn.jameica.gui.Action#handleAction(java.lang.Object) */
                public void handleAction(Object context) throws ApplicationException {
                  reloadListener.handleEvent(new Event());
                }
              },
              null,
              true,
              "view-refresh.png");

          buttons.paint(parent);
        }
      } else {
        Container container = new SimpleContainer(parent);
        container.addInput(this.getRange());
      }

      this.chart = new LineChart();
      this.reloadListener.handleEvent(null); // einmal initial ausloesen
      chart.paint(parent);
    } catch (RemoteException re) {
      throw re;
    } catch (Exception e) {
      Logger.error("unable to paint chart", e);
      Application.getMessagingFactory()
          .sendMessage(
              new StatusBarMessage(
                  i18n.tr("Fehler beim Anzeigen des Saldo-Verlaufs"), StatusBarMessage.TYPE_ERROR));
    }
  }
Exemple #3
0
  /** @see de.willuhn.jameica.gui.AbstractView#bind() */
  public void bind() throws Exception {

    GUI.getView().setTitle(i18n.tr("Einstellungen"));
    final SettingsControl control = new SettingsControl(this);

    // Grund-Einstellungen
    TabGroup system = new TabGroup(getTabFolder(), i18n.tr("Grundeinstellungen"));
    system.addCheckbox(
        control.getOnlineMode(),
        i18n.tr("Dauerhafte Internetverbindung, Aufforderung zum Verbinden nicht erforderlich"));
    system.addCheckbox(
        control.getCachePin(), i18n.tr("PIN-Eingaben für die aktuelle Sitzung zwischenspeichern"));
    system.addCheckbox(
        control.getStorePin(), i18n.tr("PIN-Eingaben permanent speichern (nur bei PIN/TAN)"));
    system.addCheckbox(
        control.getDecimalGrouping(), i18n.tr("Tausender-Trennzeichen bei Geld-Beträgen anzeigen"));
    system.addCheckbox(
        control.getKontoCheck(),
        i18n.tr("Kontonummern und Bankleitzahlen mittels Prüfsumme testen"));
    system.addCheckbox(
        control.getKontoCheckExcludeAddressbook(),
        i18n.tr("Außer Bankverbindungen des Adressbuches"));
    system.addLabelPair(i18n.tr("Limit für Aufträge"), control.getUeberweisungLimit());

    // Farb-Einstellungen
    TabGroup colors = new TabGroup(getTabFolder(), i18n.tr("Farben"));
    colors.addLabelPair(i18n.tr("Textfarbe von Sollbuchungen"), control.getBuchungSollForeground());
    colors.addLabelPair(
        i18n.tr("Textfarbe von Habenbuchungen"), control.getBuchungHabenForeground());

    // Passports
    TabGroup passports = new TabGroup(getTabFolder(), i18n.tr("HBCI-Sicherheitsmedien"));
    passports.addPart(control.getPassportListe());

    ButtonArea passportButtons = new ButtonArea();
    passportButtons.addButton(
        i18n.tr("Sicherheitsmedium konfigurieren..."),
        new Action() {

          public void handleAction(Object context) throws ApplicationException {
            try {
              new PassportDetail().handleAction(control.getPassportListe().getSelection());
            } catch (RemoteException re) {
              Logger.error("unable to load passport", re);
              Application.getMessagingFactory()
                  .sendMessage(
                      new StatusBarMessage(
                          i18n.tr("Fehler beim Öffnen des Sicherheitsmediums"),
                          StatusBarMessage.TYPE_ERROR));
            }
          }
        },
        null,
        false,
        "document-properties.png");
    passports.addButtonArea(passportButtons);

    // Umsatz-Kategorien
    TabGroup umsatztypes = new TabGroup(getTabFolder(), i18n.tr("Umsatz-Kategorien"));
    control.getUmsatzTypTree().paint(umsatztypes.getComposite()); // BUGZILLA 410
    ButtonArea umsatzButtons = new ButtonArea();
    umsatzButtons.addButton(
        i18n.tr("Neue Umsatz-Kategorie..."), new UmsatzTypNew(), null, false, "text-x-generic.png");
    umsatztypes.addButtonArea(umsatzButtons);

    ButtonArea buttons = new ButtonArea();
    buttons.addButton(
        i18n.tr("Speichern"),
        new Action() {
          public void handleAction(Object context) throws ApplicationException {
            control.handleStore();
          }
        },
        null,
        true,
        "document-save.png");
    buttons.paint(getParent());

    // Mal checken, ob wir uns das zuletzt aktive Tab gemerkt haben.
    if (lastActiveTab != null) getTabFolder().setSelection(lastActiveTab.intValue());
  }