Example usage for org.eclipse.jface.viewers TreePath getFirstSegment

List of usage examples for org.eclipse.jface.viewers TreePath getFirstSegment

Introduction

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

Prototype

public Object getFirstSegment() 

Source Link

Document

Returns the first element in this path, or null if this path has no segments.

Usage

From source file:com.amalto.workbench.editors.xsdeditor.TreeExpandHelper.java

License:Open Source License

private List<ExpandInfoNode> getExpandedNodes(TreePath[] expandedElementPaths) {
    TreePath[] expandedPaths = removeInvalidTreePaths(expandedElementPaths);

    List<ExpandInfoNode> expanded = new ArrayList<ExpandInfoNode>();
    ExpandInfoNode rootNode = null;//from   ww  w.  j  a  v  a2s  .c o  m
    for (TreePath path : expandedPaths) {
        int segmentCount = path.getSegmentCount();

        Object firstSegment = path.getFirstSegment();
        rootNode = ExpandInfoNode.create(getName(firstSegment), firstSegment.getClass().getName());
        if (expanded.contains(rootNode)) {
            rootNode = expanded.get(expanded.indexOf(rootNode));
        } else {
            expanded.add(rootNode);
        }

        for (int i = 1; i < segmentCount; i++) {
            Object segment = path.getSegment(i);
            ExpandInfoNode newNode = ExpandInfoNode.create(getName(segment), segment.getClass().getName());
            if (rootNode.childs == null) {
                rootNode.addChild(newNode);
            } else {
                if (rootNode.childs.contains(newNode)) {
                    newNode = rootNode.childs.get(rootNode.childs.indexOf(newNode));
                } else {
                    rootNode.addChild(newNode);
                }
            }

            rootNode = newNode;
        }
    }

    return expanded;
}

From source file:com.amalto.workbench.providers.XSDTreeLabelProvider.java

License:Open Source License

public void updateLabel(ViewerLabel label, TreePath elementPath) {
    if (elementPath.getFirstSegment() instanceof XSDElementDeclaration) {
        entity = (XSDElementDeclaration) elementPath.getFirstSegment();
    }/*from w  w w. j a v  a  2s .c  o m*/

    Object lastSegment = elementPath.getLastSegment();
    label.setText(getText(lastSegment));
    label.setImage(getImage(lastSegment));
}

From source file:com.android.ide.eclipse.adt.internal.editors.layout.configuration.ConfigManagerDialog.java

License:Open Source License

/**
 * Returns a {@link DeviceSelection} object representing the selected path in the
 * {@link TreeViewer}//from ww w.j av  a 2s . co  m
 */
private DeviceSelection getSelection() {
    // get the selection paths
    TreeSelection selection = (TreeSelection) mTreeViewer.getSelection();
    TreePath[] paths = selection.getPaths();

    if (paths.length == 0) {
        return null;
    }

    TreePath pathSelection = paths[0];

    DeviceType type = (DeviceType) pathSelection.getFirstSegment();
    LayoutDevice device = null;
    DeviceConfig config = null;
    switch (pathSelection.getSegmentCount()) {
    case 2: // layout device is selected
        device = (LayoutDevice) pathSelection.getLastSegment();
        break;
    case 3: // config is selected
        device = (LayoutDevice) pathSelection.getSegment(1);
        config = (DeviceConfig) pathSelection.getLastSegment();
    }

    return new DeviceSelection(type, device, config);
}

From source file:com.android.ide.eclipse.adt.internal.ui.ReferenceChooserDialog.java

License:Open Source License

@Override
protected void computeResult() {
    // get the selection
    TreePath treeSelection = getSelection();
    if (treeSelection != null) {
        if (treeSelection.getSegmentCount() == 2) {
            // get the resource type and the resource item
            ResourceType resourceType = (ResourceType) treeSelection.getFirstSegment();
            ResourceItem resourceItem = (ResourceItem) treeSelection.getLastSegment();

            mCurrentResource = resourceItem.getXmlString(resourceType, false /* system */);
        }//w  ww.jav  a 2s . co  m
    }
}

From source file:com.android.ide.eclipse.adt.internal.ui.ReferenceChooserDialog.java

License:Open Source License

/**
 * Returns the {@link ResourceType} of the selected element, if any.
 * Returns null if nothing suitable is selected.
 *///w w  w . j av a 2s  .c  om
private ResourceType getSelectedResourceType() {
    ResourceType type = null;

    TreePath selection = getSelection();
    if (selection != null && selection.getSegmentCount() > 0) {
        Object first = selection.getFirstSegment();
        if (first instanceof ResourceType) {
            type = (ResourceType) first;
        }
    }
    return type;
}

From source file:com.android.ide.eclipse.adt.ui.ReferenceChooserDialog.java

License:Open Source License

@Override
protected void computeResult() {
    // get the selection
    TreePath treeSelection = getSelection();
    if (treeSelection != null) {
        if (treeSelection.getSegmentCount() == 2) {
            // get the resource type and the resource item
            ResourceType resourceType = (ResourceType) treeSelection.getFirstSegment();
            ResourceItem resourceItem = (ResourceItem) treeSelection.getLastSegment();

            mCurrentResource = resourceType.getXmlString(resourceItem, false /* system */);
        }/*from   w  w  w  . j  ava  2  s  .  co  m*/
    }
}

From source file:com.atlassian.connector.eclipse.internal.crucible.ui.wizards.SelectChangesetsFromCruciblePage.java

License:Open Source License

private Menu createChangesContextMenu() {
    final Menu contextMenuSource = new Menu(getShell(), SWT.POP_UP);

    addChangesetMenuItem = new MenuItem(contextMenuSource, SWT.PUSH);
    addChangesetMenuItem.setText("Add to Review");

    new MenuItem(contextMenuSource, SWT.SEPARATOR);

    addChangesetMenuItem.setEnabled(false);
    getNextRevisionsMenuItem = new MenuItem(contextMenuSource, SWT.PUSH);
    getNextRevisionsMenuItem.setText(String.format("Get %d More Revisions", LIMIT));
    getNextRevisionsMenuItem.setEnabled(false);
    getNextRevisionsMenuItem.addSelectionListener(new SelectionAdapter() {
        @Override//  w w w. j a  v  a  2 s.c o  m
        public void widgetSelected(SelectionEvent e) {
            TreeSelection selection = getTreeSelection(availableTreeViewer);
            if (selection != null && selection.getPaths() != null) {
                for (TreePath path : selection.getPaths()) {
                    Repository repository = (Repository) path.getFirstSegment();
                    if (repository != null) {
                        Changes changes = availableChanges.get(repository);
                        int currentNumberOfEntries = changes == null ? 0 : changes.getChanges().size();
                        updateChangesets(repository, currentNumberOfEntries + LIMIT);
                    }
                }
            } else {
                // update all
                for (Repository repository : availableChanges.keySet()) {
                    Changes changes = availableChanges.get(repository);
                    int currentNumberOfEntries = changes == null ? 0 : changes.getChanges().size();
                    updateChangesets(repository, currentNumberOfEntries + LIMIT);
                }
            }
        }
    });

    addChangesetMenuItem.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            addChangesets();
            updateButtonEnablement();
        }
    });
    return contextMenuSource;
}

From source file:com.atlassian.connector.eclipse.internal.crucible.ui.wizards.SelectChangesetsFromCruciblePage.java

License:Open Source License

private void addChangesets() {
    TreeSelection selection = getTreeSelection(availableTreeViewer);
    if (selection != null && selection.getPaths() != null) {
        Object[] expanded = selectedTreeViewer.getExpandedElements();

        for (TreePath path : selection.getPaths()) {
            if (path.getSegmentCount() < 2) {
                continue;
            }//from   w ww. j  av  a 2 s  .  c o m

            Repository repository = (Repository) path.getFirstSegment();
            Change change = (Change) path.getSegment(1);

            if (!selectedChanges.containsKey(repository)) {
                selectedChanges.put(repository, new HashSet<Change>());
            }
            selectedChanges.get(repository).add(change);
        }

        selectedTreeViewer.setInput(selectedChanges);
        selectedTreeViewer.setExpandedElements(expanded);
    }
    validatePage();
}

From source file:com.atlassian.connector.eclipse.internal.crucible.ui.wizards.SelectChangesetsFromCruciblePage.java

License:Open Source License

private void removeChangesets() {
    TreeSelection selection = getTreeSelection(selectedTreeViewer);
    if (selection != null && selection.getPaths() != null) {
        Object[] expanded = selectedTreeViewer.getExpandedElements();

        for (TreePath path : selection.getPaths()) {
            Repository repository = (Repository) path.getFirstSegment();
            Change change = path.getSegmentCount() > 1 ? (Change) path.getSegment(1) : null;

            if (selectedChanges.containsKey(repository)) {
                if (change != null) {
                    Set<Change> csids = selectedChanges.get(repository);
                    csids.remove(change);
                    if (csids.size() == 0) {
                        selectedChanges.remove(repository);
                    }//from w ww  .j a v  a  2  s  . c  o m
                } else {
                    selectedChanges.remove(repository);
                }
            }
        }

        selectedTreeViewer.setInput(selectedChanges);
        selectedTreeViewer.setExpandedElements(expanded);
    }
    validatePage();
}

From source file:com.github.ko2ic.plugin.eclipse.taggen.core.domain.valueobject.SelectObject.java

License:Open Source License

public SelectObject(ExecutionEvent event, String outputFolder) {
    ISelection selection = HandlerUtil.getCurrentSelection(event);
    if (selection instanceof TreeSelection) {
        TreeSelection tselection = (TreeSelection) selection;
        TreePath[] paths = tselection.getPaths();
        TreePath path = paths[0];
        Object firstSegment = path.getFirstSegment();
        if (firstSegment instanceof IProject) {
            project = (IProject) path.getFirstSegment();
            javaProject = JavaCore.create(project);
        } else if (firstSegment instanceof IJavaProject) {
            javaProject = (IJavaProject) path.getFirstSegment();
            project = javaProject.getProject();
        }// www  .ja v a  2  s.co  m

        IFolder source = project.getFolder(outputFolder);
        IPackageFragmentRoot root = javaProject.getPackageFragmentRoot(source);
        packageRoot = root;

        Object o = tselection.getFirstElement();
        if (o instanceof IFile) {
            this.file = (IFile) o;
        }
    }
}