List of usage examples for org.eclipse.jface.viewers TableViewer TableViewer
public TableViewer(Composite parent, int style)
From source file:ch.elexis.core.ui.views.codesystems.BlockDetailDisplay.java
License:Open Source License
public Composite createDisplay(final Composite parent, final IViewSite site) { tk = UiDesk.getToolkit();//w w w .ja va2 s . c o m form = tk.createScrolledForm(parent); form.setData("TEST_COMP_NAME", "blkd_form"); //$NON-NLS-1$ Composite body = form.getBody(); body.setData("TEST_COMP_NAME", "blkd_body"); //$NON-NLS-1$ body.setBackground(parent.getBackground()); body.setLayout(new GridLayout(2, false)); tk.createLabel(body, Messages.BlockDetailDisplay_name).setBackground(parent.getBackground()); tName = tk.createText(body, StringConstants.EMPTY, SWT.BORDER); tName.setData("TEST_COMP_NAME", "blkd_Name_lst"); //$NON-NLS-1$ tName.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); IObservableValue txtNameObservableUi = WidgetProperties.text(SWT.Modify).observeDelayed(100, tName); IObservableValue txtNameObservable = PojoProperties.value("name", String.class).observeDetail(master); dbc.bindValue(txtNameObservableUi, txtNameObservable); tk.createLabel(body, Messages.BlockDetailDisplay_macro).setBackground(parent.getBackground()); tMacro = tk.createText(body, StringConstants.EMPTY, SWT.BORDER); tMacro.setData("TEST_COMP_NAME", "blkd_Makro_lst"); //$NON-NLS-1$ tMacro.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); IObservableValue txtMacroObservableUi = WidgetProperties.text(SWT.Modify).observeDelayed(100, tMacro); IObservableValue txtMacroObservable = PojoProperties.value("macro", String.class).observeDetail(master); dbc.bindValue(txtMacroObservableUi, txtMacroObservable); tk.createLabel(body, StringConstants.MANDATOR).setBackground(parent.getBackground()); cbMandant = new Combo(body, SWT.NONE); cbMandant.setData("TEST_COMP_NAME", "blkd_Mandant_cb"); //$NON-NLS-1$ 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.BlockDetailDisplay_all); 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.FLD_MANDANT_ID, m.getId()); } else { lb.set(Leistungsblock.FLD_MANDANT_ID, StringConstants.EMPTY); } } }); Group gList = new Group(body, SWT.BORDER); gList.setText(Messages.BlockDetailDisplay_services); //$NON-NLS-1$ gList.setLayoutData(SWTHelper.getFillGridData(2, true, 1, true)); gList.setLayout(new FillLayout()); tk.adapt(gList); lLst = new TableViewer(gList, SWT.NONE); lLst.setData("TEST_COMP_NAME", "blkd_Leistung_Lst"); //$NON-NLS-1$ 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.getElementReferences(); if (lst == null) { return new Object[0]; } return lst.toArray(); } }); lLst.setLabelProvider(new ColorizedLabelProvider()); final TextTransfer textTransfer = TextTransfer.getInstance(); Transfer[] types = new Transfer[] { textTransfer }; lLst.addDropSupport(DND.DROP_COPY, types, new DropTargetListener() { public void dragEnter(final DropTargetEvent event) { PersistentObject dropped = PersistentObjectDragSource.getDraggedObject(); if (dropped instanceof Artikel) { if (((Artikel) dropped).isProduct()) { event.detail = event.detail = DND.DROP_NONE; return; } } 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 = CoreHub.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) { } }); bNew = tk.createButton(body, Messages.BlockDetailDisplay_addPredefinedServices, SWT.PUSH); //$NON-NLS-1$ bNew.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); bNew.setData("TEST_COMP_NAME", "blkd_addPredefinedServices_btn"); //$NON-NLS-1$ 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.BlockDetailDisplay_addSelfDefinedServices, SWT.PUSH); //$NON-NLS-1$ bEigen.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); bEigen.setData("TEST_COMP_NAME", "blkd_createPredefinedServices_btn"); //$NON-NLS-1$ 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(); } }); bDiag = tk.createButton(body, "Diagnose hinzufgen", SWT.PUSH); //$NON-NLS-1$ bDiag.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); bDiag.setData("TEST_COMP_NAME", "btn_addDiagnosis_btn"); //$NON-NLS-1$ bDiag.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { try { site.getPage().showView(DiagnosenView.ID); } catch (Exception ex) { ElexisStatus status = new ElexisStatus(ElexisStatus.ERROR, Hub.PLUGIN_ID, ElexisStatus.CODE_NONE, "Fehler beim Starten des Diagnosecodes " + ex.getMessage(), ex, ElexisStatus.LOG_ERRORS); StatusManager.getManager().handle(status, StatusManager.SHOW); } } }); makeActions(); ViewMenus menus = new ViewMenus(site); menus.createControlContextMenu(lLst.getControl(), new ViewMenus.IMenuPopulator() { public IAction[] fillMenu() { ICodeElement element = (ICodeElement) ((IStructuredSelection) lLst.getSelection()) .getFirstElement(); if (element 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.core.ui.views.MediVerlaufView.java
License:Open Source License
@Override public void createPartControl(final Composite parent) { parent.setLayout(new FillLayout()); tv = new TableViewer(parent, SWT.NONE); Table table = tv.getTable();/*from www .j a va 2 s.c om*/ for (int i = 0; i < columns.length; i++) { TableColumn tc = new TableColumn(table, SWT.NONE); tc.setText(columns[i]); tc.setWidth(colwidth[i]); tc.setData(i); tc.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { int i = (Integer) ((TableColumn) e.getSource()).getData(); if (sortCol == i) { revert = !revert; } else { revert = false; } sortCol = i; reload(); } }); } table.setHeaderVisible(true); table.setLinesVisible(true); tv.setUseHashlookup(true); tv.setContentProvider(new MediVerlaufContentProvider()); tv.setLabelProvider(new MediVerlaufLabelProvider()); GlobalEventDispatcher.addActivationListener(this, getViewSite().getPart()); tv.setSorter(sorter); tv.setInput(getViewSite()); }
From source file:ch.elexis.core.ui.views.rechnung.AccountListView.java
License:Open Source License
public void createPartControl(Composite parent) { loader = new DataLoader(); parent.setLayout(new FillLayout()); tk = UiDesk.getToolkit();//from w w w.ja v a 2 s .c om form = tk.createForm(parent); form.getBody().setLayout(new GridLayout(1, false)); // account list tk.createLabel(form.getBody(), Messages.AccountListView_accountList); //$NON-NLS-1$ accountListViewer = new TableViewer(form.getBody(), SWT.SINGLE | SWT.FULL_SELECTION); Table table = accountListViewer.getTable(); table.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); table.setHeaderVisible(true); table.setLinesVisible(true); TableColumn[] tc = new TableColumn[COLUMN_TEXT.length]; for (int i = 0; i < COLUMN_TEXT.length; i++) { tc[i] = new TableColumn(table, SWT.NONE); tc[i].setText(COLUMN_TEXT[i]); tc[i].setWidth(COLUMN_WIDTH[i]); } accountListViewer.setContentProvider(new IStructuredContentProvider() { public Object[] getElements(Object inputElement) { if (loader.isValid()) { Object result = loader.getData(); if (result instanceof Object[]) { return (Object[]) result; } else { // invalid data return new Object[0]; } } else { loader.schedule(); return new Object[] { Messages.AccountListView_loadingData }; //$NON-NLS-1$ } } public void dispose() { // nothing to do } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // nothing to do } }); accountListViewer.setLabelProvider(new ITableLabelProvider() { public void addListener(ILabelProviderListener listener) { // nothing to do } public void removeListener(ILabelProviderListener listener) { // nothing to do } public void dispose() { // nothing to do } public String getColumnText(Object element, int columnIndex) { if (!(element instanceof AccountListEntry)) { return ""; //$NON-NLS-1$ } AccountListEntry entry = (AccountListEntry) element; String text = ""; //$NON-NLS-1$ switch (columnIndex) { case NAME: text = entry.name; break; case FIRSTNAME: text = entry.vorname; break; case BIRTHDATE: text = entry.geburtsdatum; break; case SALDO: text = entry.saldo.toString(); break; } return text; } public Image getColumnImage(Object element, int columnIndex) { return null; } public boolean isLabelProperty(Object element, String property) { return false; } }); // viewer.setSorter(new NameSorter()); accountListViewer.setInput(getViewSite()); /* * makeActions(); hookContextMenu(); hookDoubleClickAction(); contributeToActionBars(); */ GlobalEventDispatcher.addActivationListener(this, this); }
From source file:ch.elexis.core.ui.views.rechnung.AccountView.java
License:Open Source License
public void createPartControl(Composite parent) { initializeJobs();/*from ww w . j av a2s .c o m*/ parent.setLayout(new FillLayout()); tk = UiDesk.getToolkit(); form = tk.createForm(parent); form.getBody().setLayout(new GridLayout(1, false)); // account infos Composite accountArea = tk.createComposite(form.getBody()); accountArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); accountArea.setLayout(new GridLayout(3, false)); tk.createLabel(accountArea, Messages.AccountView_account); //$NON-NLS-1$ tk.createLabel(accountArea, Messages.AccountView_accountAmount); //$NON-NLS-1$ balanceLabel = tk.createLabel(accountArea, ""); //$NON-NLS-1$ balanceLabel.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); tk.createLabel(accountArea, ""); // dummy //$NON-NLS-1$ tk.createLabel(accountArea, Messages.AccountView_goodFromBills); //$NON-NLS-1$ excessLabel = tk.createLabel(accountArea, ""); //$NON-NLS-1$ excessLabel.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); // account entries accountViewer = new TableViewer(form.getBody(), SWT.SINGLE | SWT.FULL_SELECTION); Table table = accountViewer.getTable(); table.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); tk.adapt(table); table.setHeaderVisible(true); table.setLinesVisible(true); SelectionAdapter sortListener = new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { TableColumn col = (TableColumn) e.getSource(); Integer colNo = (Integer) col.getData(); if (colNo == sortColumn) { sortReverse = !sortReverse; } else { sortReverse = false; sortColumn = colNo; } accountViewer.getTable().setSortDirection(sortReverse ? SWT.DOWN : SWT.UP); accountViewer.getTable().setSortColumn(col); accountViewer.refresh(); } }; // columns TableColumn[] tc = new TableColumn[COLUMN_TEXT.length]; for (int i = 0; i < COLUMN_TEXT.length; i++) { tc[i] = new TableColumn(table, SWT.NONE); tc[i].setText(COLUMN_TEXT[i]); tc[i].setWidth(COLUMN_WIDTH[i]); tc[i].setData(new Integer(i)); tc[i].addSelectionListener(sortListener); } accountViewer.setContentProvider(new IStructuredContentProvider() { public Object[] getElements(Object inputElement) { if (actPatient == null) { return new Object[] { Messages.AccountView_NoPatientSelected }; } Query<AccountTransaction> qa = new Query<AccountTransaction>(AccountTransaction.class); qa.add(AccountTransaction.FLD_PATIENT_ID, Query.EQUALS, actPatient.getId()); qa.orderBy(true, new String[] { AccountTransaction.FLD_DATE }); return qa.execute().toArray(); } public void dispose() { // nothing to do } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // nothing to do } }); accountViewer.setLabelProvider(new ITableLabelProvider() { public void addListener(ILabelProviderListener listener) { // nothing to do } public void removeListener(ILabelProviderListener listener) { // nothing to do } public void dispose() { // nothing to do } public String getColumnText(Object element, int columnIndex) { if (!(element instanceof AccountTransaction)) { return ""; } AccountTransaction entry = (AccountTransaction) element; String text = ""; Account account = null; switch (columnIndex) { case DATE: text = entry.get("Datum"); break; case AMOUNT: text = entry.getAmount().getAmountAsString(); break; case BILL: Rechnung rechnung = entry.getRechnung(); if (rechnung != null && rechnung.exists()) { text = rechnung.getNr(); } else { text = ""; //$NON-NLS-1$ } break; case REMARKS: text = entry.getRemark(); break; case ACCOUNT: account = entry.getAccount(); if (account != null && account != Account.UNKNOWN) { text = account.getName(); } break; } return text; } public Image getColumnImage(Object element, int columnIndex) { return null; } public boolean isLabelProperty(Object element, String property) { return false; } }); accountViewer.setSorter(new AccountTransactionSorter()); // viewer.setSorter(new NameSorter()); accountViewer.setInput(getViewSite()); /* * makeActions(); hookContextMenu(); hookDoubleClickAction(); contributeToActionBars(); */ makeActions(); ViewMenus menu = new ViewMenus(getViewSite()); menu.createToolbar(addPaymentAction /* * do not use yet ,removePaymentAction */); removePaymentAction.setEnabled(false); GlobalEventDispatcher.addActivationListener(this, this); accountViewer.addSelectionChangedListener(GlobalEventDispatcher.getInstance().getDefaultListener()); if (sortColumn == DATE) { sortReverse = true; } }
From source file:ch.elexis.core.ui.views.rechnung.BillingProposalView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { viewer = new TableViewer(parent, SWT.FULL_SELECTION | SWT.BORDER | SWT.MULTI | SWT.VIRTUAL); viewer.getTable().setHeaderVisible(true); viewer.setContentProvider(new BillingInformationContentProvider(viewer)); comparator = new BillingProposalViewerComparator(); viewer.setComparator(comparator);/*from w ww . j a va 2 s . c o m*/ TableViewerColumn patNameColumn = new TableViewerColumn(viewer, SWT.NONE); patNameColumn.getColumn().setWidth(175); patNameColumn.getColumn().setText("Patient"); patNameColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof BillingInformation) { return ((BillingInformation) element).getPatientName(); } else { return super.getText(element); } } }); patNameColumn.getColumn().addSelectionListener(getSelectionAdapter(0)); TableViewerColumn patNrColumn = new TableViewerColumn(viewer, SWT.NONE); patNrColumn.getColumn().setWidth(50); patNrColumn.getColumn().setText("PatNr"); patNrColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof BillingInformation) { return Integer.toString(((BillingInformation) element).getPatientNr()); } else { return super.getText(element); } } }); patNrColumn.getColumn().addSelectionListener(getSelectionAdapter(1)); TableViewerColumn dateColumn = new TableViewerColumn(viewer, SWT.NONE); dateColumn.getColumn().setWidth(75); dateColumn.getColumn().setText("Datum"); dateColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof BillingInformation) { return ((BillingInformation) element).getDate() .format(DateTimeFormatter.ofPattern("dd.MM.yyyy")); } else { return super.getText(element); } } }); dateColumn.getColumn().addSelectionListener(getSelectionAdapter(2)); TableViewerColumn accountingSystemColumn = new TableViewerColumn(viewer, SWT.NONE); accountingSystemColumn.getColumn().setWidth(75); accountingSystemColumn.getColumn().setText("Fall"); accountingSystemColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof BillingInformation) { return ((BillingInformation) element).getAccountingSystem(); } else { return super.getText(element); } } }); TableViewerColumn insurerColumn = new TableViewerColumn(viewer, SWT.NONE); insurerColumn.getColumn().setWidth(175); insurerColumn.getColumn().setText("Versicherer"); insurerColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof BillingInformation) { return ((BillingInformation) element).getInsurer(); } else { return super.getText(element); } } }); TableViewerColumn totalColumn = new TableViewerColumn(viewer, SWT.NONE); totalColumn.getColumn().setWidth(75); totalColumn.getColumn().setText("Total"); totalColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof BillingInformation) { return ((BillingInformation) element).getTotal(); } else { return super.getText(element); } } }); TableViewerColumn checkResultColumn = new TableViewerColumn(viewer, SWT.NONE); checkResultColumn.getColumn().setWidth(200); checkResultColumn.getColumn().setText("Prfergebnis"); checkResultColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof BillingInformation) { return ((BillingInformation) element).getCheckResultMessage(); } else { return super.getText(element); } } @Override public Color getBackground(Object element) { if (element instanceof BillingInformation) { return ((BillingInformation) element).isOk() ? lightGreen : lightRed; } else { return super.getForeground(element); } } }); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); if (selection != null && !selection.isEmpty()) { if (selection.getFirstElement() instanceof BillingInformation) { Konsultation kons = ((BillingInformation) selection.getFirstElement()).getKonsultation(); ElexisEventDispatcher.fireSelectionEvent(kons); } } } }); viewer.getControl().addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent e) { if (e.keyCode == SWT.F5) { refresh(); } } }); MenuManager menuManager = new MenuManager(); Menu menu = menuManager.createContextMenu(viewer.getControl()); viewer.getControl().setMenu(menu); getSite().registerContextMenu(menuManager, viewer); getSite().setSelectionProvider(viewer); }
From source file:ch.elexis.core.ui.views.rechnung.BillSummary.java
License:Open Source License
public void createPartControl(Composite parent) { parent.setLayout(new FillLayout()); tk = UiDesk.getToolkit();//from w w w.j a va2s .c om form = tk.createForm(parent); form.getBody().setLayout(new GridLayout(1, false)); // general infos Composite generalArea = tk.createComposite(form.getBody()); generalArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); generalArea.setLayout(new GridLayout(2, false)); tk.createLabel(generalArea, Messages.BillSummary_total); //$NON-NLS-1$ totalLabel = tk.createLabel(generalArea, ""); //$NON-NLS-1$ totalLabel.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); tk.createLabel(generalArea, Messages.BillSummary_paid); //$NON-NLS-1$ paidLabel = tk.createLabel(generalArea, ""); //$NON-NLS-1$ paidLabel.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); tk.createLabel(generalArea, Messages.BillSummary_open2); //$NON-NLS-1$ openLabel = tk.createLabel(generalArea, ""); //$NON-NLS-1$ openLabel.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); // bills billsViewer = new TableViewer(form.getBody(), SWT.SINGLE | SWT.FULL_SELECTION); Table table = billsViewer.getTable(); table.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); tk.adapt(table); table.setHeaderVisible(true); table.setLinesVisible(true); // columns TableColumn[] tc = new TableColumn[COLUMN_TEXT.length]; for (int i = 0; i < COLUMN_TEXT.length; i++) { tc[i] = new TableColumn(table, SWT.NONE); tc[i].setText(COLUMN_TEXT[i]); tc[i].setWidth(COLUMN_WIDTH[i]); } // Allow sorting on date ascending and descending SortListener sortListener = new SortListener(); tc[1].addSelectionListener(sortListener); billsViewer.setContentProvider(new IStructuredContentProvider() { public Object[] getElements(Object inputElement) { if (actPatient == null) { return new Object[] { Messages.BillSummary_NoPatientSelected }; } return getRechnungen(actPatient).toArray(); } public void dispose() { // nothing to do } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // nothing to do } }); billsViewer.setLabelProvider(new ITableLabelProvider() { public void addListener(ILabelProviderListener listener) { // nothing to do } public void removeListener(ILabelProviderListener listener) { // nothing to do } public void dispose() { // nothing to do } public String getColumnText(Object element, int columnIndex) { if (!(element instanceof Rechnung)) { return ""; //$NON-NLS-1$ } Rechnung rechnung = (Rechnung) element; String text = ""; //$NON-NLS-1$ switch (columnIndex) { case NUMBER: text = rechnung.get(Rechnung.BILL_NUMBER); break; case DATE: text = rechnung.get(Rechnung.BILL_DATE); break; case AMOUNT: text = rechnung.getBetrag().toString(); break; case AMOUNT_DUE: text = rechnung.getOffenerBetrag().toString(); break; case STATUS: text = RnStatus.getStatusText(rechnung.getStatus()); break; case GARANT: text = rechnung.getFall().getGarant().getLabel(); break; } return text; } public Image getColumnImage(Object element, int columnIndex) { return null; } public boolean isLabelProperty(Object element, String property) { return false; } }); billsViewer.setInput(getViewSite()); makeActions(); ViewMenus menu = new ViewMenus(getViewSite()); menu.createMenu(exportToClipboardAction); GlobalEventDispatcher.addActivationListener(this, this); billsViewer.addSelectionChangedListener(GlobalEventDispatcher.getInstance().getDefaultListener()); }
From source file:ch.elexis.core.ui.views.rechnung.InvoiceListView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { parent.setLayout(new GridLayout(1, false)); invoiceListHeaderComposite = new InvoiceListHeaderComposite(parent, SWT.NONE, this); Composite compositeInvoiceList = new Composite(parent, SWT.NONE); compositeInvoiceList.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); TableColumnLayout tcl_compositeInvoiceList = new TableColumnLayout(); compositeInvoiceList.setLayout(tcl_compositeInvoiceList); tableViewerInvoiceList = new TableViewer(compositeInvoiceList, SWT.FULL_SELECTION | SWT.BORDER | SWT.MULTI | SWT.VIRTUAL); tableViewerInvoiceList.addSelectionChangedListener(selection -> { StructuredSelection ss = (StructuredSelection) selection.getSelection(); if (!ss.isEmpty()) { InvoiceEntry firstElement = (InvoiceEntry) ss.getFirstElement(); Rechnung load = Rechnung.load(firstElement.getInvoiceId()); ElexisEventDispatcher.fireSelectionEvent(load); Fall f = load.getFall();/*from w ww .j a v a 2 s . c o m*/ if (f != null) { ElexisEventDispatcher.fireSelectionEvent(f); } } }); Table tableInvoiceList = tableViewerInvoiceList.getTable(); tableInvoiceList.setHeaderVisible(true); tableInvoiceList.setLinesVisible(false); tableViewerInvoiceList.getControl().addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent e) { if (e.keyCode == SWT.F5) { refresh(); } } }); TableViewerColumn tvcInvoiceNo = new TableViewerColumn(tableViewerInvoiceList, SWT.NONE); TableColumn tblclmnInvoiceNo = tvcInvoiceNo.getColumn(); tblclmnInvoiceNo.setData(VIEW_FLD_INVOICENO); tcl_compositeInvoiceList.setColumnData(tblclmnInvoiceNo, new ColumnPixelData(50, true, true)); tblclmnInvoiceNo.setText(Messages.InvoiceListView_tblclmnInvoiceNo_text); tvcInvoiceNo.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof InvoiceEntry) { return ((InvoiceEntry) element).getInvoiceNumber(); } return super.getText(element); } }); tblclmnInvoiceNo.addSelectionListener(sortAdapter); TableViewerColumn tvcInvoiceState = new TableViewerColumn(tableViewerInvoiceList, SWT.NONE); TableColumn tblclmnInvoiceState = tvcInvoiceState.getColumn(); tcl_compositeInvoiceList.setColumnData(tblclmnInvoiceState, new ColumnPixelData(90, true, true)); tblclmnInvoiceState.setText(Messages.InvoiceListView_tblclmnInvoiceState_text); tvcInvoiceState.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof InvoiceEntry) { return ((InvoiceEntry) element).getInvoiceState().getLocaleText(); } return super.getText(element); } }); TableViewerColumn tvcInvoiceStateDateSince = new TableViewerColumn(tableViewerInvoiceList, SWT.NONE); TableColumn tblclmnInvoiceStateDateSince = tvcInvoiceStateDateSince.getColumn(); tcl_compositeInvoiceList.setColumnData(tblclmnInvoiceStateDateSince, new ColumnPixelData(50, true, true)); tblclmnInvoiceStateDateSince.setText(Messages.InvoiceListView_tblclmnInvoiceStateDateSince_text); tvcInvoiceStateDateSince.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof InvoiceEntry) { return ((InvoiceEntry) element).getInvoiceStateSinceDays() + "d"; } return super.getText(element); } }); tblclmnInvoiceStateDateSince.setData(InvoiceListSqlQuery.VIEW_FLD_INVOICESTATEDATE); tblclmnInvoiceStateDateSince.addSelectionListener(sortAdapter); TableViewerColumn tvcPatient = new TableViewerColumn(tableViewerInvoiceList, SWT.NONE); TableColumn tblclmnPatient = tvcPatient.getColumn(); tcl_compositeInvoiceList.setColumnData(tblclmnPatient, new ColumnWeightData(10, 100, true)); tblclmnPatient.setText(Messages.InvoiceListView_tblclmnPatient_text); tblclmnPatient.setData(Kontakt.FLD_NAME1); tvcPatient.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof InvoiceEntry) { return ((InvoiceEntry) element).getPatientName(); } return super.getText(element); } }); tblclmnPatient.addSelectionListener(sortAdapter); TableViewerColumn tvcLaw = new TableViewerColumn(tableViewerInvoiceList, SWT.NONE); TableColumn tblclmnLaw = tvcLaw.getColumn(); tcl_compositeInvoiceList.setColumnData(tblclmnLaw, new ColumnPixelData(50, true, true)); tblclmnLaw.setText(Messages.InvoiceListView_tblclmnLaw_text); tvcLaw.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof InvoiceEntry) { return ((InvoiceEntry) element).getLaw(); } return super.getText(element); } }); TableViewerColumn tvcPayerType = new TableViewerColumn(tableViewerInvoiceList, SWT.NONE); TableColumn tblclmnType = tvcPayerType.getColumn(); tcl_compositeInvoiceList.setColumnData(tblclmnType, new ColumnPixelData(50, true, true)); tblclmnType.setText(Messages.InvoiceListView_tblclmnType_text); tvcPayerType.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof InvoiceEntry) { return ((InvoiceEntry) element).getPayerType(); } return super.getText(element); } }); TableViewerColumn tvcReceiver = new TableViewerColumn(tableViewerInvoiceList, SWT.NONE); TableColumn tblclmnReceiver = tvcReceiver.getColumn(); tcl_compositeInvoiceList.setColumnData(tblclmnReceiver, new ColumnPixelData(150, true, true)); tblclmnReceiver.setText(Messages.InvoiceListView_tblclmnReceiver_text); tvcReceiver.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof InvoiceEntry) { return ((InvoiceEntry) element).getReceiverLabel(); } return super.getText(element); } }); TableViewerColumn tvcTreatmentPeriod = new TableViewerColumn(tableViewerInvoiceList, SWT.NONE); TableColumn tblclmnTreatmentperiod = tvcTreatmentPeriod.getColumn(); tcl_compositeInvoiceList.setColumnData(tblclmnTreatmentperiod, new ColumnPixelData(100, true, true)); tblclmnTreatmentperiod.setText(Messages.InvoiceListView_tblclmnTreatmentperiod_text); tblclmnTreatmentperiod.setData(Rechnung.BILL_DATE_FROM); tvcTreatmentPeriod.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof InvoiceEntry) { return ((InvoiceEntry) element).getTreatmentPeriod(); } return super.getText(element); } }); tblclmnTreatmentperiod.addSelectionListener(sortAdapter); TableViewerColumn tvcOpenAmount = new TableViewerColumn(tableViewerInvoiceList, SWT.NONE); TableColumn tblclmnOpenAmount = tvcOpenAmount.getColumn(); tcl_compositeInvoiceList.setColumnData(tblclmnOpenAmount, new ColumnPixelData(60, true, true)); tblclmnOpenAmount.setText(Messages.InvoiceListView_tblclmnOpenAmount_text); tblclmnOpenAmount.setData(VIEW_FLD_OPENAMOUNT); tvcOpenAmount.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof InvoiceEntry) { int openAmount = ((InvoiceEntry) element).getOpenAmount(); return new Money(openAmount).getAmountAsString(); } return super.getText(element); } }); tblclmnOpenAmount.addSelectionListener(sortAdapter); TableViewerColumn tvcTotalAmount = new TableViewerColumn(tableViewerInvoiceList, SWT.NONE); TableColumn tblclmnTotalAmount = tvcTotalAmount.getColumn(); tblclmnTotalAmount.setData(VIEW_FLD_INVOICETOTAL); tcl_compositeInvoiceList.setColumnData(tblclmnTotalAmount, new ColumnPixelData(60, true, true)); tblclmnTotalAmount.setText(Messages.InvoiceListView_tblclmnTotalAmount_text); tvcTotalAmount.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof InvoiceEntry) { int totalAmountInCents = ((InvoiceEntry) element).getTotalAmount(); return new Money(totalAmountInCents).getAmountAsString(); } return super.getText(element); } }); tblclmnTotalAmount.addSelectionListener(sortAdapter); invoiceListBottomComposite = new InvoiceListBottomComposite(parent, SWT.NONE, rnStellerSettings); invoiceListContentProvider = new InvoiceListContentProvider(tableViewerInvoiceList, invoiceListHeaderComposite, invoiceListBottomComposite); tableViewerInvoiceList.setContentProvider(invoiceListContentProvider); InvoiceActions invoiceActions = new InvoiceActions(tableViewerInvoiceList, getViewSite()); IToolBarManager tbm = getViewSite().getActionBars().getToolBarManager(); tbm.add(reloadViewAction); tbm.add(invoiceActions.mahnWizardAction); tbm.add(invoiceListContentProvider.rnFilterAction); tbm.add(new Separator()); tbm.add(invoiceActions.rnExportAction); IMenuManager viewMenuManager = getViewSite().getActionBars().getMenuManager(); viewMenuManager.add(invoiceActions.printListeAction); viewMenuManager.add(invoiceActions.addAccountExcessAction); MenuManager menuManager = new MenuManager(); menuManager.add(invoiceActions.rnExportAction); menuManager.add(invoiceActions.addPaymentAction); menuManager.add(invoiceActions.addExpenseAction); menuManager.add(invoiceActions.increaseLevelAction); menuManager.add(new Separator()); menuManager.add(invoiceActions.changeStatusAction); menuManager.add(invoiceActions.stornoAction); Menu contextMenu = menuManager.createContextMenu(tableViewerInvoiceList.getTable()); tableInvoiceList.setMenu(contextMenu); getSite().registerContextMenu(menuManager, tableViewerInvoiceList); getSite().setSelectionProvider(tableViewerInvoiceList); setSortOrder(tblclmnPatient, SWT.UP); refresh(); }
From source file:ch.elexis.core.ui.views.RezepteView.java
License:Open Source License
@Override public void createPartControl(final Composite parent) { setTitleImage(Images.IMG_VIEW_RECIPES.getImage()); parent.setLayout(new GridLayout()); master = tk.createForm(parent);/*from w w w . j ava2s. c o m*/ 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 (Image) 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(ExtensionPointConstantsUi.REZEPT_HOOK), //$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.RezepteView_NoPrescriptionSelected, //$NON-NLS-1$ Messages.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); 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()); 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.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.core.ui.views.ScriptView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { form = UiDesk.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 ww w. j ava 2 s .c o 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.dialogs.DocumentSelectDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite ret = new Composite(parent, SWT.NONE); ret.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); ret.setLayout(new GridLayout()); if ((type & TEMPLATE) != 0) { new Label(ret, SWT.NONE).setText(Messages.getString("DocumentSelectDialog.subject")); //$NON-NLS-1$ tBetreff = SWTHelper.createText(ret, 1, SWT.NONE); new Label(ret, SWT.SEPARATOR | SWT.HORIZONTAL); }/*from w w w.j a v a 2 s. c o m*/ tv = new TableViewer(ret, SWT.V_SCROLL); tv.setContentProvider(new IStructuredContentProvider() { public Object[] getElements(Object inputElement) { Query<Brief> qbe = new Query<Brief>(Brief.class); if (type == TYPE_LOAD_DOCUMENT) { qbe.add(Brief.FLD_TYPE, Query.NOT_EQUAL, Brief.TEMPLATE); } else { String sys = type == TYPE_LOAD_SYSTEMPLATE ? Query.EQUALS : Query.NOT_EQUAL; qbe.add(Brief.FLD_TYPE, Query.EQUALS, Brief.TEMPLATE); qbe.add(Brief.FLD_KONSULTATION_ID, sys, "SYS"); //$NON-NLS-1$ qbe.startGroup(); qbe.add(Brief.FLD_DESTINATION_ID, Query.EQUALS, Hub.actMandant.getId()); qbe.or(); qbe.add(Brief.FLD_DESTINATION_ID, Query.EQUALS, StringTool.leer); qbe.endGroup(); } qbe.and(); qbe.add("deleted", Query.NOT_EQUAL, StringConstants.ONE); //$NON-NLS-1$ if (type != TYPE_LOAD_DOCUMENT) { qbe.orderBy(false, Brief.FLD_SUBJECT); } else { qbe.orderBy(false, Brief.FLD_DATE); } List<Brief> l = qbe.execute(); return l.toArray(); } public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); tv.setLabelProvider(new MyLabelProvider()); makeActions(); menu = new MenuManager(); menu.setRemoveAllWhenShown(true); menu.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { menu.add(editNameAction); if (type == TYPE_LOAD_TEMPLATE) { // only show in load template dialog Brief sel = (Brief) ((IStructuredSelection) tv.getSelection()).getFirstElement(); if (getDontAskForAddresseeForThisTemplate(sel)) { menu.add(editDontAskForAddressee); editDontAskForAddressee.setChecked(false); } else { menu.add(editDontAskForAddressee); editDontAskForAddressee.setChecked(true); } } menu.add((type & TEMPLATE) != 0 ? deleteTemplateAction : deleteTextAction); } }); tv.getControl().setMenu(menu.createContextMenu(tv.getControl())); tv.getControl().setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); tv.setInput(this); tv.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { okPressed(); } }); return ret; }