List of usage examples for org.eclipse.jface.viewers TreeViewer setSelection
@Override protected void setSelection(List<Item> items)
From source file:net.bioclipse.seneca.actions.EvaluateHandler.java
License:Open Source License
public Object execute(ExecutionEvent event) throws ExecutionException { ISelection sel = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection(); if (!sel.isEmpty()) { if (sel instanceof IStructuredSelection) { try { final IStructuredSelection ssel = (IStructuredSelection) sel; final Shell dialog = new Shell(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); dialog.setText("Choose Seneca Job Specification"); GridLayout layout = new GridLayout(); dialog.setLayout(layout); dialog.setMinimumSize(300, 400); layout.numColumns = 2;// w w w .j a v a 2 s. co m layout.verticalSpacing = 9; TreeViewer treeViewer = new TreeViewer(dialog); treeViewer.setContentProvider(new SjsFileContentProvider()); treeViewer.setLabelProvider(new DecoratingLabelProvider(new FolderLabelProvider(), PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator())); treeViewer.setUseHashlookup(true); // Layout the tree viewer below the text field GridData layoutData = new GridData(); layoutData.grabExcessHorizontalSpace = true; layoutData.grabExcessVerticalSpace = true; layoutData.horizontalAlignment = GridData.FILL; layoutData.verticalAlignment = GridData.FILL; layoutData.horizontalSpan = 3; final Button ok = new Button(dialog, SWT.PUSH); treeViewer.getControl().setLayoutData(layoutData); treeViewer.setInput(ResourcesPlugin.getWorkspace().getRoot().findMember(".")); treeViewer.expandToLevel(2); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { ISelection sel = event.getSelection(); if (sel instanceof IStructuredSelection) { selectedFiles = (IStructuredSelection) sel; try { if (selectedFiles.size() == 1 && selectedFiles.getFirstElement() instanceof IFile && ((IFile) selectedFiles.getFirstElement()).getName() .indexOf(".sjs") > -1) ok.setEnabled(true); } catch (Exception e) { LogUtils.handleException(e, logger, Activator.PLUGIN_ID); } } } }); treeViewer.setSelection( new StructuredSelection(ResourcesPlugin.getWorkspace().getRoot().findMember("."))); ok.setText("OK"); ok.setEnabled(false); Button cancel = new Button(dialog, SWT.PUSH); cancel.setText("Cancel"); Listener listener = new Listener() { public void handleEvent(Event event) { if (event.widget == ok) { try { ICDKMolecule mol = net.bioclipse.cdk.business.Activator.getDefault() .getJavaCDKManager().loadMolecule((IFile) ssel.getFirstElement()); mol = (ICDKMolecule) net.bioclipse.cdk.business.Activator.getDefault() .getJavaCDKManager().removeExplicitHydrogens(mol); mol = (ICDKMolecule) net.bioclipse.cdk.business.Activator.getDefault() .getJavaCDKManager().addImplicitHydrogens(mol); SenecaJobSpecification sjs = null; sjs = net.bioclipse.seneca.Activator.getDefault().getJavaSenecaManager() .getJobSpecification(((IFile) selectedFiles.getFirstElement())); JudgeResult result = net.bioclipse.seneca.Activator.getDefault() .getJavaSenecaManager().evaluateStructure(sjs, mol); MessageDialog.openInformation(dialog, "Scoring Result", "Overall: " + (result.score / result.maxScore) + " (" + result.score + "/" + result.maxScore + ").\r\n" + result.scoreDescription); } catch (Exception e) { LogUtils.handleException(e, logger, net.bioclipse.seneca.Activator.PLUGIN_ID); } } dialog.close(); } }; ok.addListener(SWT.Selection, listener); cancel.addListener(SWT.Selection, listener); dialog.pack(); dialog.open(); } catch (Exception ex) { LogUtils.handleException(ex, logger, Activator.PLUGIN_ID); } } } return null; }
From source file:net.enilink.komma.common.ui.rcp.dialogs.WorkspaceResourceDialog.java
License:Open Source License
protected void newFolderButtonPressed() { NewFolderDialog dialog = new NewFolderDialog(getShell(), selectedContainer); if (dialog.open() == Window.OK) { TreeViewer treeViewer = getTreeViewer(); treeViewer.refresh(selectedContainer); Object createdFolder = dialog.getResult()[0]; treeViewer.reveal(createdFolder); treeViewer.setSelection(new StructuredSelection(createdFolder)); }/* w w w . j a va2 s. c om*/ }
From source file:net.sf.eclipsensis.dialogs.FileSelectionDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite parent2 = (Composite) super.createDialogArea(parent); Composite composite = new Composite(parent2, SWT.NONE); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); GridLayout layout = new GridLayout(1, true); composite.setLayout(layout);// w ww . ja v a 2 s . c o m SashForm form = new SashForm(composite, SWT.HORIZONTAL); form.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); layout = new GridLayout(1, true); form.setLayout(layout); composite = new Composite(form, SWT.NONE); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); layout = new GridLayout(1, true); layout.marginHeight = 0; layout.marginWidth = 0; composite.setLayout(layout); Label l = new Label(composite, SWT.NONE); l.setText(EclipseNSISPlugin.getResourceString("fileselection.parent.folder.label")); //$NON-NLS-1$ l.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); Tree tree = new Tree(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true); gridData.widthHint = VIEWER_WIDTH; gridData.heightHint = VIEWER_HEIGHT; tree.setLayoutData(gridData); final TreeViewer tv = new TreeViewer(tree); tv.setContentProvider(new ContainerContentProvider()); tv.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider()); tv.setSorter(new ViewerSorter()); composite = new Composite(form, SWT.None); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); layout = new GridLayout(1, true); layout.marginHeight = 0; layout.marginWidth = 0; composite.setLayout(layout); l = new Label(composite, SWT.NONE); l.setText(EclipseNSISPlugin.getResourceString("fileselection.file.label")); //$NON-NLS-1$ l.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); Table table = new Table(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); gridData = new GridData(SWT.FILL, SWT.FILL, true, true); gridData.widthHint = VIEWER_WIDTH; gridData.heightHint = VIEWER_HEIGHT; table.setLayoutData(gridData); table.setLinesVisible(false); final TableViewer tv2 = new TableViewer(table); tv2.setContentProvider(new FilesContentProvider()); tv2.setLabelProvider(new FilesLabelProvider()); tv2.setSorter(new ViewerSorter()); if (mFilter != null) { tv2.addFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { return mFilter.select(element); } }); } tv.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); tv2.setInput(selection.getFirstElement()); // allow null } }); tv.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { ISelection selection = event.getSelection(); if (selection instanceof IStructuredSelection) { Object item = ((IStructuredSelection) selection).getFirstElement(); if (tv.getExpandedState(item)) { tv.collapseToLevel(item, 1); } else { tv.expandToLevel(item, 1); } } } }); tv2.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); if (selection != null && !selection.isEmpty()) { mFile = (IFile) selection.getFirstElement(); } else { mFile = null; } Button button = getButton(IDialogConstants.OK_ID); if (button != null) { button.setEnabled(selection != null && !selection.isEmpty()); } } }); tv2.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { if (mFile != null) { setReturnCode(Window.OK); close(); } } }); tv.setInput(ResourcesPlugin.getWorkspace()); if (mContainer != null) { tv.setSelection(new StructuredSelection(mContainer)); if (mFile != null) { tv2.setSelection(new StructuredSelection(mFile)); } else { tv2.setSelection(new StructuredSelection()); } } return parent2; }
From source file:net.sf.gted.tools.properties.FolderSelectionDialog.java
License:Open Source License
/** * *//*from w w w.j av a 2 s . com*/ protected void newFolderButtonPressed() { final NewFolderDialog dialog = new NewFolderDialog(this.getShell(), this.fSelectedContainer); if (dialog.open() == Window.OK) { final TreeViewer treeViewer = this.getTreeViewer(); treeViewer.refresh(this.fSelectedContainer); Object createdFolder; if (dialog.getResult() != null) { createdFolder = dialog.getResult()[0]; treeViewer.reveal(createdFolder); treeViewer.setSelection(new StructuredSelection(createdFolder)); } } }
From source file:net.sf.j2s.ui.property.J2SAddJarAction.java
License:Open Source License
public void widgetSelected(SelectionEvent e) { ViewerFilter filter = new ArchiveFilter(new ArrayList()); IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); String rootPath = root.getLocation().toOSString(); String rootTruePath = new File(rootPath).getAbsolutePath(); String j2sPath = page.j2sFile.getAbsolutePath(); String prjName = null;/*from ww w . j ava 2 s .com*/ if (j2sPath.startsWith(rootTruePath)) { j2sPath = j2sPath.substring(rootTruePath.length()); if (j2sPath.startsWith(File.separator)) { j2sPath = j2sPath.substring(1); } prjName = j2sPath.substring(0, j2sPath.indexOf(File.separatorChar)); } final IProject project = (prjName != null) ? root.getProject(prjName) : null; ILabelProvider lp = new WorkbenchLabelProvider(); ITreeContentProvider cp = new WorkbenchContentProvider(); ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(e.display.getActiveShell(), lp, cp) { protected TreeViewer createTreeViewer(Composite parent) { TreeViewer treeViewer = super.createTreeViewer(parent); if (project != null) { treeViewer.setSelection(new StructuredSelection(project)); treeViewer.expandToLevel(project, 2); } return treeViewer; } }; dialog.setValidator(validator); dialog.setTitle("Java2Script Resources Selection"); //$NON-NLS-1$ dialog.setMessage("Choose Java2Scrip resources (*.js and *.css)"); //$NON-NLS-1$ dialog.addFilter(filter); dialog.setInput(root); dialog.setSorter(new ResourceSorter(ResourceSorter.NAME)); if (dialog.open() == Window.OK) { Object[] expandedElements = page.viewer.getExpandedElements(); Object[] elements = dialog.getResult(); boolean added = false; for (int i = 0; i < elements.length; i++) { IResource elem = (IResource) elements[i]; IRuntimeClasspathEntry entry = JavaRuntime.newArchiveRuntimeClasspathEntry(elem); if (entry != null) { page.classpathModel.resources.add(entry); added = true; } } if (added) { ScrollBar bar = page.viewer.getTree().getVerticalBar(); double selection = 0; if (bar != null) { selection = (0.0 + bar.getSelection()) / bar.getMaximum(); } page.viewer.refresh(); //viewer.expandToLevel(2); page.viewer.setExpandedElements(expandedElements); if (bar != null) { bar.setSelection((int) Math.round(selection * bar.getMaximum())); } page.updateButtonGroup(); page.fireConfigModified(); } //getViewer().addEntries(res); } }
From source file:nu.bibi.breadcrumb.files.FileBreadcrumbViewer.java
License:Open Source License
@Override protected void configureDropDownViewer(final TreeViewer viewer, final Object input) { // copy values viewer.setContentProvider(getContentProvider()); viewer.setLabelProvider(getLabelProvider()); viewer.setComparator(getComparator()); viewer.setFilters(getFilters());/*from w ww . j a v a 2 s. c o m*/ viewer.setSelection(getSelection()); ColumnViewerToolTipSupport.enableFor(viewer); }
From source file:org.antlr.eclipse.ui.editor.outline.AntlrOutlinePage.java
License:Open Source License
/** * Select part of the grammar//from w w w. j a va2 s . co m * @param aLine the line to select * @param aForceSelect should we force the selection? */ public void selectSegment(final int aLine, final boolean aForceSelect) { if (aLine > 0) { TreeViewer viewer = getTreeViewer(); ISegment segment = fEditor.getSegment(aLine); viewer.removeSelectionChangedListener(this); if (segment == null) { if (fSelectedSegmentID != null) { viewer.setSelection(new StructuredSelection()); fEditor.resetHighlightRange(); fSelectedSegmentID = null; } } else { if (aForceSelect || isDifferentSegment(segment)) { viewer.setSelection(new StructuredSelection(segment)); fEditor.highlightSegment(segment, false); fSelectedSegmentID = segment.getUniqueID(); } viewer.reveal(segment); } viewer.addSelectionChangedListener(this); } }
From source file:org.apache.directory.studio.ldapbrowser.ui.editors.entry.EntryEditorOutlinePage.java
License:Apache License
/** * {@inheritDoc}// ww w. j av a 2 s . c o m */ public void createControl(Composite parent) { // Creating the composite and fake composite this.composite = new Composite(parent, SWT.NONE); composite.setLayout(new FillLayout()); this.fakeComposite = new Composite(parent, SWT.NONE); // Creating the No Outline composite noOutlineComposite = new Composite(composite, SWT.NONE); noOutlineComposite.setLayout(new FillLayout()); Label label = new Label(noOutlineComposite, SWT.WRAP); label.setText(Messages.getString("EntryEditorOutlinePage.NoOutline")); //$NON-NLS-1$ // Creating the Outline tree viewer super.createControl(parent); final TreeViewer treeViewer = getTreeViewer(); treeViewer.setLabelProvider(new EntryEditorOutlineLabelProvider()); treeViewer.setContentProvider(new EntryEditorOutlineContentProvider()); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (!event.getSelection().isEmpty() && event.getSelection() instanceof IStructuredSelection) { if (getEntryEditorWidgetTreeViewerInput() != null) { List<Object> selectionList = new ArrayList<Object>(); for (Object element : ((IStructuredSelection) event.getSelection()).toArray()) { if (element instanceof IValue) { // select the value IValue value = (IValue) element; selectionList.add(value); } else if (element instanceof IAttribute) { // select attribute and all values IAttribute attribute = (IAttribute) element; selectionList.add(attribute); selectionList.addAll(Arrays.asList(attribute.getValues())); } else if (element instanceof EntryWrapper) { // select all attributes and values IEntry entry = ((EntryWrapper) element).entry; for (IAttribute attribute : entry.getAttributes()) { selectionList.add(attribute); selectionList.addAll(Arrays.asList(attribute.getValues())); } } } IStructuredSelection selection = new StructuredSelection(selectionList); TreeViewer entryEditorWidgetTreeViewer = getEntryEditorWidgetTreeViewer(); if (entryEditorWidgetTreeViewer != null) { entryEditorWidgetTreeViewer.setSelection(selection); } } } } }); treeViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { if (event.getSelection() instanceof IStructuredSelection) { Object obj = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (treeViewer.getExpandedState(obj)) { treeViewer.collapseToLevel(obj, 1); } else if (((ITreeContentProvider) treeViewer.getContentProvider()).hasChildren(obj)) { treeViewer.expandToLevel(obj, 1); } } } }); this.refresh(); }
From source file:org.bonitasoft.studio.connector.model.definition.wizard.DefinitionInformationWizardPage.java
License:Open Source License
protected void createCategoryViewer(Composite mainComposite) { Label categoryLabel = new Label(mainComposite, SWT.NONE); categoryLabel.setText(Messages.categoryLabel); categoryLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.TOP).create()); final TreeViewer categoryViewer = new TreeViewer(mainComposite, SWT.BORDER | SWT.FULL_SELECTION | SWT.SINGLE); categoryViewer.getTree()/* w w w. j av a2 s . c o m*/ .setLayoutData(GridDataFactory.fillDefaults().grab(true, false).hint(SWT.DEFAULT, 50).create()); categoryViewer.addSelectionChangedListener(this); categoryViewer.addFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { return element instanceof Category && !Messages.uncategorized.equals(((Category) element).getId()); } }); categoryViewer.setContentProvider(new DefinitionCategoryContentProvider()); categoryViewer.setLabelProvider(new ConnectorDefinitionTreeLabelProvider(messageProvider) { @Override public String getText(Object element) { String label = super.getText(element); if (label.equals(((Category) element).getId())) { label = messageProvider.getCategoryLabel(messages, (Category) element); } return label; } }); final List<Category> allCategories = messageProvider.getAllCategories(); categoryViewer.setInput(allCategories); final Category selectedCategory = getSelectedCategory(allCategories); if (selectedCategory != null) { categoryViewer.setSelection(new StructuredSelection(selectedCategory)); } categoryViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { if (!((IStructuredSelection) event.getSelection()).isEmpty()) { Category selection = (Category) ((IStructuredSelection) event.getSelection()).getFirstElement(); definition.getCategory().clear(); definition.getCategory().add(selection); List<Category> categories = (List<Category>) categoryViewer.getInput(); List<Category> parentCategories = new ArrayList<Category>(); getParentCategories(parentCategories, categories, selection); definition.getCategory().addAll(parentCategories); } } }); final Composite buttonComposite = new Composite(mainComposite, SWT.NONE); buttonComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).create()); buttonComposite .setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).spacing(0, 3).create()); final Button createButton = new Button(buttonComposite, SWT.FLAT); createButton.setText(Messages.newCategory); createButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false) .hint(DEFAULT_BUTTON_WIDTH_HINT, SWT.DEFAULT).create()); createButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { HashSet<String> existingCatIds = new HashSet<String>(); existingCatIds.addAll(messageProvider.getProvidedCategoriesIds()); existingCatIds.addAll(messageProvider.getUserCategoriesIds()); List<Category> input = (List<Category>) categoryViewer.getInput(); for (Category category : input) { existingCatIds.add(category.getId()); } NewCategoryDialog dialog = new NewCategoryDialog(Display.getDefault().getActiveShell(), existingCatIds); if (dialog.open() == Dialog.OK) { File imageFile = dialog.getIconImageFile(); Category newCategory = dialog.getCategory(); String displayName = dialog.getDisplayName(); messageProvider.setCategoryLabel(messages, newCategory.getId(), displayName); if (imageFile != null) { messageProvider.createIcon(imageFile, newCategory.getIcon()); } input = (List<Category>) categoryViewer.getInput(); input.add(newCategory); categoryViewer.setInput(input); } } }); }
From source file:org.bonitasoft.studio.connector.model.definition.wizard.PageWidgetsWizardPage.java
License:Open Source License
protected void createWidgetViewer(Composite parent) { final Composite viewerComposite = new Composite(parent, SWT.NONE); viewerComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); viewerComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).create()); final TreeViewer inputsViewer = new TreeViewer(viewerComposite, SWT.BORDER | SWT.FULL_SELECTION); inputsViewer.getTree().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); inputsViewer.getTree().setHeaderVisible(true); inputsViewer.addSelectionChangedListener(this); inputsViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); inputsViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); inputsViewer.getColumnViewerEditor() .addEditorActivationListener(new ColumnViewerEditorActivationListener() { @Override/*w ww . ja v a2 s . c o m*/ public void beforeEditorDeactivated(ColumnViewerEditorDeactivationEvent event) { } @Override public void beforeEditorActivated(ColumnViewerEditorActivationEvent event) { } @Override public void afterEditorDeactivated(ColumnViewerEditorDeactivationEvent event) { inputsViewer.setSelection(new StructuredSelection()); } @Override public void afterEditorActivated(ColumnViewerEditorActivationEvent event) { } }); final TableLayout layout = new TableLayout(); layout.addColumnData(new ColumnWeightData(70)); layout.addColumnData(new ColumnWeightData(30)); inputsViewer.getTree().setLayout(layout); TreeViewerColumn widgetColumn = new TreeViewerColumn(inputsViewer, SWT.FILL); widgetColumn.getColumn().setText(Messages.widget); widgetColumn.setLabelProvider(new ColumnLabelProvider() { WidgetLabelProvider labelProvider = new WidgetLabelProvider(); @Override public String getText(Object element) { Component comp = (Component) element; String label = messageProvider.getFieldLabel(messages, comp.getId()); if (label == null || label.isEmpty()) { label = comp.getId(); } return labelProvider.getText(comp.eClass()) + " " + label; } }); TreeViewerColumn inputNameColumn = new TreeViewerColumn(inputsViewer, SWT.FILL); inputNameColumn.getColumn().setText(Messages.input); inputNameColumn .setEditingSupport(new WidgetInputNameEditingSupport(inputsViewer, definition, page, context)); inputNameColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof WidgetComponent) { return ((WidgetComponent) element).getInputName(); } else { return ""; } } }); context.bindValue(ViewersObservables.observeInput(inputsViewer), PojoProperties.value(PageWidgetsWizardPage.class, "page").observe(this)); inputsViewer.expandAll(); final Composite buttonComposite = new Composite(viewerComposite, SWT.NONE); buttonComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).create()); buttonComposite .setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).spacing(0, 3).create()); final Button addButton = new Button(buttonComposite, SWT.FLAT); addButton.setText(Messages.Add); addButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false) .hint(DEFAULT_BUTTON_WIDTH_HINT, SWT.DEFAULT).create()); addButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { SelectPageWidgetDialog dialog = new SelectPageWidgetDialog(Display.getDefault().getActiveShell(), definition, page, null, null); if (dialog.open() == Dialog.OK) { Component widget = dialog.getWidget(); messageProvider.setFieldLabel(messages, widget.getId(), dialog.getDisplayName()); messageProvider.setFieldDescription(messages, widget.getId(), dialog.getDescription()); Component component = (Component) ((IStructuredSelection) inputsViewer.getSelection()) .getFirstElement(); if (component instanceof Group) { ((Group) component).getWidget().add(widget); } else { page.getWidget().add(widget); } inputsViewer.refresh(); getContainer().updateMessage(); getContainer().updateButtons(); } } }); editButton = new Button(buttonComposite, SWT.FLAT); editButton.setText(Messages.update); editButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false) .hint(DEFAULT_BUTTON_WIDTH_HINT, SWT.DEFAULT).create()); editButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { Component component = (Component) ((IStructuredSelection) inputsViewer.getSelection()) .getFirstElement(); SelectPageWidgetDialog dialog = new SelectPageWidgetDialog(Display.getDefault().getActiveShell(), definition, page, component, EcoreUtil.copy(component)); dialog.setDisplayName(messageProvider.getFieldLabel(messages, component.getId())); dialog.setDescription(messageProvider.getFieldDescription(messages, component.getId())); if (dialog.open() == Dialog.OK) { Component widget = dialog.getWidget(); messageProvider.setFieldLabel(messages, widget.getId(), dialog.getDisplayName()); messageProvider.setFieldDescription(messages, widget.getId(), dialog.getDescription()); if (component != null && component.eContainer() instanceof Group) { Group group = (Group) component.eContainer(); int i = group.getWidget().indexOf(component); group.getWidget().remove(i); group.getWidget().add(i, widget); } else { int i = page.getWidget().indexOf(component); page.getWidget().remove(i); page.getWidget().add(i, widget); } inputsViewer.refresh(); getContainer().updateMessage(); getContainer().updateButtons(); } } }); upButton = new Button(buttonComposite, SWT.FLAT); upButton.setText(Messages.up); upButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false) .hint(DEFAULT_BUTTON_WIDTH_HINT, SWT.DEFAULT).create()); upButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { Component selectedWidget = (Component) ((IStructuredSelection) inputsViewer.getSelection()) .getFirstElement(); int index = page.getWidget().indexOf(selectedWidget); if (index > 0) { page.getWidget().move(index - 1, selectedWidget); } inputsViewer.refresh(); } }); downButton = new Button(buttonComposite, SWT.FLAT); downButton.setText(Messages.down); downButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false) .hint(DEFAULT_BUTTON_WIDTH_HINT, SWT.DEFAULT).create()); downButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { Component selectedWidget = (Component) ((IStructuredSelection) inputsViewer.getSelection()) .getFirstElement(); int index = page.getWidget().indexOf(selectedWidget); if (index < page.getWidget().size() - 1) { page.getWidget().move(index + 1, selectedWidget); } inputsViewer.refresh(); } }); removeButton = new Button(buttonComposite, SWT.FLAT); removeButton.setText(Messages.remove); removeButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false) .hint(DEFAULT_BUTTON_WIDTH_HINT, SWT.DEFAULT).create()); removeButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { page.getWidget().removeAll(((IStructuredSelection) inputsViewer.getSelection()).toList()); inputsViewer.refresh(); } }); }