List of usage examples for org.eclipse.jface.viewers ViewerComparator ViewerComparator
public ViewerComparator()
From source file:org.eclipse.linuxtools.tmf.ui.tests.statistics.TmfBaseColumnDataTest.java
License:Open Source License
private void init() { fHeader = "test Column1"; fWidth = 300;//w ww . j a v a2s. c om fAlignment = SWT.LEFT; fToolTip = "Tooltip " + fHeader; fLabelProvider = new ColumnLabelProvider() { @Override public String getText(Object element) { return ((TmfStatisticsTreeNode) element).getKey(); } @Override public Image getImage(Object element) { return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT); } }; fComparator = new ViewerComparator() { @Override public int compare(Viewer viewer, Object e1, Object e2) { TmfStatisticsTreeNode n1 = (TmfStatisticsTreeNode) e1; TmfStatisticsTreeNode n2 = (TmfStatisticsTreeNode) e2; return n1.getKey().compareTo(n2.getKey()); } }; fPercentageProvider = new ITmfColumnPercentageProvider() { @Override public double getPercentage(TmfStatisticsTreeNode node) { TmfStatisticsTreeNode parent = node; do { parent = parent.getParent(); } while (parent != null && parent.getValue().nbEvents == 0); if (parent == null) { return 0; } else { return (double) node.getValue().nbEvents / parent.getValue().nbEvents; } } }; TmfBaseStatisticsTree baseData = new TmfBaseStatisticsTree(); fTraceName = "trace1"; fTreeNode = new TmfStatisticsTreeNode(new TmfFixedArray<String>(fTraceName), baseData); fBaseColumnData = new TmfBaseColumnData(fHeader, fWidth, fAlignment, fToolTip, fLabelProvider, fComparator, fPercentageProvider); }
From source file:org.eclipse.linuxtools.tmf.ui.views.statistics.model.TmfBaseColumnDataProvider.java
License:Open Source License
/** * Create basic columns to represent the statistics data *///from w ww . j a va 2s. co m public TmfBaseColumnDataProvider() { // List that will be used to create the table. fColumnData = new Vector<TmfBaseColumnData>(); fColumnData.add( new TmfBaseColumnData(LEVEL_COLUMN, 200, SWT.LEFT, LEVEL_COLUMN_TIP, new ColumnLabelProvider() { @Override public String getText(Object element) { return ((TmfStatisticsTreeNode) element).getKey(); } @Override public Image getImage(Object element) { TmfStatisticsTreeNode node = (TmfStatisticsTreeNode) element; if (fFolderLevels.contains(node.getKey())) { return PlatformUI.getWorkbench().getSharedImages() .getImage(ISharedImages.IMG_OBJ_FOLDER); } else { return PlatformUI.getWorkbench().getSharedImages() .getImage(ISharedImages.IMG_OBJ_ELEMENT); } } }, new ViewerComparator() { @Override public int compare(Viewer viewer, Object e1, Object e2) { TmfStatisticsTreeNode n1 = (TmfStatisticsTreeNode) e1; TmfStatisticsTreeNode n2 = (TmfStatisticsTreeNode) e2; return n1.getKey().compareTo(n2.getKey()); } }, null)); fColumnData.add(new TmfBaseColumnData(EVENTS_COUNT_COLUMN, 125, SWT.LEFT, EVENTS_COUNT_COLUMN_TIP, new ColumnLabelProvider() { @Override public String getText(Object element) { TmfStatisticsTreeNode node = (TmfStatisticsTreeNode) element; if (!fFolderLevels.contains(node.getKey())) { return Long.toString(node.getValue().nbEvents); } else { return ""; //$NON-NLS-1$ } } }, new ViewerComparator() { @Override public int compare(Viewer viewer, Object e1, Object e2) { TmfStatisticsTreeNode n1 = (TmfStatisticsTreeNode) e1; TmfStatisticsTreeNode n2 = (TmfStatisticsTreeNode) e2; return (int) (n1.getValue().nbEvents - n2.getValue().nbEvents); } }, new ITmfColumnPercentageProvider() { @Override public double getPercentage(TmfStatisticsTreeNode node) { TmfStatisticsTreeNode parent = node; do { parent = parent.getParent(); } while (parent != null && parent.getValue().nbEvents == 0); if (parent == null) { return 0; } else { return (double) node.getValue().nbEvents / parent.getValue().nbEvents; } } })); }
From source file:org.eclipse.linuxtools.tmf.ui.views.statistics.TmfStatisticsView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { final Vector<TmfBaseColumnData> columnDataList = getColumnDataProvider().getColumnData(); parent.setLayout(new FillLayout()); fTreeViewer = new TreeViewer(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); fTreeViewer.setContentProvider(new TmfTreeContentProvider()); fTreeViewer.getTree().setHeaderVisible(true); fTreeViewer.setUseHashlookup(true);// w ww.j a v a 2s . c o m for (final TmfBaseColumnData columnData : columnDataList) { final TreeViewerColumn treeColumn = new TreeViewerColumn(fTreeViewer, columnData.getAlignment()); treeColumn.getColumn().setText(columnData.getHeader()); treeColumn.getColumn().setWidth(columnData.getWidth()); treeColumn.getColumn().setToolTipText(columnData.getTooltip()); if (columnData.getComparator() != null) { treeColumn.getColumn().addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (fTreeViewer.getTree().getSortDirection() == SWT.UP || fTreeViewer.getTree().getSortColumn() != treeColumn.getColumn()) { fTreeViewer.setComparator(columnData.getComparator()); fTreeViewer.getTree().setSortDirection(SWT.DOWN); } else { fTreeViewer.setComparator(new ViewerComparator() { @Override public int compare(Viewer viewer, Object e1, Object e2) { return -1 * columnData.getComparator().compare(viewer, e1, e2); } }); fTreeViewer.getTree().setSortDirection(SWT.UP); } fTreeViewer.getTree().setSortColumn(treeColumn.getColumn()); } }); } treeColumn.setLabelProvider(columnData.getLabelProvider()); } // Handler that will draw the bar charts. fTreeViewer.getTree().addListener(SWT.EraseItem, new Listener() { @Override public void handleEvent(Event event) { if (columnDataList.get(event.index).getPercentageProvider() != null) { TmfStatisticsTreeNode node = (TmfStatisticsTreeNode) event.item.getData(); double percentage = columnDataList.get(event.index).getPercentageProvider().getPercentage(node); if (percentage == 0) { return; } if ((event.detail & SWT.SELECTED) > 0) { Color oldForeground = event.gc.getForeground(); event.gc.setForeground(event.item.getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION)); event.gc.fillRectangle(event.x, event.y, event.width, event.height); event.gc.setForeground(oldForeground); event.detail &= ~SWT.SELECTED; } int barWidth = (int) ((fTreeViewer.getTree().getColumn(1).getWidth() - 8) * percentage); int oldAlpha = event.gc.getAlpha(); Color oldForeground = event.gc.getForeground(); Color oldBackground = event.gc.getBackground(); event.gc.setAlpha(64); event.gc.setForeground(event.item.getDisplay().getSystemColor(SWT.COLOR_BLUE)); event.gc.setBackground(event.item.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND)); event.gc.fillGradientRectangle(event.x, event.y, barWidth, event.height, true); event.gc.drawRectangle(event.x, event.y, barWidth, event.height); event.gc.setForeground(oldForeground); event.gc.setBackground(oldBackground); event.gc.setAlpha(oldAlpha); event.detail &= ~SWT.BACKGROUND; } } }); fTreeViewer.setComparator(columnDataList.get(0).getComparator()); fTreeViewer.getTree().setSortColumn(fTreeViewer.getTree().getColumn(0)); fTreeViewer.getTree().setSortDirection(SWT.DOWN); // Read current data if any available TmfExperiment<?> experiment = TmfExperiment.getCurrentExperiment(); if (experiment != null) { // Insert the statistics data into the tree @SuppressWarnings({ "rawtypes", "unchecked" }) TmfExperimentSelectedSignal<?> signal = new TmfExperimentSelectedSignal(this, experiment); experimentSelected(signal); } }
From source file:org.eclipse.ltk.internal.ui.refactoring.PreviewWizardPage.java
License:Open Source License
protected ViewerComparator createTreeComparator() { return new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { PreviewNode node1 = (PreviewNode) e1; PreviewNode node2 = (PreviewNode) e2; if (node1.hasDerived()) { if (node2.hasDerived()) { return 0; } else { return +1; }// w w w .j av a 2 s. co m } else { if (node2.hasDerived()) { return -1; } else { return 0; } } } }; }
From source file:org.eclipse.m2e.core.ui.internal.components.NestedProjectsComposite.java
License:Open Source License
public NestedProjectsComposite(Composite parent, int style, IProject[] initialSelection, boolean showOutOfDateWarning) { super(parent, style); this.showOutOfDateUI = showOutOfDateWarning; setLayout(new GridLayout(2, false)); Label lblAvailable = new Label(this, SWT.NONE); lblAvailable.setText(Messages.UpdateDepenciesDialog_availableCodebasesLabel); lblAvailable.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 2, 1)); codebaseViewer = new CheckboxTreeViewer(this, SWT.BORDER); codebaseViewer.setContentProvider(new ITreeContentProvider() { public void dispose() { }/*from www. j av a 2 s . com*/ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } public Object[] getElements(Object element) { if (element instanceof Collection) { return ((Collection<?>) element).toArray(); } return null; } public Object[] getChildren(Object parentElement) { if (parentElement instanceof IProject) { String elePath = getElePath(parentElement); String prevPath = null; List<IProject> children = new ArrayList<IProject>(); for (String path : projectPaths.keySet()) { if (path.length() != elePath.length() && path.startsWith(elePath)) { if (prevPath == null || !path.startsWith(prevPath)) { prevPath = path; children.add(getProject(path)); } } } return children.toArray(); } else if (parentElement instanceof Collection) { return ((Collection<?>) parentElement).toArray(); } return null; } public Object getParent(Object element) { String elePath = getElePath(element); String prevPath = null; for (String path : projectPaths.keySet()) { if (elePath.length() != path.length() && elePath.startsWith(path) && (prevPath == null || prevPath.length() < path.length())) { prevPath = path; } } return prevPath == null ? projects : getProject(prevPath); } public boolean hasChildren(Object element) { if (element instanceof IProject) { String elePath = getElePath(element); for (String path : projectPaths.keySet()) { if (elePath.length() != path.length() && path.startsWith(elePath)) { return true; } } } else if (element instanceof Collection) { return !((Collection<?>) element).isEmpty(); } return false; } }); codebaseViewer.setLabelProvider(new MavenProjectLabelProvider() { public Image getImage(Object element) { Image img = super.getImage(element); if (showOutOfDateUI && requiresUpdate((IProject) element)) { img = MavenImages.createOverlayImage(MavenImages.OOD_MVN_PROJECT, img, MavenImages.OUT_OF_DATE_OVERLAY, IDecoration.BOTTOM_RIGHT); } return img; } }); codebaseViewer.setComparator(new ViewerComparator()); projects = getMavenCodebases(); // prevent flicker codebaseViewer.getTree().setRedraw(false); try { codebaseViewer.setInput(projects); codebaseViewer.expandAll(); if (initialSelection != null) { // windowbuilder compat for (IProject project : initialSelection) { setSubtreeChecked(project, true); } // Reveal the first element if (initialSelection.length > 0) { codebaseViewer.reveal(initialSelection[0]); } } } finally { codebaseViewer.getTree().setRedraw(true); } Tree tree = codebaseViewer.getTree(); GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1); gd.heightHint = 300; gd.widthHint = 300; tree.setLayoutData(gd); GridLayout layout = new GridLayout(2, false); layout.marginLeft = 10; Composite selectionActionComposite = new Composite(this, SWT.NONE); selectionActionComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); GridLayout gl_selectionActionComposite = new GridLayout(1, false); gl_selectionActionComposite.marginWidth = 0; gl_selectionActionComposite.marginHeight = 0; selectionActionComposite.setLayout(gl_selectionActionComposite); createButtons(selectionActionComposite); createOutOfDateProjectsWarning(parent); createMenu(); codebaseViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { updateSelectedProjects(); } }); updateSelectedProjects(); }
From source file:org.eclipse.m2e.core.ui.internal.components.WorkingSetGroup.java
License:Open Source License
private void createControl(Composite container) { addToWorkingSetButton = new Button(container, SWT.CHECK); GridData gd_addToWorkingSetButton = new GridData(SWT.LEFT, SWT.CENTER, false, false, 3, 1); gd_addToWorkingSetButton.verticalIndent = 12; addToWorkingSetButton.setLayoutData(gd_addToWorkingSetButton); addToWorkingSetButton.setSelection(true); addToWorkingSetButton.setData("name", "addToWorkingSetButton"); //$NON-NLS-1$ //$NON-NLS-2$ addToWorkingSetButton.setText(Messages.WorkingSetGroup_btnAddSet); addToWorkingSetButton.setSelection(false); final Label workingsetLabel = new Label(container, SWT.NONE); GridData gd_workingsetLabel = new GridData(); gd_workingsetLabel.horizontalIndent = 10; workingsetLabel.setLayoutData(gd_workingsetLabel); workingsetLabel.setEnabled(false);/* w w w. j a va2 s.c o m*/ workingsetLabel.setData("name", "workingsetLabel"); //$NON-NLS-1$ //$NON-NLS-2$ workingsetLabel.setText(Messages.WorkingSetGroup_lblSet); Combo workingsetCombo = new Combo(container, SWT.READ_ONLY); workingsetCombo.setEnabled(false); workingsetCombo.setData("name", "workingsetCombo"); //$NON-NLS-1$ //$NON-NLS-2$ workingsetCombo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); workingsetComboViewer = new ComboViewer(workingsetCombo); workingsetComboViewer.setContentProvider(new IStructuredContentProvider() { public Object[] getElements(Object input) { if (input instanceof IWorkingSet[]) { return (IWorkingSet[]) input; } else if (input instanceof List<?>) { return new Object[] { input }; } else if (input instanceof Set<?>) { return ((Set<?>) input).toArray(); } return new IWorkingSet[0]; } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } public void dispose() { } }); workingsetComboViewer.setLabelProvider(new LabelProvider() { private ResourceManager images = new LocalResourceManager(JFaceResources.getResources()); @SuppressWarnings("deprecation") public Image getImage(Object element) { if (element instanceof IWorkingSet) { ImageDescriptor imageDescriptor = ((IWorkingSet) element).getImage(); if (imageDescriptor != null) { try { return (Image) images.create(imageDescriptor); } catch (DeviceResourceException ex) { return null; } } } return super.getImage(element); } public String getText(Object element) { if (element instanceof IWorkingSet) { return ((IWorkingSet) element).getLabel(); } else if (element instanceof List<?>) { StringBuffer sb = new StringBuffer(); for (Object o : (List<?>) element) { if (o instanceof IWorkingSet) { if (sb.length() > 0) { sb.append(", "); //$NON-NLS-1$ } sb.append(((IWorkingSet) o).getLabel()); } } return sb.toString(); } return super.getText(element); } public void dispose() { images.dispose(); super.dispose(); } }); workingsetComboViewer.setComparator(new ViewerComparator()); final Button newWorkingSetButton = new Button(container, SWT.NONE); newWorkingSetButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false)); newWorkingSetButton.setData("name", "configureButton"); //$NON-NLS-1$ //$NON-NLS-2$ newWorkingSetButton.setText(Messages.WorkingSetGroup_btnMore); newWorkingSetButton.setEnabled(false); newWorkingSetButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(final SelectionEvent e) { IWorkingSetManager workingSetManager = PlatformUI.getWorkbench().getWorkingSetManager(); IWorkingSetSelectionDialog dialog = workingSetManager.createWorkingSetSelectionDialog(shell, true, WORKING_SET_IDS.toArray(new String[0])); if (dialog.open() == Window.OK) { IWorkingSet[] workingSets = dialog.getSelection(); selectWorkingSets(Arrays.asList(workingSets)); } } }); if (selectWorkingSets(workingSets)) { addToWorkingSetButton.setSelection(true); workingsetLabel.setEnabled(true); workingsetComboViewer.getCombo().setEnabled(true); newWorkingSetButton.setEnabled(true); } addToWorkingSetButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { boolean addToWorkingingSet = addToWorkingSetButton.getSelection(); workingsetLabel.setEnabled(addToWorkingingSet); workingsetComboViewer.getCombo().setEnabled(addToWorkingingSet); newWorkingSetButton.setEnabled(addToWorkingingSet); if (addToWorkingingSet) { updateConfiguration(); } else { workingSets.clear(); } } }); workingsetComboViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { updateConfiguration(); } }); }
From source file:org.eclipse.m2e.core.ui.internal.wizards.LifecycleMappingPage.java
License:Open Source License
/** * Create contents of the wizard./*from w w w . ja v a 2 s .c om*/ * * @param parent */ public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NULL); setControl(container); container.setLayout(new GridLayout(1, false)); treeViewer = new TreeViewer(container, SWT.BORDER | SWT.FULL_SELECTION); Tree tree = treeViewer.getTree(); tree.setLinesVisible(true); tree.setHeaderVisible(true); tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); TreeViewerColumn treeViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE); TreeColumn trclmnNewColumn = treeViewerColumn.getColumn(); trclmnNewColumn.setText(Messages.LifecycleMappingPage_mavenBuildColumnTitle); TreeViewerColumn columnViewerAction = new TreeViewerColumn(treeViewer, SWT.NONE); TreeColumn columnAction = columnViewerAction.getColumn(); columnAction.setText(Messages.LifecycleMappingPage_actionColumnTitle); columnViewerAction.setEditingSupport(new EditingSupport(treeViewer) { @Override protected void setValue(Object element, Object value) { if (element instanceof ILifecycleMappingLabelProvider) { ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) element; int intVal = ((Integer) value).intValue(); List<IMavenDiscoveryProposal> all = mappingConfiguration.getProposals(prov.getKey()); if (ignore.contains(element)) { ignore.remove(element); } else if (ignoreAtDefinition.contains(element)) { ignoreAtDefinition.remove(element); } else if (intVal == all.size() + NO_ACTION_IDX || shouldDeslectProposal(prov)) { IMavenDiscoveryProposal prop = mappingConfiguration.getSelectedProposal(prov.getKey()); mappingConfiguration.removeSelectedProposal(prop); } // Set new selection if (intVal < all.size()) { IMavenDiscoveryProposal sel = all.get(intVal); if (sel != null) { mappingConfiguration.addSelectedProposal(sel); } } else { switch (intVal - all.size()) { case IGNORE_IDX: ignore.add(prov); break; case IGNORE_PARENT_IDX: ignoreAtDefinition.add(prov); } } getViewer().refresh(true); updateErrorCount(); } } @Override protected Object getValue(Object element) { if (element instanceof ILifecycleMappingLabelProvider) { ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) element; IMavenDiscoveryProposal prop = mappingConfiguration.getSelectedProposal(prov.getKey()); List<IMavenDiscoveryProposal> all = mappingConfiguration.getProposals(prov.getKey()); if (ignore.contains(element)) { return Integer.valueOf(all.size() + IGNORE_IDX); } else if (ignoreAtDefinition.contains(element)) { return Integer.valueOf(all.size() + IGNORE_PARENT_IDX); } else { int index = all.indexOf(prop); return index >= 0 ? Integer.valueOf(index) : Integer.valueOf(all.size() + NO_ACTION_IDX); } } return Integer.valueOf(0); } @Override protected CellEditor getCellEditor(Object element) { if (element instanceof ILifecycleMappingLabelProvider) { ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) element; List<IMavenDiscoveryProposal> all = mappingConfiguration.getProposals(prov.getKey()); List<String> values = new ArrayList<String>(); for (IMavenDiscoveryProposal prop : all) { values.add(NLS.bind(Messages.LifecycleMappingPage_installDescription, prop.toString())); } if (prov.isError(mappingConfiguration)) { values.add(Messages.LifecycleMappingPage_resolveLaterDescription); } else { values.add(EMPTY_STRING); } addIgnoreProposals(values, prov); ComboBoxCellEditor edit = new ComboBoxCellEditor(treeViewer.getTree(), values.toArray(new String[values.size()])); Control cont = edit.getControl(); //this attempts to disable text edits in the combo.. if (cont instanceof CCombo) { CCombo combo = (CCombo) cont; combo.setEditable(false); } return edit; } throw new IllegalStateException(); } @Override protected boolean canEdit(Object element) { if (element instanceof AggregateMappingLabelProvider) { ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) element; List<IMavenDiscoveryProposal> all = mappingConfiguration.getProposals(prov.getKey()); return all != null && !all.isEmpty() || prov.getKey() instanceof MojoExecutionMappingRequirement; } return false; } }); treeViewer.setContentProvider(new ITreeContentProvider() { public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } public Object[] getElements(Object inputElement) { if (inputElement instanceof LifecycleMappingConfiguration) { Map<ILifecycleMappingRequirement, List<ILifecycleMappingLabelProvider>> packagings = new HashMap<ILifecycleMappingRequirement, List<ILifecycleMappingLabelProvider>>(); Map<ILifecycleMappingRequirement, List<ILifecycleMappingLabelProvider>> mojos = new HashMap<ILifecycleMappingRequirement, List<ILifecycleMappingLabelProvider>>(); Collection<ProjectLifecycleMappingConfiguration> projects = ((LifecycleMappingConfiguration) inputElement) .getProjects(); for (ProjectLifecycleMappingConfiguration prjconf : projects) { PackagingTypeMappingConfiguration pack = prjconf.getPackagingTypeMappingConfiguration(); if (pack != null) { ILifecycleMappingRequirement packReq = pack.getLifecycleMappingRequirement(); if (packReq != null && !mappingConfiguration.getProposals(packReq).isEmpty()) { List<ILifecycleMappingLabelProvider> val = packagings.get(packReq); if (val == null) { val = new ArrayList<ILifecycleMappingLabelProvider>(); packagings.put(packReq, val); } val.add(new PackagingTypeMappingLabelProvider(prjconf, pack)); } } List<MojoExecutionMappingConfiguration> mojoExecs = prjconf .getMojoExecutionConfigurations(); if (mojoExecs != null) { for (MojoExecutionMappingConfiguration mojoMap : mojoExecs) { ILifecycleMappingRequirement mojoReq = mojoMap.getLifecycleMappingRequirement(); // include mojo execution if it has available proposals or interesting phase not mapped locally if (mojoReq != null && !mappingConfiguration.getProposals(mojoReq).isEmpty() || (LifecycleMappingFactory .isInterestingPhase(mojoMap.getExecution().getLifecyclePhase()) && !mappingConfiguration.isRequirementSatisfied(mojoReq, true))) { List<ILifecycleMappingLabelProvider> val = mojos.get(mojoReq); if (val == null) { val = new ArrayList<ILifecycleMappingLabelProvider>(); mojos.put(mojoReq, val); } val.add(new MojoExecutionMappingLabelProvider(prjconf, mojoMap)); } } } } List<ILifecycleMappingLabelProvider> toRet = new ArrayList<ILifecycleMappingLabelProvider>(); for (Map.Entry<ILifecycleMappingRequirement, List<ILifecycleMappingLabelProvider>> ent : packagings .entrySet()) { toRet.add(new AggregateMappingLabelProvider(ent.getKey(), ent.getValue())); } for (Map.Entry<ILifecycleMappingRequirement, List<ILifecycleMappingLabelProvider>> ent : mojos .entrySet()) { toRet.add(new AggregateMappingLabelProvider(ent.getKey(), ent.getValue())); } return toRet.toArray(); } return null; } public Object[] getChildren(Object parentElement) { if (parentElement instanceof AggregateMappingLabelProvider) { return ((AggregateMappingLabelProvider) parentElement).getChildren(); } return new Object[0]; } public Object getParent(Object element) { return null; } public boolean hasChildren(Object element) { Object[] children = getChildren(element); return children != null && children.length > 0; } }); treeViewer.setLabelProvider(new ITableLabelProvider() { public void removeListener(ILabelProviderListener listener) { } public boolean isLabelProperty(Object element, String property) { return false; } public void dispose() { } public void addListener(ILabelProviderListener listener) { } public String getColumnText(Object element, int columnIndex) { if (element instanceof ILifecycleMappingLabelProvider) { ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) element; if (columnIndex == MAVEN_INFO_IDX) { String text = prov.getMavenText(); if (prov instanceof AggregateMappingLabelProvider && !isHandled(prov)) { text = NLS.bind(Messages.LifecycleMappingPage_errorMavenBuild, new String[] { text, String.valueOf(((AggregateMappingLabelProvider) prov).getChildren().length) }); } return text; } else if (columnIndex == ACTION_INFO_IDX && element instanceof AggregateMappingLabelProvider) { IMavenDiscoveryProposal proposal = mappingConfiguration.getSelectedProposal(prov.getKey()); if (ignore.contains(element)) { return Messages.LifecycleMappingPage_doNotExecutePom; } else if (ignoreAtDefinition.contains(element)) { return Messages.LifecycleMappingPage_doNotExecuteParent; } else if (proposal != null) { return NLS.bind(Messages.LifecycleMappingPage_installDescription, proposal.toString()); //not really feeling well here. } else if (loading || !prov.isError(mappingConfiguration)) { return EMPTY_STRING; } else { return Messages.LifecycleMappingPage_resolveLaterDescription; } } } return null; } public Image getColumnImage(Object element, int columnIndex) { if (columnIndex != 0) { return null; } if (element instanceof AggregateMappingLabelProvider) { ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) element; if (prov.isError(mappingConfiguration)) { if (!isHandled(prov)) { return MavenImages.IMG_ERROR; } } return MavenImages.IMG_PASSED; } return MavenImages.IMG_POM; } }); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (event.getSelection() instanceof IStructuredSelection && ((IStructuredSelection) event.getSelection()).size() == 1) { ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) ((IStructuredSelection) event .getSelection()).getFirstElement(); if (ignore.contains(prov)) { details.setText(Messages.LifecycleMappingPage_doNotExecutePomDescription); license.setText(EMPTY_STRING); } else if (ignoreAtDefinition.contains(prov)) { details.setText(Messages.LifecycleMappingPage_doNotExecuteParentDescription); license.setText(EMPTY_STRING); } else { IMavenDiscoveryProposal proposal = mappingConfiguration.getSelectedProposal(prov.getKey()); details.setText(proposal != null ? proposal.getDescription() : mappingConfiguration.getProposals(prov.getKey()).isEmpty() ? NLS.bind(Messages.LifecycleMappingPage_noMarketplaceEntryDescription, prov.getMavenText()) : EMPTY_STRING); license.setText(proposal == null ? EMPTY_STRING : proposal.getLicense()); } } else { details.setText(EMPTY_STRING); license.setText(EMPTY_STRING); } } }); treeViewer.setComparator(new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { if (!(e1 instanceof ILifecycleMappingLabelProvider && e2 instanceof ILifecycleMappingLabelProvider)) { return super.compare(viewer, e1, e2); } int cat1 = category(e1); int cat2 = category(e2); if (cat1 != cat2) { return cat1 - cat2; } return ((ILifecycleMappingLabelProvider) e1).getMavenText() .compareTo(((ILifecycleMappingLabelProvider) e2).getMavenText()); } }); Composite composite = new Composite(container, SWT.NONE); composite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); composite.setLayout(new GridLayout(3, false)); errorCountLabel = new Label(composite, SWT.NONE); errorCountLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); Button btnNewButton_1 = new Button(composite, SWT.NONE); btnNewButton_1.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { mappingConfiguration.clearSelectedProposals(); ignore.clear(); ignoreAtDefinition.clear(); treeViewer.refresh(); getWizard().getContainer().updateButtons(); // needed to enable/disable Finish button updateErrorCount(); } }); btnNewButton_1.setText(Messages.LifecycleMappingPage_deselectAllButton); autoSelectButton = new Button(composite, SWT.NONE); autoSelectButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { ignore.clear(); ignoreAtDefinition.clear(); discoverProposals(); } }); autoSelectButton.setText(Messages.LifecycleMappingPage_autoSelectButton); // Provide a reasonable height for the details box GC gc = new GC(container); gc.setFont(JFaceResources.getDialogFont()); FontMetrics fontMetrics = gc.getFontMetrics(); gc.dispose(); Group grpDetails = new Group(container, SWT.NONE); grpDetails.setLayout(new GridLayout(1, false)); grpDetails.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); grpDetails.setText(Messages.LifecycleMappingPage_descriptionLabel); details = new Text(grpDetails, SWT.WRAP | SWT.READ_ONLY | SWT.V_SCROLL); GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); gd.heightHint = Dialog.convertHeightInCharsToPixels(fontMetrics, 3); gd.minimumHeight = Dialog.convertHeightInCharsToPixels(fontMetrics, 1); details.setLayoutData(gd); Group grpLicense = new Group(container, SWT.NONE); grpLicense.setLayout(new GridLayout(1, false)); grpLicense.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); grpLicense.setText(Messages.LifecycleMappingPage_licenseLabel); license = new Text(grpLicense, SWT.READ_ONLY); gd = new GridData(SWT.FILL, SWT.FILL, true, true); gd.heightHint = Dialog.convertHeightInCharsToPixels(fontMetrics, 1); gd.minimumHeight = Dialog.convertHeightInCharsToPixels(fontMetrics, 1); license.setLayoutData(gd); }
From source file:org.eclipse.m2e.core.ui.internal.wizards.MavenProjectWizardArchetypePage.java
License:Open Source License
/** Creates the archetype table viewer. */ @SuppressWarnings({ "unchecked", "rawtypes" }) private void createViewer(Composite parent) { Label catalogsLabel = new Label(parent, SWT.NONE); catalogsLabel.setText(org.eclipse.m2e.core.ui.internal.Messages.MavenProjectWizardArchetypePage_lblCatalog); Composite catalogsComposite = new Composite(parent, SWT.NONE); GridLayout catalogsCompositeLayout = new GridLayout(); catalogsCompositeLayout.marginWidth = 0; catalogsCompositeLayout.marginHeight = 0; catalogsCompositeLayout.numColumns = 2; catalogsComposite.setLayout(catalogsCompositeLayout); catalogsComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 2, 1)); catalogsComboViewer = new ComboViewer(catalogsComposite); catalogsComboViewer.getControl().setData("name", "catalogsCombo"); //$NON-NLS-1$ //$NON-NLS-2$ catalogsComboViewer.getCombo().setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); catalogsComboViewer.setContentProvider(new IStructuredContentProvider() { public Object[] getElements(Object input) { if (input instanceof Collection) { return ((Collection<?>) input).toArray(); }//from w ww.ja v a2 s . co m return new Object[0]; } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } public void dispose() { } }); catalogsComboViewer.setLabelProvider(new LabelProvider() { public String getText(Object element) { if (element instanceof ArchetypeCatalogFactory) { return ((ArchetypeCatalogFactory) element).getDescription(); } else if (element instanceof String) { return element.toString(); } return super.getText(element); } }); catalogsComboViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { ISelection selection = event.getSelection(); if (selection instanceof IStructuredSelection) { Object factory = ((IStructuredSelection) selection).getFirstElement(); if (factory instanceof ArchetypeCatalogFactory) { catalogFactory = (ArchetypeCatalogFactory) factory; } else if (factory instanceof String) { catalogFactory = null; } reloadViewer(); } else { catalogFactory = null; loadArchetypes(null, null, null); } //remember what was switched to here if (dialogSettings != null) { if (catalogFactory != null) dialogSettings.put(KEY_CATALOG, catalogFactory.getId()); else dialogSettings.put(KEY_CATALOG, ALL_CATALOGS); } } }); final ArchetypeManager archetypeManager = MavenPluginActivator.getDefault().getArchetypeManager(); ArrayList allCatalogs = new ArrayList(archetypeManager.getArchetypeCatalogs()); allCatalogs.add(0, ALL_CATALOGS); catalogsComboViewer.setInput(allCatalogs); Button configureButton = new Button(catalogsComposite, SWT.NONE); configureButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false)); configureButton .setText(org.eclipse.m2e.core.ui.internal.Messages.MavenProjectWizardArchetypePage_btnConfigure); configureButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { PreferencesUtil .createPreferenceDialogOn(getShell(), "org.eclipse.m2e.core.preferences.MavenArchetypesPreferencePage", null, null) //$NON-NLS-1$ .open(); if (catalogFactory == null || archetypeManager.getArchetypeCatalogFactory(catalogFactory.getId()) == null) { catalogFactory = archetypeManager.getArchetypeCatalogFactory(NexusIndexerCatalogFactory.ID); } ArrayList allCatalogs = new ArrayList(archetypeManager.getArchetypeCatalogs()); allCatalogs.add(0, ALL_CATALOGS); catalogsComboViewer.setInput(allCatalogs); catalogsComboViewer.setSelection(new StructuredSelection(catalogFactory)); } }); Label filterLabel = new Label(parent, SWT.NONE); filterLabel.setLayoutData(new GridData()); filterLabel.setText(org.eclipse.m2e.core.ui.internal.Messages.MavenProjectWizardArchetypePage_lblFilter); QuickViewerFilter quickViewerFilter = new QuickViewerFilter(); VersionsFilter versionFilter = new VersionsFilter(DEFAULT_SHOW_LAST_VERSION, DEFAULT_INCLUDE_SNAPSHOTS); filterText = new Text(parent, SWT.BORDER | SWT.SEARCH); filterText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); filterText.addModifyListener(quickViewerFilter); filterText.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e) { if (e.keyCode == SWT.ARROW_DOWN) { viewer.getTable().setFocus(); viewer.getTable().setSelection(0); viewer.setSelection(new StructuredSelection(viewer.getElementAt(0)), true); } } }); ToolBar toolBar = new ToolBar(parent, SWT.FLAT); toolBar.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false)); final ToolItem clearToolItem = new ToolItem(toolBar, SWT.PUSH); clearToolItem.setEnabled(false); clearToolItem.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_ELCL_REMOVE)); clearToolItem.setDisabledImage( PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_ELCL_REMOVE_DISABLED)); clearToolItem.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { filterText.setText(""); //$NON-NLS-1$ } }); filterText.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { clearToolItem.setEnabled(filterText.getText().length() > 0); } }); SashForm sashForm = new SashForm(parent, SWT.VERTICAL); GridData gd_sashForm = new GridData(SWT.FILL, SWT.FILL, false, true, 3, 1); // gd_sashForm.widthHint = 500; gd_sashForm.heightHint = 200; sashForm.setLayoutData(gd_sashForm); sashForm.setLayout(new GridLayout()); Composite composite1 = new Composite(sashForm, SWT.NONE); GridLayout gridLayout1 = new GridLayout(); gridLayout1.horizontalSpacing = 0; gridLayout1.marginWidth = 0; gridLayout1.marginHeight = 0; composite1.setLayout(gridLayout1); viewer = new TableViewer(composite1, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); Table table = viewer.getTable(); table.setData("name", "archetypesTable"); //$NON-NLS-1$ //$NON-NLS-2$ table.setHeaderVisible(true); TableColumn column1 = new TableColumn(table, SWT.LEFT); column1.setWidth(150); column1.setText(Messages.wizardProjectPageArchetypeColumnGroupId); TableColumn column0 = new TableColumn(table, SWT.LEFT); column0.setWidth(150); column0.setText(Messages.wizardProjectPageArchetypeColumnArtifactId); TableColumn column2 = new TableColumn(table, SWT.LEFT); column2.setWidth(100); column2.setText(Messages.wizardProjectPageArchetypeColumnVersion); GridData tableData = new GridData(SWT.FILL, SWT.FILL, true, true); tableData.widthHint = 400; tableData.heightHint = 200; table.setLayoutData(tableData); viewer.setLabelProvider(new ArchetypeLabelProvider()); viewer.setComparator(new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { return ARCHETYPE_COMPARATOR.compare((Archetype) e1, (Archetype) e2); } }); viewer.setComparer(new IElementComparer() { public int hashCode(Object obj) { if (obj instanceof Archetype) { return ArchetypeUtil.getHashCode((Archetype) obj); } return obj.hashCode(); } public boolean equals(Object one, Object another) { if (one instanceof Archetype && another instanceof Archetype) { return ArchetypeUtil.areEqual((Archetype) one, (Archetype) another); } return one.equals(another); } }); viewer.setFilters(new ViewerFilter[] { versionFilter, quickViewerFilter }); viewer.setContentProvider(new IStructuredContentProvider() { public Object[] getElements(Object inputElement) { if (inputElement instanceof Collection) { return ((Collection<?>) inputElement).toArray(); } return new Object[0]; } public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { Archetype archetype = getArchetype(); if (archetype != null) { String repositoryUrl = archetype.getRepository(); String description = archetype.getDescription(); String text = description == null ? "" : description; //$NON-NLS-1$ text = text.replaceAll("\n", "").replaceAll("\\s{2,}", " "); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ if (repositoryUrl != null) { text += text.length() > 0 ? "\n" + repositoryUrl : repositoryUrl; //$NON-NLS-1$ } descriptionText.setText(text); setPageComplete(true); } else { descriptionText.setText(""); //$NON-NLS-1$ setPageComplete(false); } } }); viewer.addOpenListener(new IOpenListener() { public void open(OpenEvent openevent) { if (canFlipToNextPage()) { getContainer().showPage(getNextPage()); } } }); Composite composite2 = new Composite(sashForm, SWT.NONE); GridLayout gridLayout2 = new GridLayout(); gridLayout2.marginHeight = 0; gridLayout2.marginWidth = 0; gridLayout2.horizontalSpacing = 0; composite2.setLayout(gridLayout2); descriptionText = new Text(composite2, SWT.WRAP | SWT.V_SCROLL | SWT.READ_ONLY | SWT.MULTI | SWT.BORDER); GridData descriptionTextData = new GridData(SWT.FILL, SWT.FILL, true, true); descriptionTextData.heightHint = 40; descriptionText.setLayoutData(descriptionTextData); //whole dialog resizes badly without the width hint to the desc text descriptionTextData.widthHint = 250; sashForm.setWeights(new int[] { 80, 20 }); Composite buttonComposite = new Composite(parent, SWT.NONE); GridData gd_buttonComposite = new GridData(SWT.FILL, SWT.CENTER, false, false, 3, 1); buttonComposite.setLayoutData(gd_buttonComposite); GridLayout gridLayout = new GridLayout(); gridLayout.marginHeight = 0; gridLayout.marginWidth = 0; gridLayout.numColumns = 3; buttonComposite.setLayout(gridLayout); showLastVersionButton = new Button(buttonComposite, SWT.CHECK); showLastVersionButton.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false)); showLastVersionButton .setText(org.eclipse.m2e.core.ui.internal.Messages.MavenProjectWizardArchetypePage_btnLast); showLastVersionButton.setSelection(DEFAULT_SHOW_LAST_VERSION); showLastVersionButton.addSelectionListener(versionFilter); includeShapshotsButton = new Button(buttonComposite, SWT.CHECK); GridData buttonData = new GridData(SWT.LEFT, SWT.CENTER, true, false); buttonData.horizontalIndent = 25; includeShapshotsButton.setLayoutData(buttonData); includeShapshotsButton .setText(org.eclipse.m2e.core.ui.internal.Messages.MavenProjectWizardArchetypePage_btnSnapshots); includeShapshotsButton.setSelection(DEFAULT_INCLUDE_SNAPSHOTS); includeShapshotsButton.addSelectionListener(versionFilter); addArchetypeButton = new Button(buttonComposite, SWT.NONE); addArchetypeButton .setText(org.eclipse.m2e.core.ui.internal.Messages.MavenProjectWizardArchetypePage_btnAdd); addArchetypeButton.setData("name", "addArchetypeButton"); //$NON-NLS-1$ //$NON-NLS-2$ buttonData = new GridData(SWT.RIGHT, SWT.CENTER, true, false); buttonData.horizontalIndent = 35; addArchetypeButton.setLayoutData(buttonData); addArchetypeButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { CustomArchetypeDialog dialog = new CustomArchetypeDialog(getShell(), org.eclipse.m2e.core.ui.internal.Messages.MavenProjectWizardArchetypePage_add_title); if (dialog.open() == Window.OK) { String archetypeGroupId = dialog.getArchetypeGroupId(); String archetypeArtifactId = dialog.getArchetypeArtifactId(); String archetypeVersion = dialog.getArchetypeVersion(); String repositoryUrl = dialog.getRepositoryUrl(); downloadArchetype(archetypeGroupId, archetypeArtifactId, archetypeVersion, repositoryUrl); } } }); }
From source file:org.eclipse.m2e.editor.pom.DependencyTreePage.java
License:Open Source License
private void createHierarchyToolbar(Section hierarchySection, final DependencyTreeLabelProvider treeLabelProvider, FormToolkit formToolkit) { ToolBarManager hiearchyToolBarManager = new ToolBarManager(SWT.FLAT); hiearchyToolBarManager/* w w w .j a v a 2s . co m*/ .add(new Action(Messages.DependencyTreePage_action_collapseAll, MavenEditorImages.COLLAPSE_ALL) { public void run() { treeViewer.collapseAll(); } }); hiearchyToolBarManager .add(new Action(Messages.DependencyTreePage_action_expandAll, MavenEditorImages.EXPAND_ALL) { public void run() { treeViewer.expandAll(); } }); hiearchyToolBarManager.add(new Separator()); hiearchyToolBarManager.add(new Action(Messages.DependencyTreePage_action_sort, MavenEditorImages.SORT) { public int getStyle() { return AS_CHECK_BOX; } public void run() { if (treeViewer.getComparator() == null) { treeViewer.setComparator(new ViewerComparator()); } else { treeViewer.setComparator(null); } } }); hiearchyToolBarManager .add(new Action(Messages.DependencyTreePage_action_showGroupId, MavenEditorImages.SHOW_GROUP) { public int getStyle() { return AS_CHECK_BOX; } public void run() { treeLabelProvider.setShowGroupId(isChecked()); treeViewer.refresh(); } }); hierarchyFilterAction = new Action(Messages.DependencyTreePage_action_filterSearch, MavenEditorImages.FILTER) { public int getStyle() { return AS_CHECK_BOX; } public void run() { if (isChecked()) { setTreeFilter(currentFilter, true); // treeViewer.setFilters(new ViewerFilter[] {searchFilter, listSelectionFilter}); } else { treeViewer.removeFilter(searchFilter); } treeViewer.refresh(); treeViewer.expandAll(); } }; hierarchyFilterAction.setChecked(true); hiearchyToolBarManager.add(hierarchyFilterAction); Composite toolbarComposite = formToolkit.createComposite(hierarchySection); toolbarComposite.setBackground(null); RowLayout rowLayout = new RowLayout(); rowLayout.wrap = false; rowLayout.marginRight = 0; rowLayout.marginLeft = 0; rowLayout.marginTop = 0; rowLayout.marginBottom = 0; toolbarComposite.setLayout(rowLayout); hiearchyToolBarManager.createControl(toolbarComposite); hierarchySection.setTextClient(toolbarComposite); }
From source file:org.eclipse.m2e.editor.pom.DependencyTreePage.java
License:Open Source License
private void createListSection(SashForm sashForm, FormToolkit formToolkit) { Composite listComposite = formToolkit.createComposite(sashForm, SWT.NONE); listComposite.setLayout(new GridLayout()); Section listSection = formToolkit.createSection(listComposite, ExpandableComposite.TITLE_BAR); listSection.marginHeight = 1;/*from w w w . jav a 2 s. c o m*/ GridData gd_listSection = new GridData(SWT.FILL, SWT.FILL, true, true); gd_listSection.widthHint = 100; gd_listSection.minimumWidth = 100; listSection.setLayoutData(gd_listSection); listSection.setText(Messages.DependencyTreePage_section_resolvedDeps); formToolkit.paintBordersFor(listSection); final DependencyListLabelProvider listLabelProvider = new DependencyListLabelProvider(); Table table = formToolkit.createTable(listSection, SWT.FLAT | SWT.MULTI); listSection.setClient(table); // listViewer = new TableViewer(listSection, SWT.FLAT | SWT.MULTI); listViewer = new TableViewer(table); listViewer.setData(FormToolkit.KEY_DRAW_BORDER, Boolean.TRUE); listViewer.setContentProvider(new DependencyListContentProvider()); listViewer.setLabelProvider(listLabelProvider); listViewer.setComparator(new ViewerComparator()); // by default is sorted listSelectionFilter = new ListSelectionFilter(); listViewer.addSelectionChangedListener(listSelectionFilter); listViewer.getTable().addFocusListener(listSelectionFilter); listViewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { IStructuredSelection selection = (IStructuredSelection) listViewer.getSelection(); for (Iterator<?> it = selection.iterator(); it.hasNext();) { Object o = it.next(); if (o instanceof Artifact) { Artifact a = (Artifact) o; OpenPomAction.openEditor(a.getGroupId(), a.getArtifactId(), a.getVersion(), null); } } } }); createListToolbar(listSection, listLabelProvider, formToolkit); }