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

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

Introduction

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

Prototype

public void collapseToLevel(Object elementOrTreePath, int level) 

Source Link

Document

Collapses the subtree rooted at the given element or tree path to the given level.

Usage

From source file:com.amalto.workbench.editors.DataModelMainPage.java

License:Open Source License

private ToolItem createCollapseToolItem(ToolBar parentToolBar, final TreeViewer targetTreeViewer) {

    ToolItem collapseToolItem = new ToolItem(parentToolBar, SWT.PUSH);
    collapseToolItem.setImage(ImageCache.getCreatedImage(EImage.COLLAPSE.getPath()));
    collapseToolItem.setToolTipText(Messages.CollapseText);
    collapseToolItem.setEnabled(!isReadOnly());
    collapseToolItem.addSelectionListener(new SelectionAdapter() {

        @Override//from w  w  w  .j  av  a2 s  . co m
        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection selection = (IStructuredSelection) targetTreeViewer.getSelection();
            for (Object eachSelectedObj : selection.toArray()) {
                targetTreeViewer.collapseToLevel(eachSelectedObj, 3);
            }
        }
    });

    return collapseToolItem;
}

From source file:com.bdaum.zoom.ui.internal.UiUtilities.java

License:Open Source License

public static void installDoubleClickExpansion(TreeViewer viewer) {
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override/*from w  ww. jav  a  2s  .com*/
        public void doubleClick(DoubleClickEvent event) {
            Object item = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (item != null && viewer.isExpandable(item)) {
                if (viewer.getExpandedState(item))
                    viewer.collapseToLevel(item, 1);
                else
                    viewer.expandToLevel(item, 1);
            }
        }
    });
}

From source file:com.bluexml.side.form.presentation.FormEditor.java

License:Open Source License

/**
 * Add double click listener to show the properties view on double click
 * //from w w  w .j  a  v  a  2s  .c  o  m
 * @param viewer
 */
private void addDoubleClickEventListener(StructuredViewer viewer) {

    if (viewer instanceof TreeViewer) {
        final TreeViewer newTreeViewer = (TreeViewer) viewer;
        newTreeViewer.addDoubleClickListener(new IDoubleClickListener() {
            public void doubleClick(DoubleClickEvent event) {
                // Show property view
                try {
                    getEditorSite().getPage().showView("org.eclipse.ui.views.PropertySheet");
                } catch (PartInitException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                // Open if is container
                ISelection selection = event.getSelection();
                if (selection instanceof IStructuredSelection) {
                    Object item = ((IStructuredSelection) selection).getFirstElement();
                    if (newTreeViewer.getExpandedState(item)) {
                        newTreeViewer.collapseToLevel(item, 1);
                    } else {
                        newTreeViewer.expandToLevel(item, 5);
                    }
                }
                // If reference change focus to target FormClass
                if ((((IStructuredSelection) selection).getFirstElement() instanceof Reference)
                        && ((IStructuredSelection) selection).size() == 1) {
                    Reference ref = ((Reference) ((IStructuredSelection) selection).getFirstElement());
                    setSelectionToViewer(ref.getTarget());
                } else if ((((IStructuredSelection) selection).getFirstElement() instanceof VirtualField)
                        && ((IStructuredSelection) selection).size() == 1) {
                    VirtualField vf = (VirtualField) ((IStructuredSelection) selection).getFirstElement();
                    ArrayList<Field> list = new ArrayList<Field>(1);
                    list.add(vf.getLink());
                    setSelectionToViewer(list);
                }
            }
        });
    }
}

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

License:Open Source License

/**
 * Add double click listener to show the properties view on double click
 *
 * @param viewer//  w ww . ja  va2 s  .  c o m
 */
private void addDoubleClickEventListener(StructuredViewer viewer) {

    if (viewer instanceof TreeViewer) {
        final TreeViewer newTreeViewer = (TreeViewer) viewer;
        newTreeViewer.addDoubleClickListener(new IDoubleClickListener() {
            public void doubleClick(DoubleClickEvent event) {
                // Show property view
                try {
                    getEditorSite().getPage().showView("org.eclipse.ui.views.PropertySheet");
                } catch (PartInitException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                // Open if is container
                ISelection selection = event.getSelection();
                if (selection instanceof IStructuredSelection) {
                    Object item = ((IStructuredSelection) selection).getFirstElement();
                    if (newTreeViewer.getExpandedState(item)) {
                        newTreeViewer.collapseToLevel(item, 1);
                    } else {
                        newTreeViewer.expandToLevel(item, 5);
                    }
                }
            }
        });
    }
}

From source file:com.nokia.tracebuilder.view.WrapperBase.java

License:Open Source License

/**
 * Collapses the sibling wrappers of this wrapper
 * //from www  .  ja  v a  2s  .  c  o m
 * @param viewer
 *            the viewer
 * @param child
 *            the child
 */
private void collapseSiblings(TreeViewer viewer, ListWrapper child) {
    // The collapsed wrapper is shown in view, but it
    // children are hidden
    // If a sibling is shown, it is collapsed
    boolean needsCollapse = child.hasChildren() && child.getVisibleWrappers().next().isInView();
    if (needsCollapse) {
        child.setChildrenInView(false);
        viewer.collapseToLevel(child, AbstractTreeViewer.ALL_LEVELS);
    }
}

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  va  2s  .  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:msi.gama.lang.gaml.web.workspace.ui.GamlWorkspaceNavigator.java

License:Open Source License

@Override
protected void handleDoubleClick(DoubleClickEvent anEvent) {
    // TODO Auto-generated method stub
    //      super.handleDoubleClick(anEvent);

    IAction openHandler = getViewSite().getActionBars()
            .getGlobalActionHandler("org.eclipse.ui.actionSet.openFiles");
    if (openHandler == null) {
        IStructuredSelection selection = (IStructuredSelection) anEvent.getSelection();
        Object element = selection.getFirstElement();
        if (element instanceof File && !(element instanceof GDriveFile)) {
            final File file = (File) element;
            if (file.exists() && !file.isDirectory()) {
                final Display display = PlatformUI.getWorkbench().getDisplay();
                display.asyncExec(new Runnable() {
                    @Override//from   ww w.ja v a  2  s. c  o m
                    public void run() {
                        // Double click a file
                        System.out.println(
                                " -->-->- Trying to connect to etherpad. From " + getClass().toString());
                        //EPLiteClient epClient = new EPLiteClient("http://localhost:9001", "ea45b73fbcba78e79125835624433e291c7ca2418b93d7cc14964bc7abc4e6f4");
                        EPLiteClient epClient = new EPLiteClient("http://localhost:9001",
                                "f9bc87f2c982e38848b84fd3f2c44ce61945a4796b7b18b3a49d59972c52d4f2");

                        // Create pad and set text
                        //client.createPad("my_pad");
                        //client.setText("my_pad", "foo!!");

                        // Get pad text

                        // ---------------------
                        //            IEditorRegistry editorRegistry = PlatformUI.getWorkbench().getEditorRegistry();
                        //            IEditorDescriptor ed = editorRegistry.findEditor("ummisco.gama.participative.EtherPadEditor");
                        //   EtherPadEditor ethEditor = new EtherPadEditor();
                        //   ethEditor.createPartControl(compo);

                        //   editorRegistry.setDefaultEditor(new Path(absolutePath), "ummisco.gama.participative.EtherPadEditor");
                        //            System.out.println(" ---> Il exite bien: " +ed.getId());
                        //   editorRegistry.getDefaultEditor(new Path(absolutePath), "ummisco.gama.participative.EtherPadEditor");
                        // --------------------

                        //   String uid=RWT.getUISession().getAttribute("user").toString();
                        String absolutePath = file.getAbsolutePath();
                        IWorkbench workbench = PlatformUI.getWorkbench();

                        //      if (EditorUtil.openEditor(workbench, new Path(absolutePath)) != null) {
                        //      if (EtherpadEditorUtil.openFormEditor(workbench, new Path(absolutePath)) != null) {
                        if (EtherpadEditorUtil.openEditor(workbench, new Path(absolutePath)) != null) {
                            //                        logger.info("Double click on file " + absolutePath);

                            System.out.println(" -->-->- Going to sleep before opening other editor ");

                            //      try { Thread.sleep(10000); } catch (InterruptedException e1) { e1.printStackTrace(); }

                            //      EditorUtil.openEditor(workbench, new Path(absolutePath)) ;
                            //      EtherpadEditorUtil.openEditor(workbench, new Path(absolutePath)) ;
                            System.out.println(" -->-->- Open an editor  ");

                            try {
                                String content = new String(
                                        Files.readAllBytes(Paths.get(file.getAbsolutePath())));
                                //System.out.println(" -> Double click on file: " +content);
                                Map padList = epClient.listAllPads();

                                String value = (String) padList.get(file.getName());
                                if (value != null) {
                                    epClient.deletePad(file.getName());
                                } else {
                                    epClient.createPad(file.getName());
                                    epClient.setText(file.getName(), content);
                                }

                                //   xcv
                                String text = epClient.getText(file.getName()).get("text").toString();
                                System.out.println(" The pad content is :" + text);
                            } catch (IOException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }

                        }
                        workspaceChanged(null);
                    }
                });

            } else if (file.exists() && file.isDirectory()) {
                // Double click a folder
                Object eventSource = anEvent.getSource();
                if (eventSource instanceof TreeViewer) {
                    TreeViewer treeViewer = (TreeViewer) eventSource;
                    Widget widget = treeViewer.testFindItem(file);
                    if (widget != null && widget instanceof TreeItem) {
                        TreeItem item = (TreeItem) widget;
                        boolean toExpand = !item.getExpanded();
                        item.setExpanded(toExpand);
                        if (toExpand) {
                            treeViewer.expandToLevel(item, 0);
                        } else {
                            treeViewer.collapseToLevel(item, 0);
                        }
                        treeViewer.refresh(item.getData());
                    }
                }
            }
        } else if (element instanceof GDriveFile) {
            final GDriveFile file = (GDriveFile) element;
            if (!file.isDirectory()) {//file.exists() &&
                final Display display = PlatformUI.getWorkbench().getDisplay();
                display.asyncExec(new Runnable() {
                    @Override
                    public void run() {
                        // Double click a file 
                        // Add here the code to insert the file in the dataBase. 
                        EPLiteClient client = new EPLiteClient("http://localhost:9001",
                                "K8OF91QMQYUvrNu3e9rJ7FnnVgaB3m9q");
                        //                     
                        // Create pad and set text
                        //client.createPad("my_pad");
                        //client.setText("my_pad", "foo!!");

                        // Get pad text
                        String text = client.getText("SKLAB").get("text").toString();

                        System.out.println(" The pad content is :" + text);
                        // Get list of all pad ids
                        //   Map result = client.listAllPads();
                        //   List padIds = (List) result.get("padIDs");

                        Export s;
                        try {
                            //                        s = GamaFileSystemContentProvider.drive.files().export(file.id, "text/plain");
                            InputStream in = downloadFile(GamaFileSystemContentProvider.drive, file);//s.executeMediaAsInputStream();

                            File targetFile = new File(file.getPath());
                            OutputStream outStream = new FileOutputStream(targetFile);

                            int read = 0;
                            byte[] bytes = new byte[1024];

                            while ((read = in.read(bytes)) != -1) {
                                outStream.write(bytes, 0, read);
                            }
                            outStream.close();
                            in.close();
                            /*
                            InputStreamReader isr=new InputStreamReader(in);
                            BufferedReader br = new BufferedReader(isr);
                            String line = null;
                                    
                            StringBuilder responseData = new StringBuilder();
                            while((line = br.readLine()) != null) {
                              responseData.append(line);
                            }
                            System.out.println(responseData);*/
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }

                        updateFile(GamaFileSystemContentProvider.drive, file.getId(), file.getTitle(),
                                file.getDescription(), file.getMimeType(), file.getPath(), true);
                        String absolutePath = file.getPath();//file.getAbsolutePath();
                        IWorkbench workbench = PlatformUI.getWorkbench();
                        if (GamlEditorUtil.openEditor(workbench, new Path(absolutePath)) != null) {
                            //                        logger.info("Double click on file " + absolutePath);
                        }
                        //                     workspaceChanged(null);
                    }
                });

            } else {//if (file.exists() && file.isDirectory()) {
                // Double click a folder
                Object eventSource = anEvent.getSource();
                if (eventSource instanceof TreeViewer) {
                    TreeViewer treeViewer = (TreeViewer) eventSource;
                    Widget widget = treeViewer.testFindItem(file);
                    if (widget != null && widget instanceof TreeItem) {
                        TreeItem item = (TreeItem) widget;
                        boolean toExpand = !item.getExpanded();
                        item.setExpanded(toExpand);
                        if (toExpand) {
                            treeViewer.expandToLevel(item, 0);
                        } else {
                            treeViewer.collapseToLevel(item, 0);
                        }
                        treeViewer.refresh(item.getData());
                    }
                }
            }
        }
    }
}

From source file:net.sf.eclipsensis.dialogs.FileSelectionDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite parent2 = (Composite) super.createDialogArea(parent);
    Composite composite = new Composite(parent2, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    GridLayout layout = new GridLayout(1, true);
    composite.setLayout(layout);//from  w  ww  . ja v a 2 s .  co  m

    SashForm form = new SashForm(composite, SWT.HORIZONTAL);
    form.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    layout = new GridLayout(1, true);
    form.setLayout(layout);

    composite = new Composite(form, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    layout = new GridLayout(1, true);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    composite.setLayout(layout);

    Label l = new Label(composite, SWT.NONE);
    l.setText(EclipseNSISPlugin.getResourceString("fileselection.parent.folder.label")); //$NON-NLS-1$
    l.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
    Tree tree = new Tree(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    gridData.widthHint = VIEWER_WIDTH;
    gridData.heightHint = VIEWER_HEIGHT;
    tree.setLayoutData(gridData);
    final TreeViewer tv = new TreeViewer(tree);
    tv.setContentProvider(new ContainerContentProvider());
    tv.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
    tv.setSorter(new ViewerSorter());

    composite = new Composite(form, SWT.None);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    layout = new GridLayout(1, true);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    composite.setLayout(layout);

    l = new Label(composite, SWT.NONE);
    l.setText(EclipseNSISPlugin.getResourceString("fileselection.file.label")); //$NON-NLS-1$
    l.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
    Table table = new Table(composite,
            SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
    gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    gridData.widthHint = VIEWER_WIDTH;
    gridData.heightHint = VIEWER_HEIGHT;
    table.setLayoutData(gridData);
    table.setLinesVisible(false);
    final TableViewer tv2 = new TableViewer(table);
    tv2.setContentProvider(new FilesContentProvider());
    tv2.setLabelProvider(new FilesLabelProvider());
    tv2.setSorter(new ViewerSorter());
    if (mFilter != null) {
        tv2.addFilter(new ViewerFilter() {
            @Override
            public boolean select(Viewer viewer, Object parentElement, Object element) {
                return mFilter.select(element);
            }
        });
    }

    tv.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            tv2.setInput(selection.getFirstElement()); // allow null
        }
    });
    tv.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            ISelection selection = event.getSelection();
            if (selection instanceof IStructuredSelection) {
                Object item = ((IStructuredSelection) selection).getFirstElement();
                if (tv.getExpandedState(item)) {
                    tv.collapseToLevel(item, 1);
                } else {
                    tv.expandToLevel(item, 1);
                }
            }
        }
    });

    tv2.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            if (selection != null && !selection.isEmpty()) {
                mFile = (IFile) selection.getFirstElement();
            } else {
                mFile = null;
            }
            Button button = getButton(IDialogConstants.OK_ID);
            if (button != null) {
                button.setEnabled(selection != null && !selection.isEmpty());
            }
        }
    });
    tv2.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            if (mFile != null) {
                setReturnCode(Window.OK);
                close();
            }
        }
    });

    tv.setInput(ResourcesPlugin.getWorkspace());
    if (mContainer != null) {
        tv.setSelection(new StructuredSelection(mContainer));
        if (mFile != null) {
            tv2.setSelection(new StructuredSelection(mFile));
        } else {
            tv2.setSelection(new StructuredSelection());
        }
    }
    return parent2;
}

From source file:org.agilereview.ui.basic.reviewExplorer.ViewController.java

License:Open Source License

/**
 * Helper method to expand or collapse (based on the current state) the given element of the given TreeViewer
 * @param treeViewer TreeViewer in which the element is displayed
 * @param element element to collapse/expand
 * @author Thilo Rauch (12.05.2012)//  www  .j  a va  2 s .  c  o m
 */
private void expandOrCollapse(TreeViewer treeViewer, Object element) {
    if (treeViewer.getExpandedState(element)) {
        treeViewer.collapseToLevel(element, 1);
    } else {
        treeViewer.expandToLevel(element, 1);
    }
}

From source file:org.apache.directory.studio.ldapbrowser.ui.editors.entry.EntryEditorOutlinePage.java

License:Apache License

/**
 * {@inheritDoc}/*ww w .  j  a  va 2 s . c  o m*/
 */
public void createControl(Composite parent) {
    // Creating the composite and fake composite
    this.composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new FillLayout());
    this.fakeComposite = new Composite(parent, SWT.NONE);

    // Creating the No Outline composite
    noOutlineComposite = new Composite(composite, SWT.NONE);
    noOutlineComposite.setLayout(new FillLayout());

    Label label = new Label(noOutlineComposite, SWT.WRAP);
    label.setText(Messages.getString("EntryEditorOutlinePage.NoOutline")); //$NON-NLS-1$

    // Creating the Outline tree viewer
    super.createControl(parent);

    final TreeViewer treeViewer = getTreeViewer();
    treeViewer.setLabelProvider(new EntryEditorOutlineLabelProvider());
    treeViewer.setContentProvider(new EntryEditorOutlineContentProvider());

    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            if (!event.getSelection().isEmpty() && event.getSelection() instanceof IStructuredSelection) {
                if (getEntryEditorWidgetTreeViewerInput() != null) {
                    List<Object> selectionList = new ArrayList<Object>();

                    for (Object element : ((IStructuredSelection) event.getSelection()).toArray()) {
                        if (element instanceof IValue) {
                            // select the value
                            IValue value = (IValue) element;
                            selectionList.add(value);
                        } else if (element instanceof IAttribute) {
                            // select attribute and all values
                            IAttribute attribute = (IAttribute) element;
                            selectionList.add(attribute);
                            selectionList.addAll(Arrays.asList(attribute.getValues()));
                        } else if (element instanceof EntryWrapper) {
                            // select all attributes and values
                            IEntry entry = ((EntryWrapper) element).entry;
                            for (IAttribute attribute : entry.getAttributes()) {
                                selectionList.add(attribute);
                                selectionList.addAll(Arrays.asList(attribute.getValues()));
                            }
                        }
                    }

                    IStructuredSelection selection = new StructuredSelection(selectionList);
                    TreeViewer entryEditorWidgetTreeViewer = getEntryEditorWidgetTreeViewer();
                    if (entryEditorWidgetTreeViewer != null) {
                        entryEditorWidgetTreeViewer.setSelection(selection);
                    }
                }
            }
        }
    });

    treeViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            if (event.getSelection() instanceof IStructuredSelection) {
                Object obj = ((IStructuredSelection) event.getSelection()).getFirstElement();
                if (treeViewer.getExpandedState(obj)) {
                    treeViewer.collapseToLevel(obj, 1);
                } else if (((ITreeContentProvider) treeViewer.getContentProvider()).hasChildren(obj)) {
                    treeViewer.expandToLevel(obj, 1);
                }
            }
        }
    });

    this.refresh();
}