/**
   * 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);
  }
Exemple #2
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());
  }