List of usage examples for org.eclipse.jface.viewers IStructuredSelection getFirstElement
public Object getFirstElement();
null
if the selection is empty. From source file:ch.elexis.views.BestellView.java
License:Open Source License
private void makeActions() { removeAction = new Action(Messages.getString("BestellView.RemoveArticle")) { //$NON-NLS-1$ @Override//w w w.j a v a2 s . c o m public void run() { IStructuredSelection sel = (IStructuredSelection) tv.getSelection(); if ((sel != null) && (!sel.isEmpty())) { if (actBestellung != null) { actBestellung.removeItem((Item) sel.getFirstElement()); } tv.refresh(); } } }; wizardAction = new Action(Messages.getString("BestellView.AutomaticOrder")) { //$NON-NLS-1$ { setToolTipText(Messages.getString("BestellView.CreateAutomaticOrder")); //$NON-NLS-1$ setImageDescriptor(Images.IMG_WIZARD.getImageDescriptor()); } @Override public void run() { if (actBestellung == null) { setBestellung(new Bestellung(Messages.getString("BestellView.Automatic"), Hub.actUser)); //$NON-NLS-1$ } /* * Query<Artikel> qbe=new Query<Artikel>(Artikel.class); * qbe.add("Minbestand","<>","0"); List<Artikel> l=qbe.execute(); */ int trigger = Hub.globalCfg.get(PreferenceConstants.INVENTORY_ORDER_TRIGGER, PreferenceConstants.INVENTORY_ORDER_TRIGGER_DEFAULT); List<Artikel> l = Artikel.getLagerartikel(); for (Artikel a : l) { if ((a == null) || (!a.exists())) { continue; } // String name = a.getLabel(); int ist = a.getIstbestand(); int min = a.getMinbestand(); int max = a.getMaxbestand(); boolean order = false; switch (trigger) { case PreferenceConstants.INVENTORY_ORDER_TRIGGER_BELOW: order = (ist < min); break; case PreferenceConstants.INVENTORY_ORDER_TRIGGER_EQUAL: order = (ist <= min); break; default: order = (ist < min); } if (order) { Boolean alreadyOrdered = a.getExt(Bestellung.ISORDERED).equalsIgnoreCase("true"); int toOrder = max - ist; if (toOrder > 0 && !alreadyOrdered) { actBestellung.addItem(a, toOrder); } } } tv.refresh(true); } }; countAction = new Action(Messages.getString("BestellView.ChangeNumber")) { //$NON-NLS-1$ @Override public void run() { IStructuredSelection sel = (IStructuredSelection) tv.getSelection(); if ((sel != null) && (!sel.isEmpty())) { Item it = (Item) sel.getFirstElement(); int old = it.num; InputDialog in = new InputDialog(getViewSite().getShell(), Messages.getString("BestellView.ChangeNumber"), //$NON-NLS-1$ Messages.getString("BestellView.EnterNewNumber"), //$NON-NLS-1$ Integer.toString(old), null); if (in.open() == Dialog.OK) { it.num = Integer.parseInt(in.getValue()); tv.refresh(it, true); } } } }; saveAction = new Action(Messages.getString("BestellView.SavelIst")) { //$NON-NLS-1$ @Override public void run() { if (actBestellung != null) { actBestellung.save(); } } }; newAction = new Action(Messages.getString("BestellView.CreateNewOrder")) { //$NON-NLS-1$ @Override public void run() { if (actBestellung != null) { actBestellung.save(); } InputDialog dlg = new InputDialog(getViewSite().getShell(), Messages.getString("BestellView.CreateNewOrder"), //$NON-NLS-1$ Messages.getString("BestellView.EnterOrderTitle"), //$NON-NLS-1$ Messages.getString("BestellView.Automatic"), null); //$NON-NLS-1$ if (dlg.open() == Dialog.OK) { setBestellung(new Bestellung(dlg.getValue(), Hub.actUser)); } else { return; } tv.refresh(); } }; printAction = new Action(Messages.getString("BestellView.PrintOrder")) { //$NON-NLS-1$ @Override public void run() { if (actBestellung != null) { actBestellung.save(); // make backup of list Item[] bkpList = actBestellung.asList().toArray(new Item[0]); List<Item> list = actBestellung.asList(); ArrayList<Item> best = new ArrayList<Item>(); Kontakt adressat = null; Iterator<Item> iter = list.iterator(); while (iter.hasNext()) { Item it = (Item) iter.next(); if (adressat == null) { adressat = it.art.getLieferant(); if (!adressat.exists()) { adressat = null; continue; } } if (it.art.getLieferant().getId().equals(adressat.getId())) { best.add(it); iter.remove(); } } try { BestellBlatt bb = (BestellBlatt) getViewSite().getPage().showView(BestellBlatt.ID); bb.createOrder(adressat, best); tv.refresh(); // mark ordered articles Bestellung.markAsOrdered(bkpList); } catch (PartInitException e) { ExHandler.handle(e); } } } }; sendAction = new Action(Messages.getString("BestellView.SendOrder")) { //$NON-NLS-1$ @Override public void run() { if (actBestellung == null) return; actBestellung.save(); // make backup of list Item[] bkpList = actBestellung.asList().toArray(new Item[0]); List<IConfigurationElement> list = Extensions.getExtensions("ch.elexis.Transporter"); //$NON-NLS-1$ for (IConfigurationElement ic : list) { String handler = ic.getAttribute("type"); //$NON-NLS-1$ if (handler != null && handler.contains("ch.elexis.data.Bestellung")) { //$NON-NLS-1$ try { IDataSender sender = (IDataSender) ic.createExecutableExtension("ExporterClass"); //$NON-NLS-1$ sender.store(actBestellung); sender.finalizeExport(); SWTHelper.showInfo(Messages.getString("BestellView.OrderSentCaption"), //$NON-NLS-1$ Messages.getString("BestellView.OrderSentBody")); //$NON-NLS-1$ tv.refresh(); // mark ordered articles Bestellung.markAsOrdered(bkpList); } catch (CoreException ex) { ExHandler.handle(ex); } catch (XChangeException xx) { SWTHelper.showError(Messages.getString("BestellView.OrderNotPossible"), //$NON-NLS-1$ Messages.getString("BestellView.NoAutomaticOrderAvailable") //$NON-NLS-1$ + xx.getLocalizedMessage()); } } } } }; loadAction = new Action(Messages.getString("BestellView.OpenOrder")) { //$NON-NLS-1$ @Override public void run() { SelectBestellungDialog dlg = new SelectBestellungDialog(getViewSite().getShell()); dlg.setMessage(Messages.getString("BestellView.SelectOrder")); //$NON-NLS-1$ dlg.setTitle(Messages.getString("BestellView.ReadOrder")); //$NON-NLS-1$ if (dlg.open() == Dialog.OK) { // js: Only a non-empty result should be used any further. if (dlg.getResult().length > 0) { Bestellung res = (Bestellung) dlg.getResult()[0]; setBestellung(res); } } } }; printAction.setImageDescriptor(Images.IMG_PRINTER.getImageDescriptor()); printAction.setToolTipText(Messages.getString("BestellView.PrintOrder")); //$NON-NLS-1$ newAction.setImageDescriptor(Hub.getImageDescriptor("rsc/plaf/modern/icons/new.png")); //$NON-NLS-1$ newAction.setToolTipText(Messages.getString("BestellView.CreateNewOrder")); //$NON-NLS-1$ saveAction.setImageDescriptor(Hub.getImageDescriptor("rsc/save.gif")); //$NON-NLS-1$ saveAction.setToolTipText(Messages.getString("BestellView.saveOrder")); //$NON-NLS-1$ sendAction.setImageDescriptor(Images.IMG_NETWORK.getImageDescriptor()); sendAction.setToolTipText(Messages.getString("BestellView.transmitOrder")); //$NON-NLS-1$ // loadAction.setImageDescriptor(Hub.getImageDescriptor("rsc/open.gif")); loadAction.setImageDescriptor(Images.IMG_IMPORT.getImageDescriptor()); loadAction.setToolTipText(Messages.getString("BestellView.loadEarlierOrder")); //$NON-NLS-1$ exportClipboardAction = new Action(Messages.getString("BestellView.copyToClipboard")) { //$NON-NLS-1$ { setToolTipText(Messages.getString("BestellView.copyToClipBioardForGalexis")); //$NON-NLS-1$ } @Override public void run() { if (actBestellung != null) { List<Item> list = actBestellung.asList(); ArrayList<Item> best = new ArrayList<Item>(); Kontakt adressat = null; Iterator<Item> iter = list.iterator(); while (iter.hasNext()) { Item it = (Item) iter.next(); if (adressat == null) { adressat = it.art.getLieferant(); if (!adressat.exists()) { adressat = null; continue; } } if (it.art.getLieferant().getId().equals(adressat.getId())) { best.add(it); iter.remove(); } } StringBuffer export = new StringBuffer(); for (Item item : best) { String pharmaCode = item.art.get(Artikel.FLD_PHARMACODE); int num = item.num; String name = item.art.getName(); String line = pharmaCode + ", " + num + ", " + name; //$NON-NLS-1$ //$NON-NLS-2$ export.append(line); export.append(System.getProperty("line.separator")); //$NON-NLS-1$ } String clipboardText = export.toString(); Clipboard clipboard = new Clipboard(Desk.getDisplay()); TextTransfer textTransfer = TextTransfer.getInstance(); Transfer[] transfers = new Transfer[] { textTransfer }; Object[] data = new Object[] { clipboardText }; clipboard.setContents(data, transfers); clipboard.dispose(); } } }; checkInAction = new Action(Messages.getString("BestellView.CheckInCaption")) { //$NON-NLS-1$ { setImageDescriptor(Images.IMG_TICK.getImageDescriptor()); setToolTipText(Messages.getString("BestellView.CheckInBody")); //$NON-NLS-1$ } @Override public void run() { if (actBestellung != null && actBestellung.exists()) { OrderImportDialog dialog = new OrderImportDialog(getSite().getShell(), actBestellung); dialog.open(); } else { SWTHelper.alert(Messages.getString("BestellView.NoOrder"), //$NON-NLS-1$ Messages.getString("BestellView.NoOrderLoaded")); //$NON-NLS-1$ } } }; }
From source file:ch.elexis.views.codesystems.BlockDetailDisplay.java
License:Open Source License
private void makeActions() { removeLeistung = new Action(Messages.getString("BlockDetailDisplay.remove")) { //$NON-NLS-1$ @Override/*from w w w.j av a 2s. co m*/ public void run() { Leistungsblock lb = (Leistungsblock) ElexisEventDispatcher.getSelected(Leistungsblock.class); if (lb != null) { IStructuredSelection sel = (IStructuredSelection) lLst.getSelection(); Object o = sel.getFirstElement(); if (o != null) { lb.removeElement((ICodeElement) o); lLst.refresh(); } } } }; moveUpAction = new Action(Messages.getString("BlockDetailDisplay.moveUp")) { //$NON-NLS-1$ @Override public void run() { moveElement(-1); } }; moveDownAction = new Action(Messages.getString("BlockDetailDisplay.moveDown")) { //$NON-NLS-1$ @Override public void run() { moveElement(1); } }; editAction = new Action(Messages.getString("BlockDetailDisplay.changeAction")) { //$NON-NLS-1$ { setImageDescriptor(Images.IMG_EDIT.getImageDescriptor()); setToolTipText(Messages.getString("BlockDetailDisplay.changeActionTooltip")); //$NON-NLS-1$ } @Override public void run() { IStructuredSelection sel = (IStructuredSelection) lLst.getSelection(); PersistentObject parameter = (PersistentObject) sel.getFirstElement(); EditEigenleistungUi.executeWithParams(parameter); } }; }
From source file:ch.elexis.views.LabNotSeenView.java
License:Open Source License
@Override public void createPartControl(final Composite parent) { parent.setLayout(new FillLayout()); Table table = new Table(parent, SWT.CHECK | SWT.V_SCROLL); for (int i = 0; i < columnHeaders.length; i++) { TableColumn tc = new TableColumn(table, SWT.NONE); tc.setText(columnHeaders[i]);/*from w w w . ja v a 2s. c o m*/ tc.setWidth(colWidths[i]); } table.setHeaderVisible(true); table.setLinesVisible(true); tv = new CheckboxTableViewer(table); tv.setContentProvider(new LabNotSeenContentProvider()); tv.setLabelProvider(new LabNotSeenLabelProvider()); tv.setUseHashlookup(true); tv.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(final SelectionChangedEvent event) { IStructuredSelection sel = (IStructuredSelection) event.getSelection(); if (!sel.isEmpty()) { if (sel.getFirstElement() instanceof LabResult) { LabResult lr = (LabResult) sel.getFirstElement(); ElexisEventDispatcher.fireSelectionEvent(lr.getPatient()); } } } }); tv.addCheckStateListener(new ICheckStateListener() { boolean bDaempfung; public void checkStateChanged(final CheckStateChangedEvent event) { if (bDaempfung == false) { bDaempfung = true; LabResult lr = (LabResult) event.getElement(); boolean state = event.getChecked(); if (state) { if (Hub.acl.request(AccessControlDefaults.LAB_SEEN)) { lr.removeFromUnseen(); } else { tv.setChecked(lr, false); } } else { lr.addToUnseen(); } bDaempfung = false; } } }); makeActions(); ViewMenus menu = new ViewMenus(getViewSite()); menu.createToolbar(markPersonAction, markAllAction); heartbeat(); Hub.heart.addListener(this, Hub.localCfg.get(LabSettings.LABNEW_HEARTRATE, Heartbeat.FREQUENCY_HIGH)); tv.setInput(this); }
From source file:ch.elexis.views.RezepteView.java
License:Open Source License
private void makeActions() { newRpAction = new Action(Messages.getString("RezepteView.newPrescriptionAction")) { //$NON-NLS-1$ {/* w ww. j a va 2s .c o m*/ setImageDescriptor(Images.IMG_NEW.getImageDescriptor()); setToolTipText(Messages.getString("RezepteView.newPrescriptonTooltip")); //$NON-NLS-1$ } @Override public void run() { Patient act = (Patient) ElexisEventDispatcher.getSelected(Patient.class); if (act == null) { MessageBox mb = new MessageBox(getViewSite().getShell(), SWT.ICON_INFORMATION | SWT.OK); mb.setText(Messages.getString("RezepteView.newPrescriptionError")); //$NON-NLS-1$ mb.setMessage(Messages.getString("RezepteView.noPatientSelected")); //$NON-NLS-1$ mb.open(); return; } Fall fall = (Fall) ElexisEventDispatcher.getSelected(Fall.class); if (fall == null) { Konsultation k = act.getLetzteKons(false); if (k == null) { SWTHelper.alert(Messages.getString("RezepteView.noCaseSelected"), //$NON-NLS-1$ Messages.getString("RezepteView.pleaseCreateOrChooseCase")); //$NON-NLS-1$ return; } else { fall = k.getFall(); } } new Rezept(act); tv.refresh(); } }; deleteRpAction = new Action(Messages.getString("RezepteView.deletePrescriptionActiom")) { //$NON-NLS-1$ @Override public void run() { Rezept rp = (Rezept) ElexisEventDispatcher.getSelected(Rezept.class); if (MessageDialog.openConfirm(getViewSite().getShell(), Messages.getString("RezepteView.deletePrescriptionActiom"), //$NON-NLS-1$ MessageFormat.format(Messages.getString("RezepteView.deletePrescriptionConfirm"), rp //$NON-NLS-1$ .getDate()))) { rp.delete(); tv.refresh(); } } }; removeLineAction = new Action(Messages.getString("RezepteView.deleteLineAction")) { //$NON-NLS-1$ @Override public void run() { Rezept rp = (Rezept) ElexisEventDispatcher.getSelected(Rezept.class); IStructuredSelection sel = (IStructuredSelection) lvRpLines.getSelection(); Prescription p = (Prescription) sel.getFirstElement(); if ((rp != null) && (p != null)) { rp.removePrescription(p); lvRpLines.refresh(); } /* * RpZeile z=(RpZeile)sel.getFirstElement(); if((rp!=null) && (z!=null)){ * rp.removeLine(z); lvRpLines.refresh(); } */ } }; addLineAction = new Action(Messages.getString("RezepteView.newLineAction")) { //$NON-NLS-1$ @Override public void run() { try { LeistungenView lv1 = (LeistungenView) getViewSite().getPage().showView(LeistungenView.ID); CodeSelectorHandler.getInstance().setCodeSelectorTarget(dropTarget); CTabItem[] tabItems = lv1.ctab.getItems(); for (CTabItem tab : tabItems) { ICodeElement ics = (ICodeElement) tab.getData(); if (ics instanceof Artikel) { lv1.ctab.setSelection(tab); break; } } } catch (PartInitException ex) { ExHandler.handle(ex); } } }; printAction = new Action(Messages.getString("RezepteView.printAction")) { //$NON-NLS-1$ @Override public void run() { try { RezeptBlatt rp = (RezeptBlatt) getViewSite().getPage().showView(RezeptBlatt.ID); Rezept actR = (Rezept) ElexisEventDispatcher.getSelected(Rezept.class); Brief rpBrief = actR.getBrief(); if (rpBrief == null) // not yet created - just create a new Rezept rp.createRezept(actR); else { // Brief for Rezept already exists: // ask if it should be recreated or just shown String[] dialogButtonLabels = { Messages.getString("RezepteView.RecreatePrescription"), //$NON-NLS-1$ Messages.getString("RezepteView.ShowPrescription"), //$NON-NLS-1$ Messages.getString("RezepteView.PrescriptionCancel") //$NON-NLS-1$ }; MessageDialog msg = new MessageDialog(null, Messages.getString("RezepteView.CreatePrescription"), //$NON-NLS-1$ null, Messages.getString("RezepteView.ReallyWantToRecreatePrescription"), //$NON-NLS-1$ MessageDialog.WARNING, dialogButtonLabels, 2); int result = msg.open(); switch (result) { case 0: // recreate rezept rp.createRezept(actR); break; case 1: // open rezept rp.loadRezeptFromDatabase(actR, rpBrief); break; case 2: // cancel or closebox - do nothing break; } } } catch (Exception ex) { ExHandler.handle(ex); } } }; changeMedicationAction = new RestrictedAction(AccessControlDefaults.MEDICATION_MODIFY, Messages.getString("RezepteView.ChangeLink")) { //$NON-NLS-1$ { setImageDescriptor(Images.IMG_EDIT.getImageDescriptor()); setToolTipText(Messages.getString("RezepteView.ChangeTooltip")); //$NON-NLS-1$ } public void doRun() { Rezept rp = (Rezept) ElexisEventDispatcher.getSelected(Rezept.class); IStructuredSelection sel = (IStructuredSelection) lvRpLines.getSelection(); Prescription pr = (Prescription) sel.getFirstElement(); if (pr != null) { new MediDetailDialog(getViewSite().getShell(), pr).open(); lvRpLines.refresh(); } } }; addLineAction.setImageDescriptor(Images.IMG_ADDITEM.getImageDescriptor()); printAction.setImageDescriptor(Images.IMG_PRINTER.getImageDescriptor()); deleteRpAction.setImageDescriptor(Images.IMG_DELETE.getImageDescriptor()); }
From source file:ch.elexis.views.ScriptView.java
License:Open Source License
private void makeActions() { exportScriptAction = new Action("export script") { {//from ww w. j a v a2 s. com setImageDescriptor(Images.IMG_EXPORT.getImageDescriptor()); setToolTipText("export script into a text file"); } @Override public void run() { IStructuredSelection sel = (IStructuredSelection) tv.getSelection(); if (sel != null && sel.size() != 0) { FileDialog fd = new FileDialog(getViewSite().getShell(), SWT.SAVE); Script script = (Script) sel.getFirstElement(); fd.setFileName(script.getLabel()); String filename = fd.open(); if (filename != null) { try { File file = new File(filename); FileWriter fw = new FileWriter(file); fw.write(script.getString()); fw.close(); } catch (IOException ex) { SWTHelper.showError("IO Error", "Could not write file " + filename + " : " + ex.getMessage()); } } } } }; importScriptAction = new RestrictedAction(AccessControlDefaults.SCRIPT_EDIT, "Import Script") { { setImageDescriptor(Images.IMG_IMPORT.getImageDescriptor()); setToolTipText("Import script from a text file"); } @Override public void doRun() { FileDialog fd = new FileDialog(getViewSite().getShell(), SWT.OPEN); String filename = fd.open(); if (fd != null) { try { /* Script script= */Script.importFromFile(filename); tv.refresh(); } catch (ElexisException e) { SWTHelper.showError("IO Error", e.getMessage()); } } } }; newScriptAction = new RestrictedAction(AccessControlDefaults.SCRIPT_EDIT, Messages.getString("ScriptView.newScriptAction")) { //$NON-NLS-1$ { setImageDescriptor(Images.IMG_NEW.getImageDescriptor()); setToolTipText(Messages.getString("ScriptView.newScriptTooltip")); //$NON-NLS-1$ } @Override public void doRun() { InputDialog inp = new InputDialog(getSite().getShell(), Messages.getString("ScriptView.enterNameCaption"), //$NON-NLS-1$ Messages.getString("ScriptView.enterNameBody"), null, //$NON-NLS-1$ null); if (inp.open() == Dialog.OK) { try { Script.create(inp.getValue(), ""); } catch (ElexisException e) { ExHandler.handle(e); SWTHelper.showError("Fehler bei Scripterstellung", e.getMessage()); } tv.refresh(); } } }; editScriptAction = new RestrictedAction(AccessControlDefaults.SCRIPT_EDIT, Messages.getString("ScriptView.editScriptAction")) { //$NON-NLS-1$ { setImageDescriptor(Images.IMG_EDIT.getImageDescriptor()); setToolTipText(Messages.getString("ScriptView.editScriptTooltip")); //$NON-NLS-1$ } @Override public void doRun() { IStructuredSelection sel = (IStructuredSelection) tv.getSelection(); if (sel != null && sel.size() != 0) { Script script = (Script) sel.getFirstElement(); ScriptEditor sce = new ScriptEditor(getSite().getShell(), script.getString(), script.getLabel()); if (sce.open() == Dialog.OK) { script.putString(sce.getScript()); } } } }; removeScriptAction = new RestrictedAction(AccessControlDefaults.SCRIPT_EDIT, Messages.getString("ScriptView.deleteScriptAction")) { //$NON-NLS-1$ { setImageDescriptor(Images.IMG_DELETE.getImageDescriptor()); setToolTipText(Messages.getString("ScriptView.deleteScriptTooltip")); //$NON-NLS-1$ } @Override public void doRun() { IStructuredSelection sel = (IStructuredSelection) tv.getSelection(); if (sel != null && sel.size() != 0) { Script script = (Script) sel.getFirstElement(); script.delete(); tv.refresh(); } } }; execScriptAction = new RestrictedAction(AccessControlDefaults.SCRIPT_EXECUTE, Messages.getString("ScriptView.executeScriptAction")) { //$NON-NLS-1$ { setImageDescriptor(Images.IMG_GOFURTHER.getImageDescriptor()); setToolTipText(Messages.getString("ScriptView.executeScriptTooltip")); //$NON-NLS-1$ } @Override public void doRun() { IStructuredSelection sel = (IStructuredSelection) tv.getSelection(); if (sel != null && sel.size() != 0) { Script script = (Script) sel.getFirstElement(); try { String contents = script.getString(); ArrayList<String> vars = new ArrayList<String>(); Pattern var = Pattern.compile("\\$[0-9a-z]+", Pattern.CASE_INSENSITIVE); Matcher m = var.matcher(contents); while (m.find()) { String varname = m.group(); if (!vars.contains(varname)) { vars.add(varname); } } String varString = null; if (vars.size() > 0) { SetVarsDlg dlg = new SetVarsDlg(getViewSite().getShell(), vars); if (dlg.open() == Dialog.OK) { varString = dlg.getResult(); } } Object ret = script.execute(varString); SWTHelper.showInfo(Messages.getString("ScriptView.ScriptOutput"), ret.toString()); //$NON-NLS-1$ } catch (Exception ex) { ExHandler.handle(ex); SWTHelper.showError("Fehler beim Ausfhren des Scripts", ex.getMessage()); } } } }; }
From source file:ch.gpb.elexis.cst.view.CstProfileEditor.java
License:Open Source License
/** * This is a callback that will allow us to create the viewer and initialize * it./*from w ww.jav a2 s. com*/ */ @SuppressWarnings("unchecked") public void createPartControl(Composite parent) { patient = ElexisEventDispatcher.getSelectedPatient(); Canvas baseCanvas = new Canvas(parent, SWT.FILL); baseCanvas.setBackground(new Color(Display.getDefault(), 239, 239, 239)); FillLayout glBase = new FillLayout(); glBase.type = SWT.VERTICAL; GridData gdBase = new GridData(); gdBase.horizontalAlignment = SWT.FILL; gdBase.grabExcessHorizontalSpace = true; baseCanvas.setLayout(glBase); Canvas profileParameterCanvas = new Canvas(baseCanvas, SWT.FILL); GridLayout profileGridLayout = new GridLayout(1, true); profileParameterCanvas.setBackground(new Color(Display.getDefault(), 239, 239, 239)); profileParameterCanvas.setLayout(profileGridLayout); GridData gd = new GridData(); gd.grabExcessVerticalSpace = false; gd.grabExcessHorizontalSpace = false; profileParameterCanvas.setLayoutData(gd); profileParameterCanvas.setSize(400, 400); scrolledForm = UiDesk.getToolkit().createScrolledForm(profileParameterCanvas); scrolledForm.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); Composite body = scrolledForm.getBody(); body.setLayout(new FillLayout()); ctabs = new CTabFolder(body, SWT.NONE); ctabs.setLayout(new FillLayout()); Canvas buttonCanvas = new Canvas(profileParameterCanvas, SWT.NONE); GridLayout glButtonCanvas = new GridLayout(); GridData gdButtonCanvas = new GridData(); gdButtonCanvas.horizontalAlignment = SWT.CENTER; gdButtonCanvas.verticalAlignment = SWT.BEGINNING; glButtonCanvas.numColumns = 3; buttonCanvas.setSize(SWT.DEFAULT, 40); buttonCanvas.setLayoutData(gdButtonCanvas); buttonCanvas.setLayout(glButtonCanvas); Button btnSaveCstProfile = new Button(buttonCanvas, SWT.BORDER); btnSaveCstProfile.setText(Messages.CstProfileEditor_SaveProfile); btnSaveCstProfile.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { switch (e.type) { case SWT.Selection: saveCstProfile(); break; } } }); Button btnShowResult = new Button(buttonCanvas, SWT.BORDER); btnShowResult.setText(Messages.CstProfileEditor_AuswertungAnzeigen); btnShowResult.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { switch (e.type) { case SWT.Selection: showResultPage(); break; } } }); CTabItem ciTmp = new CTabItem(ctabs, SWT.NONE); ciTmp.setText(Messages.CstProfileEditor_Anzeige); aoComposite = new AnzeigeOptionsComposite(ctabs); ciTmp.setControl(aoComposite); // Tab Auswahl Befunde BefundSelectionComposite befundSelectionComposite = new BefundSelectionComposite(ctabs); CTabItem ciBsc = new CTabItem(ctabs, SWT.NONE); ciBsc.setText(Messages.CstProfileEditor_Auswahlbefunde); ciBsc.setControl(befundSelectionComposite); // Tab Therapievorschlag CTabItem ci4 = new CTabItem(ctabs, SWT.NONE); ci4.setText(Messages.CstProfileEditor_Therapievorschlag); therapieComposite = new TherapieVorschlagComposite(ctabs); ci4.setControl(therapieComposite); // Tabitem Cst Documents CTabItem ci8 = new CTabItem(ctabs, SWT.NONE); ci8.setText(Messages.Cst_Text_cst_documents); docComposite = new CstDocumentsComposite(ctabs, getViewSite()); ci8.setControl(docComposite); // Tabitem Pro Immun CTabItem ci9 = new CTabItem(ctabs, SWT.NONE); ci9.setText(Messages.CstProfileEditor_Proimmun); proImmunComposite = new ProImmunComposite(ctabs); ci9.setControl(proImmunComposite); // Tabitem Gastro CTabItem ci10 = new CTabItem(ctabs, SWT.NONE); ci10.setText(Messages.CstProfileEditor_GastroColo); gastroComposite = new GastroComposite(ctabs); ci10.setControl(gastroComposite); // Tabitem TEmplate CTabItem ci12 = new CTabItem(ctabs, SWT.NONE); ci12.setText(Messages.TemplateComposite_template_title); TemplateComposite templateComposite = new TemplateComposite(ctabs); ci12.setControl(templateComposite); // Tabitem REminders /* CTabItem ci13 = new CTabItem(ctabs, SWT.NONE); ci13.setText("Reminders"); stateComposite = new RemindersComposite(ctabs); ci13.setControl(stateComposite); */ // Tabitem Hilfe CTabItem ci11 = new CTabItem(ctabs, SWT.NONE); ci11.setText(Messages.HilfeComposite_hilfe_text); HilfeComposite hilfeComposite = new HilfeComposite(ctabs); ci11.setControl(hilfeComposite); // **** Tables with Profiles and Groups ********* // SashForm sashform = new SashForm(baseCanvas, SWT.FILL); GridData gdSash = new GridData(); gdSash.heightHint = 400; gdSash.horizontalAlignment = SWT.FILL; sashform.setLayoutData(gdSash); sashform.setLayout(new GridLayout()); sashform.setSashWidth(2); // Composite Left Side Composite child1 = new Composite(sashform, SWT.FILL); GridLayout gridLayoutLeft = new GridLayout(); gridLayoutLeft.numColumns = 1; child1.setLayout(gridLayoutLeft); // Composite Right Side Composite child2 = new Composite(sashform, SWT.FILL); GridLayout gridLayoutRight = new GridLayout(); gridLayoutRight.numColumns = 1; child2.setLayout(gridLayoutRight); sashform.setWeights(new int[] { 200, 300 }); // Label and Table Left Side labelLeft = new Label(child1, SWT.BORDER | SWT.CENTER); if (patient == null) { labelLeft.setText(Messages.CstCategory_nopatientselected); } else { labelLeft .setText(Messages.Cst_Text_Profile_fuer + " " + patient.getName() + " " + patient.getVorname()); } labelLeft.setSize(100, 20); labelLeft.setFont(createBoldFont(labelLeft.getFont())); labelLeft.setForeground(UiDesk.getColor(UiDesk.COL_BLUE)); labelLeft.setBackground(new Color(Display.getDefault(), 251, 247, 247)); GridData gridDataLabelLeft = new GridData(); gridDataLabelLeft.horizontalAlignment = GridData.FILL; gridDataLabelLeft.grabExcessHorizontalSpace = true; labelLeft.setLayoutData(gridDataLabelLeft); tableProfile = new Table(child1, SWT.CHECK | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); GridData gridDataTableLeft = new GridData(); gridDataTableLeft.horizontalAlignment = GridData.FILL; gridDataTableLeft.verticalAlignment = GridData.FILL; gridDataTableLeft.grabExcessHorizontalSpace = true; gridDataTableLeft.grabExcessVerticalSpace = true; gridDataTableLeft.minimumHeight = 200; gridDataTableLeft.heightHint = 200; tableProfile.setLayoutData(gridDataTableLeft); // Label and Table Right Side Label labelRight = new Label(child2, SWT.BORDER | SWT.CENTER); labelRight.setText("Profile Items (CST Groups)"); labelRight.setSize(100, 20); labelRight.setFont(createBoldFont(labelRight.getFont())); labelRight.setBackground(new Color(Display.getDefault(), 251, 247, 247)); GridData gridDataLabelRight = new GridData(); gridDataLabelRight.horizontalAlignment = GridData.FILL; gridDataLabelRight.grabExcessHorizontalSpace = true; labelRight.setLayoutData(gridDataLabelRight); tableCstGroup = new Table(child2, SWT.CHECK | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); GridData gridDataTableRight = new GridData(); gridDataTableRight.horizontalAlignment = GridData.FILL; gridDataTableRight.verticalAlignment = GridData.FILL; gridDataTableRight.grabExcessHorizontalSpace = true; gridDataTableRight.grabExcessVerticalSpace = true; gridDataTableRight.minimumHeight = 200; gridDataTableRight.heightHint = 200; tableCstGroup.setLayoutData(gridDataTableRight); Composite movebuttonDummyCompo = new Composite(child1, SWT.NONE); GridData gdDummyMovebutton = new GridData(); movebuttonDummyCompo.setLayoutData(gdDummyMovebutton); gdDummyMovebutton.heightHint = 30; Composite movebuttonCompo = new Composite(child2, SWT.NONE); GridLayout movebuttonGridLayout = new GridLayout(2, true); movebuttonCompo.setLayout(movebuttonGridLayout); movebuttonCompo.setSize(400, 30); GridData gdButtonCompo = new GridData(GridData.HORIZONTAL_ALIGN_END); gdButtonCompo.minimumHeight = 30; gdButtonCompo.heightHint = 30; gdButtonCompo.horizontalAlignment = SWT.CENTER; gdButtonCompo.verticalAlignment = SWT.BEGINNING; movebuttonCompo.setLayoutData(gdButtonCompo); Image imgArrowUp = UiDesk.getImage(Activator.IMG_ARROW_UP_NAME); Image imgArrowDown = UiDesk.getImage(Activator.IMG_ARROW_DOWN_NAME); Button btnArrowUp = new Button(movebuttonCompo, SWT.BORDER); Button btnArrowDown = new Button(movebuttonCompo, SWT.BORDER); btnArrowDown.setText(Messages.Button_MoveDown); btnArrowUp.setText(Messages.Button_MoveUp); btnArrowUp.setImage(imgArrowUp); btnArrowDown.setImage(imgArrowDown); GridData gdArrowUp = new GridData(GridData.HORIZONTAL_ALIGN_END); GridData gdArrowDown = new GridData(GridData.HORIZONTAL_ALIGN_END); btnArrowUp.setLayoutData(gdArrowUp); btnArrowDown.setLayoutData(gdArrowDown); btnArrowUp.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { moveItemUp(); ; } }); btnArrowDown.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { moveItemDown(); ; } }); cstProfiles = new ArrayList<CstProfile>(); String[] colLabels = getCategoryColumnLabels(); int columnWidth[] = getProfileColumnWidth(); ProfileSortListener categorySortListener = new ProfileSortListener(); TableColumn[] cols = new TableColumn[colLabels.length]; for (int i = 0; i < colLabels.length; i++) { cols[i] = new TableColumn(tableProfile, SWT.NONE); cols[i].setWidth(columnWidth[i]); cols[i].setText(colLabels[i]); cols[i].setData(new Integer(i)); cols[i].addSelectionListener(categorySortListener); } tableProfile.setHeaderVisible(true); tableProfile.setLinesVisible(true); String[] colLabels2 = getCstGroupColumnLabels(); int columnWidth2[] = getCstGroupColumnWidth(); TableColumn[] cols2 = new TableColumn[colLabels.length]; for (int i = 0; i < colLabels2.length; i++) { cols2[i] = new TableColumn(tableCstGroup, SWT.NONE); cols2[i].setWidth(columnWidth2[i]); cols2[i].setText(colLabels2[i]); cols2[i].setData(new Integer(i)); } tableCstGroup.setHeaderVisible(true); tableCstGroup.setLinesVisible(true); tableViewerProfiles = new CheckboxTableViewer(tableProfile); tableViewerProfiles.setContentProvider(new ProfileContentProvider()); tableViewerProfiles.setLabelProvider(new ProfileLabelProvider()); tableViewerProfiles.setSorter(new ProfileSorter()); tableViewerProfiles.setInput(getViewSite()); if (tableProfile.getItems().length > 0) { tableProfile.select(0); } tableViewerProfiles.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) tableViewerProfiles.getSelection(); // on selecting a new Category, fetch its LabItems CstProfile selProfile = (CstProfile) selection.getFirstElement(); if (selProfile != null) { itemRanking = selProfile.getMap(CstGroup.ITEMRANKING); cstGroups = selProfile.getCstGroups(); // if null, initialize the ranking with the current sequence if (itemRanking == null || itemRanking.size() == 0) { Hashtable<Object, Object> ranking = new Hashtable<Object, Object>(); int i = 1; for (CstGroup item : cstGroups) { ranking.put(item.getId(), i++); } itemRanking = (Map<Object, Object>) ranking.clone(); selProfile.setMap(CstGroup.ITEMRANKING, ranking); } loadCstProfile(selProfile); tableViewerCstGroups.refresh(); } } }); tableViewerCstGroups = new CheckboxTableViewer(tableCstGroup); tableViewerCstGroups.setContentProvider(new CstGroupContentProvider()); tableViewerCstGroups.setLabelProvider(new CstGroupLabelProvider()); tableViewerCstGroups.setSorter(new CstGroupSorter()); tableViewerCstGroups.setInput(getViewSite()); // Create the help context id for the viewer's control ctabs.setSelection(ctabs.getItem(0)); PlatformUI.getWorkbench().getHelpSystem().setHelp(tableViewerProfiles.getControl(), "ch.gpb.elexis.cst.viewer"); makeActions(); hookContextMenuCategory(); hookContextMenuLabItem(); hookDoubleClickAction(); contributeToActionBars(); GlobalEventDispatcher.addActivationListener(this, this); }
From source file:ch.gpb.elexis.cst.view.CstProfileEditor.java
License:Open Source License
private void moveItemUp() { IStructuredSelection selection2 = (IStructuredSelection) tableViewerProfiles.getSelection(); CstProfile selProfile = (CstProfile) selection2.getFirstElement(); try {/*from w w w. j a v a 2 s.com*/ IStructuredSelection selection = (IStructuredSelection) tableViewerCstGroups.getSelection(); CstGroup selItem = (CstGroup) selection.getFirstElement(); if (selItem == null) { return; } int selIndex = tableViewerCstGroups.getTable().getSelectionIndex(); if (selIndex < 1) { return; } TableItem tableItem = tableViewerCstGroups.getTable().getItem(selIndex - 1); CstGroup aboveItem = (CstGroup) tableItem.getData(); int rank1 = (int) itemRanking.get(selItem.getId()); int rank2 = (int) itemRanking.get(aboveItem.getId()); itemRanking.put(selItem.getId(), rank1 - 1); itemRanking.put(aboveItem.getId(), rank2 + 1); selProfile.setMap(CstProfile.ITEMRANKING, itemRanking); tableViewerCstGroups.refresh(); } catch (Exception e) { log.error(e.toString()); showMessage("Fehler: die Reihenfolge der CST Gruppen muss neu initialisiert werden."); reinitRanking(selProfile); } }
From source file:ch.gpb.elexis.cst.view.CstProfileEditor.java
License:Open Source License
private void moveItemDown() { IStructuredSelection selection2 = (IStructuredSelection) tableViewerProfiles.getSelection(); CstProfile selProfile = (CstProfile) selection2.getFirstElement(); try {/* ww w. j a v a2 s .c o m*/ IStructuredSelection selection = (IStructuredSelection) tableViewerCstGroups.getSelection(); CstGroup selItem = (CstGroup) selection.getFirstElement(); if (selItem == null) { return; } int selIndex = tableViewerCstGroups.getTable().getSelectionIndex(); if (selIndex + 1 >= tableViewerCstGroups.getTable().getItemCount()) { return; } TableItem tableItem = tableViewerCstGroups.getTable().getItem(selIndex + 1); CstGroup belowItem = (CstGroup) tableItem.getData(); int rank1 = (int) itemRanking.get(selItem.getId()); int rank2 = (int) itemRanking.get(belowItem.getId()); itemRanking.put(selItem.getId(), rank1 + 1); itemRanking.put(belowItem.getId(), rank2 - 1); selProfile.setMap(CstProfile.ITEMRANKING, itemRanking); tableViewerCstGroups.refresh(); } catch (Exception e) { log.error(e.toString()); showMessage("Fehler: die Reihenfolge der CST Gruppen muss neu initialisiert werden."); reinitRanking(selProfile); } }
From source file:ch.gpb.elexis.cst.view.CstThemenblockEditor.java
License:Open Source License
/** * This is a callback that will allow us to create the viewer and initialize * it./*from www . j a v a2s. c o m*/ */ @SuppressWarnings("unchecked") public void createPartControl(Composite parent) { Canvas baseCanvas = new Canvas(parent, SWT.VERTICAL); baseCanvas.setBackground(new Color(Display.getDefault(), 239, 239, 239)); FillLayout baseGridLayout = new FillLayout(); //GridLayout baseGridLayout = new GridLayout(); baseGridLayout.type = SWT.VERTICAL; baseCanvas.setLayout(baseGridLayout); SashForm form = new SashForm(baseCanvas, SWT.HORIZONTAL); //form.setLayout(new FillLayout()); //form.setSashWidth(5); form.setLayout(new GridLayout()); GridData gdForm = new GridData(); gdForm.heightHint = 400; form.setLayoutData(gdForm); // Composite Left Side Composite child1 = new Composite(form, SWT.NONE); GridLayout gridLayoutLeft = new GridLayout(); gridLayoutLeft.numColumns = 1; child1.setLayout(gridLayoutLeft); // Composite Right Side Composite child2 = new Composite(form, SWT.NONE); GridLayout gridLayoutRight = new GridLayout(); gridLayoutRight.numColumns = 1; child2.setLayout(gridLayoutRight); form.setWeights(new int[] { 20, 40 }); // Label and Table Left Side labelLeft = new Label(child1, SWT.BORDER | SWT.CENTER); labelLeft.setText("CST Group"); labelLeft.setSize(100, 20); labelLeft.setFont(createBoldFont(labelLeft.getFont())); labelLeft.setForeground(UiDesk.getColor(UiDesk.COL_BLUE)); labelLeft.setBackground(new Color(Display.getDefault(), 251, 247, 247)); GridData gridDataLabelLeft = new GridData(); gridDataLabelLeft.horizontalAlignment = GridData.FILL; gridDataLabelLeft.grabExcessHorizontalSpace = true; labelLeft.setLayoutData(gridDataLabelLeft); tableCstGroup = new Table(child1, SWT.CHECK | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); GridData gridDataTableLeft = new GridData(); gridDataTableLeft.horizontalAlignment = GridData.FILL; gridDataTableLeft.verticalAlignment = GridData.FILL; gridDataTableLeft.grabExcessHorizontalSpace = true; gridDataTableLeft.grabExcessVerticalSpace = true; tableCstGroup.setLayoutData(gridDataTableLeft); // Label and Table Right Side Label labelRight = new Label(child2, SWT.BORDER | SWT.CENTER); labelRight.setText("Labor Items"); labelRight.setSize(100, 20); labelRight.setFont(createBoldFont(labelRight.getFont())); labelRight.setBackground(new Color(Display.getDefault(), 251, 247, 247)); GridData gridDataLabelRight = new GridData(); gridDataLabelRight.horizontalAlignment = GridData.FILL; gridDataLabelRight.grabExcessHorizontalSpace = true; labelRight.setLayoutData(gridDataLabelRight); tableLabItem = new Table(child2, SWT.CHECK | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); GridData gridDataTableRight = new GridData(); gridDataTableRight.horizontalAlignment = GridData.FILL; gridDataTableRight.verticalAlignment = GridData.FILL; gridDataTableRight.grabExcessHorizontalSpace = true; gridDataTableRight.grabExcessVerticalSpace = true; tableLabItem.setLayoutData(gridDataTableRight); cstGroups = new ArrayList<CstGroup>(); String[] colLabels = getCategoryColumnLabels(); int columnWidth[] = getColumnWidth(); CategorySortListener categorySortListener = new CategorySortListener(); TableColumn[] cols = new TableColumn[colLabels.length]; for (int i = 0; i < colLabels.length; i++) { cols[i] = new TableColumn(tableCstGroup, SWT.NONE); cols[i].setWidth(columnWidth[i]); cols[i].setText(colLabels[i]); cols[i].setData(new Integer(i)); cols[i].addSelectionListener(categorySortListener); } tableCstGroup.setHeaderVisible(true); tableCstGroup.setLinesVisible(true); String[] colLabels2 = getLabItemsColumnLabels(); int columnWidth2[] = getColumnWidthLabItem(); LabItemSortListener labItemSortListener = new LabItemSortListener(); TableColumn[] cols2 = new TableColumn[colLabels2.length]; for (int i = 0; i < colLabels2.length; i++) { cols2[i] = new TableColumn(tableLabItem, SWT.NONE); cols2[i].setWidth(columnWidth2[i]); cols2[i].setText(colLabels2[i]); cols2[i].setData(new Integer(i)); cols2[i].addSelectionListener(labItemSortListener); } tableLabItem.setHeaderVisible(true); tableLabItem.setLinesVisible(true); createBoldFont(tableCstGroup.getFont()); myColorRed = createRedColor(tableCstGroup.getFont()); tableViewerCstGroup = new CheckboxTableViewer(tableCstGroup); tableViewerCstGroup.setContentProvider(new CategoryContentProvider()); tableViewerCstGroup.setLabelProvider(new CategoryLabelProvider()); tableViewerCstGroup.setSorter(new CategorySorter()); tableViewerCstGroup.setInput(getViewSite()); if (tableCstGroup.getItems().length > 0) { tableCstGroup.select(0); } tableViewerLabItem = new CheckboxTableViewer(tableLabItem); tableViewerLabItem.setContentProvider(new LabItemContentProvider()); tableViewerLabItem.setLabelProvider(new LabItemLabelProvider()); tableViewerLabItem.setSorter(new LabItemSorter()); tableViewerLabItem.setInput(getViewSite()); tableViewerCstGroup.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) tableViewerCstGroup.getSelection(); // on selecting a new Category, fetch its LabItems CstGroup selGroup = (CstGroup) selection.getFirstElement(); if (selGroup != null) { itemRanking = selGroup.getMap(CstGroup.ITEMRANKING); labItems = selGroup.getLabitems(); // if null, initialize the ranking with the current sequence if (itemRanking == null || itemRanking.size() == 0) { Hashtable<Object, Object> ranking = new Hashtable<Object, Object>(); int i = 1; for (LabItemWrapper item : labItems) { ranking.put(item.getLabItem().getId(), i++); } itemRanking = (Map<Object, Object>) ranking.clone(); selGroup.setMap(CstGroup.ITEMRANKING, ranking); } tableViewerLabItem.refresh(); } } }); Composite abstractCanvas = new Composite(baseCanvas, SWT.HORIZONTAL); GridLayout abstractGridLayout = new GridLayout(1, true); abstractCanvas.setLayout(abstractGridLayout); GridData gdAbstract = new GridData(); gdAbstract.horizontalAlignment = SWT.FILL; abstractCanvas.setLayoutData(gdAbstract); Composite movebuttonCompo = new Composite(abstractCanvas, SWT.NONE); GridLayout movebuttonGridLayout = new GridLayout(3, true); movebuttonCompo.setLayout(movebuttonGridLayout); //movebuttonCanvas.setSize(400, 20); GridData gdButtons = new GridData(); gdButtons.horizontalAlignment = SWT.CENTER; gdButtons.heightHint = 80; //gdButtons.widthHint = 300; gdButtons.verticalAlignment = GridData.FILL; movebuttonCompo.setLayoutData(gdButtons); gdButtons.minimumHeight = 80; Image imgArrowUp = UiDesk.getImage(Activator.IMG_ARROW_UP_NAME); Image imgArrowDown = UiDesk.getImage(Activator.IMG_ARROW_DOWN_NAME); Button btnArrowUp = new Button(movebuttonCompo, SWT.BORDER); Button btnArrowDown = new Button(movebuttonCompo, SWT.BORDER); btnArrowUp.setImage(imgArrowUp); btnArrowDown.setImage(imgArrowDown); GridData gdArrowUp = new GridData(GridData.END); GridData gdArrowDown = new GridData(GridData.END); btnArrowUp.setLayoutData(gdArrowUp); btnArrowDown.setLayoutData(gdArrowDown); btnArrowDown.setText(Messages.Button_MoveDown); btnArrowUp.setText(Messages.Button_MoveUp); btnArrowUp.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { moveItemUp(); ; } }); btnArrowDown.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { moveItemDown(); ; } }); txtAbstract = new Text(abstractCanvas, SWT.MULTI | SWT.BORDER | SWT.HORIZONTAL); GridData gridDataText = new GridData(GridData.FILL_BOTH); gridDataText.verticalAlignment = SWT.FILL; gridDataText.grabExcessVerticalSpace = true; gridDataText.grabExcessHorizontalSpace = true; gridDataText.heightHint = 200; //gridDataText.widthHint = 600; txtAbstract.setLayoutData(gridDataText); GridData gdBtnSaveAbst = new GridData(); gdBtnSaveAbst.verticalAlignment = SWT.BOTTOM; gdBtnSaveAbst.horizontalAlignment = SWT.LEFT; //gdBtnSaveAbst.grabExcessHorizontalSpace = true; //gdBtnSaveAbst.grabExcessVerticalSpace = true; Button btnSaveAbstract = new Button(abstractCanvas, SWT.BORDER); btnSaveAbstract.setLayoutData(gdBtnSaveAbst); btnSaveAbstract.setText("Save Abstract for Lab item"); btnSaveAbstract.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { switch (e.type) { case SWT.Selection: saveAbstract(); break; } } }); final Label labelAbstract = new Label(abstractCanvas, SWT.NONE); final String sLabelAbstract = " Zeichen (max. ca. 500 Z.)"; labelAbstract.setText("0 " + sLabelAbstract); GridData gdLabelAbstract = new GridData(); gdLabelAbstract.verticalAlignment = SWT.BOTTOM; gdLabelAbstract.horizontalAlignment = SWT.LEFT; labelAbstract.setLayoutData(gdLabelAbstract); txtAbstract.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { labelAbstract.setText(String.valueOf(txtAbstract.getText().length()) + sLabelAbstract); } }); tableViewerLabItem.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) tableViewerLabItem.getSelection(); // on selecting a new Category, fetch its LabItems LabItemWrapper selItem = (LabItemWrapper) selection.getFirstElement(); if (selItem != null) { //labItems = selItem.getLabitems(); CstAbstract abst = CstAbstract.getByLaboritemId(selItem.getLabItem().getId()); String text; if (abst == null) { text = "default"; } else { text = abst.getDescription1(); log.debug("desc: " + abst.getDescription1()); } txtAbstract.setText(text); } } }); // Create the help context id for the viewer's control PlatformUI.getWorkbench().getHelpSystem().setHelp(tableViewerCstGroup.getControl(), "ch.gpb.elexis.cst.viewer"); makeActions(); hookContextMenuCategory(); hookContextMenuLabItem(); hookDoubleClickAction(); contributeToActionBars(); GlobalEventDispatcher.addActivationListener(this, this); }
From source file:ch.gpb.elexis.cst.view.CstThemenblockEditor.java
License:Open Source License
private void moveItemUp() { IStructuredSelection selection2 = (IStructuredSelection) tableViewerCstGroup.getSelection(); CstGroup selGroup = (CstGroup) selection2.getFirstElement(); try {// w w w. ja va 2 s.com IStructuredSelection selection = (IStructuredSelection) tableViewerLabItem.getSelection(); LabItemWrapper selItem = (LabItemWrapper) selection.getFirstElement(); if (selItem == null) { return; } int selIndex = tableViewerLabItem.getTable().getSelectionIndex(); if (selIndex < 1) { return; } TableItem tableItem = tableViewerLabItem.getTable().getItem(selIndex - 1); LabItemWrapper aboveItem = (LabItemWrapper) tableItem.getData(); int rank1 = (int) itemRanking.get(selItem.getLabItem().getId()); int rank2 = (int) itemRanking.get(aboveItem.getLabItem().getId()); itemRanking.put(selItem.getLabItem().getId(), rank1 - 1); itemRanking.put(aboveItem.getLabItem().getId(), rank2 + 1); selGroup.setMap(CstGroup.ITEMRANKING, itemRanking); tableViewerLabItem.refresh(); } catch (Exception e) { showMessage("Fehler: die Reihenfolge der Laboritems muss neu initialisiert werden."); reinitRanking(selGroup); } }