/** * 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.dialogs.PasswordDialog#paint(org.eclipse.swt.widgets.Composite) */ protected void paint(Composite parent) throws Exception { Container container = new SimpleContainer(parent, true, 1); container.addHeadline(i18n.tr("Matrixcode")); MatrixCode code = new MatrixCode(this.hhduc); InputStream stream = new ByteArrayInputStream(code.getImage()); Image image = SWTUtil.getImage(stream); // Breite des Dialogs ermitteln (+ ein paar Pixel Toleranz am Rand) int width = image.getBounds().width + 200; Label imageLabel = new Label(container.getComposite(), SWT.NONE); GridData gd = new GridData(GridData.FILL_BOTH); gd.horizontalAlignment = SWT.CENTER; imageLabel.setLayoutData(gd); imageLabel.setImage(image); this.setSize(width, SWT.DEFAULT); // Hier stehen dann noch die Anweisungen von der Bank drin super.paint(parent); getShell().setMinimumSize(getShell().computeSize(width, SWT.DEFAULT)); }
/** @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.dialogs.PasswordDialog#extend(de.willuhn.jameica.gui.util.Container) */ protected void extend(Container container) throws Exception { if (this.filename == null) return; Part p = new Part() { public void paint(Composite parent) throws RemoteException { String text = i18n.tr("Schlüssel-Datei: {0}", filename); final Label comment = new Label(parent, SWT.WRAP); comment.setText(text); comment.setForeground(Color.COMMENT.getSWTColor()); comment.setLayoutData(new GridData(GridData.FILL_BOTH)); // Workaround fuer Windows, weil dort mehrzeilige // Labels nicht korrekt umgebrochen werden. comment.addControlListener( new ControlAdapter() { public void controlResized(ControlEvent e) { comment.setSize(comment.computeSize(comment.getSize().x, SWT.DEFAULT)); } }); } }; container.addPart(p); }
/** @see de.willuhn.jameica.gui.AbstractView#bind() */ public void bind() throws Exception { final AuslandsUeberweisungControl control = new AuslandsUeberweisungControl(this); this.transfer = control.getTransfer(); GUI.getView().setTitle(i18n.tr("SEPA-Überweisung bearbeiten")); GUI.getView() .addPanelButton( new PanelButton( "edit-select-all.png", new SepaExportUeberweisung(transfer), i18n.tr("Als SEPA-XML-Datei exportieren..."))); GUI.getView() .addPanelButton(new PanelButtonPrint(new PrintSupportAuslandsUeberweisung(transfer))); Container cl = new SimpleContainer(getParent()); cl.addHeadline(i18n.tr("Konto")); cl.addInput(control.getKontoAuswahl()); ColumnLayout cols = new ColumnLayout(getParent(), 2); // Linke Seite { Container container = new SimpleContainer(cols.getComposite()); container.addHeadline(i18n.tr("Empfänger")); container.addLabelPair(i18n.tr("Name"), control.getEmpfaengerName()); container.addLabelPair(i18n.tr("IBAN"), control.getEmpfaengerKonto()); container.addLabelPair(i18n.tr("BIC"), control.getEmpfaengerBic()); container.addCheckbox(control.getStoreEmpfaenger(), i18n.tr("In Adressbuch übernehmen")); } // Rechte Seite { Container container = new SimpleContainer(cols.getComposite()); container.addHeadline(i18n.tr("SEPA")); container.addInput(control.getEndToEndId()); container.addHeadline(i18n.tr("Sonstige Informationen (nur Hibiscus-intern)")); container.addText(i18n.tr("Diese Daten werden nicht an die Bank übertragen."), true); container.addInput(control.getTermin()); container.addInput(control.getReminderInterval()); } Container container = new SimpleContainer(getParent()); container.addHeadline(i18n.tr("Details")); container.addLabelPair(i18n.tr("Verwendungszweck"), control.getZweck()); container.addLabelPair(i18n.tr("Betrag"), control.getBetrag()); ButtonArea buttonArea = new ButtonArea(); buttonArea.addButton( i18n.tr("Löschen"), new DBObjectDelete(), transfer, false, "user-trash-full.png"); buttonArea.addButton( i18n.tr("Duplizieren..."), new Action() { public void handleAction(Object context) throws ApplicationException { if (control.handleStore()) // BUGZILLA 1181 new Duplicate().handleAction(transfer); } }, null, false, "edit-copy.png"); Button execute = new Button( i18n.tr("Jetzt ausführen..."), new Action() { public void handleAction(Object context) throws ApplicationException { if (control.handleStore()) new AuslandsUeberweisungExecute().handleAction(transfer); } }, null, false, "emblem-important.png"); execute.setEnabled(!transfer.ausgefuehrt()); Button store = new Button( i18n.tr("Speichern"), new Action() { public void handleAction(Object context) throws ApplicationException { control.handleStore(); } }, null, !transfer.ausgefuehrt(), "document-save.png"); store.setEnabled(!transfer.ausgefuehrt()); buttonArea.addButton(execute); buttonArea.addButton(store); buttonArea.paint(getParent()); Application.getMessagingFactory().registerMessageConsumer(this.mc); }
/** @see de.willuhn.jameica.gui.AbstractView#bind() */ public void bind() throws Exception { // draw the title GUI.getView().setTitle(Settings.i18n().tr("Project details")); // instanciate controller final ProjectControl control = new ProjectControl(this); Container c = new SimpleContainer(getParent()); // layout with 2 columns ColumnLayout columns = new ColumnLayout(c.getComposite(), 2); // left side Container left = new SimpleContainer(columns.getComposite()); left.addHeadline(Settings.i18n().tr("Details")); left.addInput(control.getName()); left.addInput(control.getPrice()); left.addInput(control.getStartDate()); left.addInput(control.getEndDate()); // right side Container right = new SimpleContainer(columns.getComposite(), true); right.addHeadline(Settings.i18n().tr("Description")); right.addInput(control.getDescription()); c.addHeadline(Settings.i18n().tr("Summary")); c.addInput(control.getEffortSummary()); // add some buttons ButtonArea buttons = new ButtonArea(); buttons.addButton(Settings.i18n().tr("New Task"), new TaskDetail(), control.getCurrentObject()); buttons.addButton( Settings.i18n().tr("Delete"), new ProjectDelete(), control.getCurrentObject()); buttons.addButton( Settings.i18n().tr("Store"), new Action() { public void handleAction(Object context) throws ApplicationException { control.handleStore(); } }, null, true); // "true" defines this button as the default button // Don't forget to paint the button area buttons.paint(getParent()); // show task tasks in this project new Headline(getParent(), Settings.i18n().tr("Tasks within this project")); control.getTaskList().paint(getParent()); }
/** @see de.willuhn.jameica.gui.dialogs.AbstractDialog#paint(org.eclipse.swt.widgets.Composite) */ protected void paint(Composite parent) throws Exception { Container group = new SimpleContainer(parent); group.addHeadline(i18n.tr("Details des Dauerauftrages")); Input kto = new LabelInput(auftrag.getKonto().getKontonummer()); kto.setComment(auftrag.getKonto().getBezeichnung()); group.addLabelPair(i18n.tr("Eigenes Konto"), kto); Input empfName = new LabelInput(auftrag.getGegenkontoName()); group.addLabelPair(i18n.tr("Name des Empfänger"), empfName); Input empfKto = new LabelInput(auftrag.getGegenkontoNummer()); empfKto.setComment( auftrag.getGegenkontoBLZ() + "/" + HBCIUtils.getNameForBLZ(auftrag.getGegenkontoBLZ())); group.addLabelPair(i18n.tr("Konto des Empfängers"), empfKto); LabelInput betrag = new LabelInput( HBCI.DECIMALFORMAT.format(auftrag.getBetrag()) + " " + auftrag.getKonto().getWaehrung()); betrag.setColor(Color.ERROR); group.addLabelPair(i18n.tr("Betrag"), betrag); group.addSeparator(); Date e = auftrag.getErsteZahlung(); String se = i18n.tr("Zum nächstmöglichen Termin"); if (e != null) se = HBCI.DATEFORMAT.format(e); Input ersteZahlung = new LabelInput(se); group.addLabelPair(i18n.tr("Erste Zahlung"), ersteZahlung); Date l = auftrag.getLetzteZahlung(); String sl = i18n.tr("keine End-Datum vorgegeben"); if (l != null) sl = HBCI.DATEFORMAT.format(l); Input letzteZahlung = new LabelInput(sl); group.addLabelPair(i18n.tr("Letzte Zahlung"), letzteZahlung); Input turnus = new LabelInput(TurnusHelper.createBezeichnung(auftrag.getTurnus())); group.addLabelPair(i18n.tr("Zahlungsturnus"), turnus); group.addHeadline(i18n.tr("Verwendungszweck")); group.addText(VerwendungszweckUtil.toString(auftrag, "\n"), false); if (auftrag.isActive()) group.addText( i18n.tr("Sind Sie sicher, daß Sie diese Änderungen jetzt zur Bank senden wollen?") + "\n", true); else group.addText( i18n.tr("Sind Sie sicher, daß Sie diesen Dauerauftrag jetzt ausführen wollen?") + "\n", true); super.paint(parent); getShell().setMinimumSize(getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT)); }