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

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

Introduction

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

Prototype

IStructuredSelection

Source Link

Usage

From source file:com.astra.ses.spell.gui.dialogs.ServerFileSaveDialog.java

License:Open Source License

/***************************************************************************
 * Create the dialog area contents./* ww  w  .ja  va  2s . co m*/
 * 
 * @param parent
 *            The base composite of the dialog
 * @return The resulting contents
 **************************************************************************/
@Override
protected Control createDialogArea(Composite parent) {
    // Main composite of the dialog area -----------------------------------
    Composite top = new Composite(parent, SWT.NONE);
    GridData areaData = new GridData(GridData.FILL_BOTH);
    areaData.widthHint = 600;
    areaData.heightHint = 400;
    top.setLayoutData(areaData);
    GridLayout layout = new GridLayout();
    layout.numColumns = 1;
    layout.verticalSpacing = 10;
    top.setLayout(layout);

    m_fileName = new Text(top, SWT.BORDER);
    m_fileName.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    m_fileName.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent ev) {
            IStructuredSelection isel = (IStructuredSelection) m_viewer.getSelection();
            if (isel == null || isel.isEmpty()) {
                setErrorMessage("Must select a directory: only file name given");
                getButton(IDialogConstants.OK_ID).setEnabled(false);
            } else {
                Object selected = isel.getFirstElement();
                if (selected instanceof DirectoryTree) {
                    String filename = m_fileName.getText().trim();
                    if (filename.isEmpty()) {
                        setErrorMessage("Must provide a file name, or select an existing file.");
                        getButton(IDialogConstants.OK_ID).setEnabled(false);
                    } else {
                        setErrorMessage(null);
                        getButton(IDialogConstants.OK_ID).setEnabled(true);
                        DirectoryTree dir = (DirectoryTree) selected;
                        m_path = dir.getPath() + "/" + filename;
                        setMessage("File: '" + m_path + "'");
                    }
                } else {
                    DirectoryFile file = (DirectoryFile) selected;
                    final DirectoryTree parent = file.getParent();
                    m_viewer.setSelection(new IStructuredSelection() {
                        @Override
                        public boolean isEmpty() {
                            return false;
                        }

                        @Override
                        public Object getFirstElement() {
                            return parent;
                        };

                        @SuppressWarnings("rawtypes")
                        @Override
                        public Iterator iterator() {
                            return null;
                        }

                        @Override
                        public int size() {
                            return 1;
                        }

                        @Override
                        public Object[] toArray() {
                            DirectoryTree[] array = new DirectoryTree[1];
                            array[0] = parent;
                            return array;
                        }

                        @SuppressWarnings("rawtypes")
                        @Override
                        public List toList() {
                            return Arrays.asList(toArray());
                        }

                    });
                }
            }
        }
    });

    m_viewer = new ServerDirectoryTreeViewer(top);
    m_viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
    m_viewer.setInput(m_tree);
    m_viewer.refresh();

    m_viewer.addSelectionChangedListener(this);

    setErrorMessage("Must select a directory and provide a file name, or select an existing file.");

    return parent;
}

From source file:com.bluexml.side.util.antrunner.AntFileGeneratorAction.java

License:Open Source License

/**
 * @param rwm_model//from w  ww .ja  v  a2 s .  c  om
 */
public static void generate(final IFile rwm_model) {
    if (selection == null) {
        final List<IFile> l = new ArrayList<IFile>();
        l.add(rwm_model);
        selection = new IStructuredSelection() {
            public boolean isEmpty() {
                return false;
            }

            public List<IFile> toList() {
                return l;
            }

            public Object[] toArray() {
                return l.toArray();
            }

            public int size() {
                return l.size();
            }

            public Iterator<IFile> iterator() {
                return l.iterator();
            }

            public Object getFirstElement() {
                return l.get(0);
            }
        };
    }
    String parent = IFileHelper.convertIRessourceToFile(rwm_model).getParent();
    ComponentMonitor monitor = ApplicationStarter.getHeadlessComponantMonitor(null,
            parent + File.separator + "build.xml.log", "conf", "_.xml");

    HashMap<String, String> configurationParameters = new HashMap<String, String>();
    String parentIFilePath = rwm_model.getParent().toString().substring(1);
    configurationParameters.put(StaticConfigurationParameters.GENERATIONOPTIONSLOG_PATH.getLiteral(),
            parentIFilePath);
    configurationParameters.put("configurationName", "sideLog");
    monitor.initialize(0, configurationParameters, LogType.CONSOLE, "generator.log");
    String metamodelURI = "http://www.bluexml.com/application/1.0/";
    List<String> templates = new ArrayList<String>();
    templates.add("/com.bluexml.side.Util.antRunner/com/bluexml/side/util/antrunner/templates/build.xml.mt");

    SimpleAcceleoGenerator gen = new SimpleAcceleoGenerator(metamodelURI, templates, ".antBuildGenerator",
            monitor);

    try {
        gen.generate(rwm_model, parentIFilePath);
    } catch (Exception e) {
        e.printStackTrace();
        UIUtils.showError("Error when generation", e.getClass().getName());
    }
}

From source file:com.collabnet.subversion.merge.actions.UndoMergeAction.java

License:Open Source License

public void run(IAction action) {
    DialogWizard dialogWizard = new DialogWizard(DialogWizard.UNDO_MERGE_WARNING);
    MergeWizardDialog dialog = new MergeWizardDialog(Display.getDefault().getActiveShell(), dialogWizard, true);
    if (dialog.open() == MergeWizardDialog.CANCEL)
        return;//  w w  w  .  j  av  a  2 s . com
    final ArrayList resources = new ArrayList();
    ArrayList mergeOutputs = new ArrayList();
    Iterator iter = fSelection.iterator();
    while (iter.hasNext()) {
        Object object = iter.next();
        if (object instanceof MergeOutput) {
            MergeOutput mergeOutput = (MergeOutput) object;
            mergeOutputs.add(mergeOutput);
            IResource resource = mergeOutput.getResource();
            resources.add(resource);
        }
    }
    final IResource[] resourceArray = new IResource[resources.size()];
    resources.toArray(resourceArray);
    UndoMergeOperation undoMergeOperation = new UndoMergeOperation(MergeResultsView.getView(), resourceArray);
    try {
        undoMergeOperation.run();
    } catch (Exception e) {
        Activator.handleError(Messages.UndoMergeAction_error, e);
        MessageDialog.openError(Display.getCurrent().getActiveShell(), Messages.UndoMergeAction_title,
                e.getMessage());
        return;
    }
    iter = mergeOutputs.iterator();
    while (iter.hasNext()) {
        MergeOutput mergeOutput = (MergeOutput) iter.next();
        mergeOutput.delete();
    }
    MergeResultsView.getView().refresh();
    dialogWizard = new DialogWizard(DialogWizard.UNDO_MERGE_COMPLETED);
    dialog = new MergeWizardDialog(Display.getDefault().getActiveShell(), dialogWizard, true);
    if (dialog.open() == MergeWizardDialog.CANCEL)
        return;
    RevertAction revertAction = new RevertAction();
    revertAction.setShowNothingToRevertMessage(false);
    IStructuredSelection selection = new IStructuredSelection() {
        public Object getFirstElement() {
            return resourceArray[0];
        }

        public Iterator iterator() {
            return toList().iterator();
        }

        public int size() {
            return resourceArray.length;
        }

        public Object[] toArray() {
            return resourceArray;
        }

        public List toList() {
            return resources;
        }

        public boolean isEmpty() {
            return resources.isEmpty();
        }
    };
    revertAction.selectionChanged(null, selection);
    revertAction.run(null);
}

From source file:com.collabnet.subversion.merge.editors.MergeConflictsCompareInput.java

License:Open Source License

private void markResolved() {
    if (!resolved || mergeResult == null)
        return;//from   w  w  w  . ja  v a2s.  c om
    MergeViewResolveAction resolveAction = new MergeViewResolveAction();
    resolveAction.setShowDialog(false);
    resolveAction.setResolution(resolution);
    IStructuredSelection selection = new IStructuredSelection() {
        public Object getFirstElement() {
            return mergeResult;
        }

        public Iterator iterator() {
            return toList().iterator();
        }

        public int size() {
            return 1;
        }

        public Object[] toArray() {
            MergeResult[] mergeResults = { mergeResult };
            return mergeResults;
        }

        public List toList() {
            List mergeResults = new ArrayList();
            mergeResults.add(mergeResult);
            return mergeResults;
        }

        public boolean isEmpty() {
            return false;
        }

    };
    resolveAction.selectionChanged(null, selection);
    resolveAction.run(null);
}

From source file:info.vancauwenberge.designer.enhtrace.viewer.outline.LogMessageOutlinePage.java

License:Mozilla Public License

public void setSelection(IStructuredSelection selection) {
    //super.setSelection(selection);
    Object selected = selection.getFirstElement();
    if (selected != null && selected instanceof ILogMessageProvider) {
        final ILogMessageProvider provider = (ILogMessageProvider) selected;
        //TODO: this does not seem to work :-(
        System.out.println("Outline: setting focus on " + selected);
        System.out.println("Outline: setting focus on " + provider.getLogMessage());
        TreeViewer viewer = getTreeViewer();
        viewer.setSelection(new IStructuredSelection() {

            @Override/*from  w  w  w  . ja  va  2  s.c  o m*/
            public boolean isEmpty() {
                return false;
            }

            @Override
            public List<?> toList() {
                List<ILogMessage> result = new ArrayList<ILogMessage>(1);
                result.add(provider.getLogMessage());
                return result;
            }

            @Override
            public Object[] toArray() {
                return new Object[] { provider.getLogMessage() };
            }

            @Override
            public int size() {
                return 1;
            }

            @Override
            public Iterator<?> iterator() {
                return toList().iterator();
            }

            @Override
            public Object getFirstElement() {
                return provider.getLogMessage();
            }
        }, true);
        viewer.expandToLevel(provider.getLogMessage(), 1);
        //viewer.reveal(provider.getLogMessage());
    }
}

From source file:info.vancauwenberge.designer.enhtrace.viewer.outline.page.DetailedPolicyFlowPage.java

License:Mozilla Public License

private IStructuredSelection createSelection(final ILogMessage statusMessage) {
    return new IStructuredSelection() {

        @Override//from   w  w w .j  a va2  s  .  co m
        public boolean isEmpty() {
            return false;
        }

        @Override
        public List<?> toList() {
            List<ILogMessage> result = new ArrayList<ILogMessage>(1);
            result.add(statusMessage);
            return result;
        }

        @Override
        public Object[] toArray() {
            return new Object[] { statusMessage };
        }

        @Override
        public int size() {
            return 1;
        }

        @Override
        public Iterator<?> iterator() {
            return toList().iterator();
        }

        @Override
        public Object getFirstElement() {
            return statusMessage;
        }
    };
}

From source file:info.vancauwenberge.designer.enhtrace.viewer.outline.page.DetailedPolicyFlowPage.java

License:Mozilla Public License

private IStructuredSelection createSelection(PolicySteps PolicySteps) {
    if (PolicySteps != null) {
        final List<IPolicySetLogMessage> result = input.getPolicy2MessageMap().get(PolicySteps);
        System.out.println(this.getClass().getName() + ".createSelection():" + result);
        if (result != null && result.size() > 0)
            return new IStructuredSelection() {

                @Override/*from ww  w .  j a v  a2 s .  c om*/
                public boolean isEmpty() {
                    return false;
                }

                @Override
                public List<?> toList() {
                    return result;
                }

                @Override
                public Object[] toArray() {
                    return result.toArray();
                }

                @Override
                public int size() {
                    return result.size();
                }

                @Override
                public Iterator<?> iterator() {
                    return result.iterator();
                }

                @Override
                public Object getFirstElement() {
                    return result.get(0);
                }
            };
    }
    System.out.println(this.getClass().getName() + ".createSelection(): null");
    return null;
}

From source file:info.vancauwenberge.designer.enhtrace.viewer.outline.page.DetailedPolicyFlowPage.java

License:Mozilla Public License

private void createPolicysetMenu(final IPolicySetLogMessage iPolicySetLogMessage, MenuManager subMenu) {
    createPolicysetSubmenu(subMenu, iPolicySetLogMessage);

    List<StatusLogMessage> statusses = input.getPolicy2StatusMap().get(iPolicySetLogMessage);
    if (statusses != null && statusses.size() > 0) {
        createStatusSubmenu(subMenu, statusses);
    }//from  ww w .  ja v  a2  s . co  m
    List<ILogMessage> traces = input.getPolicy2TraceMap().get(iPolicySetLogMessage);
    if (traces != null && traces.size() > 0)
        createTracesSubmenu(subMenu, traces);

    if (iPolicySetLogMessage.getPolicySet().isSubflowRoot()) {

        subMenu.add(new OpenDetailAction(new IStructuredSelection() {

            @Override
            public boolean isEmpty() {
                return false;
            }

            @Override
            public List<?> toList() {
                return Arrays.asList(toArray());
            }

            @Override
            public Object[] toArray() {
                return new Object[] { iPolicySetLogMessage };
            }

            @Override
            public int size() {
                return 1;
            }

            @Override
            public Iterator<?> iterator() {
                return toList().iterator();
            }

            @Override
            public Object getFirstElement() {
                return iPolicySetLogMessage;
            }
        }, details));
    }
}

From source file:net.refractions.udig.browser.ui.BrowserSelectionPage.java

License:Open Source License

public void createControl(Composite parent) {
    viewer = new WizardViewer(parent, SWT.SINGLE);
    List<ExternalCatalogueImportDescriptor> list = getDescriptors();
    viewer.setInput(list.toArray());//w  w w . j  ava2s. c o m
    String browser = settings.get(SELECTED_BROWSER);
    if (browser != null && browser.length() != 0) {
        final List<ExternalCatalogueImportDescriptor> selection = new LinkedList<ExternalCatalogueImportDescriptor>();

        for (ExternalCatalogueImportDescriptor desc : list) {
            if (desc.getLabel().equals(browser)) {
                selection.add(desc);
                viewer.setSelection(new IStructuredSelection() {
                    public Object getFirstElement() {
                        return selection.get(0);
                    }

                    public Iterator iterator() {
                        return selection.iterator();
                    }

                    public int size() {
                        return 1;
                    }

                    public Object[] toArray() {
                        return selection.toArray();
                    }

                    public List toList() {
                        return selection;
                    }

                    public boolean isEmpty() {
                        return false;
                    }
                });
            }
        }
    }

    viewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            IWizardPage next = getNextPage();
            getWizard().getContainer().showPage(next);
        }
    });

    viewer.addSelectionChangedListener(this);
    setControl(viewer.getControl());
}

From source file:org.eclipse.ice.reflectivity.ui.ReflectivityPage.java

License:Open Source License

/**
 * Gets the current selection for this page. This selection is a structured
 * selection that should always contain, in order, a data component for the
 * inputs, a data component for the outputs, a list component containing the
 * table data, and a material selection if and only if one is present (not
 * null, meaning the user has selected a cell in the table)
 *
 * Part of the ISelectionProvider interface.
 *//*from  ww w .j a  v a  2s.  c  o  m*/
@Override
public ISelection getSelection() {
    // Create the new selection
    return new IStructuredSelection() {

        @Override
        public boolean isEmpty() {
            // It is never empty- always has data component at least
            return false;
        }

        @Override
        public Object getFirstElement() {
            // Get the data
            return data;
        }

        @Override
        public Iterator iterator() {
            // Create an iterator over a list containing the selection
            List<Object> lst = new ArrayList<Object>();
            lst.add(data);
            lst.add(output);
            lst.add(list);
            if (selectedCell != null) {
                lst.add(selectedCell);
            }
            return lst.iterator();
        }

        @Override
        public int size() {
            return selectedCell == null ? 3 : 4;
        }

        @Override
        public Object[] toArray() {
            // An array containing the selection
            if (selectedCell != null) {
                return new Object[] { data, output, list, selectedCell };
            } else {
                return new Object[] { data, output, list };
            }
        }

        @Override
        public List<Object> toList() {
            // A list containing the selection
            List<Object> lst = new ArrayList<Object>();
            lst.add(data);
            lst.add(output);
            lst.add(list);
            if (selectedCell != null) {
                lst.add(selectedCell);
            }
            return lst;
        }

    };
}