Example usage for org.eclipse.jface.viewers StructuredSelection StructuredSelection

List of usage examples for org.eclipse.jface.viewers StructuredSelection StructuredSelection

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers StructuredSelection StructuredSelection.

Prototype

public StructuredSelection(List elements) 

Source Link

Document

Creates a structured selection from the given List.

Usage

From source file:bndtools.editor.pages.BundleContentPage.java

License:Open Source License

public void setSelectedImport(ImportPattern element) {
    importPatternListPart.getSelectionProvider().setSelection(new StructuredSelection(element));
}

From source file:bndtools.editor.pkgpatterns.PkgPatternsListPart.java

License:Open Source License

/**
 * Add the specified clauses to the view.
 *
 * @param newClauses The new clauses.//  w w w.  j  a  v  a 2s .co m
 * @param index The index at which to insert the new clauses OR -1 to append at the end.
 */
protected void doAddClauses(Collection<? extends C> newClauses, int index, boolean select) {
    Object[] newClausesArray = newClauses.toArray();

    if (index == -1 || index == this.clauses.size()) {
        clauses.addAll(newClauses);
        viewer.add(newClausesArray);
    } else {
        clauses.addAll(index, newClauses);
        viewer.refresh();
    }

    if (select)
        viewer.setSelection(new StructuredSelection(newClausesArray), true);
    validate();
    markDirty();
}

From source file:bndtools.MakeBundleWithRefreshAction.java

License:Open Source License

@Override
public void run(IAction action) {
    // What should we refresh??
    IStructuredSelection selection = StructuredSelection.EMPTY;
    if (targetPart instanceof IEditorPart) {
        IEditorInput input = ((IEditorPart) targetPart).getEditorInput();
        if (input instanceof IFileEditorInput) {
            IFile file = ((IFileEditorInput) input).getFile();
            selection = new StructuredSelection(file);
        }/* w  w w  .ja  va  2  s  .  co m*/
    } else {
        ISelection sel = targetPart.getSite().getSelectionProvider().getSelection();
        if (sel instanceof IStructuredSelection) {
            selection = (IStructuredSelection) sel;
        }
    }
    selectionChanged(action, selection);
    super.run(action);

    final List<IResource> resources = new ArrayList<IResource>(selection.size());
    for (Iterator<?> iter = selection.iterator(); iter.hasNext();) {
        Object next = iter.next();
        if (next instanceof IResource)
            resources.add((IResource) next);
    }
    if (!resources.isEmpty()) {
        final IWorkspace workspace = resources.get(0).getWorkspace();
        final IWorkspaceRunnable operation = new IWorkspaceRunnable() {
            public void run(IProgressMonitor monitor) throws CoreException {
                SubMonitor progress = SubMonitor.convert(monitor, resources.size());
                MultiStatus status = new MultiStatus(Plugin.PLUGIN_ID, 0,
                        "One or more errors occurred while refreshing resources", null);
                for (IResource resource : resources) {
                    try {
                        resource.getParent().refreshLocal(1, progress.newChild(1));
                    } catch (CoreException e) {
                        status.add(new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, e.getMessage(), e));
                    }
                }
                if (!status.isOK()) {
                    ErrorDialog.openError(targetPart.getSite().getShell(), "Error", null, status);
                }
            }
        };
        IRunnableWithProgress task = new IRunnableWithProgress() {
            public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
                try {
                    workspace.run(operation, monitor);
                } catch (CoreException e) {
                    throw new InvocationTargetException(e);
                }
            }
        };
        try {
            targetPart.getSite().getWorkbenchWindow().run(false, false, task);
        } catch (InvocationTargetException e) {
            CoreException ce = (CoreException) e.getCause();
            ErrorDialog.openError(targetPart.getSite().getShell(), "Error", null,
                    new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, "Error refreshing resources", ce));
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
        }
    }

    // Process it
    IRunnableContext context = targetPart.getSite().getWorkbenchWindow();
    try {
        context.run(false, false, new IRunnableWithProgress() {
            public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
            }
        });
    } catch (InvocationTargetException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

From source file:br.org.archimedes.gui.rca.editor.DrawingEditor.java

License:Open Source License

/**
 * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection()
 */
public ISelection getSelection() {

    return new StructuredSelection(getDrawing());
}

From source file:ca.edchipman.silverstripepdt.wizards.NewSilverStripeTemplatesWizardPage.java

License:Open Source License

/**
 * Select a template in the table viewer given the template name. If
 * template name cannot be found or templateName is null, just select
 * first item in table. If no items in table select nothing.
 * //from w w  w  . ja  v a 2 s.c  o  m
 * @param templateName
 */
private void setSelectedTemplate(String templateName) {
    Object template = null;

    if (templateName != null && templateName.length() > 0) {
        // pick the last used template
        if (ssVersion.equals(SilverStripeVersion.SS3_0) == false
                && ssVersion.equals(SilverStripeVersion.SS3_1) == false) {
            template = fTemplateStore.findTemplate(templateName,
                    NewSilverStripeTemplatesWizardPage.NEW_SS_TEMPLATE_CONTEXTTYPE);
        } else {
            template = fTemplateStore.findTemplate(templateName,
                    NewSilverStripeTemplatesWizardPage.NEW_SS_30_TEMPLATE_CONTEXTTYPE);
        }
    }

    // no record of last used template so just pick first element
    if (template == null) {
        // just pick first element
        template = fTableViewer.getElementAt(0);
    }

    if (template != null) {
        IStructuredSelection selection = new StructuredSelection(template);
        fTableViewer.setSelection(selection, true);
    }
}

From source file:ca.mcgill.cs.swevo.qualyzer.editors.pages.CodeEditorPage.java

License:Open Source License

/**
 * Whenever the selection changes in the tree change the selection in the table to the same code.
 * @return/*from  w  ww  .  j  av  a2s .  com*/
 */
private ISelectionChangedListener createTreeSelectionListener() {
    return new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            Node node = (Node) ((IStructuredSelection) fTreeViewer.getSelection()).getFirstElement();
            if (node != null) {
                setTreeItemsEnabled(true);
                int i = 0;
                CodeTableRow row = (CodeTableRow) fTableViewer.getElementAt(i);
                while (row != null) {
                    if (node.getPersistenceId().equals(row.getPersistenceId())) {
                        fTableViewer.setSelection(new StructuredSelection(row));
                        break;
                    }

                    i++;
                    row = (CodeTableRow) fTableViewer.getElementAt(i);
                }
            } else {
                Node[] elements = fTreeModel.getRoot().getChildren().values().toArray(new Node[0]);
                if (elements.length > 0) {
                    fTreeViewer.setSelection(new StructuredSelection(elements[0]));
                    setTreeItemsEnabled(true);
                } else {
                    setTreeItemsEnabled(false);
                }
            }
        }
    };
}

From source file:ca.mcgill.cs.swevo.qualyzer.editors.pages.CodeEditorPage.java

License:Open Source License

/**
 * Updates Description boxes as the selected item in the table changes. Also updates the local
 * information so that changes are not lost.
 * @return/*from w w w . j  a v a  2s  .  com*/
 */
private ISelectionChangedListener createTableSelectionListener() {
    return new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) fTableViewer.getSelection();
            CodeTableRow row = (CodeTableRow) selection.getFirstElement();

            if (row == null) {
                fDescription.setText(EMPTY);
                return;
            }

            if (fForm.getMessageType() == IMessageProvider.ERROR) {
                fTableViewer.setSelection(new StructuredSelection(fCurrentRow));
            }

            if (row != fCurrentRow) {
                if (fCurrentRow != null) {
                    fCurrentRow.setDescription(fDescription.getText().trim());
                    fTableViewer.refresh(fCurrentRow);
                }

                fCurrentRow = row;
                fDescription.setText(fCurrentRow.getDescription());
                fCodeName.setText(Messages.getString("editors.pages.CodeEditorPage.selectedCode") //$NON-NLS-1$
                        + fCurrentRow.getName());
            }
        }

    };
}

From source file:ca.mcgill.cs.swevo.qualyzer.editors.pages.CodeEditorPage.java

License:Open Source License

/**
 * Makes sure that something is selected in the table. Preferably the same thing that was before.
 *///from   w w  w  . j a v a 2 s  .  c o m
private void updateSelection() {
    CodeTableRow row;

    if (fCurrentRow == null) {
        row = (CodeTableRow) fTableViewer.getElementAt(0);
    } else {
        int index = 0;
        while ((row = (CodeTableRow) fTableViewer.getElementAt(index)) != null) {
            if (row.getName().equals(fCurrentRow.getName())) {
                break;
            }
            index++;
        }
    }
    if (row == null) {
        row = (CodeTableRow) fTableViewer.getElementAt(0);
    }

    if (row != null) {
        fTableViewer.setSelection(new StructuredSelection(row));
        setTableItemsEnabled(true);
    } else {
        setTableItemsEnabled(false);
    }
}

From source file:ca.mcgill.cs.swevo.qualyzer.providers.TableDragListener.java

License:Open Source License

/**
 * Defines the SelectionTransfer so that ValidateDrop can work.
 *//*from   w w w . ja va  2  s  .co m*/
@Override
public void dragStart(DragSourceEvent event) {
    IStructuredSelection selection = (IStructuredSelection) fViewer.getSelection();
    CodeTableRow row = (CodeTableRow) selection.getFirstElement();
    String data = row.getName() + SPLIT + row.getPersistenceId() + SPLIT + row.getFrequency();

    LocalSelectionTransfer tran = LocalSelectionTransfer.getTransfer();
    tran.setSelection(new StructuredSelection(data));
}

From source file:ca.mcgill.cs.swevo.qualyzer.providers.TreeDragListener.java

License:Open Source License

/**
 * Sets the selection transfer so that the validate drop method can work.
 *//*from  www .  j  a  v a  2s.c o  m*/
@Override
public void dragStart(DragSourceEvent event) {
    IStructuredSelection selection = (IStructuredSelection) fViewer.getSelection();
    Node node = (Node) selection.getFirstElement();
    String data = node.getPersistenceId() + SPLIT + node.getPathToRoot();

    LocalSelectionTransfer tran = LocalSelectionTransfer.getTransfer();
    tran.setSelection(new StructuredSelection(data));

}