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

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

Introduction

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

Prototype

public boolean getExpandedState(Object elementOrTreePath) 

Source Link

Document

Returns whether the node corresponding to the given element or tree path is expanded or collapsed.

Usage

From source file:org.wso2.developerstudio.appfactory.ui.views.AppfactoryApplicationListView.java

License:Open Source License

public void createPartControl(Composite parent) {
    //  this.parent = parent;
    contentProvider = new AppListContentProvider(appLists);
    labelProvider = new AppListLabelProvider();
    createToolbar();//from  w w w  .j  av a2s  . com
    model = new AppListModel();
    viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    viewer.setContentProvider(contentProvider);
    viewer.setLabelProvider(labelProvider);
    viewer.setInput(model);
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            try {
                final IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
                Object selectedNode = selection.getFirstElement();
                ApplicationInfo appInfo = null;

                if (selectedNode instanceof ApplicationInfo) {
                    appInfo = (ApplicationInfo) selection.getFirstElement();
                } else if (selectedNode instanceof AppVersionGroup) {
                    appInfo = ((AppVersionGroup) selection.getFirstElement()).getApplication();
                } else if (selectedNode instanceof AppVersionInfo) {
                    appInfo = ((AppVersionInfo) selection.getFirstElement()).getVersionGroup().getApplication();
                }
                appDetailView.clear();
                if (!appInfo.getappVersionList().isEmpty()) {
                    appDetailView.updateView(appInfo);
                }
            } catch (Throwable e) {
                /*safe to ignore*/
            }
        }

    });
    viewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(DoubleClickEvent event) {
            try {
                TreeViewer viewer = (TreeViewer) event.getViewer();
                IStructuredSelection thisSelection = (IStructuredSelection) event.getSelection();
                Object selectedNode = thisSelection.getFirstElement();
                if (selectedNode instanceof AppVersionInfo) {
                    viewer.setExpandedState(selectedNode, !viewer.getExpandedState(selectedNode));
                } else if (selectedNode instanceof AppVersionGroup) {
                    viewer.setExpandedState(selectedNode, !viewer.getExpandedState(selectedNode));
                } else if (selectedNode instanceof ApplicationInfo) {
                    ApplicationInfo appInfo = (ApplicationInfo) selectedNode;
                    if (appInfo.isLoaded()) {
                        viewer.setExpandedState(selectedNode, !viewer.getExpandedState(selectedNode));
                    } else {
                        getAppVersions(appInfo);
                        getDataSources(appInfo);
                    }
                }
            } catch (Throwable e) {
                /*safe to ignore*/
            }
        }
    });

    menuMgr = new MenuManager();
    Menu menu = menuMgr.createContextMenu(viewer.getControl());
    menu.setVisible(true);
    menuMgr.addMenuListener(new IMenuListener() {
        @Override
        public void menuAboutToShow(final IMenuManager manager) {
            try {
                if (viewer.getSelection().isEmpty()) {
                    return;
                }

                if (viewer.getSelection() instanceof IStructuredSelection) {
                    IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
                    if (selection.getFirstElement() instanceof AppVersionInfo) {
                        final AppVersionInfo appVersionInfo = (AppVersionInfo) selection.getFirstElement();

                        manager.add(checkOutAndImportAction(appVersionInfo));
                        manager.add(importAction(appVersionInfo));
                        manager.add(checkOutAction(appVersionInfo));
                        manager.add(buildAction(appVersionInfo));
                        if (!appVersionInfo.isForkedVersion()) {
                            manager.add(repoDeployAction(appVersionInfo));
                        }
                        manager.add(buildInfoAction(appVersionInfo));

                    } else if (selection.getFirstElement() instanceof ApplicationInfo) {
                        ApplicationInfo appInfo = (ApplicationInfo) selection.getFirstElement();
                        String title = ""; //$NON-NLS-1$

                        if (appInfo.getappVersionList().isEmpty()) {
                            title = "Open  "; //$NON-NLS-1$
                        } else {
                            title = "Update"; //$NON-NLS-1$
                        }

                        manager.add(appOpenAction(appInfo, title));
                        manager.add(mainRepoSettingsAction(appInfo));
                        manager.add(forkedRepoSettingsAction(appInfo));
                    } else if (selection.getFirstElement() instanceof AppVersionGroup) {

                        //   AppVersionGroup group = (AppVersionGroup) selection.getFirstElement();
                        // TODO        
                    }
                }
            } catch (Throwable e) {
                /*safe to ignore*/
            }
        }

    });
    menuMgr.setRemoveAllWhenShown(true);
    viewer.getControl().setMenu(menu);
    updateApplicationView();
}

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  ww .j  a  v a2 s .  c o m*/
    });
    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
        }//from   www  .  j a va2s  .  c  o  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.zamia.plugin.views.navigator.OpenFileAction.java

License:Open Source License

public void run() {
    fillSelections();//  w  ww .  ja v a2 s .  com

    if (fFileSelected.size() > 0) {

        IFile file = fFileSelected.get(0);

        try {
            IDE.openEditor(fPage, file);
        } catch (Exception e) {
            el.logException(e);
        }

    } else if (fIGWrappersSelected.size() > 0) {

        IGModuleWrapper wrapper = fIGWrappersSelected.iterator().next();

        ZamiaProject zprj = wrapper.getZPrj();

        IProject prj = ZamiaProjectMap.getProject(zprj);

        SourceLocation location = wrapper.getLocation();

        if (location == null) {
            logger.error("OpenFileAction: wrapper doesn't give me a location: %s", wrapper);
            return;
        }

        IEditorPart editPart = ZamiaPlugin.showSource(fPage, prj, location, 0);

        if (editPart instanceof ZamiaEditor) {

            ZamiaEditor editor = (ZamiaEditor) editPart;

            ToplevelPath path = wrapper.getEditorPath();

            if (path != null) {
                //editor.setPath(wrapper.isBlueIG() ? path : path.getParent());
                editor.setPath(path);
            }

        }

    } else if (fRTLWrappersSelected.size() > 0) {

        RTLModuleWrapper wrapper = fRTLWrappersSelected.iterator().next();

        DMUID dmuid = wrapper.getDMUID();

        ZamiaProject zprj = wrapper.getZPrj();

        RTLManager manager = zprj.getRTLM();

        Toplevel tl = new Toplevel(dmuid, null);

        RTLModule rtlm = manager.findModule(tl);
        ;

        RTLView rtlv = ZamiaPlugin.showRTLView();

        rtlv.setRTLModule(rtlm);

    } else if (fContainersSelected.size() > 0) {
        if (this.fProvider instanceof TreeViewer) {
            TreeViewer viewer = (TreeViewer) this.fProvider;
            for (Object container : fContainersSelected) {
                if (viewer.isExpandable(container)) {
                    viewer.setExpandedState(container, !viewer.getExpandedState(container));
                }
            }
        }
    }
}

From source file:rabbit.ui.internal.MetricsPanel.java

License:Apache License

/**
 * Creates the content.// w ww  . java 2  s. c o m
 * 
 * @param parent The parent composite.
 */
public void createContents(Composite parent) {
    int style = SWT.SINGLE | SWT.V_SCROLL | SWT.H_SCROLL;
    final TreeViewer viewer = new TreeViewer(parent, style);
    ColumnViewerToolTipSupport.enableFor(viewer, ToolTip.NO_RECREATE);
    viewer.setContentProvider(new PageDescriptorContentProvider());
    viewer.setComparator(new ViewerComparator());
    viewer.setLabelProvider(new PageDescriptorLabelProvider());

    viewer.getTree().addListener(SWT.MeasureItem, new Listener() {
        @Override
        public void handleEvent(Event event) {
            event.height = (event.height < 20) ? 20 : event.height;
        }
    });

    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent e) {
            IStructuredSelection select = (IStructuredSelection) e.getSelection();
            Object o = select.getFirstElement();
            if (((ITreeContentProvider) viewer.getContentProvider()).hasChildren(o)) {
                viewer.setExpandedState(o, !viewer.getExpandedState(o));
            }
        }
    });

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            ISelection selection = event.getSelection();
            if (selection instanceof IStructuredSelection) {
                Object element = ((IStructuredSelection) selection).getFirstElement();
                if (element != null && element instanceof PageDescriptor) {
                    view.display(((PageDescriptor) element).getPage());
                }
            }
        }
    });

    viewer.setInput(RabbitUI.getDefault().loadRootPages());
    viewer.expandAll();
}

From source file:rabbit.ui.internal.viewers.Viewers.java

License:Apache License

/**
 * Configures the given viewer to expand/collapse an tree branch when double
 * clicked on the item./*from  w  ww  .j a v  a  2 s.co  m*/
 */
private static void expandOnDoubleClick(final TreeViewer viewer) {
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent e) {
            if (!(e.getSelection() instanceof ITreeSelection)) {
                return;
            }

            ITreeSelection selection = (ITreeSelection) e.getSelection();
            TreePath[] paths = selection.getPaths();
            if (paths != null && paths.length > 0) {
                viewer.setExpandedState(paths[0], !viewer.getExpandedState(paths[0]));
            }
        }
    });
}

From source file:scouter.client.views.WorkspaceExplorer.java

License:Apache License

public void createPartControl(Composite parent) {
    viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    viewer.setContentProvider(new WorkspaceContentProvider());
    viewer.setLabelProvider(new WorkspaceLabelProvider());
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            Object element = selection.getFirstElement();
            if (element != null && element instanceof File && ((File) element).isFile()) {
                File selectedFile = (File) element;
                openFile(selectedFile);/*  w  w  w . ja v  a  2 s .co m*/
            } else if (element != null && element instanceof File && ((File) element).isDirectory()) {
                TreeViewer viewer = (TreeViewer) event.getViewer();
                IStructuredSelection thisSelection = (IStructuredSelection) event.getSelection();
                Object selectedNode = thisSelection.getFirstElement();
                viewer.setExpandedState(selectedNode, !viewer.getExpandedState(selectedNode));
            }
        }
    });
    viewer.getTree().addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent e) {
            if (e.stateMask == SWT.CTRL) {
                if (e.keyCode == 'c' || e.keyCode == 'C') {
                    new CopySelectedFilesAction().run();
                }
            }
        }
    });
    viewer.setInput(sortDirectoriesAndFiles(workingDir.listFiles(new ContentFilter())));
    fillTreeViewerCoolbar();
    createContextMenu(viewer, new IMenuListener() {
        public void menuAboutToShow(IMenuManager manager) {
            fillTreeViewerContextMenu(manager);
        }
    });
}

From source file:uk.co.dancowan.robots.ui.views.filebrowser.FileBrowserView.java

License:Open Source License

/**
 * @see uk.co.dancowan.robots.ui.views.ScrolledView#getPartControl(org.eclipse.swt.widgets.Composite)
 *//*from   w w  w. j av  a2 s  .co  m*/
@Override
public Control getPartControl(Composite parent) {
    final Composite part = new Composite(parent, SWT.NONE);
    part.setLayout(new FillLayout());

    final TreeViewer viewer = new TreeViewer(part, SWT.FULL_SELECTION);
    viewer.setContentProvider(new FileSystemContentProvider());
    viewer.setLabelProvider(new FileSystemLabelProvider());
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            Object obj = selection.getFirstElement();
            if (obj instanceof File) {
                File file = (File) obj;
                if (!file.isDirectory()) {
                    FileUtils.openFile(file);
                } else {
                    viewer.setExpandedState(obj, !viewer.getExpandedState(obj));
                }
            }
        }
    });
    IPreferenceStore store = Activator.getDefault().getPreferenceStore();
    String root = store.getString(PreferenceConstants.FILE_BROWSER_ROOT);
    viewer.setInput(new File(root));

    return part;
}

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   w  w  w .  ja va2 s.  co 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);
    }

}