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.contacts.controls.FaelleComposite.java

License:Open Source License

public FaelleComposite(Composite parent, int style) {
    super(parent, style);
    setLayout(new GridLayout(1, false));
    tableViewerFaelle = new TableViewer(this, SWT.None);
    tableViewerFaelle.getTable().setBackground(UiDesk.getColor(UiDesk.COL_WHITE));
    tableViewerFaelle.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    tableViewerFaelle.setLabelProvider(new FaelleLabelProvider());
    tableViewerFaelle.setContentProvider(new FaelleContentProvider());
    MenuManager menuManager = new MenuManager();
    menuManager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));

    tableViewerFaelle.getTable().setMenu(menuManager.createContextMenu(tableViewerFaelle.getTable()));
    menuManager.add(GlobalActions.openFallaction);
    menuManager.add(GlobalActions.makeBillAction);
    menuManager.add(GlobalActions.delFallAction);
    menuManager.add(GlobalActions.reopenFallAction);

    tableViewerFaelle.addSelectionChangedListener(new FallSelectionChangedToEventDispatcher());
}

From source file:ch.elexis.core.ui.contacts.preferences.BezugsKontaktSettings.java

License:Open Source License

@Override
protected Control createContents(Composite parent) {
    updateExistingEntriesIds.clear();//from w w w.j a va2s  . c  o  m
    Composite container = new Composite(parent, SWT.NULL);
    container.setLayout(new GridLayout(1, false));

    Group group = new Group(container, SWT.NONE);
    group.setLayout(new GridLayout(1, false));
    group.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    group.setText(Messages.Bezugskontakt_Definition);

    Composite composite = new Composite(group, SWT.NONE);
    GridData gd_composite = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
    gd_composite.heightHint = 300;
    composite.setLayoutData(gd_composite);
    TableColumnLayout tcl_composite = new TableColumnLayout();
    composite.setLayout(tcl_composite);

    tableViewer = new TableViewer(composite, SWT.BORDER | SWT.FULL_SELECTION);
    tableViewer.setContentProvider(ArrayContentProvider.getInstance());

    tableBezugsKontaktRelations = tableViewer.getTable();
    tableBezugsKontaktRelations.setHeaderVisible(true);
    tableBezugsKontaktRelations.setLinesVisible(true);

    if (allowEditing) {
        Menu menu = new Menu(tableBezugsKontaktRelations);
        tableBezugsKontaktRelations.setMenu(menu);

        MenuItem mntmAddBezugsKontaktRelation = new MenuItem(menu, SWT.NONE);
        mntmAddBezugsKontaktRelation.setText(Messages.Bezugskontakt_Add);
        mntmAddBezugsKontaktRelation.setImage(Images.IMG_NEW.getImage());
        mntmAddBezugsKontaktRelation.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                BezugsKontaktRelation bezugsKontaktRelation = new BezugsKontaktRelation("",
                        RelationshipType.AGENERIC, RelationshipType.AGENERIC);
                tableViewer.add(bezugsKontaktRelation);
                tableViewer.setSelection(new StructuredSelection(bezugsKontaktRelation));
            }
        });

        MenuItem mntmRemoveBezugsKontaktRelation = new MenuItem(menu, SWT.NONE);
        mntmRemoveBezugsKontaktRelation.setText(Messages.Bezugskontakt_Delete);
        mntmRemoveBezugsKontaktRelation.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                int selectionsIdx = tableViewer.getTable().getSelectionIndex();
                if (selectionsIdx != -1) {
                    boolean ret = MessageDialog.openQuestion(UiDesk.getTopShell(),
                            Messages.Bezugskontakt_ConfirmDelete, Messages.Bezugskontakt_ConfirmDeleteText);
                    if (ret) {
                        tableViewer.getTable().remove(selectionsIdx);
                    }
                }
            }
        });
    }

    TableViewerColumn viewCol = new TableViewerColumn(tableViewer, SWT.NONE);
    TableColumn col = viewCol.getColumn();
    tcl_composite.setColumnData(col, new ColumnWeightData(1, 140));
    col.setText(Messages.BezugsKonktat_Reference);
    col.setToolTipText(Messages.Bezugskontakt_ReferenceTooltip);
    viewCol.setLabelProvider(new CellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            BezugsKontaktRelation s = (BezugsKontaktRelation) cell.getElement();
            if (s == null)
                return;
            cell.setText(s.getName());
        }
    });
    viewCol.setEditingSupport(new EditingSupport(tableViewer) {

        @Override
        protected void setValue(Object element, Object value) {
            if (element instanceof BezugsKontaktRelation) {
                String newName = String.valueOf(value);
                BezugsKontaktRelation tableData = null;
                for (TableItem tableItem : tableViewer.getTable().getItems()) {
                    tableData = (BezugsKontaktRelation) tableItem.getData();
                    if (tableData != null && !tableData.equals(element) && !tableData.getName().isEmpty()
                            && newName.equalsIgnoreCase(tableData.getName())) {
                        MessageDialog.openError(UiDesk.getTopShell(), "",
                                Messages.Bezugskontakt_NameMustBeUnique);
                        return;
                    }
                }
                BezugsKontaktRelation bezugsKontaktRelation = (BezugsKontaktRelation) element;
                if (!bezugsKontaktRelation.getName().equals(newName)) {
                    bezugsKontaktRelation.setName(newName);
                    getViewer().update(bezugsKontaktRelation, null);
                    openConfirmUpdateExistingData(bezugsKontaktRelation);
                }
            }

        }

        @Override
        protected Object getValue(Object element) {
            if (element instanceof BezugsKontaktRelation) {
                return ((BezugsKontaktRelation) element).getName();
            }
            return null;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new TextCellEditor(tableViewer.getTable());
        }

        @Override
        protected boolean canEdit(Object element) {
            return allowEditing;
        }
    });

    viewCol = new TableViewerColumn(tableViewer, SWT.NONE);
    col = viewCol.getColumn();
    tcl_composite.setColumnData(col, new ColumnWeightData(0, 140));
    col.setText(Messages.Bezugskontakt_RelationFrom);
    viewCol.setLabelProvider(new CellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            BezugsKontaktRelation s = (BezugsKontaktRelation) cell.getElement();
            if (s == null)
                return;
            cell.setText(LocalizeUtil.getLocaleText(s.getDestRelationType()));
        }
    });
    viewCol.setEditingSupport(new EditingSupport(tableViewer) {

        @Override
        protected void setValue(Object element, Object value) {
            if (element instanceof BezugsKontaktRelation && value instanceof Integer) {
                BezugsKontaktRelation bezugsKontaktRelation = (BezugsKontaktRelation) element;
                RelationshipType[] allRelationshipTypes = RelationshipType.values();
                if ((int) value != -1 && !bezugsKontaktRelation.getDestRelationType()
                        .equals(allRelationshipTypes[(int) value])) {
                    bezugsKontaktRelation.setDestRelationType(allRelationshipTypes[(int) value]);
                    getViewer().update(bezugsKontaktRelation, null);
                    openConfirmUpdateExistingData(bezugsKontaktRelation);
                }
            }

        }

        @Override
        protected Object getValue(Object element) {
            if (element instanceof BezugsKontaktRelation) {
                BezugsKontaktRelation bezugsKontaktRelation = (BezugsKontaktRelation) element;
                RelationshipType relationshipType = bezugsKontaktRelation.getDestRelationType();
                if (relationshipType != null) {
                    return relationshipType.getValue();
                }
            }

            return 0;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new ComboBoxCellEditor(tableViewer.getTable(), BezugsKontaktAuswahl.getBezugKontaktTypes(),
                    SWT.NONE);
        }

        @Override
        protected boolean canEdit(Object element) {
            return allowEditing;
        }
    });

    viewCol = new TableViewerColumn(tableViewer, SWT.NONE);
    col = viewCol.getColumn();
    tcl_composite.setColumnData(col, new ColumnWeightData(0, 140));
    col.setText(Messages.Bezugskontakt_RelationTo);

    viewCol.setLabelProvider(new CellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            BezugsKontaktRelation s = (BezugsKontaktRelation) cell.getElement();
            if (s == null)
                return;
            cell.setText(LocalizeUtil.getLocaleText(s.getSrcRelationType()));
        }
    });
    viewCol.setEditingSupport(new EditingSupport(tableViewer) {

        @Override
        protected void setValue(Object element, Object value) {
            if (element instanceof BezugsKontaktRelation && value instanceof Integer) {
                BezugsKontaktRelation bezugsKontaktRelation = (BezugsKontaktRelation) element;
                RelationshipType[] allRelationshipTypes = RelationshipType.values();
                if ((int) value != -1 && !bezugsKontaktRelation.getSrcRelationType()
                        .equals(allRelationshipTypes[(int) value])) {
                    bezugsKontaktRelation.setSrcRelationType(allRelationshipTypes[(int) value]);
                    getViewer().update(bezugsKontaktRelation, null);
                    openConfirmUpdateExistingData(bezugsKontaktRelation);
                }
            }
        }

        @Override
        protected Object getValue(Object element) {
            if (element instanceof BezugsKontaktRelation) {
                BezugsKontaktRelation bezugsKontaktRelation = (BezugsKontaktRelation) element;
                RelationshipType relationshipType = bezugsKontaktRelation.getSrcRelationType();
                if (relationshipType != null) {
                    return relationshipType.getValue();
                }
            }

            return 0;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new ComboBoxCellEditor(tableViewer.getTable(), BezugsKontaktAuswahl.getBezugKontaktTypes(),
                    SWT.NONE);
        }

        @Override
        protected boolean canEdit(Object element) {
            return allowEditing;
        }
    });
    ;
    tableViewer
            .setInput(loadBezugKonkaktTypes(CoreHub.globalCfg.get(Patientenblatt2.CFG_BEZUGSKONTAKTTYPEN, "")));
    return container;
}

From source file:ch.elexis.core.ui.contacts.views.ContactSelectorView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout(1, false));

    Composite compositeSearch = new Composite(composite, SWT.NONE);
    compositeSearch.setLayout(new GridLayout(1, false));
    compositeSearch.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    txtFilter = new Text(compositeSearch, SWT.BORDER | SWT.SEARCH | SWT.CANCEL);
    txtFilter.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    tableViewerContacts = new TableViewer(composite, SWT.BORDER | SWT.FULL_SELECTION);
    Table table = tableViewerContacts.getTable();
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    Composite compositeStatus = new Composite(composite, SWT.NONE);
    compositeStatus.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    compositeStatus.setLayout(new GridLayout(1, false));

    lblStatus = new Label(compositeStatus, SWT.NONE);
    lblStatus.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    tableViewerContacts.setComparator(new ContactSelectorViewerComparator(tableViewerContacts));
    filterAnzeigeTyp = new KontaktAnzeigeTypViewerFilter(tableViewerContacts);
    ViewerFilter[] filters = new ViewerFilter[] { filterAnzeigeTyp, filterPositionTitle };
    tableViewerContacts.setFilters(filters);

    int operations = DND.DROP_COPY | DND.DROP_MOVE;
    Transfer[] transferTypes = new Transfer[] { TextTransfer.getInstance() };
    tableViewerContacts.addDragSupport(operations, transferTypes,
            new ContactSelectorDragListener(tableViewerContacts));
    tableViewerContacts.addDropSupport(operations, transferTypes,
            new ContactSelectorDropListener(tableViewerContacts));

    txtFilter.addKeyListener(new FilterKeyListener(txtFilter, tableViewerContacts));
    txtFilter.addSelectionListener(new SelectionAdapter() {
        public void widgetDefaultSelected(SelectionEvent e) {
            if (e.detail == SWT.CANCEL) {
                filterPositionTitle.setSearchText(null);
                tableViewerContacts.getControl().setRedraw(false);
                tableViewerContacts.refresh();
                tableViewerContacts.getControl().setRedraw(true);
            }//from   w  w w. j  a  va2  s.  c om
        }
    });

    initDataBindings();

    MenuManager menuManager = new MenuManager();
    menuManager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
    tableViewerContacts.getTable().setMenu(menuManager.createContextMenu(tableViewerContacts.getTable()));

    getSite().registerContextMenu(menuManager, tableViewerContacts);
    getSite().setSelectionProvider(tableViewerContacts);

    contactList.getRealm().asyncExec(loadContactsRunnable);

    tableViewerContacts.addSelectionChangedListener(new ContactSelectionChangedToEventDispatcher());
    tableViewerContacts.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            StructuredSelection ss = (StructuredSelection) event.getSelection();
            tableViewerContacts.refresh(ss.getFirstElement());
        }
    });
}

From source file:ch.elexis.core.ui.dialogs.AssignStickerDialog.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());
    Label lbl = new Label(ret, SWT.WRAP);
    lbl.setText(Messages.AssignStickerDialog_PleaseConfirm); //$NON-NLS-1$

    viewer = new TableViewer(ret, SWT.CHECK | SWT.FULL_SELECTION);
    viewer.getTable().setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    viewer.getTable().setHeaderVisible(true);
    viewer.setContentProvider(ArrayContentProvider.getInstance());
    viewer.setInput(alleEtiketten);//from   w w  w. j  av  a  2  s. c  o m
    createColumns();
    comparator = new StickerViewerComparator();
    viewer.setComparator(comparator);
    checkAlreadySelected();

    return ret;
}

From source file:ch.elexis.core.ui.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.DocumentSelectDialog_subject); //$NON-NLS-1$
        tBetreff = SWTHelper.createText(ret, 1, SWT.NONE);
        new Label(ret, SWT.SEPARATOR | SWT.HORIZONTAL);
    }//from  w  w w  .  j av  a2s  . co  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, CoreHub.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;
}

From source file:ch.elexis.core.ui.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//w ww.jav a2 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);
    viewer.setComparator(new ViewerComparator() {
        public int compare(Viewer viewer, Object e1, Object e2) {
            Artikel a1 = ((OrderElement) e1).getArticle();
            Artikel a2 = ((OrderElement) e2).getArticle();

            if (a1 != null && a2 != null) {
                return a1.getName().compareTo(a2.getName());
            }
            return 0;
        };
    });

    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.core.ui.dialogs.SelectBestellungDialog.java

License:Open Source License

protected Control createDialogArea(Composite container) {
    Composite parent = (Composite) super.createDialogArea(container);
    createMessageArea(parent);//from   w ww .  ja v  a2  s  .c o m
    fTableViewer = new TableViewer(parent, getTableStyle());
    fTableViewer.setContentProvider(new BestellContentProvider());

    addColumns();

    setComparator();

    fTableViewer.setInput(this);

    fTableViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            if (fAddCancelButton) {
                okPressed();
            }
        }
    });
    List initialSelection = getInitialElementSelections();
    if (initialSelection != null) {
        fTableViewer.setSelection(new StructuredSelection(initialSelection));
    }
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = convertHeightInCharsToPixels(heightInChars);
    gd.widthHint = convertWidthInCharsToPixels(widthInChars);
    Table table = fTableViewer.getTable();
    table.setLayoutData(gd);
    table.setFont(container.getFont());
    table.setHeaderVisible(true);
    return parent;
}

From source file:ch.elexis.core.ui.laboratory.dialogs.MergeLabItemDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    getShell().setText(Messages.MergeLabItemDialog_title);
    setTitle(Messages.MergeLabItemDialog_title);
    setMessage(Messages.MergeLabItemDialog_pleaseMergeParam);

    Composite ret = new Composite(parent, SWT.NONE);
    ret.setLayoutData(new GridData(GridData.FILL_BOTH));
    ret.setLayout(new GridLayout(1, false));

    Label lbl = new Label(ret, SWT.NONE);
    lbl.setText(Messages.MergeLabItemDialog_labelMergeTo);

    GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, false, 4, 1);
    layoutData.heightHint = 150;//w w  w. j a  va 2s. c o  m

    destinationFilterTxt = new Text(ret, SWT.BORDER);
    destinationFilterTxt.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    destinationFilterTxt.setMessage("Filter"); //$NON-NLS-1$
    destinationFilterTxt.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            if (destinationFilterTxt.getText().length() > 1) {
                destinationFilter.setSearchText(destinationFilterTxt.getText());
                destinationItems.refresh();
            } else {
                destinationFilter.setSearchText(""); //$NON-NLS-1$
                destinationItems.refresh();
            }
        }
    });

    destinationItems = new TableViewer(ret, SWT.BORDER);
    destinationItems.getTable().setLayoutData(layoutData);
    destinationItems.setContentProvider(new ArrayContentProvider());
    destinationItems.setLabelProvider(new LabItemLabelProvider(true));
    destinationItems.setSorter(new LabItemViewerSorter(labelProvider));
    destinationItems.addFilter(destinationFilter);

    ColumnViewerToolTipSupport.enableFor(destinationItems, ToolTip.NO_RECREATE);

    lbl = new Label(ret, SWT.NONE);
    lbl.setText(Messages.MergeLabItemDialog_labelMergeFrom);

    sourceFilterTxt = new Text(ret, SWT.BORDER);
    sourceFilterTxt.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    sourceFilterTxt.setMessage("Filter"); //$NON-NLS-1$
    sourceFilterTxt.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            if (sourceFilterTxt.getText().length() > 1) {
                sourceFilter.setSearchText(sourceFilterTxt.getText());
                sourceItems.refresh();
            } else {
                sourceFilter.setSearchText(""); //$NON-NLS-1$
                sourceItems.refresh();
            }
        }
    });

    sourceItems = new TableViewer(ret, SWT.BORDER);
    sourceItems.getTable().setLayoutData(layoutData);
    sourceItems.setContentProvider(new ArrayContentProvider());
    sourceItems.setLabelProvider(new LabItemLabelProvider(true));
    sourceItems.setSorter(new LabItemViewerSorter(labelProvider));
    sourceItems.addFilter(sourceFilter);

    ColumnViewerToolTipSupport.enableFor(sourceItems, ToolTip.NO_RECREATE);

    List<LabItem> allItems = LabItem.getLabItems();
    destinationItems.setInput(allItems);
    sourceItems.setInput(allItems);

    return ret;
}

From source file:ch.elexis.core.ui.laboratory.preferences.LaborPrefs.java

License:Open Source License

protected Control createContents(Composite parn) {
    noDefaultAndApplyButton();/*w  ww  .  j a v a 2s . 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;
                EditLabItemUi.executeWithParams(li);
                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 1:
                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) {
                try {
                    Integer no1 = Integer.parseInt(li1.getPrio());
                    Integer no2 = Integer.parseInt(li2.getPrio());

                    return no1.compareTo(no2);
                } catch (NumberFormatException nfe) {
                    return li1.getPrio().compareToIgnoreCase(li2.getPrio());
                }
            }
            return res;
        }

    });

    int operations = DND.DROP_COPY;
    Transfer[] transferTypes = new Transfer[] { TextTransfer.getInstance() };
    tableViewer.addDragSupport(operations, transferTypes, new DragSourceAdapter() {

        @Override
        public void dragSetData(DragSourceEvent event) {
            IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection();
            LabItem labItem = (LabItem) selection.getFirstElement();
            if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
                event.data = labItem.getKuerzel() + "," + labItem.getName() + "," + labItem.getId();
            }
        }
    });

    tableViewer.setInput(this);
    return tableComposite;
}

From source file:ch.elexis.core.ui.util.viewers.SimpleWidgetProvider.java

License:Open Source License

public StructuredViewer createViewer(Composite parent) {
    switch (type) {
    case TYPE_TREE:
        return new TreeViewer(parent, style);
    case TYPE_LIST:
        return new ListViewer(parent, style);
    case TYPE_TABLE:
        return new TableViewer(parent, style);
    case TYPE_LAZYLIST:
        TableViewer ret = new TableViewer(parent, style | SWT.VIRTUAL);

        // ret.getTable().setItemCount(0);
        return ret;
    }//from www .  j a va2s .com
    return null;
}