Example usage for org.eclipse.jface.viewers TreeViewer expandToLevel

List of usage examples for org.eclipse.jface.viewers TreeViewer expandToLevel

Introduction

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

Prototype

public void expandToLevel(int level, boolean disableRedraw) 

Source Link

Document

Expands the root of the viewer's tree to the given level.

Usage

From source file:com.ebmwebsourcing.petals.common.extensions.internal.wizards.JavaToWSDLWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {

    Composite container = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout(2, false);
    container.setLayout(layout);//from w w w .j a  v  a2s  .co m
    container.setLayoutData(new GridData(GridData.FILL_BOTH));

    // Container selection
    Label l = new Label(container, SWT.NONE);
    l.setText("Select the Java project that contains the classes.");
    GridData layoutData = new GridData();
    layoutData.horizontalSpan = 2;
    l.setLayoutData(layoutData);

    TreeViewer viewer = new TreeViewer(container, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER);
    layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.horizontalSpan = 2;
    viewer.getTree().setLayoutData(layoutData);

    viewer.setLabelProvider(new WorkbenchLabelProvider());
    viewer.setContentProvider(new WorkbenchContentProvider() {
        @Override
        public Object[] getChildren(Object o) {

            if (o instanceof IWorkspaceRoot) {
                IProject[] projects = ((IWorkspaceRoot) o).getProjects();
                ArrayList<IJavaProject> result = new ArrayList<IJavaProject>();
                for (IProject project : projects) {

                    try {
                        if (!project.isOpen() || !project.hasNature(JavaCore.NATURE_ID))
                            continue;

                    } catch (CoreException e) {
                        PetalsCommonWsdlExtPlugin.log(e, IStatus.WARNING);
                        continue;
                    }

                    IJavaProject p = JavaCore.create(project);
                    result.add(p);
                }

                return result.toArray();
            }

            return new Object[0];
        }
    });

    // Set page input
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    viewer.setInput(root);
    if (this.javaProject != null) {
        viewer.setSelection(new StructuredSelection(this.javaProject), true);
        viewer.expandToLevel(this.javaProject, 1);
    }

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {

            IStructuredSelection s = (IStructuredSelection) event.getSelection();
            if (!s.isEmpty())
                JavaToWSDLWizardPage.this.javaProject = (IJavaProject) s.getFirstElement();
            else
                JavaToWSDLWizardPage.this.javaProject = null;
            validate();
        }
    });

    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            openClassSelectionDialog();
        }
    });

    // Class field
    l = new Label(container, SWT.NONE);
    l.setText("Select the Java interface.");
    layoutData = new GridData();
    layoutData.horizontalSpan = 2;
    layoutData.verticalIndent = 15;
    l.setLayoutData(layoutData);

    this.classText = new Text(container, SWT.BORDER | SWT.SINGLE);
    this.classText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    this.classText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            JavaToWSDLWizardPage.this.className = JavaToWSDLWizardPage.this.classText.getText();
            validate();
        }
    });

    Button b = new Button(container, SWT.PUSH);
    b.setText("Browse...");
    b.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            openClassSelectionDialog();
        }

        @Override
        public void widgetSelected(SelectionEvent e) {
            openClassSelectionDialog();
        }
    });

    this.classText.setFocus();
    setControl(container);
}

From source file:com.ebmwebsourcing.petals.common.extensions.internal.wizards.WSDLtoJavaWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {

    Composite container = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    container.setLayout(layout);/* ww  w .  j ava2  s. com*/
    container.setLayoutData(new GridData(GridData.FILL_BOTH));

    // WSDL field
    Label l = new Label(container, SWT.NONE);
    l.setText("WSDL URI:");
    l.setLayoutData(new GridData());

    final Text text = new Text(container, SWT.BORDER | SWT.SINGLE);
    text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    text.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent e) {
            String uri = text.getText();
            if (uri.trim().length() == 0)
                return;

            try {
                WSDLtoJavaWizardPage.this.wsdlUri = UriAndUrlHelper.urlToUri(uri);

            } catch (Exception e1) {
                WSDLtoJavaWizardPage.this.wsdlUri = null;
            }

            validate();
        }
    });

    Composite buttons = new Composite(container, SWT.NONE);
    layout = new GridLayout(2, false);
    layout.marginHeight = layout.marginWidth = 0;
    buttons.setLayout(layout);

    Button b = new Button(buttons, SWT.PUSH);
    b.setText("Browse File System");
    b.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            widgetSelected(e);
        }

        @Override
        public void widgetSelected(SelectionEvent e) {

            FileDialog dlg = new FileDialog(text.getShell(), SWT.SINGLE);
            dlg.setFilterNames(new String[] { "WSDL (*.wsdl)" }); //$NON-NLS-1$
            dlg.setFilterExtensions(new String[] { "*.wsdl" }); //$NON-NLS-1$
            String path = dlg.open();

            if (path != null) {
                text.setText(new File(path).toURI().toString());
                text.setSelection(path.length());
                text.setFocus();
            }
        }
    });

    b = new Button(buttons, SWT.PUSH);
    b.setText("Browse Workspace...");
    b.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            widgetSelected(e);
        }

        @Override
        public void widgetSelected(SelectionEvent e) {

            WorkspaceExplorer dlg = new WorkspaceExplorer(getShell(), new String[] { "wsdl" });
            if (dlg.open() == Window.OK) {
                IResource res = dlg.getSelectedResource();
                text.setText(new File(res.getLocation().toOSString()).toURI().toString());
                text.setSelection(text.getText().length());
                text.setFocus();
            }
        }
    });

    // Container selection
    l = new Label(container, SWT.NONE);
    l.setText("Select the output location.");
    GridData layoutData = new GridData();
    layoutData.verticalIndent = 15;
    l.setLayoutData(layoutData);

    TreeViewer viewer = new TreeViewer(container, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER);
    layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.heightHint = 200;
    viewer.getTree().setLayoutData(layoutData);
    viewer.setLabelProvider(new WorkbenchLabelProvider());

    viewer.setContentProvider(new WorkbenchContentProvider() {
        @Override
        public Object[] getChildren(Object o) {

            if (o instanceof IContainer) {
                IResource[] members;
                try {
                    members = ((IContainer) o).members();
                } catch (Exception e) {
                    return new Object[0];
                }

                ArrayList<IResource> results = new ArrayList<IResource>();
                for (IResource member : members) {
                    if (member instanceof IContainer)
                        results.add(member);
                }

                return results.toArray();
            }

            return new Object[0];
        }
    });

    // Set page input
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    viewer.setInput(root);
    if (this.outputContainer != null) {
        viewer.setSelection(new StructuredSelection(this.outputContainer), true);
        viewer.expandToLevel(this.outputContainer, 1);
    }

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {

            IStructuredSelection s = (IStructuredSelection) event.getSelection();
            if (!s.isEmpty())
                WSDLtoJavaWizardPage.this.outputContainer = (IContainer) s.getFirstElement();
            else
                WSDLtoJavaWizardPage.this.outputContainer = null;
            validate();
        }
    });

    text.setFocus();
    setControl(container);
}

From source file:com.ebmwebsourcing.petals.common.internal.wizards.JbiXmlNewWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {

    // Create the composite container and define its layout
    final Composite container = new Composite(parent, SWT.NONE);

    GridLayout layout = new GridLayout();
    layout.marginLeft = layout.marginRight = 15;
    layout.marginTop = 15;//from  w w w  . j  ava2 s.  c  o  m
    container.setLayout(layout);
    container.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    // Container viewer
    new Label(container, SWT.NONE).setText(Messages.NewJbiXmlWizardPage_2);
    final Text folderPathText = new Text(container, SWT.SINGLE | SWT.BORDER);
    folderPathText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    TreeViewer viewer = new TreeViewer(container, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.HIDE_SELECTION);
    GridData layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.heightHint = 100;
    viewer.getTree().setLayoutData(layoutData);
    viewer.setLabelProvider(new WorkbenchLabelProvider());
    viewer.setContentProvider(new WorkbenchContentProvider() {

        /*
         * (non-Javadoc)
         * @see org.eclipse.ui.model.BaseWorkbenchContentProvider
         * #getChildren(java.lang.Object)
         */
        @Override
        public Object[] getChildren(Object o) {

            if (o instanceof IProject && !((IProject) o).isOpen())
                return new Object[0];

            List<IResource> children = new ArrayList<IResource>();
            if (o instanceof IContainer) {
                try {
                    IResource[] members = ((IContainer) o).members();
                    for (IResource member : members) {
                        if (member instanceof IContainer
                                || (member instanceof IFile && member.getName().equals("jbi.xml"))) //$NON-NLS-1$
                            children.add(member);
                    }
                } catch (CoreException e) {
                    PetalsCommonPlugin.log(e, IStatus.ERROR);
                }
            }

            return children.toArray(new IResource[0]);
        }

        /*
         * (non-Javadoc)
         * @see org.eclipse.ui.model.BaseWorkbenchContentProvider
         * #hasChildren(java.lang.Object)
         */
        @Override
        public boolean hasChildren(Object element) {
            return getChildren(element).length > 0;
        }
    });

    // Set page input
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    viewer.setInput(root);
    if (this.selectedContainer != null) {
        viewer.setSelection(new StructuredSelection(this.selectedContainer), true);
        viewer.expandToLevel(this.selectedContainer, 1);
    }

    viewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            Object o = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (o instanceof IContainer)
                JbiXmlNewWizardPage.this.selectedContainer = (IContainer) o;
            else
                JbiXmlNewWizardPage.this.selectedContainer = ((IFile) o).getParent();

            String path = JbiXmlNewWizardPage.this.selectedContainer.getFullPath().toOSString();
            String fileSeparator = System.getProperty("file.separator"); //$NON-NLS-1$
            if (path.startsWith(fileSeparator))
                path = path.substring(fileSeparator.length());
            folderPathText.setText(path);
            validate();
        }
    });

    // Overwrite existing file ?
    final Button overwriteButton = new Button(container, SWT.CHECK);
    overwriteButton.setText(Messages.NewJbiXmlWizardPage_5);
    overwriteButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            JbiXmlNewWizardPage.this.overwriteExistingFile = overwriteButton.getSelection();
            validate();
        }
    });

    // Set control
    setControl(container);
}

From source file:com.ebmwebsourcing.petals.services.su.wizards.pages.ChoicePage.java

License:Open Source License

@Override
public void createControl(Composite parent) {

    // Create the composite container and define its layout
    final Composite container = SwtFactory.createComposite(parent);
    setControl(container);/*w  w w.  ja v  a  2 s.c o m*/
    SwtFactory.applyNewGridLayout(container, 2, false, 15, 0, 0, 15);
    SwtFactory.applyHorizontalGridData(container);

    // Add a tool tip to display in case of problem
    this.helpTooltip = new FixedShellTooltip(getShell(), true, 90) {
        @Override
        public void populateTooltip(Composite parent) {

            GridLayout layout = new GridLayout();
            layout.verticalSpacing = 2;
            parent.setLayout(layout);
            parent.setLayoutData(new GridData(GridData.FILL_BOTH));
            parent.setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));

            try {
                ImageDescriptor desc = AbstractUIPlugin.imageDescriptorFromPlugin(
                        PetalsConstants.PETALS_COMMON_PLUGIN_ID, "icons/petals/thinking_hard.png");

                if (desc != null)
                    ChoicePage.this.helpImg = desc.createImage();

                parent.setBackgroundMode(SWT.INHERIT_DEFAULT);
                Label imgLabel = new Label(parent, SWT.NONE);
                imgLabel.setImage(ChoicePage.this.helpImg);
                imgLabel.setLayoutData(new GridData(SWT.CENTER, SWT.DEFAULT, true, true));

            } catch (Exception e) {
                PetalsServicesPlugin.log(e, IStatus.WARNING);
            }

            FontData[] fd = PlatformUtils.getModifiedFontData(getFont().getFontData(), SWT.BOLD);
            ChoicePage.this.boldFont = new Font(getShell().getDisplay(), fd);
            Label titleLabel = new Label(parent, SWT.NONE);
            titleLabel.setFont(ChoicePage.this.boldFont);
            GridData layoutData = new GridData(SWT.CENTER, SWT.DEFAULT, true, true);
            layoutData.verticalIndent = 5;
            titleLabel.setLayoutData(layoutData);
            titleLabel.setText("What does this error mean?");

            Label l = new Label(parent, SWT.WRAP);
            l.setText("This wizard will generate, among other things, Maven artifacts.");
            layoutData = new GridData();
            layoutData.verticalIndent = 8;
            l.setLayoutData(layoutData);

            RowLayout rowLayout = new RowLayout(SWT.HORIZONTAL);
            rowLayout.marginLeft = 0;
            rowLayout.marginTop = 0;
            rowLayout.marginRight = 0;
            rowLayout.marginBottom = 0;
            rowLayout.spacing = 0;

            Composite rowComposite = new Composite(parent, SWT.NONE);
            rowComposite.setLayout(rowLayout);
            rowComposite.setLayoutData(new GridData(SWT.CENTER, SWT.DEFAULT, true, true));

            new Label(rowComposite, SWT.WRAP).setText("Unfortunately, there is a problem with the ");
            Link link = new Link(rowComposite, SWT.WRAP | SWT.NO_FOCUS);
            link.setText("<A>the Petals Maven preferences</A>");
            new Label(rowComposite, SWT.WRAP).setText(".");
            new Label(parent, SWT.WRAP).setText("Please, make them correct.");

            link.addSelectionListener(new DefaultSelectionListener() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    try {
                        PreferencesUtil.createPreferenceDialogOn(new Shell(),
                                "com.ebmwebsourcing.petals.services.prefs.maven", null, null).open();

                    } catch (Exception e1) {
                        PetalsServicesPlugin.log(e1, IStatus.ERROR);
                    }
                }
            });
        }
    };

    // Prepare the input
    Comparator<AbstractServiceUnitWizard> comparator = new Comparator<AbstractServiceUnitWizard>() {
        @Override
        public int compare(AbstractServiceUnitWizard o1, AbstractServiceUnitWizard o2) {
            String v1 = o1.getComponentVersionDescription().getComponentVersion();
            String v2 = o2.getComponentVersionDescription().getComponentVersion();
            return -v1.compareTo(v2); // negative so that the most recent is first
        }
    };

    final Map<String, Collection<AbstractServiceUnitWizard>> componentNameToHandler = new TreeMap<String, Collection<AbstractServiceUnitWizard>>();
    final Map<PetalsKeyWords, Set<String>> keywordToComponentName = new TreeMap<PetalsKeyWords, Set<String>>();
    for (AbstractServiceUnitWizard handler : ExtensionManager.INSTANCE.findComponentWizards(this.petalsMode)) {
        for (PetalsKeyWords keyword : handler.getComponentVersionDescription().getKeyWords()) {
            Set<String> list = keywordToComponentName.get(keyword);
            if (list == null)
                list = new TreeSet<String>();

            String componentName = handler.getComponentVersionDescription().getComponentName();
            list.add(componentName);
            keywordToComponentName.put(keyword, list);

            Collection<AbstractServiceUnitWizard> handlers = componentNameToHandler.get(componentName);
            if (handlers == null)
                handlers = new TreeSet<AbstractServiceUnitWizard>(comparator);

            handlers.add(handler);
            componentNameToHandler.put(componentName, handlers);
        }
    }

    // Add the selection area
    final PhantomText searchText = new PhantomText(container, SWT.SINGLE | SWT.BORDER);
    searchText.setDefaultValue("Search...");
    GridDataFactory.swtDefaults().grab(true, false).align(SWT.FILL, SWT.TOP).span(2, 1).applyTo(searchText);

    final TreeViewer componentsViewer = new TreeViewer(container, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION);
    GridDataFactory.fillDefaults().span(2, 1).hint(380, 300).applyTo(componentsViewer.getTree());
    componentsViewer.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {

            String result;
            if (element instanceof String) {
                IComponentDescription desc = componentNameToHandler.get(element).iterator().next()
                        .getComponentVersionDescription();
                String componentName = desc.getComponentName();
                String componentAlias = desc.getComponentAlias();
                String annotation = desc.getComponentAnnotation();

                StringBuilder sb = new StringBuilder();
                if (StringUtils.isEmpty(componentName))
                    sb.append(componentAlias); // Generic component
                else
                    sb.append(componentAlias + "    -  " + componentName);

                if (!StringUtils.isEmpty(annotation))
                    sb.append("    ( " + annotation + " )");

                result = sb.toString();

            } else {
                result = super.getText(element);
            }

            return result;
        }

        @Override
        public Image getImage(Object element) {

            Image result = null;
            if (element instanceof PetalsKeyWords) {
                result = ChoicePage.this.keywordToImage.get(element);
            } else {
                IComponentDescription desc = componentNameToHandler.get(element).iterator().next()
                        .getComponentVersionDescription();
                result = desc.isBc() ? ChoicePage.this.bcImg : ChoicePage.this.seImg;
            }

            return result;
        }
    });

    componentsViewer.setContentProvider(new DefaultTreeContentProvider() {
        @Override
        public Object[] getElements(Object inputElement) {
            return keywordToComponentName.keySet().toArray();
        }

        @Override
        public Object[] getChildren(Object parentElement) {

            Object[] result;
            if (parentElement instanceof PetalsKeyWords) {
                Collection<String> componentNames = keywordToComponentName.get(parentElement);
                result = componentNames == null ? new Object[0] : componentNames.toArray();

            } else {
                result = new Object[0];
            }

            return result;
        }

        @Override
        public boolean hasChildren(Object element) {
            return element instanceof PetalsKeyWords;
        }
    });

    componentsViewer.addFilter(new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {

            boolean result = false;
            String filter = searchText.getTextValue().trim().toLowerCase();
            if (filter.length() == 0)
                result = true;

            else if (element instanceof PetalsKeyWords) {
                Set<String> names = keywordToComponentName.get(element);
                if (names != null) {
                    for (String s : names) {
                        if (select(viewer, null, s)) {
                            result = true;
                            break;
                        }
                    }
                }
            }

            else if (element instanceof String)
                result = ((String) element).toLowerCase().contains(filter);

            return result;
        }
    });

    componentsViewer.setInput(new Object());
    if (keywordToComponentName.size() > 0)
        componentsViewer.expandToLevel(keywordToComponentName.keySet().iterator().next(), 1);

    // Display the available versions
    new Label(container, SWT.NONE).setText("Component Version:");
    final ComboViewer versionCombo = new ComboViewer(container, SWT.BORDER | SWT.DROP_DOWN | SWT.READ_ONLY);
    GridData layoutData = new GridData();
    layoutData.widthHint = 130;
    versionCombo.getCombo().setLayoutData(layoutData);
    versionCombo.setContentProvider(new ArrayContentProvider());
    versionCombo.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            return ((AbstractServiceUnitWizard) element).getComponentVersionDescription().getComponentVersion();
        }
    });

    final Label descriptionLabel = new Label(container, SWT.NONE);
    GridDataFactory.swtDefaults().span(2, 1).indent(0, 10).applyTo(descriptionLabel);

    // Selection listeners
    searchText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            componentsViewer.refresh();
            if (searchText.getTextValue().trim().length() == 0)
                componentsViewer.collapseAll();
            else
                componentsViewer.expandAll();
        }
    });

    componentsViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {

            // Get the selection
            Object o = ((IStructuredSelection) event.getSelection()).getFirstElement();
            Collection<?> input;
            if (o == null || o instanceof PetalsKeyWords)
                input = Collections.emptyList();
            else
                input = componentNameToHandler.get(o);

            // Default selection - there is always one
            versionCombo.setInput(input);
            versionCombo.getCombo().setVisibleItemCount(input.size() > 0 ? input.size() : 1);
            if (!input.isEmpty()) {
                versionCombo.setSelection(new StructuredSelection(input.iterator().next()));
                versionCombo.getCombo().notifyListeners(SWT.Selection, new Event());
            } else {
                setPageComplete(false);
                setSelectedNode(null);
                descriptionLabel.setText("");
                descriptionLabel.getParent().layout();
            }
        }
    });

    versionCombo.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            AbstractServiceUnitWizard suWizard = (AbstractServiceUnitWizard) ((IStructuredSelection) event
                    .getSelection()).getFirstElement();
            if (suWizard == null)
                return;

            setPageComplete(true);
            setSelectedNode(getWizardNode(suWizard));

            String desc = ChoicePage.this.petalsMode == PetalsMode.provides
                    ? suWizard.getComponentVersionDescription().getProvideDescription()
                    : suWizard.getComponentVersionDescription().getConsumeDescription();
            descriptionLabel.setText(desc);
            descriptionLabel.getParent().layout();
        }
    });

    // Initialize
    if (PreferencesManager.isMavenTemplateConfigurationValid())
        this.helpTooltip.hide();

    componentsViewer.getTree().setFocus();
}

From source file:com.ebmwebsourcing.petals.studio.dev.properties.internal.wizards.GenerateConstantsWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {

    // Create the composite container and define its layout
    final Composite container = new Composite(parent, SWT.NONE);
    GridLayoutFactory.swtDefaults().extendedMargins(15, 15, 15, 10).numColumns(2).applyTo(container);
    container.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    // Container viewer
    Label l = new Label(container, SWT.NONE);
    l.setText("Select the output directory to generate the Java constants.");
    GridDataFactory.swtDefaults().span(2, 1).applyTo(l);

    TreeViewer viewer = new TreeViewer(container, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.HIDE_SELECTION);
    GridData layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.heightHint = 100;/*from ww w . j  ava2 s .c  o m*/
    layoutData.horizontalSpan = 2;
    viewer.getTree().setLayoutData(layoutData);
    viewer.setLabelProvider(new WorkbenchLabelProvider());
    viewer.setContentProvider(new WorkbenchContentProvider() {

        /*
         * (non-Javadoc)
         * @see org.eclipse.ui.model.BaseWorkbenchContentProvider
         * #getChildren(java.lang.Object)
         */
        @Override
        public Object[] getChildren(Object o) {

            List<Object> children = new ArrayList<Object>();
            try {
                if (o instanceof IJavaProject) {
                    for (IPackageFragmentRoot root : ((IJavaProject) o).getPackageFragmentRoots()) {
                        if (root.getResource() instanceof IContainer)
                            children.add(root);
                    }

                } else if (o instanceof IWorkspaceRoot) {
                    for (IProject p : ((IWorkspaceRoot) o).getProjects()) {
                        if (!p.isAccessible() || !p.hasNature(JavaCore.NATURE_ID))
                            continue;

                        IJavaProject jp = JavaCore.create(p);
                        if (jp != null)
                            children.add(jp);
                    }
                }

            } catch (CoreException e) {
                PetalsStudioDevPlugin.log(e, IStatus.ERROR);
            }

            return children.toArray(new Object[0]);
        }

        /*
         * (non-Javadoc)
         * @see org.eclipse.ui.model.BaseWorkbenchContentProvider
         * #hasChildren(java.lang.Object)
         */
        @Override
        public boolean hasChildren(Object element) {
            return getChildren(element).length > 0;
        }
    });

    // Set page input
    viewer.setInput(ResourcesPlugin.getWorkspace().getRoot());
    if (this.originalSelection != null) {
        try {
            IJavaProject jp = JavaCore.create(this.originalSelection);
            for (IPackageFragmentRoot root : jp.getPackageFragmentRoots()) {
                if (root.getResource() instanceof IContainer) {
                    GenerateConstantsWizardPage.this.target = root;
                    break;
                }
            }

        } catch (JavaModelException e) {
            PetalsStudioDevPlugin.log(e, IStatus.ERROR, "This should not happen (check in the handler).");
        }
    }

    if (this.target != null) {
        viewer.setSelection(new StructuredSelection(this.target), true);
        viewer.expandToLevel(this.target, 1);
        viewer.getTree().notifyListeners(SWT.Selection, new Event());
    }

    // Java meta
    new Label(container, SWT.NONE).setText("Java Package:");
    final Text packageText = new Text(container, SWT.SINGLE | SWT.BORDER);
    packageText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    packageText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            GenerateConstantsWizardPage.this.javaPackage = ((Text) e.widget).getText().trim();
            validate();
        }
    });

    new Label(container, SWT.NONE).setText("Java Class Name:");
    final Text classText = new Text(container, SWT.SINGLE | SWT.BORDER);
    classText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    classText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            GenerateConstantsWizardPage.this.className = ((Text) e.widget).getText().trim();
            validate();
        }
    });

    // Add the missing listeners
    viewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {

            Object o = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (o instanceof IPackageFragmentRoot) {

                GenerateConstantsWizardPage.this.target = (IPackageFragmentRoot) o;
                String pName = GenerateConstantsWizardPage.this.target.getJavaProject().getProject().getName();
                packageText.setText(pName.replaceAll("-", ".") + ".generated");

                int index = pName.lastIndexOf('.') + 1;
                if (index <= 0 || index > pName.length())
                    pName = "Default";
                else
                    pName = pName.substring(index);
                classText.setText(pName);

            } else {
                GenerateConstantsWizardPage.this.target = null;
            }
        }
    });

    // Set control
    setControl(container);
}

From source file:com.mentor.nucleus.bp.ui.explorer.test.ExplorerTest.java

License:Open Source License

/**
 * For issue 561.  Deletes a test domain by selecting the 
 * domain's node in the model explorer and performing a delete-action.
 * Checks that the domain disappears from the model explorer. 
 * @throws IOException //from   w ww .j a  va  2s.c  o m
 * @throws CoreException 
 */
public void testDomainDeleteFromModelExplorer() throws CoreException, IOException {
    ExplorerUtil.getTreeViewer().refresh();
    BaseTest.dispatchEvents(0);

    // select the domain item in the model explorer; also,
    // expand the item and check that its first node isn't 
    // blank, as a test of the work done for issue 1059
    TreeItem item = selectPackageItemInModelExplorer();
    TreeViewer viewer = ExplorerUtil.getTreeViewer();
    viewer.expandToLevel(item.getData(), 1);
    assertTrue(!item.getItems()[0].getText().trim().equals(""));

    TransactionManager.getSingleton().disableDialog = true;
    ExplorerUtil.deleteItem();
    TransactionManager.getSingleton().disableDialog = false;

    ExplorerUtil.getTreeViewer().refresh();
    BaseTest.dispatchEvents(0);

    checkPackageNoLongerInModelExplorer();
    checkDomainDeleted(testModelName);
    BaseTest.dispatchEvents(0);
    // restore the domain that was deleted during this test
    ensureAvailableAndLoaded(packageName, testModelName, false, false, "Package");

}

From source file:com.microsoft.tfs.client.common.ui.controls.vc.properties.RelationshipPropertiesTab.java

License:Open Source License

@Override
public void populate(final TFSRepository repository, final ItemIdentifier id) {
    final BranchObjectInput input = new BranchObjectInput(repository, id);
    final TreeViewer viewer = control.getViewer();
    viewer.setInput(input);/*from   ww w .  j a va  2 s  . com*/
    viewer.expandToLevel(input.branch, AbstractTreeViewer.ALL_LEVELS);
}

From source file:com.xored.glance.ui.ccvs.TreeUtils.java

License:Open Source License

/**
 * Expand Tree up to the element specified by <path>
 * /*from  www . j  a  v  a 2s.co  m*/
 * @param treeViewer
 * @param path
 * @param item
 * @param treeExpandUpdater
 */
public static void expandElement(final TreeViewer treeViewer, String path, final TreeItem item,
        ITreeExpandUpdater treeExpandUpdater) {
    TreeItem[] items;
    if (item == null) {
        items = treeViewer.getTree().getItems();
    } else {
        if (item != null && !(item.getData() instanceof RemoteFile) && !item.getExpanded()) {
            treeViewer.expandToLevel(item.getData(), 1);
            treeExpandUpdater.updateOnExpand(item);
            if (item.getItems().length > 0 && path != null) {
                if (item.getItems()[0].getData() instanceof PendingUpdateAdapter) {
                    item.getItems()[0].addDisposeListener(
                            new PendingDisposeListener(treeViewer, path, item, treeExpandUpdater));
                } else {
                    expandElement(treeViewer, path, item, treeExpandUpdater);
                }
                return;
            }
        }
        items = item.getItems();
    }

    if (path == null) {
        // treeViewer.getTree().setSelection(item);

        Utils.asyncExec(new Runnable() {
            public void run() {
                treeViewer.getTree().setSelection(item);
            }
        }, treeViewer);
        // System.out.println("select: " + item.getText());
        // textSource.setMatch(textSource.newMatch);
        return;
    }
    for (TreeItem treeItem : items) {
        String curFolder = TreeUtils.getTreeItemName(treeItem);
        if (treeItem.getData() != null && path.startsWith(curFolder)
                && ((path.length() == curFolder.length()) || (path.charAt(curFolder.length()) == '/'))) {
            String tPath = path.replace(curFolder, "");
            if (tPath != null && tPath.length() > 0) {
                tPath = (tPath.charAt(0) == '/') ? tPath.substring(1) : tPath;
            } else {
                tPath = null;
            }
            expandElement(treeViewer, tPath, treeItem, treeExpandUpdater);
            return;
        }
    }
}

From source file:de.walware.ecommons.ui.util.ViewerUtil.java

License:Open Source License

public static void addDoubleClickExpansion(final TreeViewer viewer) {
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override//from w w w.j a v a 2  s  .co m
        public void doubleClick(final DoubleClickEvent event) {
            final IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            if (selection != null && selection.size() == 1) {
                final Object item = selection.getFirstElement();
                if (viewer.getExpandedState(item)) {
                    viewer.collapseToLevel(item, TreeViewer.ALL_LEVELS);
                } else {
                    viewer.expandToLevel(item, 1);
                }
            }
        }
    });
}

From source file:edu.harvard.i2b2.eclipse.plugins.ontology.views.edit.ModifierComposite.java

License:Open Source License

public void addModifiers(TreeData node) {
    final TreeViewer theViewer = this.viewer;
    final Display theDisplay = Display.getCurrent();

    String path = StringUtil.getPath(node.getKey());
    String tableCd = StringUtil.getTableCd(node.getKey());
    //rootNode.getChildren().clear();
    clearTree();/*from www .j  ava2s .c  o m*/

    TreeNode conceptTerm = new TreeNode(node);
    conceptTerm.setOpen(true);
    rootNode.addChild(conceptTerm);
    conceptNode = conceptTerm;

    //      while (path.length()>2){      
    try {
        GetModifiersType modifiersType = new GetModifiersType();

        modifiersType.setSynonyms(false);
        modifiersType.setHiddens(false);
        modifiersType.setMax(null);
        modifiersType.setBlob(true);

        modifiersType.setSelf("\\\\" + tableCd + path);
        findLabel.setVisible(true);

        GetModifiersResponseMessage msg = new GetModifiersResponseMessage();
        StatusType procStatus = null;
        while (procStatus == null || !procStatus.getType().equals("DONE")) {
            String response = OntServiceDriver.getModifiers(modifiersType, "ONT");
            response = response.replace("<ValueMetadata>",
                    "<ns6:ValueMetadata xmlns:ns6=\"http://www.i2b2.org/xsd/cell/ont/1.1/\">");
            response = response.replace("</ValueMetadata>", "</ns6:ValueMetadata>");

            procStatus = msg.processResult(response);

            //         TABLE_ACCESS_DENIED and USER_INVALID and DATABASE ERRORS
            if (procStatus.getType().equals("ERROR")) {
                System.setProperty("errorMessage", procStatus.getValue());
                theDisplay.syncExec(new Runnable() {
                    public void run() {
                        MessageBox mBox = new MessageBox(theViewer.getTree().getShell(),
                                SWT.ICON_INFORMATION | SWT.OK);
                        mBox.setText("Please Note ...");
                        mBox.setMessage("Server reports: " + System.getProperty("errorMessage"));
                        int result = mBox.open();
                    }
                });
                return;
            }
        }

        ModifiersType allModifiers = msg.doReadModifiers();
        if (allModifiers != null) {
            List<ModifierType> modifiers = allModifiers.getModifier();
            //      rootNode.getNodesFromXMLString(modifiers, null);
            if (!modifiers.isEmpty()) {
                Iterator<ModifierType> it = modifiers.iterator();
                while (it.hasNext()) {
                    ConceptType child = rootNode.getData();
                    TreeData data = new TreeData(child);
                    ModifierType mod = (ModifierType) it.next();
                    if (System.getProperty("OntEditConceptCode").equals("true")) {
                        if ((mod.getBasecode() != null) && (mod.getBasecode().length() != 0))
                            mod.setTooltip(mod.getTooltip() + " - " + mod.getBasecode());
                    }
                    data.setModifier(mod);
                    TreeNode childNode = new TreeNode(data);
                    //      child.setModifier(data.getModifier());

                    if ((data.getModifier().getVisualattributes().startsWith("DA"))
                            || (data.getModifier().getVisualattributes().startsWith("OA"))) {
                        TreeNode placeholder = new TreeNode(child.getLevel() + 1, "working...", "working...",
                                "RA");
                        placeholder.setOpen(true);
                        ModifierType modifier = new ModifierType();
                        modifier.setName("working...");
                        modifier.setVisualattributes("RA");
                        placeholder.getData().setModifier(modifier);
                        childNode.addChild(placeholder);
                        //         rootNode.addChild(childNode);
                        conceptTerm.addChild(childNode);
                    } else if ((data.getModifier().getVisualattributes().startsWith("DH"))
                            || (data.getModifier().getVisualattributes().startsWith("OH"))) {
                        TreeNode placeholder = new TreeNode(child.getLevel() + 1, "working...", "working...",
                                "RH");
                        placeholder.setOpen(true);
                        ModifierType modifier = new ModifierType();
                        modifier.setName("working...");
                        modifier.setVisualattributes("RA");
                        placeholder.getData().setModifier(modifier);
                        childNode.addChild(placeholder);
                        //rootNode.addChild(childNode);
                        conceptTerm.addChild(childNode);
                    } else if ((data.getModifier().getVisualattributes().startsWith("R"))) {
                        //   rootNode.addChild(childNode);   
                        conceptTerm.addChild(childNode);
                    }
                }
            }

        }
        theViewer.expandToLevel(rootNode, 2);
        theViewer.refresh(rootNode);

    } catch (Exception e) {
        log.error(e.getMessage());
        theDisplay.syncExec(new Runnable() {
            public void run() {
                // e.getMessage() == Incoming message input stream is null  -- for the case of connection down.
                MessageBox mBox = new MessageBox(theViewer.getTree().getShell(), SWT.ICON_INFORMATION | SWT.OK);
                mBox.setText("Please Note ...");
                mBox.setMessage("Error message delivered from the remote server\n"
                        + "You may wish to retry your last action");
                int result = mBox.open();
            }
        });
    }
    /*      if(path.endsWith("%")){
    path = path.substring(0, path.length()-2);
    //         log.debug("INTERMED modifier path is " + path);
    path = path.substring(0, path.lastIndexOf("\\") + 1) + "%";
    //         log.debug("NEW modifier path is " + path);
          }
          else
    path = path + "%";
       }
       */
}