/** * 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)); } }
/** @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()); }