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