Example usage for org.eclipse.jface.viewers TreeSelection size

List of usage examples for org.eclipse.jface.viewers TreeSelection size

Introduction

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

Prototype

@Override
    public int size() 

Source Link

Usage

From source file:com.android.ide.eclipse.adt.internal.editors.layout.properties.PropertySheetPage.java

License:Open Source License

@Override
public void selectionChanged(IWorkbenchPart part, ISelection selection) {
    if (selection instanceof TreeSelection && mPropertyTable != null && !mPropertyTable.isDisposed()) {
        TreeSelection treeSelection = (TreeSelection) selection;

        // We get a lot of repeated selection requests for the same selection
        // as before, so try to eliminate these
        if (mSelection != null) {
            if (mSelection.isEmpty()) {
                if (treeSelection.isEmpty()) {
                    return;
                }/*from www  .  j av  a  2s . c om*/
            } else {
                int selectionCount = treeSelection.size();
                if (selectionCount == mSelection.size()) {
                    boolean same = true;
                    Iterator<?> iterator = treeSelection.iterator();
                    for (int i = 0, n = selectionCount; i < n && iterator.hasNext(); i++) {
                        Object next = iterator.next();
                        if (next instanceof CanvasViewInfo) {
                            CanvasViewInfo info = (CanvasViewInfo) next;
                            if (info != mSelection.get(i)) {
                                same = false;
                                break;
                            }
                        } else {
                            same = false;
                            break;
                        }
                    }
                    if (same) {
                        return;
                    }
                }
            }
        }

        stopTrackingSelection();

        if (treeSelection.isEmpty()) {
            mSelection = Collections.emptyList();
        } else {
            int selectionCount = treeSelection.size();
            List<CanvasViewInfo> newSelection = new ArrayList<CanvasViewInfo>(selectionCount);
            Iterator<?> iterator = treeSelection.iterator();
            while (iterator.hasNext()) {
                Object next = iterator.next();
                if (next instanceof CanvasViewInfo) {
                    CanvasViewInfo info = (CanvasViewInfo) next;
                    newSelection.add(info);
                }
            }
            mSelection = newSelection;
        }

        startTrackingSelection();

        refreshProperties();
    }
}

From source file:com.bluexml.side.view.presentation.ViewActionBarContributor.java

License:Open Source License

/**
 * Add actions specific to cols/*  w ww.  ja v a2s.c  o  m*/
 * @param menuManager
 * @param o
 */
private void addActionsForCols(IMenuManager menuManager) {
    // Merge cols :
    TreeSelection selection = ((TreeSelection) this.selectionProvider.getSelection());
    // Check if there is more than one col selected
    if (selection.size() > 0) {
        // Check if all selected objects are cols
        boolean allCol = true;
        for (Object s : selection.toList()) {
            if (!(s instanceof Col)) {
                allCol = false;
            }
        }
        if (allCol) {
            mergeCol.setImageDescriptor(
                    ImageDescriptor.createFromFile(this.getClass(), "/icons/menu/merge.gif"));
            menuManager.insertAfter("ui-actions", mergeCol);
        }
    }
    // Paste configuration
    pasteColConfAction.setImageDescriptor(
            ImageDescriptor.createFromFile(this.getClass(), "/icons/menu/pasteColConf.gif"));
    menuManager.insertAfter("ui-actions", pasteColConfAction);

    // Copy configuration
    copyColConfAction
            .setImageDescriptor(ImageDescriptor.createFromFile(this.getClass(), "/icons/menu/copyColConf.png"));
    menuManager.insertAfter("ui-actions", copyColConfAction);
}

From source file:com.buildml.eclipse.utils.EclipsePartUtils.java

License:Open Source License

/**
 * Given a UI event handler's selection, return the one (and only) UIInteger
 * object that was selected. Otherwise return null;
 * /*from   w  w w . j a  va 2  s .  co  m*/
 * @param event The UI event, as passed into the UI handler code.
 * @return The selected UIDirectory, or null if something else (or nothing at all)
 * was selected.
 */
public static UIDirectory getSingleSelectedPathDir(ExecutionEvent event) {
    TreeSelection selection = (TreeSelection) HandlerUtil.getCurrentSelection(event);
    if ((selection == null) || (selection.size() != 1)) {
        return null;
    }
    Object nodeObject = selection.getFirstElement();
    if (!(nodeObject instanceof UIDirectory)) {
        return null;
    }
    return (UIDirectory) nodeObject;
}

From source file:com.mercatis.lighthouse3.ui.environment.handlers.PropertyTester.java

License:Apache License

public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
    if (receiver instanceof TreeSelection) {
        TreeSelection selection = (TreeSelection) receiver;
        boolean expected = (Boolean) expectedValue;
        for (Object o : args) {
            PARAMETER p;//  www .  ja v a 2s .  com
            try {
                p = PARAMETER.valueOf((String) o);
            } catch (Exception e) {
                System.err.println("Argument " + o + " is not supported.\nAvailable args are:");
                for (PARAMETER pa : PARAMETER.values()) {
                    System.err.println(pa);
                }
                return false;
            }

            switch (p) {
            case multiple:
                return (selection.size() > 1) == expected;
            case deployment:
                if (selection.size() == 1) {
                    TreePath path = selection.getPaths()[0];
                    if (path != null && path.getParentPath() != null) {
                        return (path.getParentPath().getLastSegment() instanceof Location) == expected;
                    }
                }
                break;
            case project_open:
                for (TreePath path : selection.getPaths()) {
                    if (path.getFirstSegment() instanceof LighthouseDomain) {
                        LighthouseDomain lighthouseDomain = (LighthouseDomain) path.getFirstSegment();
                        return lighthouseDomain.getProject().isOpen() == expected;
                    }
                }
                break;
            default:
                return false;
            }
        }
    }
    return false;
}

From source file:com.sonatype.buildserver.eclipse.ui.job.view.ScmChangesPage.java

License:Open Source License

protected void populateContextMenu(IMenuManager menuManager) {
    TreeSelection selection = (TreeSelection) treeViewer.getSelection();

    if (selection.isEmpty() || selection.size() > 1) {
        menuManager.add(openRecent);//from   w w  w. j a  va  2s  .  c  o m
    } else {
        if (selection.getFirstElement() instanceof ChangeFileDTO) {
            menuManager.add(openAction);
        }
        if (selection.getFirstElement() instanceof BuildDTO) {
            menuManager.add(openBuildAction);
        }
        if (selection.getFirstElement() instanceof ChangeEntryDTO) {
            menuManager.add(openEntryAction);
        }
    }

    // drillDownAdapter.addNavigationActions( menuManager );
    menuManager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
}

From source file:jp.sourceforge.tmdmaker.ui.menu.DynamicGeneratorPopupMenu.java

License:Apache License

private boolean isTMDFileSelected() {
    ISelection selection = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService()
            .getSelection();//from  www  . j  a v  a 2  s . c o  m
    if (selection == null) {
        return false;
    }
    if (!(selection instanceof TreeSelection)) {
        return false;
    }
    TreeSelection treeSelection = (TreeSelection) selection;
    if (treeSelection.size() != 1) {
        return false;
    }
    Object selectedObject = treeSelection.getFirstElement();
    if (!(selectedObject instanceof IFile)) {
        return false;
    }
    IFile selectedFile = (IFile) selectedObject;
    return selectedFile.getFileExtension().equals("tmd");
}

From source file:lost.tok.html.other.ExportAction.java

License:Open Source License

/**
 * Creates an html site for the ToK project, on the user's disk
 *//*from  www.java 2s .  c om*/
public void run(IAction action) {
    try {
        if (!(selection instanceof TreeSelection)) {
            System.out.println("lost.tok.html.other.ExportAction was actiavated on non tree selection"); //$NON-NLS-1$
            return;
        }

        TreeSelection ts = (TreeSelection) selection;
        assert (ts.size() == 1);
        assert (ts.getFirstElement() instanceof IProject);

        IProject proj = (IProject) ts.getFirstElement();
        deleteHTMLDir(proj);

        ToK tok = ToK.getProjectToK(proj);

        IndexPage page = new IndexPage(tok);
        page.generatePage();
    } catch (Exception e) {
        // Generally, exceptions shouldn't occur in the above code
        // We want to catch and debug any runtime exceptions occuring
        // So we have added this catch clause
        e.printStackTrace();
    }

}

From source file:org.dev.toos.constcode.ui.handler.consttree.ConstTreeMenuStateAdapter.java

License:Apache License

@Override
public void menuShown(MenuEvent e) {
    TreeViewer treeViewer = this.getViewPage().getConstTreeViewer();
    TreeSelection selection = (TreeSelection) treeViewer.getSelection();
    AbstractBridge bridge = null;/* www .  j a v  a 2  s .  c  o m*/
    ConstGroup atGroup = ConstModelSet.getActivateModel().getCurrentGroup();
    if (selection != null)
        bridge = (AbstractBridge) selection.getFirstElement();
    /*Add, Delete, Copy, Edit, Revert, |, Group*/
    Menu menuRoot = (Menu) e.getSource();
    MenuItem[] menus = menuRoot.getItems();
    for (int i = 0; i < menus.length; i++)
        menus[i].setEnabled(true);
    //
    if (selection.size() > 1)
        menus[3].setEnabled(false);//edit
    if (bridge == null) {
        if (atGroup != null && atGroup.isReadOnly())
            menus[0].setEnabled(false);//add
        menus[1].setEnabled(false);//delete
        menus[2].setEnabled(false);//copy
        menus[3].setEnabled(false);//edit
        menus[4].setEnabled(false);//revert
        return;
    }
    if (bridge.readOnly() == true) {
        menus[1].setEnabled(false);//delete
        menus[3].setEnabled(false);//edit
        menus[4].setEnabled(false);//revert
    }
    if (bridge.isPropertyChanged() == false && bridge.isNew() == false) {
        menus[4].setEnabled(false);//revert
    }
    if (bridge.isDelete() == true) {
        menus[1].setEnabled(false);//delete
        menus[2].setEnabled(false);//copy
        menus[3].setEnabled(false);//edit
    }
    if (bridge.getSource().isReadOnly() == true) {
        menus[0].setEnabled(false);//add
    }
}

From source file:org.eclipse.birt.report.designer.ui.cubebuilder.page.CubeGroupContent.java

License:Open Source License

protected void updateButtons() {
    groupViewer.refresh();/*from  ww w  .j a v a  2 s .  c om*/
    TreeSelection selections = (TreeSelection) groupViewer.getSelection();
    ResultSetColumnHandle dataField = null;
    if (selections.size() == 1) {
        Iterator iter = selections.iterator();
        Object obj = iter.next();

        TreeSelection dataSelection = (TreeSelection) dataFieldsViewer.getSelection();

        DataSetHandle dataset = null;
        if (dataSelection.size() == 1 && dataSelection.getFirstElement() != null
                && dataSelection.getFirstElement() instanceof ResultSetColumnHandle) {
            dataField = (ResultSetColumnHandle) dataSelection.getFirstElement();
            dataset = (DataSetHandle) dataField.getElementHandle();
        }

        if (dataField == null || dataset == null)
            addBtn.setEnabled(false);

        /**
         * Deal add button and del button.
         */
        if (obj instanceof DimensionHandle || obj instanceof LevelHandle || obj instanceof MeasureHandle
                || obj instanceof MeasureGroupHandle || obj instanceof VirtualField) {
            if (checkSharedDimension(obj)) {
                addBtn.setEnabled(false);
                delBtn.setEnabled(false);
                editBtn.setEnabled(false);
                if (obj instanceof DimensionHandle) {
                    delBtn.setEnabled(true);
                    // editBtn.setEnabled( true );
                }
                removeButton.setEnabled(delBtn.isEnabled());
                addButton.setEnabled(addBtn.isEnabled());

                return;
            }

            DimensionHandle dimenTemp = null;
            if (obj instanceof DimensionHandle) {
                dimenTemp = ((DimensionHandle) obj);
            } else if (obj instanceof VirtualField
                    && ((VirtualField) obj).getType().equals(VirtualField.TYPE_LEVEL)) {
                dimenTemp = (DimensionHandle) ((VirtualField) obj).getModel();

            } else if (obj instanceof LevelHandle) {
                DesignElementHandle hierarchy = ((LevelHandle) obj).getContainer();
                dimenTemp = (DimensionHandle) hierarchy.getContainer();
            } else
                addBtn.setEnabled(true);

            if (dimenTemp != null) {
                DataSetHandle table = OlapUtil
                        .getHierarchyDataset((TabularHierarchyHandle) dimenTemp.getDefaultHierarchy());
                if (table == null && dataField != null)
                    addBtn.setEnabled(true);
                else if (table != null && dataset != table)
                    addBtn.setEnabled(false);
                else {
                    if (isTimeType(dimenTemp) && dataField != null) {
                        if (isDateType(dataField.getDataType())
                                && dimenTemp.getDefaultHierarchy().getLevelCount() == 0)
                            addBtn.setEnabled(true);
                        else
                            addBtn.setEnabled(false);
                    }
                    if (!isTimeType(dimenTemp) && dataField != null)
                        addBtn.setEnabled(true);
                }

                // if ( dataField != null
                // && isDateType( dataField.getDataType( ) ) )
                // {
                // if ( dimenTemp.getDefaultHierarchy( )
                // .getContentCount( IHierarchyModel.LEVELS_PROP ) > 0 )
                // {
                // addBtn.setEnabled( false );
                // }
                // else
                // addBtn.setEnabled( true );
                // }

            }

            if (obj instanceof MeasureGroupHandle
                    || (obj instanceof VirtualField
                            && ((VirtualField) obj).getType().equals(VirtualField.TYPE_MEASURE))
                    || obj instanceof MeasureHandle) {
                // if ( dataset == input.getDataSet( ) || dataField == null
                // )
                // addBtn.setEnabled( true );
                // else
                addBtn.setEnabled(true);
            }

            if (obj instanceof LevelHandle) {
                DimensionHandle dimension = (DimensionHandle) ((LevelHandle) obj).getContainer().getContainer();
                if (isTimeType(dimension)) {
                    if (dimension.getDefaultHierarchy().getLevelCount() > 1)
                        delBtn.setEnabled(true);
                    else
                        delBtn.setEnabled(false);
                } else {
                    delBtn.setEnabled(true);
                }
            } else if (obj instanceof VirtualField) {
                delBtn.setEnabled(false);
            } else {
                delBtn.setEnabled(true);
            }
        } else {
            delBtn.setEnabled(false);
        }

        /**
         * CubeHandle can do nothing.
         */
        if (obj instanceof CubeHandle)
            addBtn.setEnabled(false);
        /**
         * CubeModel can and a group or a summary field
         */
        else if (obj instanceof PropertyHandle)
            addBtn.setEnabled(true);

        /**
         * Only Level Handle has EditBtn and PropBtn.
         */
        if (obj instanceof LevelHandle) {
            TabularLevelHandle level = (TabularLevelHandle) obj;
            if (level != null && level.attributesIterator() != null && level.attributesIterator().hasNext()) {
                String name = level.getName() + " ("; //$NON-NLS-1$
                // + level.getColumnName( )
                // + ": "; //$NON-NLS-1$
                Iterator attrIter = level.attributesIterator();
                while (attrIter.hasNext()) {
                    name += ((LevelAttributeHandle) attrIter.next()).getName();
                    if (attrIter.hasNext())
                        name += ", "; //$NON-NLS-1$
                }
                name += ")"; //$NON-NLS-1$
                groupViewer.getTree().getSelection()[0].setText(name);
            }
            editBtn.setEnabled(true);
        } else {
            if (obj instanceof DimensionHandle || obj instanceof MeasureGroupHandle
                    || obj instanceof MeasureHandle)
                editBtn.setEnabled(true);
            else
                editBtn.setEnabled(false);
        }
        if (OlapUtil.isFromLibrary(input)) {
            addBtn.setEnabled(false);
            delBtn.setEnabled(false);
        }
    } else {
        addBtn.setEnabled(false);
        delBtn.setEnabled(false);
        editBtn.setEnabled(false);
    }

    removeButton.setEnabled(delBtn.isEnabled());
    addButton.setEnabled(addBtn.isEnabled());
}

From source file:org.eclipse.debug.internal.ui.viewers.model.InternalVirtualTreeModelViewer.java

License:Open Source License

private TreeSelection adjustSelectionForReplace(VirtualItem[] selectedItems, TreeSelection selection,
        VirtualItem item, Object element, Object parentElement) {
    if (item.getData() != null || selectedItems.length == selection.size() || parentElement == null) {
        // Don't do anything - we are not seeing an instance of bug 185673
        return selection;
    }/*from  w  ww .  jav a2 s .  c o  m*/
    for (int i = 0; i < selectedItems.length; i++) {
        if (item == selectedItems[i]) {
            // The current item was selected, but its data is null.
            // The data will be replaced by the given element, so to keep
            // it selected, we have to add it to the selection.
            TreePath[] originalPaths = selection.getPaths();
            int length = originalPaths.length;
            TreePath[] paths = new TreePath[length + 1];
            System.arraycopy(originalPaths, 0, paths, 0, length);
            // set the element temporarily so that we can call getTreePathFromItem
            item.setData(element);
            paths[length] = getTreePathFromItem(item);
            item.setData(null);
            return new TreeSelection(paths, selection.getElementComparer());
        }
    }
    // The item was not selected, return the given selection
    return selection;
}