List of usage examples for org.eclipse.jface.viewers TableViewer TableViewer
public TableViewer(Composite parent, int style)
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; }