Example usage for org.eclipse.jface.viewers LabelProvider LabelProvider

List of usage examples for org.eclipse.jface.viewers LabelProvider LabelProvider

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers LabelProvider LabelProvider.

Prototype

public LabelProvider() 

Source Link

Document

Creates a new label provider.

Usage

From source file:ch.elexis.views.codesystems.BlockDetailDisplay.java

License:Open Source License

public Composite createDisplay(final Composite parent, final IViewSite site) {
    tk = Desk.getToolkit();//from  www .j  a v  a 2  s . c o m
    this.site = site;
    form = tk.createScrolledForm(parent);
    Composite body = form.getBody();
    body.setBackground(parent.getBackground());
    body.setLayout(new GridLayout(2, false));
    tk.createLabel(body, Messages.getString("BlockDetailDisplay.name")).setBackground(parent.getBackground()); //$NON-NLS-1$
    tName = tk.createText(body, "", SWT.BORDER); //$NON-NLS-1$
    tName.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    tk.createLabel(body, StringConstants.MANDATOR).setBackground(parent.getBackground());
    cbMandant = new Combo(body, SWT.NONE);
    cbMandant.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    tk.adapt(cbMandant);
    Query<Mandant> qm = new Query<Mandant>(Mandant.class);
    lMandanten = qm.execute();
    cbMandant.add(Messages.getString("BlockDetailDisplay.all")); //$NON-NLS-1$
    for (PersistentObject m : lMandanten) {
        cbMandant.add(m.getLabel());
    }
    cbMandant.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(final SelectionEvent e) {
            int idx = cbMandant.getSelectionIndex();
            Leistungsblock lb = (Leistungsblock) ElexisEventDispatcher.getSelected(Leistungsblock.class);
            if (idx > 0) {
                PersistentObject m = lMandanten.get(idx - 1);
                lb.set(Leistungsblock.MANDANT_ID, m.getId());
            } else {
                lb.set(Leistungsblock.MANDANT_ID, StringConstants.EMPTY);
            }

        }

    });
    Group gList = new Group(body, SWT.BORDER);
    gList.setText(Messages.getString("BlockDetailDisplay.services")); //$NON-NLS-1$
    gList.setLayoutData(SWTHelper.getFillGridData(2, true, 1, true));
    gList.setLayout(new FillLayout());
    tk.adapt(gList);
    lLst = new ListViewer(gList, SWT.NONE);
    tk.adapt(lLst.getControl(), true, true);

    lLst.setContentProvider(new IStructuredContentProvider() {
        public void dispose() {
        }

        public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) {
        }

        public Object[] getElements(final Object inputElement) {
            Leistungsblock lb = (Leistungsblock) ElexisEventDispatcher.getSelected(Leistungsblock.class);
            if (lb == null) {
                return new Object[0];
            }
            List<ICodeElement> lst = lb.getElements();
            if (lst == null) {
                return new Object[0];
            }
            return lst.toArray();
        }

    });
    lLst.setLabelProvider(new LabelProvider() {

        @Override
        public String getText(final Object element) {
            ICodeElement v = (ICodeElement) element;
            return v.getCode() + StringConstants.SPACE + v.getText();
        }

    });
    final TextTransfer textTransfer = TextTransfer.getInstance();
    Transfer[] types = new Transfer[] { textTransfer };
    lLst.addDropSupport(DND.DROP_COPY, types, new DropTargetListener() {
        public void dragEnter(final DropTargetEvent event) {
            event.detail = DND.DROP_COPY;
        }

        public void dragLeave(final DropTargetEvent event) {
        }

        public void dragOperationChanged(final DropTargetEvent event) {
        }

        public void dragOver(final DropTargetEvent event) {
        }

        public void drop(final DropTargetEvent event) {
            String drp = (String) event.data;
            String[] dl = drp.split(","); //$NON-NLS-1$
            for (String obj : dl) {
                PersistentObject dropped = Hub.poFactory.createFromString(obj);
                if (dropped instanceof ICodeElement) {
                    Leistungsblock lb = (Leistungsblock) ElexisEventDispatcher
                            .getSelected(Leistungsblock.class);
                    if (lb != null) {
                        lb.addElement((ICodeElement) dropped);
                        lLst.refresh();
                        ElexisEventDispatcher.reload(Leistungsblock.class);
                    }
                }
            }

        }

        public void dropAccept(final DropTargetEvent event) {
            // TODO Automatisch erstellter Methoden-Stub

        }

    });
    bNew = tk.createButton(body, Messages.getString("BlockDetailDisplay.addPredefinedServices"), SWT.PUSH); //$NON-NLS-1$
    bNew.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    bNew.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(final SelectionEvent e) {
            try {
                site.getPage().showView(LeistungenView.ID);
            } catch (Exception ex) {
                ElexisStatus status = new ElexisStatus(ElexisStatus.ERROR, Hub.PLUGIN_ID,
                        ElexisStatus.CODE_NONE, "Fehler beim Starten des Leistungscodes " + ex.getMessage(), ex,
                        ElexisStatus.LOG_ERRORS);
                StatusManager.getManager().handle(status, StatusManager.SHOW);
            }
        }
    });

    bEigen = tk.createButton(body, Messages.getString("BlockDetailDisplay.addSelfDefinedServices"), SWT.PUSH); //$NON-NLS-1$
    bEigen.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    bEigen.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            try {
                // execute the command
                IHandlerService handlerService = (IHandlerService) PlatformUI.getWorkbench()
                        .getActiveWorkbenchWindow().getService(IHandlerService.class);

                handlerService.executeCommand(CreateEigenleistungUi.COMMANDID, null);
            } catch (Exception ex) {
                throw new RuntimeException(CreateEigenleistungUi.COMMANDID, ex);
            }
            lLst.refresh();
        }
    });
    makeActions();
    ViewMenus menus = new ViewMenus(site);
    menus.createControlContextMenu(lLst.getControl(), new ViewMenus.IMenuPopulator() {
        public IAction[] fillMenu() {
            IVerrechenbar iv = (IVerrechenbar) ((IStructuredSelection) lLst.getSelection()).getFirstElement();
            if (iv instanceof Eigenleistung) {
                return new IAction[] { moveUpAction, moveDownAction, null, removeLeistung, editAction };
            } else {
                return new IAction[] { moveUpAction, moveDownAction, null, removeLeistung };
            }

        }
    });
    // menus.createViewerContextMenu(lLst,moveUpAction,moveDownAction,null,removeLeistung,editAction);
    lLst.setInput(site);
    return body;
}

From source file:ch.elexis.views.FallListeView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    iClosed = Images.IMG_LOCK_CLOSED.getImage();
    tk = Desk.getToolkit();//  w ww . ja  v  a  2 s.  c  o  m
    form = tk.createForm(parent);
    form.getBody().setLayout(new GridLayout());
    SashForm sash = new SashForm(form.getBody(), SWT.VERTICAL);
    form.setText(Messages.getString("FallListeView.NoPatientSelected")); //$NON-NLS-1$
    sash.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    ButtonProvider fallButton = new ButtonProvider() {

        public Button createButton(Composite parent1) {
            Button ret = tk.createButton(parent1, Messages.getString("FallListeView.NewCase"), SWT.PUSH); //$NON-NLS-1$
            ret.addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    String bez = fallCf.getControlFieldProvider().getValues()[0];
                    Fall fall = actPatient.neuerFall(bez, Messages.getString("FallListeView.Illness"), "KVG"); //$NON-NLS-1$ //$NON-NLS-2$
                    Konsultation b = fall.neueKonsultation();
                    b.setMandant(Hub.actMandant);
                    fallCf.getControlFieldProvider().clearValues();
                    fallViewer.getViewerWidget().refresh();
                    fallViewer.setSelection(fall, true);

                }

            });
            return ret;
        }

        public boolean isAlwaysEnabled() {
            return false;
        }
    };
    fallViewer = new CommonViewer();
    fallCf = new ViewerConfigurer(new DefaultContentProvider(fallViewer, Fall.class) {
        @Override
        public Object[] getElements(Object inputElement) {

            if (actPatient != null) {
                if (fallCf.getControlFieldProvider().isEmpty()) {
                    return actPatient.getFaelle();
                } else {
                    IFilter filter = fallCf.getControlFieldProvider().createFilter();
                    List<String> list = actPatient.getList(Messages.getString("FallListeView.Cases"), true); //$NON-NLS-1$
                    ArrayList<Fall> arr = new ArrayList<Fall>();
                    for (String s : list) {
                        Fall f = Fall.load(s);
                        if (filter.select(f)) {
                            arr.add(f);
                        }
                    }
                    return arr.toArray();
                }
            }
            return new Object[0];
        }
    }, new LabelProvider() {
        @Override
        public Image getImage(Object element) {
            if (element instanceof Fall) {
                if (((Fall) element).isOpen()) {
                    // show red/green dot is case invalid/valid
                    if (((Fall) element).isValid()) {
                        return Images.IMG_OK.getImage();
                    } else {
                        return Images.IMG_FEHLER.getImage();
                    }
                } else {
                    return iClosed;
                }
            }
            return super.getImage(element);
        }

        @Override
        public String getText(Object element) {
            return (((Fall) element).getLabel());
        }

    }, new DefaultControlFieldProvider(fallViewer, new String[] { Messages.getString("FallListeView.Label") //$NON-NLS-1$
    }), fallButton, new SimpleWidgetProvider(SimpleWidgetProvider.TYPE_TABLE, SWT.SINGLE, fallViewer));
    fallViewer.create(fallCf, sash, SWT.NONE, getViewSite());
    fallViewer.getViewerWidget()
            .addSelectionChangedListener(GlobalEventDispatcher.getInstance().getDefaultListener());
    behandlViewer = new CommonViewer();
    ButtonProvider behandlButton = new ButtonProvider() {
        public Button createButton(Composite parent1) {
            Button ret = tk.createButton(parent1, Messages.getString("FallListeView.NewKons"), SWT.PUSH); //$NON-NLS-1$
            ret.addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    Konsultation b = actFall.neueKonsultation();
                    if (b != null) {
                        b.setMandant(Hub.actMandant);
                        behandlCf.getControlFieldProvider().clearValues();
                        behandlViewer.getViewerWidget().refresh();
                        // behandlViewer.setSelection(b);
                        setFall(actFall, b);
                    }

                }

            });
            return ret;
        }

        public boolean isAlwaysEnabled() {
            return true;
        }

    };
    behandlCf = new ViewerConfigurer(new CommonContentProviderAdapter() {
        @Override
        public Object[] getElements(Object inputElement) {
            if (actFall != null) {
                Konsultation[] alle = actFall.getBehandlungen(true);
                /*
                 * if(behandlungsFilter!=null){ ArrayList<Konsultation> al=new
                 * ArrayList<Konsultation>(alle.length); for(int i=0;i<alle.length;i++){
                 * if(behandlungsFilter.select(alle[i])==true){ al.add(alle[i]); } } return
                 * al.toArray(); }
                 */
                return actFall.getBehandlungen(true);
            }
            return new Object[0];
        }
    }, new DefaultLabelProvider(), new DefaultControlFieldProvider(behandlViewer,
            new String[] { Messages.getString("FallListeView.Date") //$NON-NLS-1$
            }), behandlButton,
            new SimpleWidgetProvider(SimpleWidgetProvider.TYPE_LIST, SWT.SINGLE | SWT.V_SCROLL, behandlViewer));
    Composite cf = new Composite(sash, SWT.BORDER);
    cf.setLayout(new GridLayout());
    behandlViewer.create(behandlCf, cf, SWT.NONE, getViewSite());
    behandlViewer.getViewerWidget()
            .addSelectionChangedListener(GlobalEventDispatcher.getInstance().getDefaultListener());
    tk.adapt(sash, false, false);
    GlobalEventDispatcher.addActivationListener(this, this);
    sash.setWeights(new int[] { 50, 50 });
    // behandlungsFilter=null;
    createMenuAndToolbar();
    createContextMenu();
    ((DefaultContentProvider) fallCf.getContentProvider()).startListening();

    fallViewer.addDoubleClickListener(new DoubleClickListener() {
        @Override
        public void doubleClicked(PersistentObject obj, CommonViewer cv) {
            try {
                FallDetailView pdv = (FallDetailView) getSite().getPage().showView(FallDetailView.ID);
            } catch (PartInitException e) {
                ExHandler.handle(e);
            }
        }
    });
    behandlViewer.addDoubleClickListener(new DoubleClickListener() {
        @Override
        public void doubleClicked(PersistentObject obj, CommonViewer cv) {
            try {
                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
                        .showView(KonsDetailView.ID);
            } catch (PartInitException e) {
                ExHandler.handle(e);
            }
        }
    });
}

From source file:ch.elexis.views.rechnung.KonsZumVerrechnenView.java

License:Open Source License

@Override
public void createPartControl(final Composite parent) {
    vc = new ViewerConfigurer(new BasicTreeContentProvider(), new ViewerConfigurer.TreeLabelProvider() {
        // extend the TreeLabelProvider by getImage()

        @SuppressWarnings("unchecked")
        @Override//from  w ww  .j av  a  2  s. co  m
        public Image getImage(final Object element) {
            if (element instanceof Tree) {
                Tree tree = (Tree) element;
                PersistentObject po = (PersistentObject) tree.contents;
                if (po instanceof Fall) {
                    if (po.isValid()) {
                        return Images.IMG_OK.getImage();
                    } else {
                        return Images.IMG_FEHLER.getImage();
                    }
                }
            }
            return null;
        }
    }, null, // new DefaultControlFieldProvider(cv, new
            // String[]{"Datum","Name","Vorname","Geb. Dat"}),
            new ViewerConfigurer.DefaultButtonProvider(),
            new SimpleWidgetProvider(SimpleWidgetProvider.TYPE_TREE, SWT.MULTI | SWT.V_SCROLL, cv));
    SashForm sash = new SashForm(parent, SWT.NULL);
    left = tk.createForm(sash);
    Composite cLeft = left.getBody();
    left.setText(Messages.getString("KonsZumVerrechnenView.allOpenCons")); //$NON-NLS-1$
    cLeft.setLayout(new GridLayout());
    cv.create(vc, cLeft, SWT.NONE, tAll);
    cv.getViewerWidget().setComparator(new KonsZumVerrechnenViewViewerComparator());

    cv.addDoubleClickListener(new DoubleClickListener() {
        @Override
        public void doubleClicked(PersistentObject obj, CommonViewer cv) {
            if (obj instanceof Patient) {
                try {
                    ElexisEventDispatcher.fireSelectionEvent((Patient) obj);
                    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
                            .showView(PatientDetailView2.ID);
                } catch (PartInitException e) {
                    e.printStackTrace();
                }
            } else if (obj instanceof Fall) {
                try {
                    ElexisEventDispatcher.fireSelectionEvent((Fall) obj);
                    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
                            .showView(FallDetailView.ID);
                } catch (PartInitException e) {
                    e.printStackTrace();
                }
            } else if (obj instanceof Konsultation) {
                try {
                    ElexisEventDispatcher.fireSelectionEvent((Konsultation) obj);
                    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
                            .showView(KonsDetailView.ID);
                } catch (PartInitException e) {
                    e.printStackTrace();
                }
            }
        }
    });

    right = tk.createForm(sash);
    Composite cRight = right.getBody();
    right.setText(Messages.getString("KonsZumVerrechnenView.selected")); //$NON-NLS-1$
    cRight.setLayout(new GridLayout());
    tvSel = new TreeViewer(cRight, SWT.V_SCROLL | SWT.MULTI);
    // tvSel.getControl().setLayoutData(SWTHelper.getFillGridData(1,true,t,true));
    tvSel.getControl().setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    tvSel.setContentProvider(new BasicTreeContentProvider());
    tvSel.setLabelProvider(new LabelProvider() {
        @SuppressWarnings("unchecked")
        @Override
        public String getText(final Object element) {
            return ((PersistentObject) ((Tree) element).contents).getLabel();
        }

    });
    tvSel.setComparator(new KonsZumVerrechnenViewViewerComparator());
    tvSel.addDropSupport(DND.DROP_MOVE | DND.DROP_COPY, new Transfer[] { TextTransfer.getInstance() },
            new DropTargetAdapter() {

                @Override
                public void dragEnter(final DropTargetEvent event) {
                    event.detail = DND.DROP_COPY;
                }

                @Override
                public void drop(final DropTargetEvent event) {
                    String drp = (String) event.data;
                    String[] dl = drp.split(","); //$NON-NLS-1$
                    for (String obj : dl) {
                        PersistentObject dropped = Hub.poFactory.createFromString(obj);
                        if (dropped instanceof Patient) {
                            selectPatient((Patient) dropped, tAll, tSelection);
                        } else if (dropped instanceof Fall) {
                            selectFall((Fall) dropped, tAll, tSelection);
                        } else if (dropped instanceof Konsultation) {
                            selectBehandlung((Konsultation) dropped, tAll, tSelection);
                        }

                    }
                    tvSel.refresh(true);

                }

            });
    tvSel.addSelectionChangedListener(GlobalEventDispatcher.getInstance().getDefaultListener());
    tvSel.setInput(tSelection);
    // GlobalEvents.getInstance().addActivationListener(this,this);
    sash.setWeights(new int[] { 60, 40 });
    makeActions();
    MenuManager selMenu = new MenuManager();
    selMenu.setRemoveAllWhenShown(true);
    selMenu.addMenuListener(new IMenuListener() {

        public void menuAboutToShow(final IMenuManager manager) {
            manager.add(removeAction);
            manager.add(expandSelAction);
            manager.add(expandSelAllAction);

        }

    });
    tvSel.getControl().setMenu(selMenu.createContextMenu(tvSel.getControl()));

    tvSel.getControl().addListener(SWT.MouseDoubleClick, new Listener() {
        @Override
        public void handleEvent(Event event) {
            org.eclipse.swt.widgets.Tree theWidget = (org.eclipse.swt.widgets.Tree) (event.widget);
            TreeItem obj = theWidget.getSelection()[0];
            TreeItem parent = obj.getParentItem();
            String viewID = "";
            if (parent == null) {
                // no parent at all -> must be patient
                viewID = PatientDetailView2.ID;
            } else {
                // may be case or cons
                TreeItem grandpa = parent.getParentItem();
                if (grandpa == null) {
                    // must be case
                    viewID = FallDetailView.ID;
                } else {
                    // must be cons
                    viewID = KonsDetailView.ID;
                }
            }
            try {
                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(viewID);
            } catch (PartInitException e) {
                e.printStackTrace();
            }
        }
    });

    menu = new ViewMenus(getViewSite());
    menu.createToolbar(refreshAction, wizardAction, printAction, clearAction, null, billAction);
    menu.createMenu(wizardAction, selectByDateAction);
    menu.createViewerContextMenu(cv.getViewerWidget(), detailAction);
}

From source file:ch.elexis.views.rechnung.RechnungsBlatt.java

License:Open Source License

public RechnungsBlatt(Composite parent, IViewSite site) {
    super(parent, SWT.NONE);
    this.site = site;
    setLayout(new GridLayout());
    form = tk.createScrolledForm(this);
    form.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    // TableWrapLayout twl=new TableWrapLayout();
    Composite body = form.getBody();
    body.setLayout(new GridLayout());
    // body.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    rnform = new LabeledInputField.AutoForm(body, rndata, 2, 3);
    // rnform.setEnabled(false);
    for (InputData li : rndata) {
        li.setEditable(false);/*from  w w  w.j a  v a2 s  .co m*/
    }
    rnform.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    rnAdressat = new Label(body, SWT.NONE);
    rnAdressat.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));

    IExpansionListener ecExpansionListener = new ExpansionAdapter() {
        @Override
        public void expansionStateChanging(final ExpansionEvent e) {
            ExpandableComposite src = (ExpandableComposite) e.getSource();
            saveExpandedState(KEY_RECHNUNGSBLATT + src.getText(), e.getState());
        }

    };

    ecBuchungen = WidgetFactory.createExpandableComposite(tk, form,
            Messages.getString("RechnungsBlatt.bookings")); //$NON-NLS-1$
    ecBuchungen.addExpansionListener(ecExpansionListener);
    // tk.createLabel(body, "Buchungen");
    buchungen = new ListViewer(ecBuchungen, SWT.V_SCROLL | SWT.BORDER);
    // TableWrapData twd=new TableWrapData(TableWrapData.FILL_GRAB);
    SWTHelper.setGridDataHeight(buchungen.getControl(), 4, true);
    buchungen.setContentProvider(new IStructuredContentProvider() {
        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

        public Object[] getElements(Object inputElement) {
            Rechnung actRn = (Rechnung) ElexisEventDispatcher.getInstance().getSelected(Rechnung.class);
            if (actRn == null) {
                return new String[] { Messages.getString("RechnungsBlatt.noBillSelected") //$NON-NLS-1$
                };
            }
            List<Zahlung> lz = actRn.getZahlungen();
            return lz.toArray();
        }

    });
    tk.adapt(buchungen.getControl(), true, true);
    ecBuchungen.setClient(buchungen.getControl());
    buchungen.setLabelProvider(new DefaultLabelProvider() {
        public String getColumnText(Object element, int columnIndex) {
            return getText(element);
        }

        @Override
        public String getText(Object element) {
            if (element instanceof Zahlung) {
                Zahlung zahlung = (Zahlung) element;

                StringBuilder sb = new StringBuilder();
                sb.append(zahlung.getLabel());
                String bemerkung = zahlung.getBemerkung();
                if (!StringTool.isNothing(bemerkung)) {
                    sb.append(" ("); //$NON-NLS-1$
                    sb.append(bemerkung);
                    sb.append(")"); //$NON-NLS-1$
                }
                return sb.toString();
            } else {
                return element.toString();
            }
        }
    });
    // new Label(body,SWT.SEPARATOR|SWT.HORIZONTAL);
    ecBemerkungen = WidgetFactory.createExpandableComposite(tk, form,
            Messages.getString("RechnungsBlatt.remarks")); //$NON-NLS-1$
    ecBemerkungen.addExpansionListener(ecExpansionListener);
    tBemerkungen = SWTHelper.createText(tk, ecBemerkungen, 5, SWT.BORDER);
    tBemerkungen.addFocusListener(new FocusAdapter() {
        @Override
        public void focusLost(FocusEvent e) {
            actRn.setBemerkung(tBemerkungen.getText());
        }

    });
    ecBemerkungen.setClient(tBemerkungen);
    // tk.createLabel(body, "Statusnderungen");
    ecStatus = WidgetFactory.createExpandableComposite(tk, form,
            Messages.getString("RechnungsBlatt.sateChangements")); //$NON-NLS-1$
    ecStatus.addExpansionListener(ecExpansionListener);
    lbJournal = new org.eclipse.swt.widgets.List(ecStatus, SWT.V_SCROLL | SWT.BORDER);
    SWTHelper.setGridDataHeight(lbJournal, 4, true);
    tk.adapt(lbJournal, true, true);
    ecStatus.setClient(lbJournal);

    ecFehler = WidgetFactory.createExpandableComposite(tk, form,
            Messages.getString("RechnungsBlatt.errorMessages")); //$NON-NLS-1$
    ecFehler.addExpansionListener(ecExpansionListener);
    tRejects = SWTHelper.createText(tk, ecFehler, 4, SWT.READ_ONLY | SWT.V_SCROLL);
    ecFehler.setClient(tRejects);
    ecAusgaben = WidgetFactory.createExpandableComposite(tk, form,
            Messages.getString("RechnungsBlatt.outputs")); //$NON-NLS-1$
    ecAusgaben.addExpansionListener(ecExpansionListener);
    lbOutputs = new org.eclipse.swt.widgets.List(ecAusgaben, SWT.V_SCROLL | SWT.BORDER);
    ecAusgaben.setClient(lbOutputs);
    SWTHelper.setGridDataHeight(lbOutputs, 4, true);
    tk.adapt(lbOutputs, true, true);

    ecKons = WidgetFactory.createExpandableComposite(tk, form,
            Messages.getString("RechnungsBlatt.consultations")); //$NON-NLS-1$
    ecKons.addExpansionListener(ecExpansionListener);
    konsultationenViewer = new ListViewer(ecKons, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
    ecKons.setClient(konsultationenViewer.getList());

    konsultationenViewer.setContentProvider(new IStructuredContentProvider() {
        public Object[] getElements(Object inputElement) {
            List<Object> elements = new ArrayList<Object>();
            if (actRn != null) {
                List<Konsultation> konsultationen = actRn.getKonsultationen();
                if (konsultationen != null) {
                    for (Konsultation konsultation : konsultationen) {
                        elements.add(konsultation);

                        List<IDiagnose> diagnosen = konsultation.getDiagnosen();
                        if (diagnosen != null) {
                            for (IDiagnose diagnose : diagnosen) {
                                elements.add(diagnose);
                            }
                        }

                        List<Verrechnet> leistungen = konsultation.getLeistungen();
                        if (leistungen != null) {
                            for (Verrechnet verrechnet : leistungen) {
                                elements.add(verrechnet);
                            }
                        }
                    }
                }
            }

            return elements.toArray();
        }

        public void dispose() {
            // nothing to do
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // nothing to do
        }
    });
    konsultationenViewer.setLabelProvider(new LabelProvider() {
        public String getText(Object element) {
            if (element instanceof Konsultation) {
                Konsultation konsultation = (Konsultation) element;

                Money sum = new Money(0);
                List<Verrechnet> leistungen = konsultation.getLeistungen();
                if (leistungen != null) {
                    for (Verrechnet verrechnet : leistungen) {
                        int zahl = verrechnet.getZahl();
                        Money preis = verrechnet.getNettoPreis();
                        preis.multiply(zahl);
                        sum.addMoney(preis);
                    }
                }
                return konsultation.getLabel() + " (" + sum.toString() + ")"; //$NON-NLS-1$ //$NON-NLS-2$
            } else if (element instanceof IDiagnose) {
                IDiagnose diagnose = (IDiagnose) element;
                return "  - " + diagnose.getLabel(); //$NON-NLS-1$
            } else if (element instanceof Verrechnet) {
                Verrechnet verrechnet = (Verrechnet) element;
                int zahl = verrechnet.getZahl();
                Money preis = verrechnet.getNettoPreis();
                preis.multiply(zahl);
                return "  - " + zahl + " " + verrechnet.getLabel() + " (" + preis.toString() //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
                        + ")"; //$NON-NLS-1$
            } else {
                return element.toString();
            }
        }
    });
    konsultationenViewer.setInput(this);
    // form.getToolBarManager().add()
    buchungen.setInput(site);
    GlobalEventDispatcher.addActivationListener(this, site.getPart());
}

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

License:Open Source License

@Override
public void createPartControl(final Composite parent) {
    Image icon = Desk.getImage(ICON);
    if (icon != null) {
        setTitleImage(icon);/* ww  w.ja  v  a 2s  . co m*/
    }
    parent.setLayout(new GridLayout());
    master = tk.createForm(parent);
    master.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    master.getBody().setLayout(new FillLayout());
    SashForm sash = new SashForm(master.getBody(), SWT.NONE);
    tv = new TableViewer(sash, SWT.V_SCROLL | SWT.FULL_SELECTION);
    tv.setContentProvider(new IStructuredContentProvider() {

        public Object[] getElements(final Object inputElement) {
            Query<Rezept> qbe = new Query<Rezept>(Rezept.class);
            /*
             * Patient act = (Patient) ElexisEventDispatcher .getSelected(Patient.class);
             */
            if (actPatient != null) {
                qbe.add(Rezept.PATIENT_ID, Query.EQUALS, actPatient.getId());
                qbe.orderBy(true, new String[] { Rezept.DATE, PersistentObject.FLD_LASTUPDATE });
                List<Rezept> list = qbe.execute();
                return list.toArray();
            } else {
                return new Object[0];
            }
        }

        public void dispose() { /* leer */
        }

        public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) { /* leer */
        }

    });
    tv.setLabelProvider(new LabelProvider() {

        @Override
        public String getText(final Object element) {
            if (element instanceof Rezept) {
                Rezept rp = (Rezept) element;
                return rp.getLabel();
            }
            return element.toString();
        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object )
         */
        @Override
        public Image getImage(Object element) {
            List<OutputLog> outputs = OutputLog.getOutputs((PersistentObject) element);
            if (outputs != null && outputs.size() > 0) {
                OutputLog o = outputs.get(0);
                String outputterID = o.getOutputterID();
                IOutputter io = OutputLog.getOutputter(outputterID);
                if (io != null) {
                    return io.getSymbol();
                }
            }
            return null;
        }

    });
    tv.addSelectionChangedListener(GlobalEventDispatcher.getInstance().getDefaultListener());
    lvRpLines = new ListViewer(sash);
    makeActions();
    menus = new ViewMenus(getViewSite());
    // menus.createToolbar(newRpAction, addLineAction, printAction );
    menus.createMenu(newRpAction, addLineAction, printAction, deleteRpAction);
    menus.createViewerContextMenu(lvRpLines, removeLineAction, changeMedicationAction);
    // make selection of prescription viewer available for commands of context menu
    getSite().setSelectionProvider(lvRpLines);
    IToolBarManager tm = getViewSite().getActionBars().getToolBarManager();
    List<IAction> importers = Extensions.getClasses(Extensions.getExtensions("ch.elexis.RezeptHook"), //$NON-NLS-1$
            "RpToolbarAction", false); //$NON-NLS-1$
    for (IAction ac : importers) {
        tm.add(ac);
    }
    if (importers.size() > 0) {
        tm.add(new Separator());
    }
    tm.add(newRpAction);
    tm.add(addLineAction);
    tm.add(printAction);
    tv.setInput(getViewSite());

    /* Implementation Drag&Drop */
    PersistentObjectDropTarget.IReceiver dtr = new PersistentObjectDropTarget.IReceiver() {

        public boolean accept(PersistentObject o) {
            // TODO Auto-generated method stub
            return true;
        }

        public void dropped(PersistentObject o, DropTargetEvent ev) {
            Rezept actR = (Rezept) ElexisEventDispatcher.getSelected(Rezept.class);
            if (actR == null) {
                SWTHelper.showError(Messages.getString("RezepteView.NoPrescriptionSelected"), //$NON-NLS-1$
                        Messages.getString("RezepteView.PleaseChoosaAPrescription")); //$NON-NLS-1$
                return;
            }
            if (o instanceof Artikel) {
                Artikel art = (Artikel) o;

                Prescription p = new Prescription(art, actR.getPatient(), StringConstants.EMPTY,
                        StringConstants.EMPTY);
                p.setBeginDate(null);
                actR.addPrescription(p);
                refresh();
            } else if (o instanceof Prescription) {
                Prescription pre = (Prescription) o;
                Prescription now = new Prescription(pre.getArtikel(), actR.getPatient(), pre.getDosis(),
                        pre.getBemerkung());
                now.setBeginDate(null);
                actR.addPrescription(now);
                refresh();
            }

        }
    };

    // final TextTransfer textTransfer = TextTransfer.getInstance();
    // Transfer[] types = new Transfer[] {textTransfer};
    dropTarget = new PersistentObjectDropTarget("Rezept", lvRpLines.getControl(), dtr); //$NON-NLS-1$

    lvRpLines.setContentProvider(new RezeptContentProvider());
    lvRpLines.setLabelProvider(new RezeptLabelProvider());
    lvRpLines.getControl().setToolTipText(Messages.getString("RezepteView.DragMedicamentsHere")); //$NON-NLS-1$
    /* lvRpLines.addDragSupport(DND.DROP_COPY,types, */
    new PersistentObjectDragSource(lvRpLines);
    lvRpLines.setInput(getViewSite());
    addLineAction.setEnabled(false);
    printAction.setEnabled(false);
    GlobalEventDispatcher.addActivationListener(this, this);
    tv.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            try {
                RezeptBlatt rp = (RezeptBlatt) getViewSite().getPage().showView(RezeptBlatt.ID);
                Rezept actR = (Rezept) ElexisEventDispatcher.getSelected(Rezept.class);
                Brief rpBrief = actR.getBrief();
                if (rpBrief != null) {
                    // existing - just reads prescriptiom and opens RezeptBlatt
                    rp.loadRezeptFromDatabase(actR, rpBrief);
                } else {
                    // not existing - create prescription and opens RezeptBlatt
                    rp.createRezept(actR);
                }
            } catch (Throwable ex) {
                ExHandler.handle(ex);
            }
        }

    });
}

From source file:ch.elexis.views.ScriptView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    form = Desk.getToolkit().createScrolledForm(parent);
    form.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    form.getBody().setLayout(new FillLayout());
    tv = new TableViewer(form.getBody(), SWT.SINGLE | SWT.FULL_SELECTION);
    tv.setContentProvider(new IStructuredContentProvider() {

        public Object[] getElements(Object inputElement) {
            SortedList<Script> sortedScripts = new SortedList<Script>(new ScriptComparator());
            List<Script> scripts = Script.getScripts();
            for (int i = 0; i < scripts.size(); i++) {
                Script script = scripts.get(i);
                sortedScripts.add(script);
            }/*from  w ww  .j a  va  2 s.co m*/
            return sortedScripts.toArray();
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });
    tv.setLabelProvider(new LabelProvider() {

        @Override
        public String getText(Object element) {
            if (element instanceof Script) {
                return ((Script) element).getLabel();
            } else {
                return element.toString();
            }
        }

    });
    new PersistentObjectDragSource(tv);
    makeActions();
    ViewMenus menu = new ViewMenus(getViewSite());
    menu.createToolbar(newScriptAction);
    menu.createViewerContextMenu(tv, editScriptAction, execScriptAction, null, exportScriptAction,
            removeScriptAction);
    menu.createMenu(importScriptAction, newScriptAction);
    tv.setInput(this);
}

From source file:ch.elexis.views.SearchView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    parent.setLayout(new FillLayout());

    Composite main = new Composite(parent, SWT.NONE);
    main.setLayout(new GridLayout(1, false));

    tabFolder = new TabFolder(main, SWT.NONE);
    tabFolder.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    mainTabItem = new TabItem(tabFolder, SWT.NONE);
    mainTabItem.setText(Messages.getString("SearchView.general")); //$NON-NLS-1$
    Composite mainSearchArea = new Composite(tabFolder, SWT.NONE);
    mainTabItem.setControl(mainSearchArea);

    mainSearchArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    mainSearchArea.setLayout(new GridLayout(1, false));

    // text input box
    Composite mainInputArea = new Composite(mainSearchArea, SWT.NONE);
    mainInputArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    mainInputArea.setLayout(new GridLayout(2, false));

    Label searchTextLabel = new Label(mainInputArea, SWT.NONE);
    searchTextLabel.setLayoutData(SWTHelper.getFillGridData(2, true, 1, false));
    searchTextLabel.setText(Messages.getString("SearchView.textToSearch")); //$NON-NLS-1$

    mainSearchText = new Text(mainInputArea, SWT.BORDER);
    mainSearchText.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));

    mainCaseCheckbox = new Button(mainInputArea, SWT.CHECK);
    mainCaseCheckbox.setText(Messages.getString("SearchView.honorCase")); //$NON-NLS-1$

    // search options
    Composite mainOptionsArea = new Composite(mainSearchArea, SWT.NONE);
    mainOptionsArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    mainOptionsArea.setLayout(new GridLayout(2, true));

    Group typeGroup = new Group(mainOptionsArea, SWT.SHADOW_OUT);
    typeGroup.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    typeGroup.setLayout(new RowLayout());
    typeGroup.setText(Messages.getString("SearchView.dosearch")); //$NON-NLS-1$

    consultationRadio = new Button(typeGroup, SWT.RADIO);
    consultationRadio.setText(Messages.getString("SearchView.consultations")); //$NON-NLS-1$
    consultationRadio.setSelection(true);

    Group optionsGroup = new Group(mainOptionsArea, SWT.SHADOW_OUT);
    optionsGroup.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    optionsGroup.setLayout(new RowLayout());
    optionsGroup.setText(Messages.getString("SearchView.limitTo")); //$NON-NLS-1$

    consultationTextRadio = new Button(optionsGroup, SWT.RADIO);
    consultationTextRadio.setText(Messages.getString("SearchView.entry")); //$NON-NLS-1$
    consultationTextRadio.setSelection(true);

    Button searchButton = new Button(mainSearchArea, SWT.PUSH);
    searchButton.setText(Messages.getString("SearchView.searchButtonCaption")); //$NON-NLS-1$
    GridData gd = SWTHelper.getFillGridData(1, true, 1, false);
    gd.horizontalAlignment = GridData.END;
    searchButton.setLayoutData(gd);/* w  w  w . j  a  v a2s.com*/

    searchButton.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            viewer.refresh();
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            widgetSelected(e);
        }
    });

    viewer = new TableViewer(main);
    Table table = viewer.getTable();
    table.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));

    viewer.setContentProvider(new IStructuredContentProvider() {
        public void dispose() {
            // nothing to do
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // nothing to do
        }

        public Object[] getElements(Object inputElement) {
            return mainSearch();
        }
    });

    // simple default label provider
    viewer.setLabelProvider(new LabelProvider() {
        public String getText(Object element) {
            if (element instanceof PersistentObject) {
                PersistentObject po = (PersistentObject) element;
                String type = "?"; //$NON-NLS-1$
                String label = ""; //$NON-NLS-1$
                if (po instanceof Konsultation) {
                    type = Messages.getString("SearchView.consultation"); //$NON-NLS-1$

                    Konsultation konsultation = (Konsultation) po;
                    Fall fall = konsultation.getFall();
                    Patient pat = fall.getPatient();
                    label = pat.getLabel() + " - " + fall.getLabel() + " - " //$NON-NLS-1$ //$NON-NLS-2$
                            + konsultation.getLabel();
                } else {
                    label = po.getLabel();
                }

                return type + " - " + label; //$NON-NLS-1$
            } else {
                return super.getText(element);
            }
        }
    });

    viewer.setInput(this.getSite());
}

From source file:ch.elexis.views.TarmedDetailDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    TarmedLeistung tl = (TarmedLeistung) verrechnet.getVerrechenbar();
    Composite ret = (Composite) super.createDialogArea(parent);
    ret.setLayout(new GridLayout(8, false));

    Label lTitle = new Label(ret, SWT.WRAP);
    lTitle.setText(tl.getText());/*  w  w w  .j a  v a 2  s. c  o m*/
    lTitle.setLayoutData(SWTHelper.getFillGridData(8, true, 1, true));
    double primaryScale = verrechnet.getPrimaryScaleFactor();
    double secondaryScale = verrechnet.getSecondaryScaleFactor();
    double tpAL = TarmedLeistung.getAL(verrechnet) / 100.0;
    double tpTL = TarmedLeistung.getTL(verrechnet) / 100.0;
    double tpw = verrechnet.getTPW();
    Money mAL = new Money(tpAL * tpw * primaryScale * secondaryScale);
    Money mTL = new Money(tpTL * tpw * primaryScale * secondaryScale);
    double tpAll = Math.round((tpAL + tpTL) * 100.0) / 100.0;
    Money mAll = new Money(tpAll * tpw * primaryScale * secondaryScale);

    new Label(ret, SWT.NONE).setText("TP AL");
    new Label(ret, SWT.NONE).setText(Double.toString(tpAL));
    new Label(ret, SWT.NONE).setText(" x ");
    new Label(ret, SWT.NONE).setText("TP-Wert");
    new Label(ret, SWT.NONE).setText(Double.toString(tpw));
    new Label(ret, SWT.NONE).setText(" = ");
    new Label(ret, SWT.NONE).setText("CHF AL");
    new Label(ret, SWT.NONE).setText(mAL.getAmountAsString());

    new Label(ret, SWT.NONE).setText("TP TL");
    new Label(ret, SWT.NONE).setText(Double.toString(tpTL));
    new Label(ret, SWT.NONE).setText(" x ");
    new Label(ret, SWT.NONE).setText("TP-Wert");
    new Label(ret, SWT.NONE).setText(Double.toString(tpw));
    new Label(ret, SWT.NONE).setText(" = ");
    new Label(ret, SWT.NONE).setText("CHF TL");
    new Label(ret, SWT.NONE).setText(mTL.getAmountAsString());

    Label sep = new Label(ret, SWT.SEPARATOR | SWT.HORIZONTAL);
    sep.setLayoutData(SWTHelper.getFillGridData(8, true, 1, false));

    new Label(ret, SWT.NONE).setText("TP ");
    new Label(ret, SWT.NONE).setText(Double.toString(tpAll));
    new Label(ret, SWT.NONE).setText(" x ");
    new Label(ret, SWT.NONE).setText("TP-Wert");
    new Label(ret, SWT.NONE).setText(Double.toString(tpw));
    new Label(ret, SWT.NONE).setText(" = ");
    new Label(ret, SWT.NONE).setText("CHF ");
    new Label(ret, SWT.NONE).setText(mAll.getAmountAsString());

    Label sep2 = new Label(ret, SWT.SEPARATOR | SWT.HORIZONTAL);
    sep2.setLayoutData(SWTHelper.getFillGridData(8, true, 1, false));

    String mins = Integer.toString(tl.getMinutes());
    new Label(ret, SWT.NONE).setText("Zeit:");
    new Label(ret, SWT.NONE).setText(mins + " min.");

    new Label(ret, SWT.NONE).setText("Seite");
    cSide = new Combo(ret, SWT.SINGLE);
    cSide.setItems(new String[] { "egal", "links", "rechts" });

    new Label(ret, SWT.NONE).setText("Pflichtleist.");
    bPflicht = new Button(ret, SWT.CHECK);
    String sPflicht = verrechnet.getDetail(TarmedLeistung.PFLICHTLEISTUNG);
    if ((sPflicht == null) || (Boolean.parseBoolean(sPflicht))) {
        bPflicht.setSelection(true);
    }
    String side = verrechnet.getDetail(TarmedLeistung.SIDE);
    if (side == null) {
        cSide.select(0);
    } else if (side.equalsIgnoreCase("l")) {
        cSide.select(1);
    } else {
        cSide.select(2);
    }
    if (tl.getServiceTyp().equals("Z") || tl.getServiceTyp().equals("R") || tl.getServiceTyp().equals("B")) {
        new Label(ret, SWT.NONE);
        new Label(ret, SWT.NONE);
        new Label(ret, SWT.NONE).setText("Bezug");

        cBezug = new ComboViewer(ret, SWT.BORDER);
        cBezug.setContentProvider(ArrayContentProvider.getInstance());
        cBezug.setLabelProvider(new LabelProvider());
        List<BezugComboItem> input = new ArrayList<>();
        input.add(BezugComboItem.noBezug());
        for (Verrechnet kVerr : verrechnet.getKons().getLeistungen()) {
            if (!kVerr.getCode().equals(tl.getCode())) {
                input.add(BezugComboItem.of(kVerr.getCode()));
            }
        }
        cBezug.setInput(input);
        String bezug = verrechnet.getDetail("Bezug");
        if (bezug != null) {
            cBezug.setSelection(new StructuredSelection(BezugComboItem.of(bezug)), true);
        } else {
            cBezug.setSelection(new StructuredSelection(BezugComboItem.noBezug()), true);
        }
        cBezug.addSelectionChangedListener(new ISelectionChangedListener() {
            @Override
            public void selectionChanged(SelectionChangedEvent event) {
                StructuredSelection selection = (StructuredSelection) cBezug.getSelection();
                if (selection != null && !selection.isEmpty()) {
                    BezugComboItem selected = (BezugComboItem) selection.getFirstElement();
                    if (selected.isNoBezug) {
                        verrechnet.setDetail("Bezug", "");
                    } else {
                        verrechnet.setDetail("Bezug", selected.getCode());
                    }
                }
            }
        });
    }
    ret.pack();
    return ret;
}

From source file:ch.hsr.ifs.cutelauncher.CuteLaunchShortcut.java

License:Open Source License

/**
 * Method chooseDebugConfig./*from  ww  w .jav  a  2s  .  co m*/
 * @param debugConfigs
 * @param mode
 * @return ICDebugConfiguration
 */
private ICDebugConfiguration chooseDebugConfig(ICDebugConfiguration[] debugConfigs, String mode) {
    ILabelProvider provider = new LabelProvider() {
        /**
         * The <code>LabelProvider</code> implementation of this
         * <code>ILabelProvider</code> method returns the element's <code>toString</code>
         * string. Subclasses may override.
         */
        @Override
        public String getText(Object element) {
            if (element == null) {
                return ""; //$NON-NLS-1$
            } else if (element instanceof ICDebugConfiguration) {
                return ((ICDebugConfiguration) element).getName();
            }
            return element.toString();
        }
    };
    ElementListSelectionDialog dialog = new ElementListSelectionDialog(getShell(), provider);
    dialog.setElements(debugConfigs);
    dialog.setTitle(getDebugConfigDialogTitleString(debugConfigs, mode));
    dialog.setMessage(getDebugConfigDialogMessageString(debugConfigs, mode));
    dialog.setMultipleSelection(false);
    int result = dialog.open();
    provider.dispose();
    if (result == Window.OK) {
        return (ICDebugConfiguration) dialog.getFirstResult();
    }
    return null;
}

From source file:ch.opentrainingcenter.client.views.dialoge.SearchDialog.java

License:Open Source License

@Override
protected Control createDialogArea(final Composite parent) {
    setTitle(Messages.SearchDialog_SEARCH);

    setMessage(Messages.SearchDialog_SEARCH_DESCRIPTION);
    setTitleImage(Activator.getImageDescriptor(IImageKeys.SEARCH_WIZ).createImage());
    final Label separator = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.TOP).grab(true, false).applyTo(separator);

    final Composite search = new Composite(parent, SWT.NONE);

    GridLayoutFactory.swtDefaults().numColumns(3).applyTo(search);
    GridDataFactory.swtDefaults().align(SWT.FILL, SWT.FILL).grab(true, false).applyTo(search);

    final Label beschreibung = new Label(search, SWT.NONE);
    beschreibung.setText(Messages.SearchDialog_SEARCH_DESC_LABEL);
    GridDataFactory.swtDefaults().grab(false, false).applyTo(beschreibung);

    beschreibungSearch = new Text(search, SWT.NONE);
    GridDataFactory.swtDefaults().align(SWT.FILL, SWT.FILL).grab(true, false).span(2, 1)
            .applyTo(beschreibungSearch);
    beschreibungSearch.addKeyListener(new KeyAdapter() {
        @Override/* w  w  w  . ja  v a 2s.  c om*/
        public void keyReleased(final KeyEvent e) {
            update();
        }
    });

    final Label minDistanz = new Label(search, SWT.NONE);
    minDistanz.setText(Messages.SearchDialog_SEARCH_DIST_LABEL);
    GridDataFactory.swtDefaults().grab(false, false).applyTo(minDistanz);

    scale = new Scale(search, SWT.BORDER);
    GridDataFactory.swtDefaults().grab(true, false).align(SWT.FILL, SWT.FILL).applyTo(scale);

    scale.setMaximum(80);
    scale.setPageIncrement(5);
    scale.setSelection(0);
    scale.setIncrement(5);
    scale.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            super.widgetSelected(e);
            update();

        }
    });

    scaleLabel = new Label(search, SWT.NONE);
    scaleLabel.setText(scale.getSelection() + Messages.SearchDialog_COMMON_KM);
    GridDataFactory.swtDefaults().grab(false, false).hint(50, 20).applyTo(scaleLabel);

    // sportart
    final Composite sport = new Composite(search, SWT.NONE);
    GridLayoutFactory.swtDefaults().numColumns(3).applyTo(sport);
    GridDataFactory.swtDefaults().grab(true, true).span(3, 1).align(SWT.FILL, SWT.FILL).applyTo(sport);
    runButton = new Button(sport, SWT.CHECK);
    runButton.setText(Sport.RUNNING.getTranslated());
    runButton.setVisible(running);
    runButton.setSelection(running);
    runButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            super.widgetSelected(e);
            update();

        }
    });

    bikeButton = new Button(sport, SWT.CHECK);
    bikeButton.setText(Sport.BIKING.getTranslated());
    bikeButton.setVisible(biking);
    bikeButton.setSelection(biking);
    bikeButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            super.widgetSelected(e);
            update();

        }
    });

    otherButton = new Button(sport, SWT.CHECK);
    otherButton.setText(Sport.OTHER.getTranslated());
    otherButton.setVisible(other);
    otherButton.setSelection(biking);
    otherButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            super.widgetSelected(e);
            update();

        }
    });

    // Strecke
    final Composite strecke = new Composite(search, SWT.NONE);
    GridLayoutFactory.swtDefaults().numColumns(3).applyTo(strecke);
    final Label l = new Label(strecke, SWT.NONE);
    l.setText(Messages.STRECKE);
    GridDataFactory.swtDefaults().grab(true, true).span(3, 1).align(SWT.FILL, SWT.FILL).applyTo(strecke);

    comboStrecke = new ComboViewer(strecke);
    comboStrecke.setContentProvider(ArrayContentProvider.getInstance());
    comboStrecke.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(final Object element) {
            String label = ""; //$NON-NLS-1$
            if (element instanceof IRoute) {
                final IRoute route = (IRoute) element;
                label = route.getName();
            }
            return label;
        }
    });
    GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL)
            .applyTo(comboStrecke.getControl());

    final List<IRoute> all = cache.getAll();
    comboStrecke.setInput(all);

    comboStrecke.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            final StructuredSelection selection = (StructuredSelection) event.getSelection();
            final IRoute route = (IRoute) selection.getFirstElement();
            referenzTrainingId = route.getId();
            update();
        }
    });

    // result ---------------------------
    final Composite result = new Composite(parent, SWT.NONE);
    GridLayoutFactory.swtDefaults().applyTo(result);
    GridDataFactory.swtDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).applyTo(result);
    viewer = new TableViewer(result);
    comparator = new SearchDialogComparator();
    viewer.setComparator(comparator);

    final Table table = viewer.getTable();
    table.setHeaderVisible(true);
    table.setLinesVisible(true);

    viewer.setContentProvider(new ArrayContentProvider());
    // viewer.setLabelProvider(new TrainingLabelProvider());
    createColumns(result, viewer);

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(final SelectionChangedEvent selection) {
            updateButton();
        }

    });

    GridDataFactory.swtDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).applyTo(viewer.getControl());

    update();
    return search;
}