/** * Calculate the hierarchically qualified name of an EObject. * * @param eob * the EObject to calculate logical name for * @param labelProvider * the label provider that knows how to display EObject instances * * @return the hierarchically */ public static String calculateLogicallyQualifiedDisplayName(EObject eob, LabelProvider labelProvider, boolean includeRoot) { // Calculate hierarchical logical name, e.g. C.m String text = labelProvider.getText(eob); EObject currContainer = eob.eContainer(); while (currContainer != null) { if (isShowable(currContainer)) { text = labelProvider.getText(currContainer) + "." + text; } currContainer = currContainer.eContainer(); if (currContainer != null && !includeRoot && currContainer instanceof Script) break; } return text; }
/** * Creates a new {@link TableViewer table viewer} builder with the given list of table column labels. * * @param columnLabels * a list of table column labels to use for the new table viewer. Cannot be {@code null}. Must not be * empty. * */ protected ColumnViewerBuilder(final List<String> columnLabels, final CP contentProvider) { this.columnLabels = checkNotNull(columnLabels, "columnLabels"); this.contentProvider = checkNotNull(contentProvider, "contentProvider"); checkArgument(!this.columnLabels.isEmpty(), "Empty column labels are not allowed. At least one column should be specified."); headerVisible = true; linesVisible = true; useHashlookup = false; labelProvider = new LabelProvider(); multipleSelection = false; fullSelection = true; resizable = true; hasBorder = false; moveable = true; }
public ThreeStateComboChoice(Composite parent,ISelectionChangedListener listener) { super(parent, SWT.READ_ONLY); setContentProvider(ArrayContentProvider.getInstance()); setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (element instanceof ThreeStateChoice) { ThreeStateChoice choice = (ThreeStateChoice) element; return choice.getLabel(); } return ""; } }); addSelectionChangedListener(listener); setInput(choices); }
@Override protected ListViewer createViewer(Composite parent) { ListViewer viewerObjs = new ListViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 5); gd.widthHint = PREF_PAGE.WIDTH_HINT_PX; viewerObjs.getControl().setLayoutData(gd); viewerObjs.setContentProvider(ArrayContentProvider.getInstance()); viewerObjs.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { return ((DbInfo) element).getName(); } }); return viewerObjs; }
@Override public void createControl(Composite parent) { super.createControl(parent); getTreeViewer().setContentProvider(new OutlineContentProvider()); getTreeViewer().setLabelProvider(new LabelProvider() { @Override public Image getImage(Object element) { if (element instanceof Segments) { Segments seg = (Segments)element; return Activator.getDbObjImage(seg.getType()); } return super.getImage(element); } }); getTreeViewer().addSelectionChangedListener(this); // argument doesn't matter getTreeViewer().setInput(sqlEditor); }
public static Optional<ComponentType> showComponentTypeSelectionDialog(Shell parentShell) throws CoreException { ElementListSelectionDialog dialog = new ElementListSelectionDialog(parentShell, new LabelProvider()); dialog.setElements(loadAllComponentTypes().toArray(new String[0])); dialog.setTitle("Select subcomponent's type"); // user pressed cancel if (dialog.open() == Window.OK) { Object[] objects = dialog.getResult(); for (Object result : objects) { System.out.println("result = " + result); } String typeName = objects[0].toString(); ComponentType type = loadComponentType(typeName); return Optional.of(type); } return Optional.empty(); }
/** * * @param parent * @param url : the url from which we want to get the root url */ public ChooseRootUrlDialog(Shell parent, SVNUrl url) { super(parent); this.url = url; List list = new ArrayList(); // we want the user can select "no root url", ie a blank url list.add(""); // we cannot add null, we would have a NullPointerException //$NON-NLS-1$ SVNUrl possibleRoot = this.url; while (possibleRoot != null) { list.add(possibleRoot); possibleRoot = possibleRoot.getParent(); } setTitle(Policy.bind("ChooseRootUrlDialog.rootUrlDialogTitle")); //$NON-NLS-1$ setAddCancelButton(true); setLabelProvider(new LabelProvider()); setMessage(Policy.bind("ChooseRootUrlDialog.chooseRootUrl")); //$NON-NLS-1$ setContentProvider(new ListContentProvider()); setInput(list); }
/** * Creates a ListViewer whose input is an array of IFiles. * * @param parent the parent of the viewer * @param title the text for the title label * @param heightHint the nominal height of the list * @return the created list viewer */ public ListViewer createFileListViewer(Composite parent, String title, int heightHint) { createLabel(parent, title); ListViewer listViewer = new ListViewer(parent, SWT.READ_ONLY | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER); listViewer.setContentProvider(new IStructuredContentProvider() { public Object[] getElements(Object inputElement) { return (Object[]) inputElement; } public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); listViewer.setLabelProvider(new LabelProvider() { public String getText(Object element) { return ((IFile) element).getFullPath().toString(); } }); listViewer.setSorter(new WorkbenchViewerSorter()); GridData data = new GridData(GridData.FILL_BOTH); data.heightHint = heightHint; listViewer.getList().setLayoutData(data); return listViewer; }
@Override protected void createRuntimeField(Composite composite) { Label runtimeLabel = new Label(composite, SWT.LEAD); runtimeLabel.setText(Messages.getString("app.engine.standard.project.runtimetype")); //$NON-NLS-1$ runtimeField = new ComboViewer(composite, SWT.READ_ONLY); runtimeField.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { return ((AppEngineRuntime) element).getLabel(); } }); runtimeField.setContentProvider(ArrayContentProvider.getInstance()); runtimeField.setInput(AppEngineRuntime.STANDARD_RUNTIMES); runtimeField.setSelection(new StructuredSelection(DEFAULT_RUNTIME), true); runtimeField.addPostSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { revalidate(); } }); }
private void create(Composite parent) { displayExecutor = DisplayExecutor.create(parent.getDisplay()); comboViewer = new ComboViewer(parent, SWT.READ_ONLY | SWT.DROP_DOWN); comboViewer.setComparator(new ViewerComparator()); comboViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (element instanceof GcpProject) { GcpProject project = (GcpProject) element; return project.getName() + " (" + project.getId() + ")"; } return super.getText(element); } }); comboViewer.setContentProvider(ArrayContentProvider.getInstance()); comboViewer.setInput(EMPTY_PROJECTS); parent.addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent event) { cancelFetch(); } }); fetch(); }
/** * Creates a label provider for the detail section below the list<br> * The label provider prints out the name of operation definition and the module the operation is defined in */ private ILabelProvider getDetailLabelProvider() { return new LabelProvider() { public String getText(Object element) { if (element instanceof OpDefNode) { OpDefNode node = (OpDefNode) element; return node.getSource().getName().toString() + ((node.getSource().getOriginallyDefinedInModuleNode() != null) ? " : " + node.getSource().getOriginallyDefinedInModuleNode().getName().toString() : ""); } return super.getText(element); } }; }
/** * Creates label provider for the elements in the list */ private ILabelProvider getListLabelProvider() { return new LabelProvider() { public String getText(Object element) { if (element instanceof OpDefNode) { OpDefNode node = (OpDefNode) element; if (node.getSource() == node) { return node.getName().toString(); } else { return node.getSource().getName().toString() + " [" + node.getSource().getOriginallyDefinedInModuleNode().getName().toString() + "]"; } } return super.getText(element); } }; }
protected void createDomainCombo(Composite leftColumn) { Label label = getToolkit().createLabel(leftColumn, "Statechart domain"); GridDataFactory.fillDefaults().span(2, 1).align(SWT.FILL, SWT.CENTER).applyTo(label); domainCombo = new ComboViewer(leftColumn); GridDataFactory.fillDefaults().span(1, 1).align(SWT.FILL, SWT.CENTER).applyTo(domainCombo.getCombo()); Label spacer = getToolkit().createLabel(leftColumn, ""); GridDataFactory.fillDefaults().applyTo(spacer); domainCombo.setContentProvider(new ArrayContentProvider()); domainCombo.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { return ((IDomain) element).getName(); } }); List<IDomain> domains = DomainRegistry.getDomains(); for (IDomain domainDescriptor : domains) { domainCombo.add(domainDescriptor); } if (domains.size() <= 1) { domainCombo.getControl().setEnabled(false); } }
public ProjectSelectionDialog(Shell parentShell, Object input, IStructuredContentProvider contentProvider, ILabelProvider labelProvider, String message, String unifiedDiff) { super(parentShell); this.unifiedDiff = unifiedDiff; featureController.getFeatures(VariantSyncPlugin.getDefault() .getSupportProjectList()); setTitle(WorkbenchMessages.ListSelection_title); inputElement = input; projectSelectionDiaglog = this; this.projectContentProvider = contentProvider; this.featureContentProvider = new FeatureListViewerContentProvider(); this.projectLabelProvider = labelProvider; this.featureLabelProvider = new LabelProvider(); if (message != null) { setMessage(message); } else { setMessage(WorkbenchMessages.ListSelection_message); } }
private void deletePre() { try { String[] sa = pref.node("fileList").keys(); if (sa.length == 0){ return; } ElementListSelectionDialog dialog = new ElementListSelectionDialog(input.getShell(), new LabelProvider()); dialog.setTitle("Select file list that you want to remove"); dialog.setElements(sa); dialog.setMessage("Type to filter by name:"); dialog.setMultipleSelection(true); if (dialog.open() == ElementListSelectionDialog.OK) { Object[] oa = dialog.getResult(); Preferences p = pref.node("fileList"); for (int i = 0; i < oa.length; i++) { String key = (String)oa[i]; remove(key); p.remove(key); } pref.put("selectedList", ""); } } catch (Exception e) { TFMPlugin.error("FileListMenuMgr deletePre", e); } }
/** * Creates the filtered tree that will be shown on the left side of dialog. * It uses a label provider which gets the IPropertiesViewerNode.getName() * * @param parent the widget container * @return the filtered tree widget */ protected FilteredTree createTreeViewer(Composite parent) { FilteredTree filteredTree = new FilteredTree(parent, SWT.SINGLE, new PropertiesPatternFilter(), true); filteredTree.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND)); final TreeViewer viewer = filteredTree.getViewer(); viewer.setLabelProvider( new LabelProvider() { public String getText(Object element) { return ((IPropertiesViewerNode) element).getName(); } }); viewer.setContentProvider(new PropertiesViewerContentProvider<T>(nodes)); return filteredTree; }
private void createTableColumn(Table table) { table.setHeaderVisible(true); TableColumn[] col = new TableColumn[1]; col[0] = new TableColumn(table, SWT.NONE); col[0].setText(Messages.ReportTemplatesWizardPage_categories); TableLayout tlayout = new TableLayout(); tlayout.addColumnData(new ColumnWeightData(100, false)); table.setLayout(tlayout); for (TableColumn c : col) c.pack(); TableViewer tableViewer = new TableViewer(table); tableViewer.setContentProvider(new ListContentProvider()); tableViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { return MessagesByKeys.getString(element.toString()); } }); tableViewer.setInput(categoryList); table.addSelectionListener(new CategoryChooser()); table.setSelection(0); }
private void createTable(Composite parent) { tableViewer = new TableViewer(parent, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION); tableViewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); tableViewer.setContentProvider(ArrayContentProvider.getInstance()); tableViewer.setLabelProvider(new LabelProvider()); tableViewer.setComparator(new ViewerComparator()); tableViewer.setInput(items); tableViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { updateStates(); } }); updateStates(); }
/** * Creates a viewer. * * @param parent the parent composite * @param groupValueProvider the group value provider (may be <b>null</b>) * @param all whether an entry for "all" attributes shall be displayed */ public AttributesComboViewer(Composite parent, IGroupValueProvider groupValueProvider, boolean all) { super(parent, SWT.READ_ONLY); this.all = all; this.groupValueProvider = groupValueProvider; setContentProvider(ArrayContentProvider.getInstance()); setLabelProvider(new LabelProvider() { public String getText(Object element) { String result; if (element instanceof Attribute) { Attribute attr = (Attribute) element; result = attr.getName(); if (null == AttributesComboViewer.this.groupValueProvider || !AttributesComboViewer.this.groupValueProvider.isSelected()) { result = getQualifiedAppendix(attr); } } else { result = super.getText(element); } return result; } }); }
public FilesChangedListDialog(Shell shell, Set<ChangedFile> differences, Git git, IJavaProject selection) { super(shell); this.items = differences; listSelectionDialog = new ListSelectionDialog(shell, differences, new ArrayContentProvider(), new LabelProvider(), Messages.FilesChangedListDialog_Changes); this.git = git; this.setSelection(selection); this.setHelpAvailable(false); setAuthor(Constants.ANONYMOUS); setCommitter(Constants.ANONYMOUS); Activator.getDefault().getPreferenceStore().addPropertyChangeListener(new IPropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent event) { if (event.getProperty().equals(PreferenceConstants.P_COMMIT_SIGNATURE_ACTIVE)) { if(getShell() != null) { getShell().redraw(); getShell().layout(); refreshView(); } } } }); }
private void initData() { usernameCombo.setContentProvider(ArrayContentProvider.getInstance()); usernameCombo.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (element instanceof Usersession && ((Usersession) element).getUsername() != null) { return ((Usersession) element).getUsername(); } return super.getText(element); } }); knownUsersessions = APIUtil.mapToInternalAPI(Usersession.class, controller.getKnownUsersessions()); usernameCombo.setInput(knownUsersessions); }
@Override public ILabelProvider getLabelProvider() { return new LabelProvider() { @Override public String getText(Object element) { if (element instanceof VariabilityRefactoring) { VariabilityRefactoring refactoring = (VariabilityRefactoring) element; if (refactoring.getVariabilityMechanism() != null) { return refactoring.getVariabilityMechanism().getName(); } else { logger.warn(String.format("Refactoring without variability mechanism (id=%s, class=%s)", refactoring.getId(), refactoring.getClass().getSimpleName())); } } return super.getText(element); } }; }
public ClasspathContainerSelectionDialog(Shell parentShell) { super(parentShell, new LabelProvider() { public String getText(Object element) { IvyClasspathContainer container = (IvyClasspathContainer) element; return container.getConf().getJavaProject().getProject().getName() + " -> " + container.getDescription(); } }); setTitle("Ivy Classpath Containers"); setMessage("Select a container to view in the resolve visualizer."); List<IvyClasspathContainer> classpathContainers = new ArrayList<>(); for (IProject ivyProject : IvyClasspathContainerHelper.getIvyProjectsInWorkspace()) { classpathContainers.addAll(IvyClasspathContainerHelper.getContainers(ivyProject)); } setElements(classpathContainers.toArray()); setMultipleSelection(false); }
private void createChartsComposite (Composite container) { Group grpResources = new Group(container, SWT.NONE); grpResources.setText("Resources"); grpResources.setLayout(new FillLayout(SWT.HORIZONTAL)); SashForm sashResources = new SashForm(grpResources, SWT.HORIZONTAL | SWT.SMOOTH); sashResources.setSashWidth(8); listViewer = new ListViewer(sashResources, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); listResources = listViewer.getList();// new List(sashResources, // SWT.BORDER | SWT.H_SCROLL | // SWT.V_SCROLL); listViewer.setContentProvider(new ArrayContentProvider()); listViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { return element.toString().replaceFirst("-org.spotter.demo.app.", ""); } }); canvasRes = new Canvas(sashResources, SWT.NONE); sashResources.setWeights(new int[] {3, 7}); addCanvasListeners(); }
@Override public void createPartControl(Composite parent) { viewer = new ListViewer(parent); viewer.setContentProvider(ArrayContentProvider.getInstance()); viewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { Task p = (Task) element; return p.getSummary(); }; }); viewer.setInput(TaskService.getInstance().getTasks()); getSite().setSelectionProvider(viewer); hookDoubleClickCommand(); }
public ILabelProvider getDataSetLabelProvider( ) { return new LabelProvider( ) { public String getText( Object element ) { BindingInfo info = (BindingInfo) element; String datasetName = info.getBindingValue( ); if ( !info.isDataSet( ) ) { if ( !NONE.equals( datasetName ) ) { datasetName += Messages.getString("BindingGroupDescriptorProvider.Flag.DataModel"); //$NON-NLS-1$ } } return datasetName; } }; }
private IConnectionProfile selectDataSource() { ElementListSelectionDialog dialog = new ElementListSelectionDialog( getViewSite().getShell(), new LabelProvider() { @Override public String getText(Object element) { IConnectionProfile connectionProfile = (IConnectionProfile) element; return connectionProfile.getName(); } }); dialog.setElements(CommonEclipseUtil.getConnectionProfiles()); dialog.setTitle("DataSource Explorer"); dialog.setMessage("Select a datasource"); dialog.setMultipleSelection(false); if (dialog.open() != Window.OK) { // this.hideView(); return null; } Object[] result = dialog.getResult(); return result.length > 0 ? (IConnectionProfile) result[0] : null; }
private Table selectTable() { ElementListSelectionDialog dialog = new ElementListSelectionDialog( getViewSite().getShell(), new LabelProvider() { @Override public String getText(Object element) { Table table = (Table) element; return table.getTableName(); } }); dialog.setElements(CommonEclipseUtil.getTablesFromProfile(connectionProfile).toArray()); dialog.setTitle("Tables Explorer"); dialog.setMessage("Select a table"); dialog.setMultipleSelection(false); if (dialog.open() != Window.OK) { return null; } return (Table) dialog.getFirstResult(); }
public static String selectOne(List<String> items, LabelProvider labelProvider, String message) { Shell activeShell = Display.getCurrent().getActiveShell(); SelectElementDialog dialog = new SelectElementDialog(activeShell, labelProvider); dialog.setTitle("Select One"); dialog.setMessage(message); dialog.setElements(items.toArray()); dialog.setMultipleSelection(false); int returnCode = dialog.open(); if (returnCode == Window.OK) { return (String) dialog.getFirstResult(); } return null; }
public static String[] selectMulti(List<String> items, LabelProvider labelProvider, String message) { Shell activeShell = Display.getCurrent().getActiveShell(); SelectElementDialog dialog = new SelectElementDialog(activeShell, labelProvider); dialog.setTitle("Select (multiple)"); dialog.setMessage(message); dialog.setElements(items.toArray()); dialog.setMultipleSelection(true); int returnCode = dialog.open(); if (returnCode == Window.OK) { Object[] selectedElements = dialog.getResult(); if (selectedElements == null) { return null; } String[] ret = new String[selectedElements.length]; for (int i = 0; i < selectedElements.length; i++) { ret[i] = selectedElements[i].toString(); } return ret; } return null; }
@Override public Control construct(Composite parent) { TreeViewer treeViewer = new TreeViewer(parent); GridDataFactory.fillDefaults().grab(true, true) .applyTo(treeViewer.getControl()); treeViewer.setContentProvider(new SampleTreeContentProvider()); treeViewer.setLabelProvider(new LabelProvider() { public String getText(Object element) { SampleTreeNode node = (SampleTreeNode) element; return node.column1; } }); treeViewer.setInput(SampleTreeNode.createSample()); treeViewer.getTree().addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent e) { } }); return null; }
private CuinaProject chooseCuinaProject() { ILabelProvider labelProvider = new LabelProvider(); // XXX war: // CuinaElementLabelProvider ElementListSelectionDialog dialog = new ElementListSelectionDialog(shell, labelProvider); dialog.setTitle("Projekt Auswahl"); dialog.setMessage("Wähle ein Projekt aus."); dialog.setElements(CuinaCore.getCuinaProjects()); CuinaProject project = getCuinaProject(); if (project != null) { dialog.setInitialSelections(new Object[] { project }); } if (dialog.open() == Window.OK) { return (CuinaProject) dialog.getFirstResult(); } return null; }
private LabelProvider getTriggerLabelProvider() { return new LabelProvider() { @Override public String getText(Object element) { if (element instanceof Trigger) { Trigger trigger = (Trigger) element; ITriggerDescriptor desc = EventRegistry.getTriggerDescriptor(trigger); String name = (desc != null) ? desc.getName() : trigger.getClass().getSimpleName(); return name + " (" + (trigger).getEvent().getName() + ')'; } return super.getText(element); } }; }
/** * Tests if the current workbench selection is a suitable container to use. */ private void initialize() { if (selection != null && selection.isEmpty() == false && selection instanceof IStructuredSelection) { IStructuredSelection ssel = (IStructuredSelection) selection; if (ssel.size() > 1) return; Object obj = ssel.getFirstElement(); if (obj instanceof IResource) { IContainer container; if (obj instanceof IContainer) container = (IContainer) obj; else container = ((IResource) obj).getParent(); containerText.setText(container.getFullPath().toString()); } // if } // if LabelProvider labelProv = DesignPatternPlugin.getDefault().getImageProvider(); new TreeModelWrapper(DesignPatternPool.getRootNode(), fPatternTree, labelProv); fFileNameChanged = false; }
public LabItemSelektor(Shell parentShell){ super(parentShell); selection = Collections.emptyList(); labelProvider = new LabelProvider() { private ILabelProvider itemLabelProvider = new LabItemLabelProvider(Arrays.asList(ItemLabelFields.KUERZEL, ItemLabelFields.NAME, ItemLabelFields.REFERENCES, ItemLabelFields.UNIT), false); @Override public String getText(Object element){ if (element instanceof Group) { return ((Group) element).toString(); } else if (element instanceof GroupItem) { return itemLabelProvider.getText(((GroupItem) element).getLabItem()); } return "?"; } }; }
private void createCurrencyRow(Composite body, FormToolkit tk) { Combo widget = UI.formCombo(body, tk, M.Currency); currencyCombo = new ComboViewer(widget); currencyCombo.setLabelProvider(new LabelProvider() { @Override public String getText(Object obj) { if (!(obj instanceof Currency)) return super.getText(obj); return ((Currency) obj).getName(); } }); setCurrencyContent(currencyCombo); currencyCombo.addSelectionChangedListener(e -> { currency = Viewers.getFirst(e.getSelection()); exchange.currency = currency; updateCurrencyLabels(); }); UI.filler(body, tk); }
/** * Let the user choose one of a list of Strings * @param title title of the dialog * @param targetPart IWorkBenchPart to call this from * @param choices Vector of Strings to choose from * @return index of the choice; or -1 if the user cancelled */ public static int chooseOneString(String title, IWorkbenchPart targetPart, Vector<String> choices) { int pos = -1; ListDialog listDialog = new ListDialog(targetPart.getSite().getShell()); listDialog.setContentProvider(new ArrayContentProvider()); listDialog.setLabelProvider(new LabelProvider()); listDialog.setTitle(title); listDialog.setInput(choices.toArray()); listDialog.open(); if (listDialog.getReturnCode()== ListDialog.CANCEL) return pos; try { String chosen = (String)(listDialog.getResult()[0]); for (int i = 0; i < choices.size(); i++) if (choices.get(i).equals(chosen)) pos = i; } catch (Exception ex) { showMessage("Error","You must choose a root class for the EMF Ecore instance"); } return pos; }
/** * Create a dialog with default settings using the given <code>apiImplMapping</code>. */ public ChooseImplementationDialog(Shell parent, ApiImplMapping apiImplMapping) { super(parent); this.apiImplMapping = apiImplMapping; this.availableImplIds = apiImplMapping.getAllImplIds(); setTitle("Choose Implementation"); setMessage(computeMessage()); setAddCancelButton(true); setHelpAvailable(false); setContentProvider(new IStructuredContentProvider() { @Override public Object[] getElements(Object inputElement) { return availableImplIds.toArray(); } @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // ignore } @Override public void dispose() { // ignore } }); setLabelProvider(new LabelProvider()); setInput(new Object()); }