Example usage for org.eclipse.jface.dialogs MessageDialog openConfirm

List of usage examples for org.eclipse.jface.dialogs MessageDialog openConfirm

Introduction

In this page you can find the example usage for org.eclipse.jface.dialogs MessageDialog openConfirm.

Prototype

public static boolean openConfirm(Shell parent, String title, String message) 

Source Link

Document

Convenience method to open a simple confirm (OK/Cancel) dialog.

Usage

From source file:ch.elexis.core.ui.laboratory.dialogs.MergeLabItemDialog.java

License:Open Source License

@Override
protected void okPressed() {
    StructuredSelection selection = (StructuredSelection) destinationItems.getSelection();
    if (selection.isEmpty()) {
        setErrorMessage(Messages.MergeLabItemDialog_errorNoToLabItemSelected);
        return;// w  w w .j a  v  a  2  s  . c  om
    }
    LabItem destination = (LabItem) selection.getFirstElement();

    selection = (StructuredSelection) sourceItems.getSelection();
    if (selection.isEmpty()) {
        setErrorMessage(Messages.MergeLabItemDialog_errorNoFromLabItemSelected);
        return;
    }
    LabItem source = (LabItem) selection.getFirstElement();

    if (source == destination) {
        setErrorMessage(Messages.MergeLabItemDialog_errorSameSelected);
        return;
    }

    boolean confirm = MessageDialog.openConfirm(getShell(), Messages.MergeLabItemDialog_titleWarningDialog,
            Messages.MergeLabItemDialog_messageWarningDialog);

    if (confirm) {
        destination.mergeWith(source);
        deleteMappings(source);
        source.delete();
    } else {
        return;
    }

    super.okPressed();
}

From source file:ch.elexis.core.ui.laboratory.views.LabNotSeenView.java

License:Open Source License

private void makeActions() {
    markAllAction = new RestrictedAction(AccessControlDefaults.LAB_SEEN, Messages.LabNotSeenView_markAll) { //$NON-NLS-1$
        {/*from  w w  w  .  ja  v a2 s  .  co m*/
            setToolTipText(Messages.LabNotSeenView_markAllToolTip); //$NON-NLS-1$
            setImageDescriptor(Images.IMG_TICK.getImageDescriptor());
        }

        @Override
        public void doRun() {
            boolean openConfirm = MessageDialog.openConfirm(getViewSite().getShell(),
                    Messages.LabNotSeenView_reallyMarkCaption, //$NON-NLS-1$
                    Messages.LabNotSeenView_markAllToolTip);
            if (openConfirm) //$NON-NLS-1$
            {
                tv.setAllChecked(true);
                for (LabResult lr : LabResult.getUnseen()) {
                    lr.removeFromUnseen();
                }
            }
        }

    };
    markPersonAction = new RestrictedAction(AccessControlDefaults.LAB_SEEN,
            Messages.LabNotSeenView_markAllofPatient) { //$NON-NLS-1$
        {
            setToolTipText(Messages.LabNotSeenView_markAllOfPatientToolTip); //$NON-NLS-1$
            setImageDescriptor(Images.IMG_PERSON_OK.getImageDescriptor());
        }

        @Override
        public void doRun() {
            Patient act = ElexisEventDispatcher.getSelectedPatient();
            for (LabResult lr : unseen) {
                if (lr.getPatient().equals(act)) {
                    lr.removeFromUnseen();
                    tv.setChecked(lr, true);
                }
            }
        }
    };
}

From source file:ch.elexis.core.ui.views.artikel.ArtikelContextMenu.java

License:Open Source License

private void makeActions(final Artikel art) {
    deleteAction = new Action(Messages.ArtikelContextMenu_deleteAction) {
        {/*from   w  w w.j a v a  2s  . com*/
            setImageDescriptor(Images.IMG_DELETE.getImageDescriptor());
            setToolTipText(art.getClass().getName() + Messages.ArtikelContextMenu_deleteActionToolTip);
        }

        @Override
        public void run() {
            Artikel act = (Artikel) ElexisEventDispatcher.getSelected(art.getClass());
            if (MessageDialog.openConfirm(cv.getViewerWidget().getControl().getShell(),
                    Messages.ArtikelContextMenu_deleteActionConfirmCaption,
                    MessageFormat.format(Messages.ArtikelContextMenu_deleteConfirmBody, act.getName()))) {
                act.delete();
                cv.getConfigurer().getControlFieldProvider().fireChangedEvent();
                cv.notify(CommonViewer.Message.update);
            }

        }
    };
    createAction = new Action(Messages.ArtikelContextMenu_newAction) {
        {
            setImageDescriptor(Images.IMG_NEW.getImageDescriptor());
            setToolTipText(Messages.ArtikelContextMenu_newActionTooltip);
        }

        @Override
        public void run() {
            InputDialog inp = new InputDialog(cv.getViewerWidget().getControl().getShell(),
                    art.getClass().getName() + Messages.ArtikelContextMenu_create,
                    Messages.ArtikelContextMenu_pleaseEnterNameForArticle, "", null); //$NON-NLS-1$
            if (inp.open() == InputDialog.OK) {
                String name = inp.getValue();
                Artikel n = new Artikel(name, art.getCodeSystemName(), ""); //$NON-NLS-1$
                if (add == null) {
                    EditEigenartikelUi.executeWithParams(n);
                } else {
                    add.show(n);
                }
            }

        }
    };
    editAction = new Action(Messages.ArtikelContextMenu_propertiesAction) {
        {
            setImageDescriptor(Images.IMG_EDIT.getImageDescriptor());
            setToolTipText(Messages.ArtikelContextMenu_propertiesTooltip);
        }

        @Override
        public void run() {
            Artikel n = (Artikel) ElexisEventDispatcher.getSelected(art.getClass());
            if (add == null) {
                EditEigenartikelUi.executeWithParams(n);
            } else {
                add.show(n);
            }
        }
    };
}

From source file:ch.elexis.core.ui.views.AUF2.java

License:Open Source License

private void makeActions() {
    newAUF = new Action(Messages.AUF2_new) { //$NON-NLS-1$
        {//from www.ja v a  2  s. co m
            setImageDescriptor(Images.IMG_NEW.getImageDescriptor());
            setToolTipText(Messages.AUF2_createNewCert); //$NON-NLS-1$
        }

        @Override
        public void run() {
            Patient pat = (Patient) ElexisEventDispatcher.getSelected(Patient.class);
            if (pat == null) {
                SWTHelper.showError(Messages.AUF2_NoPatientSelected, //$NON-NLS-1$
                        Messages.AUF2_PleaseDoSelectPatient); //$NON-NLS-1$
                return;
            }
            Konsultation kons = (Konsultation) ElexisEventDispatcher.getSelected(Konsultation.class);
            Fall fall = null;
            if (kons != null) {
                fall = kons.getFall();
                if (fall == null) {
                    SWTHelper.showError(Messages.AUF2_noCaseSelected, Messages.AUF2_selectCase); //$NON-NLS-1$ //$NON-NLS-2$
                    return;

                }
                if (!fall.getPatient().equals(pat)) {
                    kons = null;
                }
            }
            if (kons == null) {
                kons = pat.getLetzteKons(false);
                if (kons == null) {
                    SWTHelper.showError(Messages.AUF2_noCaseSelected, Messages.AUF2_selectCase); //$NON-NLS-1$ //$NON-NLS-2$
                    return;
                }
                fall = kons.getFall();
            }
            new EditAUFDialog(getViewSite().getShell(), null, fall).open();
            tv.refresh(false);
        }
    };
    delAUF = new Action(Messages.AUF2_delete) { //$NON-NLS-1$
        {
            setImageDescriptor(Images.IMG_DELETE.getImageDescriptor());
            setToolTipText(Messages.AUF2_deleteCertificate); //$NON-NLS-1$
        }

        @Override
        public void run() {
            AUF sel = getSelectedAUF();
            if (sel != null) {
                if (MessageDialog.openConfirm(getViewSite().getShell(), Messages.AUF2_deleteReally,
                        Messages.AUF2_doyoywantdeletereally)) { //$NON-NLS-1$ //$NON-NLS-2$
                    sel.delete();
                    tv.refresh(false);
                }
            }
        }
    };
    modAUF = new Action(Messages.AUF2_edit) { //$NON-NLS-1$
        {
            setImageDescriptor(Images.IMG_EDIT.getImageDescriptor());
            setToolTipText(Messages.AUF2_editCertificate); //$NON-NLS-1$
        }

        @Override
        public void run() {
            AUF sel = getSelectedAUF();
            if (sel != null) {
                new EditAUFDialog(getViewSite().getShell(), sel, sel.getFall()).open();
                tv.refresh(true);
            }
        }
    };
    printAUF = new Action(Messages.AUF2_print) { //$NON-NLS-1$
        {
            setImageDescriptor(Images.IMG_PRINTER.getImageDescriptor());
            setToolTipText(Messages.AUF2_createPrint); //$NON-NLS-1$
        }

        @Override
        public void run() {
            try {
                AUFZeugnis az = (AUFZeugnis) getViewSite().getPage().showView(AUFZeugnis.ID);
                AUF actAUF = (ch.elexis.data.AUF) ElexisEventDispatcher.getSelected(AUF.class);
                az.createAUZ(actAUF);
            } catch (Exception ex) {
                ExHandler.handle(ex);
            }

        }
    };
}

From source file:ch.elexis.core.ui.views.KonsDetailView.java

License:Open Source License

private void makeActions() {

    versionDisplayAction = new Action() {
        private String versionText;

        @Override//from ww  w . j a va2  s  .  c  o m
        public String getText() {
            return versionText;
        }

        @Override
        public void setText(String text) {
            versionText = text;
        }

        @Override
        public boolean isEnabled() {
            return false;
        }
    };

    purgeAction = new LockedRestrictedAction<Konsultation>(AccessControlDefaults.AC_PURGE,
            Messages.KonsDetailView_PurgeOldEntries) {

        @Override
        public Konsultation getTargetedObject() {
            return actKons;
        }

        @Override
        public void doRun(Konsultation element) {
            element.purgeEintrag();
            ElexisEventDispatcher.fireSelectionEvent(element);
        }

    };
    versionBackAction = new Action(Messages.KonsDetailView_PreviousEntry) { // $NON-NLS-1$

        @Override
        public void run() {
            if (actKons == null) {
                return;
            }
            if (MessageDialog.openConfirm(getViewSite().getShell(),
                    Messages.KonsDetailView_ReplaceKonsTextCaption, // $NON-NLS-1$
                    Messages.KonsDetailView_ReplaceKonsTextBody)) { // $NON-NLS-1$
                setKonsText(actKons, displayedVersion - 1);
                text.setDirty(true);
            }
        }

    };
    versionFwdAction = new Action(Messages.KonsDetailView_nextEntry) { // $NON-NLS-1$
        @Override
        public void run() {
            if (actKons == null) {
                return;
            }
            if (MessageDialog.openConfirm(getViewSite().getShell(),
                    Messages.KonsDetailView_ReplaceKonsTextCaption, // $NON-NLS-1$
                    Messages.KonsDetailView_ReplaceKonsTextBody2)) { // $NON-NLS-1$
                setKonsText(actKons, displayedVersion + 1);
                text.setDirty(true);
            }
        }
    };
    saveAction = new LockedAction<Konsultation>(Messages.KonsDetailView_SaveEntry) {
        {
            setImageDescriptor(Images.IMG_DISK.getImageDescriptor());
            setToolTipText(Messages.KonsDetailView_SaveExplicit); // $NON-NLS-1$
        }

        @Override
        public Konsultation getTargetedObject() {
            return actKons;
        }

        @Override
        public void doRun(Konsultation element) {
            save();
        }
    };

    versionFwdAction.setImageDescriptor(Images.IMG_NEXT.getImageDescriptor());
    versionBackAction.setImageDescriptor(Images.IMG_PREVIOUS.getImageDescriptor());
    purgeAction.setImageDescriptor(Images.IMG_DELETE.getImageDescriptor());
    assignStickerAction = new Action("Sticker...") {
        {
            setToolTipText("Der Konsultation einer Sticker zuweisen");
        }

        @Override
        public void run() {
            if (actKons != null) {
                AssignStickerDialog asd = new AssignStickerDialog(getViewSite().getShell(), actKons);
                asd.open();
            }
        }
    };
}

From source file:ch.elexis.core.ui.views.rechnung.RnActions.java

License:Open Source License

RnActions(final RechnungsListeView view) {

    printListeAction = new Action(Messages.RnActions_printListAction) { //$NON-NLS-1$
        {/*from   w w w .  ja v  a2s  . com*/
            setImageDescriptor(Images.IMG_PRINTER.getImageDescriptor());
            setToolTipText(Messages.RnActions_printListTooltip); //$NON-NLS-1$
        }

        @Override
        public void run() {
            Object[] sel = view.cv.getSelection();
            new RnListeDruckDialog(view.getViewSite().getShell(), sel).open();
        }
    };
    mahnWizardAction = new Action(Messages.RnActions_remindersAction) { //$NON-NLS-1$
        {
            setToolTipText(Messages.RnActions_remindersTooltip); //$NON-NLS-1$
            setImageDescriptor(Images.IMG_WIZARD.getImageDescriptor());
        }

        @Override
        public void run() {
            if (!MessageDialog.openConfirm(view.getViewSite().getShell(),
                    Messages.RnActions_reminderConfirmCaption, //$NON-NLS-1$
                    Messages.RnActions_reminderConfirmMessage)) { //$NON-NLS-1$
                return;
            }
            Handler.execute(view.getViewSite(), MahnlaufCommand.ID, null);
            view.cfp.clearValues();
            view.cfp.cbStat.setText(RnControlFieldProvider.stats[RnControlFieldProvider.stats.length - 5]);
            view.cfp.fireChangedEvent();
        }
    };
    rnExportAction = new Action(Messages.RechnungsListeView_printAction) { //$NON-NLS-1$
        {
            setToolTipText(Messages.RechnungsListeView_printToolTip); //$NON-NLS-1$
            setImageDescriptor(Images.IMG_GOFURTHER.getImageDescriptor());
        }

        @Override
        public void run() {
            List<Rechnung> list = view.createList();
            new RnOutputDialog(view.getViewSite().getShell(), list).open();
        }
    };

    patDetailAction = new Action(Messages.RnActions_patientDetailsAction) { //$NON-NLS-1$
        @Override
        public void run() {
            IWorkbenchPage rnPage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
            try {
                /* PatientDetailView fdv=(PatientDetailView) */rnPage
                        .showView(UiResourceConstants.PatientDetailView2_ID);
            } catch (Exception ex) {
                ExHandler.handle(ex);
            }
        }

    };
    editCaseAction = new Action(Messages.RnActions_edirCaseAction) { //$NON-NLS-1$

        @Override
        public void run() {
            IWorkbenchPage rnPage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
            try {
                rnPage.showView(FallDetailView.ID);
            } catch (Exception ex) {
                ExHandler.handle(ex);
            }
        }

    };
    delRnAction = new AllOrNoneLockRequestingAction<Rechnung>(Messages.RnActions_deleteBillAction) {

        @Override
        public List<Rechnung> getTargetedObjects() {
            return view.createList();
        }

        @Override
        public void doRun(List<Rechnung> lockedElements) {
            for (Rechnung rn : lockedElements) {
                rn.storno(true);
            }
        }
    };
    reactivateRnAction = new AllOrNoneLockRequestingAction<Rechnung>(Messages.RnActions_reactivateBillAction) {

        @Override
        public List<Rechnung> getTargetedObjects() {
            return view.createList();
        }

        @Override
        public void doRun(List<Rechnung> lockedElements) {
            for (Rechnung rn : lockedElements) {
                rn.setStatus(RnStatus.OFFEN);
            }
        }
    };
    expandAllAction = new Action(Messages.RnActions_expandAllAction) { //$NON-NLS-1$
        @Override
        public void run() {
            view.cv.getViewerWidget().getControl().setRedraw(false);
            ((TreeViewer) view.cv.getViewerWidget()).expandAll();
            view.cv.getViewerWidget().getControl().setRedraw(true);
        }
    };
    collapseAllAction = new Action(Messages.RnActions_collapseAllAction) { //$NON-NLS-1$
        @Override
        public void run() {
            view.cv.getViewerWidget().getControl().setRedraw(false);
            ((TreeViewer) view.cv.getViewerWidget()).collapseAll();
            view.cv.getViewerWidget().getControl().setRedraw(true);
        }
    };
    reloadAction = new Action(Messages.RnActions_reloadAction) { //$NON-NLS-1$
        {
            setToolTipText(Messages.RnActions_reloadTooltip); //$NON-NLS-1$
            setImageDescriptor(Images.IMG_REFRESH.getImageDescriptor());
        }

        @Override
        public void run() {
            view.cfp.fireChangedEvent();
        }
    };

    addPaymentAction = new Action(Messages.RnActions_addBookingAction) { //$NON-NLS-1$
        {
            setToolTipText(Messages.RnActions_addBookingTooltip); //$NON-NLS-1$
            setImageDescriptor(Images.IMG_ADDITEM.getImageDescriptor());
        }

        @Override
        public void run() {
            List<Rechnung> list = view.createList();
            if (list.size() > 0) {
                Rechnung actRn = list.get(0);
                try {
                    if (new RnDialogs.BuchungHinzuDialog(view.getViewSite().getShell(), actRn)
                            .open() == Dialog.OK) {
                        ElexisEventDispatcher.update(actRn);
                    }
                } catch (ElexisException e) {
                    SWTHelper.showError("Zahlung hinzufgen ist nicht mglich", e.getLocalizedMessage());
                }
            }
        }
    };

    addExpenseAction = new Action(Messages.RnActions_addFineAction) { //$NON-NLS-1$
        {
            setImageDescriptor(Images.IMG_REMOVEITEM.getImageDescriptor());
        }

        @Override
        public void run() {
            List<Rechnung> list = view.createList();
            if (!list.isEmpty()) {
                try {
                    if (list.size() == 1) {
                        Rechnung actRn = list.get(0);
                        if (new RnDialogs.GebuehrHinzuDialog(view.getViewSite().getShell(), actRn)
                                .open() == Dialog.OK) {
                            ElexisEventDispatcher.update(actRn);
                        }
                    } else {
                        if (new RnDialogs.MultiGebuehrHinzuDialog(view.getViewSite().getShell(), list)
                                .open() == Dialog.OK) {
                            for (Rechnung rn : list) {
                                ElexisEventDispatcher.update(rn);
                            }
                        }
                    }
                } catch (ElexisException e) {
                    SWTHelper.showError("Zahlung hinzufgen ist nicht mglich", e.getLocalizedMessage());
                }
            }
        }
    };

    changeStatusAction = new AllOrNoneLockRequestingRestrictedAction<Rechnung>(
            AccessControlDefaults.ADMIN_CHANGE_BILLSTATUS_MANUALLY, Messages.RnActions_changeStateAction) { //$NON-NLS-1$
        {
            setToolTipText(Messages.RnActions_changeStateTooltip); //$NON-NLS-1$
            setImageDescriptor(Images.IMG_EDIT.getImageDescriptor());
        }

        @Override
        public List<Rechnung> getTargetedObjects() {
            return view.createList();
        }

        @Override
        public void doRun(List<Rechnung> list) {
            if (list.size() == 1) {
                Rechnung actRn = list.get(0);
                if (new RnDialogs.StatusAendernDialog(view.getViewSite().getShell(), actRn)
                        .open() == Dialog.OK) {
                    ElexisEventDispatcher.update(actRn);
                }
            } else {
                if (new RnDialogs.MultiStatusAendernDialog(view.getViewSite().getShell(), list)
                        .open() == Dialog.OK) {
                    for (Rechnung rn : list) {
                        ElexisEventDispatcher.update(rn);
                    }
                }
            }
        }
    };
    stornoAction = new LockRequestingAction<Rechnung>(Messages.RnActions_stornoAction) {
        {
            setImageDescriptor(Images.IMG_DELETE.getImageDescriptor());
            setToolTipText(Messages.RnActions_stornoActionTooltip);
        }

        @Override
        public Rechnung getTargetedObject() {
            List<Rechnung> list = view.createList();
            if (!list.isEmpty()) {
                return list.get(0);
            }
            return null;
        }

        @Override
        public void doRun(Rechnung actRn) {
            if (new RnDialogs.StornoDialog(view.getViewSite().getShell(), actRn).open() == Dialog.OK) {
                ElexisEventDispatcher.update(actRn);
            }
        }
    };
    increaseLevelAction = new Action(Messages.RnActions_increaseReminderLevelAction) { //$NON-NLS-1$
        {
            setToolTipText(Messages.RnActions_increadeReminderLevelTooltip); //$NON-NLS-1$
        }

        @Override
        public void run() {
            List<Rechnung> list = view.createList();
            if (list.size() > 0) {
                for (Rechnung actRn : list) {
                    switch (actRn.getStatus()) {
                    case RnStatus.OFFEN_UND_GEDRUCKT:
                        actRn.setStatus(RnStatus.MAHNUNG_1);
                        break;
                    case RnStatus.MAHNUNG_1_GEDRUCKT:
                        actRn.setStatus(RnStatus.MAHNUNG_2);
                        break;
                    case RnStatus.MAHNUNG_2_GEDRUCKT:
                        actRn.setStatus(RnStatus.MAHNUNG_3);
                        break;
                    default:
                        SWTHelper.showInfo(Messages.RnActions_changeStateErrorCaption, //$NON-NLS-1$
                                Messages.RnActions_changeStateErrorMessage); //$NON-NLS-1$
                    }
                }
            }

        }
    };
    addAccountExcessAction = new Action(Messages.RnActions_addAccountGood) { //$NON-NLS-1$
        {
            setToolTipText(Messages.RnActions_addAccountGoodTooltip); //$NON-NLS-1$
        }

        @Override
        public void run() {
            List<Rechnung> list = view.createList();
            if (list.size() > 0) {
                Rechnung actRn = list.get(0);

                // Allfaelliges Guthaben des Patienten der Rechnung als
                // Anzahlung hinzufuegen
                Fall fall = actRn.getFall();
                Patient patient = fall.getPatient();
                Money prepayment = patient.getAccountExcess();
                if (prepayment.getCents() > 0) {
                    // make sure prepayment is not bigger than amount of
                    // bill
                    Money amount;
                    if (prepayment.getCents() > actRn.getBetrag().getCents()) {
                        amount = new Money(actRn.getBetrag());
                    } else {
                        amount = new Money(prepayment);
                    }

                    if (SWTHelper.askYesNo(Messages.RnActions_transferMoneyCaption, //$NON-NLS-1$
                            "Das Konto von Patient \"" + patient.getLabel()
                                    + "\" weist ein positives Kontoguthaben auf. Wollen Sie den Betrag von "
                                    + amount.toString() + " dieser Rechnung \"" + actRn.getNr() + ": "
                                    + fall.getLabel() + "\" zuweisen?")) {

                        // remove amount from account and transfer it to the
                        // bill
                        Money accountAmount = new Money(amount);
                        accountAmount.negate();
                        new AccountTransaction(patient, null, accountAmount, null,
                                "Anzahlung von Kontoguthaben auf Rechnung " + actRn.getNr());
                        actRn.addZahlung(amount, "Anzahlung von Kontoguthaben", null);
                    }
                }
            }
        }
    };
    rnFilterAction = new Action(Messages.RnActions_filterListAction, Action.AS_CHECK_BOX) { //$NON-NLS-1$
        {
            setImageDescriptor(Images.IMG_FILTER.getImageDescriptor());
            setToolTipText(Messages.RnActions_filterLIstTooltip); //$NON-NLS-1$
        }

        @Override
        public void run() {
            if (isChecked()) {
                RnFilterDialog rfd = new RnFilterDialog(view.getViewSite().getShell());
                if (rfd.open() == Dialog.OK) {
                    view.cntp.setConstraints(rfd.ret);
                    view.cfp.fireChangedEvent();
                }
            } else {
                view.cntp.setConstraints(null);
                view.cfp.fireChangedEvent();
            }

        }
    };
}

From source file:ch.elexis.core.ui.views.RezepteView.java

License:Open Source License

private void makeActions() {
    newRpAction = new Action(Messages.RezepteView_newPrescriptionAction) { //$NON-NLS-1$
        {/*from   w  w  w. ja  v  a  2s . co  m*/
            setImageDescriptor(Images.IMG_NEW.getImageDescriptor());
            setToolTipText(Messages.RezepteView_newPrescriptonTooltip); //$NON-NLS-1$
        }

        @Override
        public void run() {
            Patient act = (Patient) ElexisEventDispatcher.getSelected(Patient.class);
            if (act == null) {
                MessageBox mb = new MessageBox(getViewSite().getShell(), SWT.ICON_INFORMATION | SWT.OK);
                mb.setText(Messages.RezepteView_newPrescriptionError); //$NON-NLS-1$
                mb.setMessage(Messages.RezepteView_noPatientSelected); //$NON-NLS-1$
                mb.open();
                return;
            }
            Fall fall = (Fall) ElexisEventDispatcher.getSelected(Fall.class);
            if (fall == null) {
                Konsultation k = act.getLetzteKons(false);
                if (k == null) {
                    SWTHelper.alert(Messages.RezepteView_noCaseSelected, //$NON-NLS-1$
                            Messages.RezepteView_pleaseCreateOrChooseCase); //$NON-NLS-1$                     
                    return;
                }
            }
            Rezept rezept = new Rezept(act);
            tv.refresh();
            doSelectNewRezept(rezept);
            doAddLine();
        }
    };
    deleteRpAction = new Action(Messages.RezepteView_deletePrescriptionActiom) { //$NON-NLS-1$
        @Override
        public void run() {
            Rezept rp = (Rezept) ElexisEventDispatcher.getSelected(Rezept.class);
            if (MessageDialog.openConfirm(getViewSite().getShell(),
                    Messages.RezepteView_deletePrescriptionActiom, //$NON-NLS-1$
                    MessageFormat.format(Messages.RezepteView_deletePrescriptionConfirm, rp //$NON-NLS-1$
                            .getDate()))) {
                rp.delete();
                tv.refresh();
            }
        }
    };
    removeLineAction = new Action(Messages.RezepteView_deleteLineAction) { //$NON-NLS-1$
        @Override
        public void run() {
            Rezept rp = (Rezept) ElexisEventDispatcher.getSelected(Rezept.class);
            IStructuredSelection sel = (IStructuredSelection) lvRpLines.getSelection();
            Prescription p = (Prescription) sel.getFirstElement();
            if ((rp != null) && (p != null)) {
                rp.removePrescription(p);
                lvRpLines.refresh();
            }
            /*
             * RpZeile z=(RpZeile)sel.getFirstElement(); if((rp!=null) && (z!=null)){
             * rp.removeLine(z); lvRpLines.refresh(); }
             */
        }
    };
    addLineAction = new Action(Messages.RezepteView_newLineAction) { //$NON-NLS-1$
        @Override
        public void run() {
            doAddLine();
        }
    };
    printAction = new Action(Messages.RezepteView_printAction) { //$NON-NLS-1$
        @Override
        public void run() {
            try {
                RezeptBlatt rp = (RezeptBlatt) getViewSite().getPage().showView(RezeptBlatt.ID);
                Rezept actR = (Rezept) ElexisEventDispatcher.getSelected(Rezept.class);
                Brief rpBrief = actR.getBrief();
                if (rpBrief == null)
                    // not yet created - just create a new Rezept
                    rp.createRezept(actR);
                else {
                    // Brief for Rezept already exists:
                    // ask if it should be recreated or just shown
                    String[] dialogButtonLabels = { Messages.RezepteView_RecreatePrescription,
                            Messages.RezepteView_ShowPrescription, Messages.RezepteView_PrescriptionCancel };
                    MessageDialog msg = new MessageDialog(null, Messages.RezepteView_CreatePrescription, //$NON-NLS-1$
                            null, Messages.RezepteView_ReallyWantToRecreatePrescription, //$NON-NLS-1$
                            MessageDialog.WARNING, dialogButtonLabels, 2);
                    int result = msg.open();
                    switch (result) {
                    case 0: // recreate rezept
                        rp.createRezept(actR);
                        break;
                    case 1: // open rezept
                        rp.loadRezeptFromDatabase(actR, rpBrief);
                        break;
                    case 2: // cancel or closebox - do nothing
                        break;
                    }
                }
            } catch (Exception ex) {
                ExHandler.handle(ex);
            }
        }
    };
    changeMedicationAction = new RestrictedAction(AccessControlDefaults.MEDICATION_MODIFY,
            Messages.RezepteView_ChangeLink) { //$NON-NLS-1$
        {
            setImageDescriptor(Images.IMG_EDIT.getImageDescriptor());
            setToolTipText(Messages.RezepteView_ChangeTooltip); //$NON-NLS-1$
        }

        public void doRun() {
            Rezept rp = (Rezept) ElexisEventDispatcher.getSelected(Rezept.class);
            IStructuredSelection sel = (IStructuredSelection) lvRpLines.getSelection();
            Prescription pr = (Prescription) sel.getFirstElement();
            if (pr != null) {
                new MediDetailDialog(getViewSite().getShell(), pr).open();
                lvRpLines.refresh();
            }
        }
    };
    addLineAction.setImageDescriptor(Images.IMG_ADDITEM.getImageDescriptor());
    printAction.setImageDescriptor(Images.IMG_PRINTER.getImageDescriptor());
    deleteRpAction.setImageDescriptor(Images.IMG_DELETE.getImageDescriptor());
}

From source file:ch.elexis.data.Rechnung.java

License:Open Source License

/**
 * Since different ouputters can use different rules for rounding, the sum of the bill that an
 * outputter created might be different from the sum, the Rechnung#build method calculated. So
 * an outputter should always use setBetrag to correct the final amount. If the difference
 * between the internal calculated amount and the outputter's result is more than 5 currency
 * units or more than 2% of the sum, this method will return false an will not set the new
 * value. Otherwise, the new value will be set, the account will be adjusted and the method
 * returns true/* w  ww. j  av a  2 s. co  m*/
 * 
 * @param betrag
 *            new new sum
 * @return true on success
 */
public boolean setBetrag(final Money betrag) {
    // use absolute value to fix earlier bug

    int oldVal = Math.abs(checkZero(get(BILL_AMOUNT_CENTS)));
    if (oldVal != 0) {
        int newVal = betrag.getCents();
        int diff = Math.abs(oldVal - newVal);

        if ((diff > 500) || ((diff * 50) > oldVal)) {
            Money old = new Money(oldVal);
            String nr = checkNull(get(BILL_NUMBER));
            String message = "Der errechnete Rechnungsbetrag (" + betrag.getAmountAsString()
                    + ") weicht vom Rechnungsbetrag (" + old.getAmountAsString()
                    + ") ab. Trotzdem weriterfahren?";
            if (!MessageDialog.openConfirm(Desk.getTopShell(), "Differenz bei der Rechnung " + nr, message)) {
                return false;
            }
        }
        Query<AccountTransaction> qa = new Query<AccountTransaction>(AccountTransaction.class);
        qa.add(AccountTransaction.FLD_BILL_ID, Query.EQUALS, getId());
        qa.add(AccountTransaction.FLD_PAYMENT_ID, StringTool.leer, null);
        List<AccountTransaction> as = qa.execute();
        if ((as != null) && (as.size() == 1)) {
            AccountTransaction at = as.get(0);
            if (at.exists()) {
                Money negBetrag = new Money(betrag);
                negBetrag.negate();
                at.set(AccountTransaction.FLD_AMOUNT, negBetrag.getCentsAsString());
            }
        }
    }
    set(BILL_AMOUNT_CENTS, betrag.getCentsAsString());

    return true;
}

From source file:ch.elexis.dialogs.DocumentSelectDialog.java

License:Open Source License

private void makeActions() {
    deleteTemplateAction = new Action(DELETE_TEMPLATE) {
        @Override/*from   www  .jav  a 2  s. c o  m*/
        public void run() {
            Brief sel = (Brief) ((IStructuredSelection) tv.getSelection()).getFirstElement();
            if (MessageDialog.openConfirm(getShell(), DELETE_TEMPLATE, MessageFormat
                    .format(Messages.getString("DocumentSelectDialog.reallyDeleteTemplate"), sel.getBetreff())) //$NON-NLS-1$
            == true) {
                sel.delete();
                tv.refresh();
            }
        }
    };
    deleteTextAction = new Action(DELETE_DOCUMENT) {
        @Override
        public void run() {
            Brief sel = (Brief) ((IStructuredSelection) tv.getSelection()).getFirstElement();
            if (MessageDialog.openConfirm(getShell(), DELETE_DOCUMENT, MessageFormat
                    .format(Messages.getString("DocumentSelectDialog.reallyDeleteDocument"), sel.getBetreff())) //$NON-NLS-1$
            == true) {
                sel.set("geloescht", StringConstants.ONE); //$NON-NLS-1$
                tv.refresh();
            }
        }
    };
    editNameAction = new Action(Messages.getString("DocumentSelectDialog.changeSubjectAction")) { //$NON-NLS-1$
        @Override
        public void run() {
            Brief sel = (Brief) ((IStructuredSelection) tv.getSelection()).getFirstElement();
            InputDialog inp = new InputDialog(getShell(),
                    Messages.getString("DocumentSelectDialog.changeSubjectAction"), //$NON-NLS-1$
                    Messages.getString("DocumentSelectDialog.changeSubjectAction"), //$NON-NLS-1$
                    sel.getBetreff(), null);
            int inputResult = inp.open();
            if (inputResult == InputDialog.OK) {
                sel.setBetreff(inp.getValue());
                tv.refresh();
            }
        }
    };
    editDontAskForAddressee = new Action(Messages.getString("DocumentSelectDialog.askForAddressee")) { //$NON-NLS-1$
        @Override
        public void run() {
            Brief sel = (Brief) ((IStructuredSelection) tv.getSelection()).getFirstElement();
            setDontAskForAddresseeForThisTemplate(sel, !getDontAskForAddresseeForThisTemplate(sel));
            tv.refresh();
        }
    };
}

From source file:ch.elexis.dialogs.KontaktErfassenDialog.java

License:Open Source License

private void createKontakt() {
    String[] ret = new String[8];
    ret[0] = tName.getText();/*from  w  w  w.java  2 s. c o  m*/
    ret[1] = tVorname.getText();
    int idx = cbSex.getSelectionIndex();
    if (idx == -1) {
        SWTHelper.showError(Messages.getString("KontaktErfassenDialog.geschlechtFehlt.title"), //$NON-NLS-1$
                Messages.getString("KontaktErfassenDialog.geschlechtFehlt.msg")); //$NON-NLS-1$
        return;
    }
    ret[2] = cbSex.getItem(idx);
    ret[3] = tGebDat.getText();
    try {
        if (!StringTool.isNothing(ret[3])) {
            new TimeTool(ret[3], true);
        }
        ret[4] = tStrasse.getText();
        ret[5] = tPlz.getText();
        ret[6] = tOrt.getText();
        ret[7] = tTel.getText();
        if (newKontakt == null) {
            Query<Kontakt> qbe = new Query<Kontakt>(Kontakt.class);
            qbe.add("Bezeichnung1", "=", ret[0]); //$NON-NLS-1$ //$NON-NLS-2$
            qbe.add("Bezeichnung2", "=", ret[1]); //$NON-NLS-1$ //$NON-NLS-2$
            List<Kontakt> list = qbe.execute();
            if ((list != null) && (!list.isEmpty())) {
                Kontakt k = list.get(0);
                if (bOrganisation.getSelection() && k.istOrganisation()) {
                    if (bLabor.getSelection()) {
                        k.set("istOrganisation", "1"); //$NON-NLS-1$ //$NON-NLS-2$
                    }
                    if (MessageDialog.openConfirm(getShell(),
                            Messages.getString("KontaktErfassenDialog.organisationExistiert.title"), //$NON-NLS-1$
                            Messages.getString("KontaktErfassenDialog.organisationExistiert.msg")) == false) { //$NON-NLS-1$
                        super.okPressed();
                        return;
                    }
                }
                if (k.istPerson()) {
                    if (bAnwender.getSelection()) {
                        k.set("istAnwender", "1"); //$NON-NLS-1$ //$NON-NLS-2$
                    }
                    if (bMandant.getSelection()) {
                        k.set("istMandant", "1"); //$NON-NLS-1$ //$NON-NLS-2$
                    }
                    if (bPatient.getSelection()) {
                        k.set("istPatient", "1"); //$NON-NLS-1$ //$NON-NLS-2$
                    }
                    if (MessageDialog.openConfirm(getShell(),
                            Messages.getString("KontaktErfassenDialog.personExisitiert.title"), //$NON-NLS-1$
                            Messages.getString("KontaktErfassenDialog.personExisitiert.msg")) == false) { //$NON-NLS-1$
                        super.okPressed();
                        return;
                    }
                }
            }

            /**
             * Neuer Kontakt erstellen. Reihenfolge der Abfrage ist Wichtig, da ein Anwender
             * auch ein Mandant sein kann. "Organisation", - "Labor", "Person" - "Patient" -
             * "Anwender" - "Mandant"
             */
            if (bMandant.getSelection()) {
                newKontakt = new Mandant(ret[0], ret[1], ret[3], ret[2]);
                newKontakt.set("Zusatz", tZusatz.getText()); //$NON-NLS-1$
            } else if (bAnwender.getSelection()) {
                newKontakt = new Anwender(ret[0], ret[1], ret[3], ret[2]);
                newKontakt.set("Zusatz", tZusatz.getText()); //$NON-NLS-1$
            } else if (bPatient.getSelection()) {
                newKontakt = new Patient(ret[0], ret[1], ret[3], ret[2]);
                newKontakt.set("Zusatz", tZusatz.getText()); //$NON-NLS-1$
            } else if (bPerson.getSelection()) {
                newKontakt = new Person(ret[0], ret[1], ret[3], ret[2]);
                newKontakt.set("Zusatz", tZusatz.getText()); //$NON-NLS-1$
            } else if (bLabor.getSelection()) {
                newKontakt = new Labor(ret[0], ret[0]);
                newKontakt.set("Zusatz1", ret[1]); //$NON-NLS-1$
                newKontakt.set("Ansprechperson", tZusatz.getText()); //$NON-NLS-1$
            } else if (bOrganisation.getSelection()) {
                newKontakt = new Organisation(ret[0], ret[1]);
                newKontakt.set("Ansprechperson", tZusatz.getText()); //$NON-NLS-1$
            } else {
                MessageDialog.openInformation(getShell(),
                        Messages.getString("KontaktErfassenDialog.unbekannterTyp.title"), //$NON-NLS-1$
                        Messages.getString("KontaktErfassenDialog.unbekannterTyp.msg")); //$NON-NLS-1$
                return;
            }
        }
        newKontakt.set(new String[] { "Strasse", "Plz", "Ort", "Telefon1", "Fax", "E-Mail" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
                new String[] { ret[4], ret[5], ret[6], ret[7], tFax.getText(), tEmail.getText() });

        ElexisEventDispatcher.fireSelectionEvent(newKontakt);

    } catch (TimeFormatException e) {
        ExHandler.handle(e);
        SWTHelper.showError(Messages.getString("KontaktErfassenDialog.falschesDatum.title"), //$NON-NLS-1$
                Messages.getString("KontaktErfassenDialog.falschesDatum.msg")); //$NON-NLS-1$
        return;
    }

}