List of usage examples for org.eclipse.jface.viewers LabelProvider LabelProvider
public LabelProvider()
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; }