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:org.talend.core.repository.seeker.RepositorySeekerManager.java

License:Open Source License

public void expandNode(TreeViewer viewer, IRepositoryNode repoNode, int expandLevel) {
    if (repoNode != null && viewer != null) {
        RepositoryNode parent = repoNode.getParent();
        if (parent != null) { // when repoNode is ProjectRepositoryNode in main project, the parent will be null.
            if (parent instanceof ProjectRepositoryNode && parent.getParent() == null) {
                // the parent is main project, nothing to do
            } else {
                expandNode(viewer, parent, expandLevel);
            }/*w w w . j a va  2  s  .c  om*/
            viewer.expandToLevel(repoNode, expandLevel);
        }
    }

}

From source file:org.talend.repository.model.RepositoryNodeUtilities.java

License:Open Source License

public static void expandParentNode(IRepositoryView view, IRepositoryNode node) {
    if (view == null || node == null) {
        return;//from   w w  w  .  j av  a 2s .co m
    }
    expandParentNode(view, node.getParent());
    view.expand(node, true);
    // for db
    StructuredViewer viewer = view.getViewer();
    if (viewer instanceof TreeViewer) {
        TreeViewer treeViewer = (TreeViewer) viewer;
        ERepositoryObjectType objectType = node.getObjectType();
        if (objectType != null) {
            if (objectType == ERepositoryObjectType.METADATA_CONNECTIONS) {
                treeViewer.expandToLevel(node, TreeViewer.ALL_LEVELS);
            } else if (objectType == ERepositoryObjectType.ROUTINES) {
                treeViewer.expandToLevel(node, 2);
            }
        }
    }

}

From source file:org.talend.repository.ui.actions.importexport.ExportItemWizardPage.java

License:Open Source License

private void expandParent(TreeViewer viewer, Object nodeObject, ERepositoryObjectType type) {
    if (type == ERepositoryObjectType.SVN_ROOT) {
        viewer.setExpandedState(nodeObject, true);
    }//w  w w. j  a v  a 2  s . c o  m
    Object parent = getParentNode(nodeObject);

    if (parent != null) {
        expandParent(viewer, parent, type);
    }
    if (nodeObject instanceof ProjectRepositoryNode || ((nodeObject instanceof RepositoryNode)
            && ((RepositoryNode) nodeObject).getContentType() == ERepositoryObjectType.REFERENCED_PROJECTS)) {
        viewer.expandToLevel(nodeObject, 3);
    } else {
        viewer.expandToLevel(nodeObject, 1);
    }
}

From source file:org.vast.stt.gui.widgets.catalog.SceneTreeDropListener.java

License:Mozilla Public License

protected boolean dropItem(DataItem item) {
    if (item.getName() == null) {
        System.err.println("DataItem name is null in SceneTreeDropListner.  Should not have gotten here.");
        return false;
    }/*from  w  w  w  .j a  va2 s .  c om*/

    DataEntry dropTarget = (DataEntry) this.getCurrentTarget();
    TreeViewer vwr = (TreeViewer) this.getViewer();
    //  If target is a folder, drop into folder and open it
    if (dropTarget instanceof DataFolder) {
        ((DataFolder) dropTarget).add(item);
        item.dispatchEvent(new STTEvent(item, EventType.SCENE_TREE_CHANGED), false);
        //         vwr.reveal(item);  //  vwr.reveal() does not work as advertised in Eclipse 3.1!!!
        vwr.expandToLevel(dropTarget, 2); //  ensure dropped item is visible
        vwr.refresh();
        return true;
    }
    DataTree tree = null;
    //  If target is scene (Un-expanded tree), drop at root of Tree and expand
    if (dropTarget instanceof WorldScene) {
        tree = ((WorldScene) dropTarget).getDataTree();
        tree.add(0, item);
        item.dispatchEvent(new STTEvent(item, EventType.SCENE_TREE_CHANGED), false);
        vwr.expandToLevel(2); //  ensure dropped item is visible
        vwr.refresh();
        return true;
    }

    //  If we get here, WorldScene MUST be expandedElements[0];
    Object[] elems = vwr.getExpandedElements();
    WorldScene scene = (WorldScene) elems[0];
    tree = scene.getDataTree();

    //  Iterate the DataTree to find the target item,
    //  and insert it there, then refresh
    DataEntry entryTmp = null;
    Iterator<DataEntry> it = tree.iterator();
    boolean done = false;
    int index = 0;
    while (it.hasNext() && !done) {
        entryTmp = it.next();
        if (entryTmp instanceof DataFolder) {
            done = recurseFolder((DataFolder) entryTmp, (DataItem) dropTarget, item);
        } else {
            if (entryTmp == dropTarget) {
                tree.add(index, item);
                break;
            }
        }
        index++;
    }
    item.dispatchEvent(new STTEvent(item, EventType.SCENE_TREE_CHANGED), false);
    vwr.refresh();
    return true;
}

From source file:org.xmind.ui.internal.wizards.ChooseLocationInFileSystemWizardPage.java

License:Open Source License

private void createFolderViewer(Composite parent) {
    Label label = new Label(parent, SWT.NONE);
    label.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    label.setText(WizardMessages.NewPage_SelectParent_label);

    final TreeViewer folderViewer = new TreeViewer(parent, SWT.BORDER | SWT.SINGLE);
    folderViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    folderViewer.setContentProvider(new FolderContentProvider());
    folderViewer.setLabelProvider(new FolderLabelProvider());
    folderViewer.setComparator(new ViewerComparator());
    folderViewer.setUseHashlookup(true);
    folderViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            folderSelectionChanged((File) selection.getFirstElement());
        }//from   w  w w  .  j  a  v a  2 s  . c om
    });
    folderViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            ISelection selection = event.getSelection();
            if (selection instanceof IStructuredSelection) {
                Object item = ((IStructuredSelection) selection).getFirstElement();
                if (item == null) {
                    return;
                }
                if (folderViewer.getExpandedState(item)) {
                    folderViewer.collapseToLevel(item, 1);
                } else {
                    folderViewer.expandToLevel(item, 1);
                }
            }
        }
    });
    addInputControl(folderViewer.getTree());

    parent.getDisplay().asyncExec(new Runnable() {
        public void run() {
            if (folderViewer.getControl().isDisposed())
                return;

            folderViewer.setInput(File.listRoots());
            File homeDir = new File(System.getProperty("user.home")); //$NON-NLS-1$
            folderViewer.setSelection(new StructuredSelection(homeDir), true);
            folderViewer.setExpandedState(homeDir, true);
            updateButtonStates();
        }
    });

}

From source file:org.xmind.ui.internal.wizards.ChooseLocationInWorkspaceWizardPage.java

License:Open Source License

private void createContainerViewer(Composite parent) {
    Label label = new Label(parent, SWT.NONE);
    label.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    label.setText(WizardMessages.NewPage_SelectParent_label);

    final TreeViewer containerViewer = new TreeViewer(parent, SWT.BORDER | SWT.SINGLE);
    containerViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    containerViewer.setContentProvider(new ContainerContentProvider());
    containerViewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
    containerViewer.setComparator(new ViewerComparator());
    containerViewer.setUseHashlookup(true);
    containerViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            containerSelectionChanged((IContainer) selection.getFirstElement()); // allow null
        }// ww  w.j a v  a 2  s  .co  m
    });
    containerViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            ISelection selection = event.getSelection();
            if (selection instanceof IStructuredSelection) {
                Object item = ((IStructuredSelection) selection).getFirstElement();
                if (item == null) {
                    return;
                }
                if (containerViewer.getExpandedState(item)) {
                    containerViewer.collapseToLevel(item, 1);
                } else {
                    containerViewer.expandToLevel(item, 1);
                }
            }
        }
    });

    addInputControl(containerViewer.getTree());

    parent.getDisplay().asyncExec(new Runnable() {
        public void run() {
            containerViewer.setInput(ResourcesPlugin.getWorkspace());
            if (selectedContainer != null) {
                containerViewer.setSelection(new StructuredSelection(selectedContainer), true);
            }
            updateButtonStates();
        }
    });
}

From source file:org.xtuml.bp.ui.explorer.test.ProjectManipulationTests.java

License:Apache 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 w  w  .ja  v  a2  s  .  c o  m
 * @throws CoreException 
 */
private void dotestDomainDeleteFromModelExplorer() throws CoreException, IOException {
    ExplorerUtil.getTreeViewer().refresh();
    BaseTest.dispatchEvents(0);

    // select the package 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(1);
    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:phasereditor.canvas.ui.editors.operations.ExpandOutlineOperation.java

License:Open Source License

@Override
public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
    ObjectCanvas canvas = getCanvas(info);
    TreeViewer viewer = canvas.getOutline();
    for (String id : _expandIds) {
        BaseObjectControl<?> control = findControl(info, id);
        Node node = control.getNode();
        viewer.expandToLevel(node, 1);
    }//from w w  w .  j  a  v  a2s .  com
    return Status.OK_STATUS;
}

From source file:zigen.plugin.db.ui.views.TreeDoubleClickHandler.java

License:Open Source License

private void changeExpandedState(TreeViewer viewer, TreeNode element) {

    if (!viewer.getExpandedState(element)) {

        viewer.expandToLevel(element, 1);

        if (element instanceof Schema) {

            Schema schema = (Schema) element;

            if (!schema.isExpanded()) {
                schema.setExpanded(true);
                TableTypeSearchJob job = new TableTypeSearchJob(viewer, schema);
                job.setPriority(TableTypeSearchJob.SHORT);
                job.setUser(showDialog);
                job.schedule();//from  ww w  .  j  a va2  s. c  o m
            }

        } else if (element instanceof Folder) {
            Folder folder = (Folder) element;
            if (!folder.isExpanded()) {
                folder.setExpanded(true);
                Schema schema = folder.getSchema();

                if (schema != null) {
                    switch (DBType.getType(schema.getDbConfig())) {
                    case DBType.DB_TYPE_ORACLE:
                        if (schema != null) {
                            if ("TABLE".equals(folder.getName())) {
                                return;
                            } else if ("SEQUENCE".equals(folder.getName())) { //$NON-NLS-1$
                                OracleSequeceSearchJob job = new OracleSequeceSearchJob(viewer, folder);
                                job.setPriority(OracleSequeceSearchJob.SHORT);
                                job.setUser(showDialog);
                                job.schedule();

                                return;

                            } else if ("VIEW".equals(folder.getName())) { //$NON-NLS-1$

                                System.out.println("changeExpandedState!!");
                                RefreshFolderJob job = new RefreshFolderJob(viewer, folder);
                                job.setPriority(OracleSequeceSearchJob.SHORT);
                                job.setUser(showDialog);
                                job.schedule();
                                return;

                            } else {
                                String[] sTypes = schema.getSourceType();
                                if (sTypes != null) {
                                    for (int i = 0; i < sTypes.length; i++) {
                                        String stype = sTypes[i];
                                        if (stype.equals(folder.getName())) {
                                            OracleSourceSearchJob job = new OracleSourceSearchJob(viewer,
                                                    folder);
                                            job.setPriority(OracleSourceSearchJob.SHORT);
                                            job.setUser(showDialog);
                                            job.schedule();
                                            return;
                                        }
                                    }
                                }
                            }
                        }
                    default:
                        RefreshFolderJob job = new RefreshFolderJob(viewer, folder);
                        job.setPriority(RefreshFolderJob.SHORT);
                        job.setUser(showDialog);
                        job.schedule();
                        break;
                    }
                }
            }

        }

    } else {
        viewer.collapseToLevel(element, 1);
    }

}