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

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

Introduction

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

Prototype

public TableViewer(Composite parent, int style) 

Source Link

Document

Creates a table viewer on a newly-created table control under the given parent.

Usage

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

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite mainArea = new Composite(parent, SWT.NONE);
    mainArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    mainArea.setLayout(new GridLayout());

    Composite scannerArea = new Composite(mainArea, SWT.NONE);
    scannerArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    scannerArea.setLayout(new GridLayout());

    Group scannerGroup = new Group(scannerArea, SWT.NONE);
    scannerGroup.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    scannerGroup.setLayout(new GridLayout(4, false));
    scannerGroup.setText("Einlesen mit Barcode-Scanner");

    diffSpinner = new Spinner(scannerGroup, SWT.NONE);
    diffSpinner.setMinimum(DIFF_SPINNER_MIN);
    diffSpinner.setSelection(DIFF_SPINNER_DEFAULT);

    Label eanLabel = new Label(scannerGroup, SWT.NONE);
    eanLabel.setText("EAN:");
    eanText = new ElexisText(scannerGroup, SWT.NONE);
    eanText.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));

    eanText.addKeyListener(new KeyAdapter() {
        @Override/*www  . j a  v a  2 s  .  c  o m*/
        public void keyPressed(KeyEvent e) {
            if (e.character == SWT.CR) {
                applyScanner();
            }
        }
    });

    Button button = new Button(scannerGroup, SWT.PUSH);
    button.setText("bernehmen");
    button.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            applyScanner();
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            // do nothing
        }
    });

    Composite tableArea = new Composite(mainArea, SWT.NONE);
    tableArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    tableArea.setLayout(new GridLayout());

    viewer = new TableViewer(tableArea, SWT.FULL_SELECTION);
    Table table = viewer.getTable();
    table.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    table.setLinesVisible(true);
    table.setHeaderVisible(true);

    verifiedColor = table.getDisplay().getSystemColor(SWT.COLOR_DARK_GREEN);
    boldFont = createBoldFont(table.getFont());

    final TableViewerFocusCellManager mgr = new TableViewerFocusCellManager(viewer,
            new FocusCellOwnerDrawHighlighter(viewer));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(viewer) {
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && (event.keyCode == SWT.CR || event.character == ' '))
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };

    TableViewerEditor.create(viewer, mgr, actSupport,
            ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
                    | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);

    createViewerColumns();

    viewer.setContentProvider(new ViewerContentProvider());
    viewer.setInput(this);

    Composite cButtons = new Composite(mainArea, SWT.NONE);
    cButtons.setLayout(new GridLayout(2, false));
    final Button clickAllButton = new Button(cButtons, SWT.PUSH);
    clickAllButton.setText(ALLE_MARKIEREN);
    clickAllButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            boolean bv = true;
            if (clickAllButton.getText().equals(ALLE_MARKIEREN)) {
                bv = true;
                clickAllButton.setText("Alle demarkieren");
            } else {
                bv = false;
                clickAllButton.setText(ALLE_MARKIEREN);
            }

            for (OrderElement oe : orderElements) {
                oe.setVerified(bv);
            }
            viewer.refresh(true);
        }

    });
    Button importButton = new Button(cButtons, SWT.PUSH);
    GridData gd = new GridData(SWT.RIGHT, SWT.CENTER, false, false);
    importButton.setLayoutData(gd);
    importButton.setText("Lagerbestnde anpassen");
    importButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            doImport();
        }
    });
    cButtons.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    return mainArea;
}

From source file:ch.elexis.extdoc.dialogs.VerifierDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    parent.setLayout(new GridLayout());

    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    composite.setLayout(new GridLayout());

    viewer = new TableViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);

    Table table = viewer.getTable();/*from   w  w w.  ja v  a  2s  . c  o  m*/
    table.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    table.setHeaderVisible(true);
    table.setLinesVisible(false);

    TableColumn tc;

    tc = new TableColumn(table, SWT.LEFT);
    tc.setText(""); //$NON-NLS-1$
    tc.setWidth(40);

    tc = new TableColumn(table, SWT.LEFT);
    tc.setText(Messages.ExterneDokumente_file_date);
    tc.setWidth(120);
    tc.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            // TODO sort by Datum
            // http://www.vogella.de/articles/EclipseJFaceTable/article.html#sortcolumns
        }
    });

    tc = new TableColumn(table, SWT.LEFT);
    tc.setText(Messages.VerifierDialog_name);
    tc.setWidth(200);
    tc.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            // TODO sort by Nummer
        }
    });

    viewer.setContentProvider(new VerifierContentProvider());
    viewer.setLabelProvider(new VerifierLabelProvider());
    viewer.setComparator(new TimestampComparator());
    viewer.setInput(this);

    // edit file properties at if double clicked

    viewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            StructuredSelection selection = (StructuredSelection) viewer.getSelection();
            if (selection != null) {
                Object element = selection.getFirstElement();
                if (element instanceof File) {
                    openFileEditorDialog((File) element);
                }
            }
        }
    });

    return composite;
}

From source file:ch.elexis.extdoc.views.ExterneDokumente.java

License:Open Source License

/**
 * This is a callback that will allow us to create the viewer and initialize it.
 *///www . java  2 s.c o m
public void createPartControl(Composite parent) {
    logger = LoggerFactory.getLogger(this.getClass());
    GridLayout gridLayout = new GridLayout(1, false);
    gridLayout.horizontalSpacing = 0;
    gridLayout.verticalSpacing = 0;
    gridLayout.marginWidth = 0;
    gridLayout.marginHeight = 0;
    parent.setLayout(gridLayout);

    Composite topArea = new Composite(parent, SWT.NONE);
    topArea.setLayoutData(SWTHelper.getFillGridData(1, false, 1, false));
    topArea.setLayout(new GridLayout());

    Composite bottomArea = new Composite(parent, SWT.NONE);
    bottomArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    bottomArea.setLayout(new GridLayout());

    // check boxes

    Composite pathArea = new Composite(topArea, SWT.NONE);
    pathArea.setLayout(new GridLayout(4, false));

    SelectionAdapter checkBoxListener = new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            refresh();
        }
    };

    PreferenceConstants.PathElement[] prefs = PreferenceConstants.getPrefenceElements();
    for (int j = 0; j < prefs.length; j++) {
        PreferenceConstants.PathElement cur = prefs[j];
        boolean emptyPath = (cur.name == null || cur.name.length() == 0 || cur.baseDir == null
                || cur.baseDir.length() == 0);
        if (j == 0 || !emptyPath) {
            pathCheckBoxes[j] = new Button(pathArea, SWT.CHECK);
            // Show the logical short name
            pathCheckBoxes[j].setText(cur.name);
            pathCheckBoxes[j].setSelection(PreferenceConstants.pathIsSelected(j));
            pathCheckBoxes[j].addSelectionListener(checkBoxListener);
            if (emptyPath) {
                pathCheckBoxes[j].setToolTipText(Messages.ExterneDokumente_not_defined_in_preferences);
            } else {
                if (!emptyPath)
                    pathCheckBoxes[j].setToolTipText(cur.baseDir);
            }
        }
    }

    // table
    viewer = new TableViewer(bottomArea, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);

    Table table = viewer.getTable();
    table.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    table.setHeaderVisible(true);
    table.setLinesVisible(false);

    TableColumn tc;
    timeComparator = new TimestampComparator();
    nameComparator = new FilenameComparator();

    tc = new TableColumn(table, SWT.LEFT);
    tc.setText(Messages.ExterneDokumente_file_date);
    tc.setWidth(120);
    tc.setToolTipText(Messages.ExterneDokumente_click_to_sort_by_date);
    tc.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            if (viewer.getComparator() == timeComparator)
                timeComparator.changeSortOrder();
            else
                viewer.setComparator(timeComparator);
            viewer.refresh();
        }
    });

    tc = new TableColumn(table, SWT.LEFT);
    tc.setText(Messages.ExterneDokumente_file_name);
    tc.setWidth(400);
    tc.setToolTipText(Messages.ExterneDokumente_click_to_sort_by_name);
    tc.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            if (viewer.getComparator() == nameComparator)
                nameComparator.changeSortOrder();
            else
                viewer.setComparator(nameComparator);
            viewer.refresh();
        }
    });

    viewer.setContentProvider(new ViewContentProvider());
    viewer.setLabelProvider(new ViewLabelProvider());
    viewer.setComparator(timeComparator);
    viewer.setInput(getViewSite());

    makeActions();
    hookContextMenu();
    hookDoubleClickAction();
    contributeToActionBars();
    Transfer[] transferTypes = new Transfer[] { FileTransfer.getInstance() };
    viewer.addDropSupport(DND.DROP_COPY, transferTypes, new DropTargetAdapter() {

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

        @Override
        public void drop(DropTargetEvent event) {
            String[] files = (String[]) event.data;
            for (String file : files) {
                addFile(file);
                viewer.refresh();
            }

        }

    });

    // Welcher Patient ist im aktuellen WorkbenchWindow selektiert?
    actPatient = (Patient) ElexisEventDispatcher.getSelected(Patient.class);
    GlobalEventDispatcher.addActivationListener(this, this);
}

From source file:ch.elexis.preferences.LaborPrefs.java

License:Open Source License

protected Control createContents(Composite parn) {
    noDefaultAndApplyButton();/*from w  w  w  . j  a  va  2  s  .c o  m*/

    Composite tableComposite = new Composite(parn, SWT.NONE);
    GridData gd = new GridData();
    tableComposite.setLayoutData(gd);
    TableColumnLayout tableColumnLayout = new TableColumnLayout();
    tableComposite.setLayout(tableColumnLayout);
    tableViewer = new TableViewer(tableComposite, SWT.BORDER | SWT.FULL_SELECTION);
    table = tableViewer.getTable();

    for (int i = 0; i < headers.length; i++) {
        TableColumn tc = new TableColumn(table, SWT.LEFT);
        tc.setText(headers[i]);
        tableColumnLayout.setColumnData(tc, new ColumnWeightData(colwidth[i], true));
        tc.setData(i);
        tc.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                sortC = (Integer) ((TableColumn) e.getSource()).getData();
                tableViewer.refresh(true);
            }

        });
    }
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    table.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    tableViewer.setContentProvider(new IStructuredContentProvider() {

        public Object[] getElements(Object inputElement) {
            return LabItem.getLabItems().toArray();
        }

        public void dispose() {
        }

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

    });
    tableViewer.setLabelProvider(new LabListLabelProvider());
    tableViewer.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection sel = (IStructuredSelection) tableViewer.getSelection();
            Object o = sel.getFirstElement();
            if (o instanceof LabItem) {
                LabItem li = (LabItem) o;
                EditLabItem eli = new EditLabItem(getShell(), li);
                eli.create();
                if (eli.open() == Dialog.OK) {
                    tableViewer.refresh();
                }
            }
        }

    });
    tableViewer.setSorter(new ViewerSorter() {

        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            LabItem li1 = (LabItem) e1;
            LabItem li2 = (LabItem) e2;
            String s1 = "", s2 = ""; //$NON-NLS-1$ //$NON-NLS-2$
            switch (sortC) {
            case 0:
                s1 = li1.getLabor().getLabel();
                s2 = li2.getLabor().getLabel();
                break;
            case 2:
                s1 = li1.getKuerzel();
                s2 = li2.getKuerzel();
                break;
            case 3:
                s1 = li1.getTyp().toString();
                s2 = li2.getTyp().toString();
                break;
            case 7:
                s1 = li1.getGroup();
                s2 = li2.getGroup();
                break;
            default:
                s1 = li1.getName();
                s2 = li2.getName();
            }
            int res = s1.compareToIgnoreCase(s2);
            if (res == 0) {
                return li1.getPrio().compareToIgnoreCase(li2.getPrio());
            }
            return res;
        }

    });
    tableViewer.setInput(this);
    return tableComposite;
}

From source file:ch.elexis.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();//  w  w w .  j a  v a 2 s .co m
    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();
                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.views.rechnung.AccountListView.java

License:Open Source License

public void createPartControl(Composite parent) {
    loader = new DataLoader();

    parent.setLayout(new FillLayout());
    tk = Desk.getToolkit();/* w  w  w  .  j av  a2  s.c om*/
    form = tk.createForm(parent);
    form.getBody().setLayout(new GridLayout(1, false));

    // account list
    tk.createLabel(form.getBody(), Messages.getString("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.getString("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.views.rechnung.AccountView.java

License:Open Source License

public void createPartControl(Composite parent) {
    initializeJobs();/*from  w  w w  .j  a v a 2  s .  c  om*/

    parent.setLayout(new FillLayout());
    tk = Desk.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.getString("AccountView.account")); //$NON-NLS-1$
    tk.createLabel(accountArea, Messages.getString("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.getString("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);

    // 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]);
    }

    accountViewer.setContentProvider(new IStructuredContentProvider() {
        public Object[] getElements(Object inputElement) {
            if (actPatient == null) {
                return new Object[] { Messages.getString("AccountView.NoPatientSelected") //$NON-NLS-1$
                };
            }
            Query<AccountTransaction> qa = new Query<AccountTransaction>(AccountTransaction.class);
            qa.add(AccountTransaction.FLD_PATIENT_ID, Query.EQUALS, actPatient.getId());
            qa.orderBy(false, 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 = "";

            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;
            }

            return text;
        }

        public Image getColumnImage(Object element, int columnIndex) {
            return null;
        }

        public boolean isLabelProperty(Object element, String property) {
            return false;
        }
    });

    // 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());
}

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

License:Open Source License

public void createPartControl(Composite parent) {
    parent.setLayout(new FillLayout());
    tk = Desk.getToolkit();//w w w  . j av a2  s . com
    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.getString("BillSummary.total")); //$NON-NLS-1$
    totalLabel = tk.createLabel(generalArea, ""); //$NON-NLS-1$
    totalLabel.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));

    tk.createLabel(generalArea, Messages.getString("BillSummary.paid")); //$NON-NLS-1$
    paidLabel = tk.createLabel(generalArea, ""); //$NON-NLS-1$
    paidLabel.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));

    tk.createLabel(generalArea, Messages.getString("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]);
    }

    billsViewer.setContentProvider(new IStructuredContentProvider() {
        public Object[] getElements(Object inputElement) {
            if (actPatient == null) {
                return new Object[] { Messages.getString("BillSummary.NoPatientSelected") //$NON-NLS-1$
                };
            }

            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.views.RezepteView.java

License:Open Source License

@Override
public void createPartControl(final Composite parent) {
    Image icon = Desk.getImage(ICON);
    if (icon != null) {
        setTitleImage(icon);/*w  w  w . j a va2s  .  com*/
    }
    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  w  w  .j  a  va2  s . c  om
            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);
}