List of usage examples for org.eclipse.jface.viewers TreeViewerColumn getColumn
public TreeColumn getColumn()
From source file:org.eclipse.emf.ecoretools.legacy.properties.internal.sections.EAnnotationPropertySection.java
License:Open Source License
private void createMapEntryViewer(Composite parent, GridData layoutData) { mapEntryViewer = createTreeViewer(parent, layoutData); final TextCellEditor textCellEditor = new TextCellEditor(mapEntryViewer.getTree()); TreeViewerColumn columnKey = new TreeViewerColumn(mapEntryViewer, SWT.NONE); columnKey.getColumn().setResizable(true); columnKey.getColumn().setMoveable(true); columnKey.getColumn().setWidth(200); columnKey.getColumn().setText(Messages.EAnnotationPropertySection_Key); columnKey.setLabelProvider(new ColumnLabelProvider() { private ILabelProvider labelProvider = getLabelProvider(); /**/*from w w w . j a v a2 s. co m*/ * @see org.eclipse.jface.viewers.ColumnLabelProvider#getText(java.lang.Object) */ @Override public String getText(Object element) { if (element instanceof Entry) { return (((Entry<?, ?>) element).getKey() != null) ? ((Entry<?, ?>) element).getKey().toString() : Messages.EAnnotationPropertySection_Null; } return Messages.EAnnotationPropertySection_Unknown; } /** * @see org.eclipse.jface.viewers.ColumnLabelProvider#getImage(java.lang.Object) */ @Override public Image getImage(Object element) { return labelProvider.getImage(element); } /** * @see org.eclipse.jface.viewers.BaseLabelProvider#dispose() */ @Override public void dispose() { labelProvider.dispose(); super.dispose(); } }); columnKey.setEditingSupport(new EditingSupport(eAnnotationViewer) { @Override protected boolean canEdit(Object element) { if (false == element instanceof Entry) { return false; } return true; } @Override protected CellEditor getCellEditor(Object element) { return textCellEditor; } @Override protected Object getValue(Object element) { if (false == element instanceof Entry) { return ""; //$NON-NLS-1$ } return ((((Entry<?, ?>) element).getKey() == null) ? "" : ((Entry<?, ?>) element).getKey()); //$NON-NLS-1$ } @Override protected void setValue(Object element, Object value) { if (false == element instanceof Entry) { return; } final String text = value.toString(); if (currentEAnnotation != null && currentEAnnotation.getDetails().get(text) != null) { return; } final Entry<?, ?> entry = (Entry<?, ?>) element; getEditingDomain().getCommandStack() .execute(new EMFRecordingChangeCommand(getEObject().eResource()) { @Override protected void doExecute() { currentEAnnotation.getDetails().put(text, entry.getValue().toString()); currentEAnnotation.getDetails().remove(entry); } }); mapEntryViewer.refresh(); } }); TreeViewerColumn columnValue = new TreeViewerColumn(mapEntryViewer, SWT.NONE); columnValue.getColumn().setResizable(true); columnValue.getColumn().setMoveable(true); columnValue.getColumn().setWidth(200); columnValue.getColumn().setText(Messages.EAnnotationPropertySection_Value); columnValue.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (false == element instanceof Entry) { return ""; //$NON-NLS-1$ } return ((((Entry<?, ?>) element).getValue() == null) ? "" //$NON-NLS-1$ : ((Entry<?, ?>) element).getValue().toString()); } }); final DialogCellEditor dialogCellEditor = new ExtendedDialogCellEditor(mapEntryViewer.getTree(), getLabelProvider()) { @Override protected Object openDialogBox(Control cellEditorWindow) { MultiLineInputDialog dialog = new MultiLineInputDialog(cellEditorWindow.getShell(), Messages.EAnnotationPropertySection_EntryValue, null, getCurrentEntryValue(), null); dialog.open(); return dialog.getValue(); } private String getCurrentEntryValue() { if (currentEntry == null) { return ""; //$NON-NLS-1$ } return currentEntry.getValue().toString(); } }; columnValue.setEditingSupport(new EditingSupport(eAnnotationViewer) { @Override protected boolean canEdit(Object element) { if (false == element instanceof Entry) { return false; } return true; } @Override protected CellEditor getCellEditor(Object element) { return dialogCellEditor; } @Override protected Object getValue(Object element) { if (false == element instanceof Entry) { return ""; //$NON-NLS-1$ } return ((((Entry<?, ?>) element).getValue() == null) ? "" : ((Entry<?, ?>) element).getValue()); //$NON-NLS-1$ } @Override protected void setValue(Object element, Object value) { if (false == element instanceof Entry) { return; } final String text = value.toString(); @SuppressWarnings("unchecked") final Entry<?, String> entry = (Entry<?, String>) element; getEditingDomain().getCommandStack() .execute(new EMFRecordingChangeCommand(getEObject().eResource()) { @Override protected void doExecute() { entry.setValue(text); } }); mapEntryViewer.update(element, null); } }); mapEntryViewer.setContentProvider(new ViewerContentProvider()); mapEntryViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (false == event.getSelection() instanceof IStructuredSelection) { currentEntry = null; return; } Object selection = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (false == selection instanceof Entry) { currentEntry = null; return; } currentEntry = (Entry<?, ?>) selection; } }); }
From source file:org.eclipse.emf.ecoretools.legacy.properties.internal.sections.EAnnotationPropertySection.java
License:Open Source License
private void createEAnnotationViewer(Composite parent, GridData layoutData) { eAnnotationViewer = createTreeViewer(parent, layoutData); final TextCellEditor textCellEditor = new TextCellEditor(eAnnotationViewer.getTree()); TreeViewerColumn columnName = new TreeViewerColumn(eAnnotationViewer, SWT.NONE); columnName.getColumn().setResizable(true); columnName.getColumn().setMoveable(true); columnName.getColumn().setWidth(200); columnName.getColumn().setText(Messages.EAnnotationPropertySection_Source); columnName.setLabelProvider(new ColumnLabelProvider() { private ILabelProvider labelProvider = getLabelProvider(); /**/*from w ww .j av a2 s . c o m*/ * @see org.eclipse.jface.viewers.ColumnLabelProvider#getText(java.lang.Object) */ @Override public String getText(Object element) { if (element instanceof EAnnotation) { return ((EAnnotation) element).getSource(); } return Messages.EAnnotationPropertySection_Unknown; } /** * @see org.eclipse.jface.viewers.ColumnLabelProvider#getImage(java.lang.Object) */ @Override public Image getImage(Object element) { return labelProvider.getImage(element); } /** * @see org.eclipse.jface.viewers.BaseLabelProvider#dispose() */ @Override public void dispose() { labelProvider.dispose(); super.dispose(); } }); columnName.setEditingSupport(new EditingSupport(eAnnotationViewer) { @Override protected boolean canEdit(Object element) { if (false == element instanceof EAnnotation) { return false; } return true; } @Override protected CellEditor getCellEditor(Object element) { return textCellEditor; } @Override protected Object getValue(Object element) { if (false == element instanceof EAnnotation) { return ""; //$NON-NLS-1$ } return ((((EAnnotation) element).getSource() == null) ? "" : ((EAnnotation) element).getSource()); //$NON-NLS-1$ } @Override protected void setValue(Object element, Object value) { if (false == element instanceof EAnnotation) { return; } final String text = value.toString(); if (((EModelElement) getEObject()).getEAnnotation(text) != null) { return; } final EAnnotation eAnnotation = (EAnnotation) element; getEditingDomain().getCommandStack() .execute(new EMFRecordingChangeCommand(getEObject().eResource()) { @Override protected void doExecute() { eAnnotation.setSource(text); } }); eAnnotationViewer.update(element, null); } }); TreeViewerColumn columnEReference = new TreeViewerColumn(eAnnotationViewer, SWT.NONE); columnEReference.getColumn().setResizable(true); columnEReference.getColumn().setMoveable(true); columnEReference.getColumn().setWidth(200); columnEReference.getColumn().setText(Messages.EAnnotationPropertySection_References); columnEReference.setLabelProvider(new ColumnLabelProvider() { private ILabelProvider labelProvider = getLabelProvider(); /** * @see org.eclipse.jface.viewers.ColumnLabelProvider#getText(java.lang.Object) */ @Override public String getText(Object element) { if (false == element instanceof EAnnotation) { return ""; //$NON-NLS-1$ } String content = ""; //$NON-NLS-1$ for (EObject eObject : ((EAnnotation) element).getReferences()) { content = labelProvider.getText(eObject) + ", " + content; //$NON-NLS-1$ } return content; } /** * @see org.eclipse.jface.viewers.BaseLabelProvider#dispose() */ @Override public void dispose() { labelProvider.dispose(); super.dispose(); } }); final DialogCellEditor dialogCellEditor = new ExtendedDialogCellEditor(eAnnotationViewer.getTree(), getLabelProvider()) { @Override protected Object openDialogBox(Control cellEditorWindow) { FeatureEditorDialog dialog = new FeatureEditorDialog(cellEditorWindow.getShell(), labelProvider, currentEAnnotation, EcorePackage.Literals.EANNOTATION__REFERENCES, Messages.EAnnotationPropertySection_ChooseReferences, getPotentialReferences()); dialog.open(); return dialog.getResult(); } private List<?> getPotentialReferences() { List<EObject> potentialMatches = new ArrayList<EObject>(); if (currentEAnnotation.eResource() == null) { return Collections.emptyList(); } for (Iterator<EObject> it = currentEAnnotation.eResource().getAllContents(); it.hasNext();) { potentialMatches.add(it.next()); } return potentialMatches; } }; columnEReference.setEditingSupport(new EditingSupport(eAnnotationViewer) { private ILabelProvider labelProvider = getLabelProvider(); @Override protected boolean canEdit(Object element) { if (false == element instanceof EAnnotation) { return false; } return true; } @Override protected CellEditor getCellEditor(Object element) { return dialogCellEditor; } @Override protected Object getValue(Object element) { if (false == element instanceof EAnnotation) { return ""; //$NON-NLS-1$ } String content = ""; //$NON-NLS-1$ for (EObject eObject : ((EAnnotation) element).getReferences()) { content = labelProvider.getText(eObject) + ", " + content; //$NON-NLS-1$ } return content; } @Override protected void setValue(Object element, final Object value) { if (false == element instanceof EAnnotation || value == null) { return; } final EAnnotation eAnnotation = (EAnnotation) element; getEditingDomain().getCommandStack() .execute(new EMFRecordingChangeCommand(getEObject().eResource()) { @Override protected void doExecute() { if (value instanceof List) { eAnnotation.getReferences().clear(); @SuppressWarnings("unchecked") List<EObject> eObjectValues = (List<EObject>) value; eAnnotation.getReferences().addAll(eObjectValues); } } }); eAnnotationViewer.update(element, null); } }); eAnnotationViewer.setContentProvider(new ViewerContentProvider()); eAnnotationViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (false == event.getSelection() instanceof IStructuredSelection) { currentEAnnotation = null; return; } Object selection = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (false == selection instanceof EAnnotation) { currentEAnnotation = null; return; } currentEAnnotation = (EAnnotation) selection; mapEntryViewer.setInput(getMapEntries()); } }); }
From source file:org.eclipse.emf.emfstore.internal.client.ui.views.historybrowserview.HistoryBrowserView.java
License:Open Source License
private TreeViewerColumn createColumn(String label, int width) { final TreeViewerColumn column = new TreeViewerColumn(viewer, SWT.MULTI); column.getColumn().setText(label); column.getColumn().setWidth(width);//from ww w. j a va 2 s . co m return column; }
From source file:org.eclipse.equinox.internal.p2.importexport.internal.wizard.AbstractPage.java
License:Open Source License
private void createColumns(TreeViewer treeViewer) { String[] titles = { Messages.Column_Name, Messages.Column_Version, Messages.Column_Id }; for (int i = 0; i < titles.length; i++) { TreeViewerColumn column = new TreeViewerColumn(treeViewer, SWT.NONE); column.getColumn().setText(titles[i]); column.getColumn().setResizable(true); column.getColumn().setMoveable(true); if (Messages.Column_Name.equals(titles[i])) updateTableSorting(i);/* w w w .j av a2s .com*/ final int columnIndex = i; column.getColumn().addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { updateTableSorting(columnIndex); } }); } }
From source file:org.eclipse.equinox.internal.p2.ui.dialogs.RemediationGroup.java
License:Open Source License
public void createRemediationControl(Composite container) { remediationComposite = new Composite(container, SWT.NONE); remediationComposite.setLayout(new GridLayout()); Listener solutionslistener;//from w w w. j av a2 s . c o m Label descriptionLabel = new Label(remediationComposite, SWT.NONE); descriptionLabel.setText(ProvUIMessages.RemediationPage_SubDescription); solutionslistener = new Listener() { public void handleEvent(Event e) { Button btn = (Button) e.widget; Remedy remedy = (btn.getData() == null ? null : (Remedy) btn.getData()); checkboxes.get(ALLOWPARTIALINSTALL_INDEX) .setSelection(remedy != null && remedy.getConfig().allowPartialInstall); checkboxes.get(ALLOWDIFFERENTVERSION_INDEX) .setSelection(remedy != null && remedy.getConfig().allowDifferentVersion); checkboxes.get(ALLOWINSTALLEDUPDATE_INDEX) .setSelection(remedy != null && remedy.getConfig().allowInstalledUpdate); checkboxes.get(ALLOWINSTALLEDREMOVAL_INDEX) .setSelection(remedy != null && remedy.getConfig().allowInstalledRemoval); for (Iterator<Button> iterator = checkboxes.iterator(); iterator.hasNext();) { Button btn1 = iterator.next(); btn1.setVisible(true); } if (btn == buildMyOwnSolution && btn.getSelection()) { checkBoxesComposite.setVisible(true); ((GridData) checkBoxesComposite.getLayoutData()).exclude = false; } else { checkBoxesComposite.setVisible(false); ((GridData) checkBoxesComposite.getLayoutData()).exclude = true; } currentRemedy = searchRemedyMatchingUserChoices(); refreshResultComposite(); remediationComposite.layout(false); } }; bestBeingInstalledRelaxedButton = new Button(remediationComposite, SWT.RADIO); bestBeingInstalledRelaxedButton.setText(ProvUIMessages.RemediationPage_BestSolutionBeingInstalledRelaxed); bestBeingInstalledRelaxedButton.addListener(SWT.Selection, solutionslistener); bestInstalledRelaxedButton = new Button(remediationComposite, SWT.RADIO); bestInstalledRelaxedButton.setText(ProvUIMessages.RemediationPage_BestSolutionInstallationRelaxed); bestInstalledRelaxedButton.addListener(SWT.Selection, solutionslistener); buildMyOwnSolution = new Button(remediationComposite, SWT.RADIO); buildMyOwnSolution.setText(ProvUIMessages.RemediationPage_BestSolutionBuilt); buildMyOwnSolution.addListener(SWT.Selection, solutionslistener); Listener checkboxListener = new Listener() { public void handleEvent(Event e) { currentRemedy = searchRemedyMatchingUserChoices(); refreshResultComposite(); } }; checkBoxesComposite = new Composite(remediationComposite, SWT.NONE); checkBoxesComposite.setLayout(new GridLayout(1, false)); GridData data = new GridData(); data.exclude = false; data.horizontalAlignment = SWT.FILL; checkBoxesComposite.setLayoutData(data); GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false); gd.horizontalIndent = 30; Iterator<String> iter = CONSTRAINTS.keySet().iterator(); while (iter.hasNext()) { String key = iter.next(); String[] values = CONSTRAINTS.get(key); for (String value : values) { Button checkBtn = new Button(checkBoxesComposite, SWT.CHECK); checkBtn.setText(value); checkBtn.setData(value); checkBtn.setLayoutData(gd); checkBtn.addListener(SWT.Selection, checkboxListener); checkboxes.add(checkBtn); } } resultComposite = new Composite(remediationComposite, SWT.NONE); // GridLayoutFactory.fillDefaults().numColumns(1).applyTo(resultComposite); switchRemediationLayout = new StackLayout(); resultComposite.setLayout(switchRemediationLayout); GridData data1 = new GridData(GridData.FILL_BOTH); resultComposite.setLayoutData(data1); resultErrorComposite = new Composite(resultComposite, SWT.NONE); resultErrorComposite.setLayout(new GridLayout()); resultErrorComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); resultNotFoundComposite = new Composite(resultComposite, SWT.NONE); resultNotFoundComposite.setLayout(new GridLayout()); Label resultNotFoundLabel = new Label(resultNotFoundComposite, SWT.NONE); resultNotFoundLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); resultNotFoundLabel.setText(ProvUIMessages.RemediationPage_NoSolutionFound); resultFoundComposite = new Composite(resultComposite, SWT.NONE); resultFoundComposite.setLayout(new GridLayout()); Group insideFoundComposite = new Group(resultFoundComposite, SWT.NONE); insideFoundComposite.setText(ProvUIMessages.RemediationPage_SolutionDetails); GridLayout gridLayout = new GridLayout(); gridLayout.marginWidth = 0; gridLayout.marginHeight = 0; insideFoundComposite.setLayout(gridLayout); insideFoundComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); treeViewer = new TreeViewer(insideFoundComposite, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); ColumnViewerToolTipSupport.enableFor(treeViewer); data = new GridData(GridData.FILL_BOTH); Tree tree = treeViewer.getTree(); tree.setLayoutData(data); tree.setHeaderVisible(true); TreeViewerColumn nameColumn = new TreeViewerColumn(treeViewer, SWT.LEFT); nameColumn.getColumn().setText(ProvUIMessages.ProvUI_NameColumnTitle); nameColumn.getColumn().setWidth(400); nameColumn.getColumn().setMoveable(true); nameColumn.getColumn().addSelectionListener(columnChangeListener(0)); nameColumn.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { if (element instanceof RemedyElementCategory) return ((RemedyElementCategory) element).getName(); if (element instanceof RemedyIUDetail) { RemedyIUDetail iu = (RemedyIUDetail) element; String label = iu.getIu().getProperty(IInstallableUnit.PROP_NAME, null); if (label == null) label = iu.getIu().getId(); return label; } return super.getText(element); } public Image getImage(Object element) { if (element instanceof RemedyElementCategory) { RemedyElementCategory category = (RemedyElementCategory) element; if (category.getName().equals(ProvUIMessages.RemedyCategoryAdded)) return ProvUIImages.getImage(ProvUIImages.IMG_ADDED); if (category.getName().equals(ProvUIMessages.RemedyCategoryChanged)) return ProvUIImages.getImage(ProvUIImages.IMG_CHANGED); if (category.getName().equals(ProvUIMessages.RemedyCategoryNotAdded)) return ProvUIImages.getImage(ProvUIImages.IMG_NOTADDED); if (category.getName().equals(ProvUIMessages.RemedyCategoryRemoved)) return ProvUIImages.getImage(ProvUIImages.IMG_REMOVED); } else if (element instanceof RemedyIUDetail) { RemedyIUDetail iuDetail = (RemedyIUDetail) element; int status = compare(iuDetail); if (compare(iuDetail.getBeingInstalledVersion(), iuDetail.getRequestedVersion()) < 0 && containerPage != null && containerPage.getWizard() instanceof UpdateWizard) { Image img = ProvUIImages.getImage(ProvUIImages.IMG_UPGRADED_IU); ImageDescriptor overlay = ProvUIActivator.getDefault().getImageRegistry() .getDescriptor(ProvUIImages.IMG_INFO); String decoratedImageId = ProvUIImages.IMG_UPGRADED_IU.concat(ProvUIImages.IMG_INFO); if (ProvUIActivator.getDefault().getImageRegistry().get(decoratedImageId) == null) { DecorationOverlayIcon decoratedImage = new DecorationOverlayIcon(img, overlay, IDecoration.BOTTOM_RIGHT); ProvUIActivator.getDefault().getImageRegistry().put(decoratedImageId, decoratedImage); } Image decoratedImg = ProvUIActivator.getDefault().getImageRegistry().get(decoratedImageId); return decoratedImg; } if (status < 0) return ProvUIImages.getImage(ProvUIImages.IMG_DOWNGRADED_IU); if (status > 0) return ProvUIImages.getImage(ProvUIImages.IMG_UPGRADED_IU); return ProvUIImages.getImage(ProvUIImages.IMG_IU); } return super.getImage(element); } public String getToolTipText(Object element) { if (element instanceof RemedyIUDetail) { RemedyIUDetail iuDetail = (RemedyIUDetail) element; String toolTipText = ""; //$NON-NLS-1$ List<String> versions = new ArrayList<String>(); if (iuDetail.getInstalledVersion() != null) versions.add(ProvUIMessages.RemedyElementInstalledVersion + iuDetail.getInstalledVersion().toString()); if (iuDetail.getRequestedVersion() != null) versions.add(ProvUIMessages.RemedyElementRequestedVersion + iuDetail.getRequestedVersion().toString()); if (iuDetail.getBeingInstalledVersion() != null) versions.add(ProvUIMessages.RemedyElementBeingInstalledVersion + iuDetail.getBeingInstalledVersion().toString()); for (Iterator<String> iterator = versions.iterator(); iterator.hasNext();) { String version = iterator.next(); toolTipText += (toolTipText == "" ? "" : "\n") + version; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } if (containerPage != null && containerPage.getWizard() instanceof UpdateWizard && compare(iuDetail.getBeingInstalledVersion(), iuDetail.getRequestedVersion()) < 0) toolTipText = ProvUIMessages.RemedyElementNotHighestVersion + "\n\n" + toolTipText; //$NON-NLS-1$ return toolTipText; } return super.getToolTipText(element); } private int compare(Version versionA, Version versionB) { if (versionA != null && versionB != null) return versionA.compareTo(versionB); return 0; } private int compare(RemedyIUDetail iuDetail) { if (iuDetail.getStatus() == RemedyIUDetail.STATUS_ADDED && iuDetail.getRequestedVersion() != null && iuDetail.getBeingInstalledVersion() != null) { return compare(iuDetail.getBeingInstalledVersion(), iuDetail.getRequestedVersion()); } if (iuDetail.getStatus() == RemedyIUDetail.STATUS_CHANGED && iuDetail.getInstalledVersion() != null && iuDetail.getBeingInstalledVersion() != null) { return compare(iuDetail.getBeingInstalledVersion(), iuDetail.getInstalledVersion()); } return 0; } }); TreeViewerColumn versionColumn = new TreeViewerColumn(treeViewer, SWT.LEFT); versionColumn.getColumn().setText(ProvUIMessages.ProvUI_VersionColumnTitle); versionColumn.getColumn().setWidth(200); versionColumn.getColumn().addSelectionListener(columnChangeListener(1)); versionColumn.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { if (element instanceof RemedyIUDetail) { RemedyIUDetail iu = (RemedyIUDetail) element; if (iu.getBeingInstalledVersion() != null) return iu.getBeingInstalledVersion().toString(); } return ""; //$NON-NLS-1$ } }); TreeViewerColumn idColumn = new TreeViewerColumn(treeViewer, SWT.LEFT); idColumn.getColumn().setText(ProvUIMessages.ProvUI_IdColumnTitle); idColumn.getColumn().setWidth(200); idColumn.getColumn().addSelectionListener(columnChangeListener(2)); idColumn.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { if (element instanceof RemedyIUDetail) { RemedyIUDetail iu = (RemedyIUDetail) element; return iu.getIu().getId(); } return ""; //$NON-NLS-1$ } }); treeComparator = new TreeViewerComparator(); treeViewer.setComparator(treeComparator); treeViewer.setContentProvider(new RemedyContentProvider()); treeViewer.setAutoExpandLevel(2); iuDetailsGroup = new IUDetailsGroup(resultErrorComposite, treeViewer, 500, true); }
From source file:org.eclipse.equinox.internal.p2.ui.sdk.scheduler.migration.AbstractPage_c.java
License:Open Source License
private void createColumns(TreeViewer treeViewer) { String[] titles = { ProvUIMessages.Column_Name, ProvUIMessages.Column_Version, ProvUIMessages.Column_Id }; for (int i = 0; i < titles.length; i++) { TreeViewerColumn column = new TreeViewerColumn(treeViewer, SWT.NONE); column.getColumn().setText(titles[i]); column.getColumn().setResizable(true); column.getColumn().setMoveable(true); if (ProvUIMessages.Column_Name.equals(titles[i])) updateTableSorting(i);/*from w ww .ja v a 2 s . c om*/ final int columnIndex = i; column.getColumn().addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { updateTableSorting(columnIndex); } }); } }
From source file:org.eclipse.gyrex.admin.ui.internal.widgets.AdminPageWithTree.java
License:Open Source License
protected FilteredTree createTree(final Composite parent) { final FilteredTree filteredTree = new FilteredTree(parent, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI, createPatternFilter(), true); treeViewer = filteredTree.getViewer(); treeViewer.getTree().setHeaderVisible(true); treeViewer.getTree().setData(RWT.MARKUP_ENABLED, Boolean.TRUE); final TableLayout layout = new TableLayout(); treeViewer.getTree().setLayout(layout); treeViewer.setUseHashlookup(true);//w w w . ja v a 2 s.c o m treeViewer.setContentProvider(createContentProvider()); final SortableColumnsComparator comparator = new SortableColumnsComparator(); treeViewer.setComparator(comparator); treeViewer.addOpenListener(new IOpenListener() { @Override public void open(final OpenEvent event) { openSelectedElement(); } }); treeViewer.setLabelProvider(new ColumnLabelProvider() { private static final long serialVersionUID = 1L; @Override public Image getImage(final Object element) { return getElementImage(element, NO_COLUMN); } @Override public String getText(final Object element) { return StringUtils.trimToEmpty(getElementLabel(element, NO_COLUMN)); } }); // create columns final int columns = getNumberOfColumns(); for (int i = 0; i < columns; i++) { final int column = i; final TreeViewerColumn viewerColumn = new TreeViewerColumn(treeViewer, SWT.LEFT); viewerColumn.getColumn().setText(getColumnLabel(column)); viewerColumn.setLabelProvider(new ColumnLabelProvider() { /** serialVersionUID */ private static final long serialVersionUID = 1L; @Override public Image getImage(final Object element) { return getElementImage(element, column); } @Override public String getText(final Object element) { return StringUtils.trimToEmpty(getElementLabel(element, column)); } }); final ColumnLayoutData layoutData = getColumnLayoutData(column); if (layoutData != null) { layout.addColumnData(layoutData); } if (isColumnSortable(column)) { viewerColumn.getColumn() .addSelectionListener(new ChangeSortColumnListener(comparator, column, viewerColumn)); if (treeViewer.getTree().getSortColumn() == null) { // make the fist sortable column the active sort column treeViewer.getTree().setSortColumn(viewerColumn.getColumn()); treeViewer.getTree().setSortDirection(comparator.isReverse() ? SWT.UP : SWT.DOWN); } } } return filteredTree; }
From source file:org.eclipse.jface.snippets.viewers.Snippet026TreeViewerTabEditing.java
License:Open Source License
public Snippet026TreeViewerTabEditing(final Shell shell) { Button b = new Button(shell, SWT.PUSH); b.setText("Remove column"); final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.getTree().setLinesVisible(true);//from w ww . j a v a2s. c om v.getTree().setHeaderVisible(true); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (v.getTree().getColumnCount() > 1) { v.getTree().getColumn(1).dispose(); } } }); TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(v, new FocusCellOwnerDrawHighlighter(v)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) { @Override 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.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; int feature = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION; TreeViewerEditor.create(v, focusCellManager, actSupport, feature); final TextCellEditor textCellEditor = new TextCellEditor(v.getTree()); String[] columLabels = { "Column 1", "Column 2", "Column 3" }; String[] labelPrefix = { "Column 1 => ", "Column 2 => ", "Column 3 => " }; for (int i = 0; i < columLabels.length; i++) { TreeViewerColumn column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText(columLabels[i]); column.setLabelProvider(createColumnLabelProvider(labelPrefix[i])); column.setEditingSupport(createEditingSupportFor(v, textCellEditor)); } v.setContentProvider(new MyContentProvider()); v.setInput(createModel()); }
From source file:org.eclipse.jface.snippets.viewers.Snippet043TreeViewerKeyboardEditing.java
License:Open Source License
public Snippet043TreeViewerKeyboardEditing(final Shell shell) { Button b = new Button(shell, SWT.PUSH); b.setText("Press Tab, or click here to edit first child element"); final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); b.addSelectionListener(new SelectionAdapter() { @Override/*from w ww. ja v a 2 s .c o m*/ public void widgetSelected(SelectionEvent e) { MyModel root = (MyModel) v.getInput(); TreePath path = new TreePath( new Object[] { root, root.child.get(1), root.child.get(1).child.get(0) }); v.editElement(path, 0); } }); TreeViewerColumn viewerColumn = new TreeViewerColumn(v, SWT.NONE); viewerColumn.getColumn().setWidth(300); viewerColumn.setLabelProvider(new ColumnLabelProvider()); viewerColumn.setEditingSupport(new EditingSupport(v) { @Override protected void setValue(Object element, Object value) { ((MyModel) element).counter = Integer.parseInt(value.toString()); getViewer().update(element, null); } @Override protected Object getValue(Object element) { return ((MyModel) element).counter + ""; } @Override protected CellEditor getCellEditor(Object element) { return new TextCellEditor((Composite) getViewer().getControl()); } @Override protected boolean canEdit(Object element) { return true; } }); TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(v, new FocusCellOwnerDrawHighlighter(v)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) { @Override 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.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(v, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); v.setContentProvider(new MyContentProvider()); v.setInput(createModel()); }
From source file:org.eclipse.jface.snippets.viewers.Snippet048TreeViewerTabWithCheckboxFor3_3.java
License:Open Source License
public Snippet048TreeViewerTabWithCheckboxFor3_3(final Shell shell) { final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.getTree().setLinesVisible(true);//from w ww .ja v a2 s.c om v.getTree().setHeaderVisible(true); final TreeViewerFocusCellManager mgr = new TreeViewerFocusCellManager(v, new FocusCellOwnerDrawHighlighter(v)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) { @Override 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; } }; TreeViewerEditor.create(v, mgr, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); final TextCellEditor textCellEditor = new TextCellEditor(v.getTree()); final CheckboxCellEditor checkboxCellEditor = new CheckboxCellEditor(v.getTree()); TreeViewerColumn column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 1"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return "Column 1 => " + element; } }); column.setEditingSupport(new EditingSupport(v) { @Override protected boolean canEdit(Object element) { return false; } @Override protected CellEditor getCellEditor(Object element) { return textCellEditor; } @Override protected Object getValue(Object element) { return ((MyModel) element).counter + ""; } @Override protected void setValue(Object element, Object value) { ((MyModel) element).counter = Integer.parseInt(value.toString()); v.update(element, null); } }); column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 2"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return "Column 2 => " + element; } }); column.setEditingSupport(new EditingSupport(v) { @Override protected boolean canEdit(Object element) { return true; } @Override protected CellEditor getCellEditor(Object element) { return textCellEditor; } @Override protected Object getValue(Object element) { return ((MyModel) element).counter + ""; } @Override protected void setValue(Object element, Object value) { ((MyModel) element).counter = Integer.parseInt(value.toString()); v.update(element, null); } }); column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 3"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((MyModel) element).bool + ""; } }); column.setEditingSupport(new EditingSupport(v) { @Override protected boolean canEdit(Object element) { return true; } @Override protected CellEditor getCellEditor(Object element) { return checkboxCellEditor; } @Override protected Object getValue(Object element) { return Boolean.valueOf(((MyModel) element).bool); } @Override protected void setValue(Object element, Object value) { ((MyModel) element).bool = ((Boolean) value).booleanValue(); v.update(element, null); } }); v.setContentProvider(new MyContentProvider()); v.setInput(createModel()); v.getControl().addTraverseListener(new TraverseListener() { @Override public void keyTraversed(TraverseEvent e) { if ((e.detail == SWT.TRAVERSE_TAB_NEXT || e.detail == SWT.TRAVERSE_TAB_PREVIOUS) && mgr.getFocusCell().getColumnIndex() == 2) { ColumnViewerEditor editor = v.getColumnViewerEditor(); ViewerCell cell = mgr.getFocusCell(); try { Method m = ColumnViewerEditor.class.getDeclaredMethod("processTraverseEvent", new Class[] { int.class, ViewerRow.class, TraverseEvent.class }); m.setAccessible(true); m.invoke(editor, Integer.valueOf(cell.getColumnIndex()), cell.getViewerRow(), e); } catch (SecurityException | NoSuchMethodException | IllegalArgumentException | IllegalAccessException | InvocationTargetException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } }); }