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

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

Introduction

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

Prototype

@Override
    public Control getControl() 

Source Link

Usage

From source file:org.seasar.uruma.rcp.ui.GenericViewPart.java

License:Apache License

protected void registerContextMenu() {
    List<WidgetHandle> handles = partContext.getWidgetHandles(TreeViewer.class);
    for (WidgetHandle handle : handles) {
        UIComponent uiComponent = handle.getUiComponent();
        if (uiComponent instanceof UIHasMenuCompositeComponent) {
            TreeViewer treeViewer = handle.<TreeViewer>getCastWidget();

            MenuManager menuMgr = new MenuManager();
            GroupMarker groupMarker = new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS);
            menuMgr.add(groupMarker);/*w w  w. ja va2s  . c o  m*/
            getSite().registerContextMenu(menuMgr, treeViewer);

            Control control = treeViewer.getControl();
            Menu menu = menuMgr.createContextMenu(control);
            control.setMenu(menu);
        }
    }
}

From source file:org.springframework.tooling.ls.eclipse.gotosymbol.dialogs.GotoSymbolDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite dialogArea = new Composite(parent, SWT.NONE);
    dialogArea.addDisposeListener(de -> {
        for (Disposable d : disposables) {
            d.dispose();// ww  w . j  av  a2s  . c o  m
        }
    });
    if (parent.getLayout() instanceof GridLayout) {
        dialogArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    }

    GridLayout layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    dialogArea.setLayout(layout);

    Text pattern = new Text(dialogArea, SWT.SINGLE | SWT.BORDER | SWT.SEARCH | SWT.ICON_CANCEL);
    //      pattern.getAccessible().addAccessibleListener(new AccessibleAdapter() {
    //         public void getName(AccessibleEvent e) {
    //            e.result = LegacyActionTools.removeMnemonics(headerLabel)
    //                  .getText());
    //         }
    //      });
    pattern.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    pattern.setMessage(model.getSearchBoxHintMessage());

    SwtConnect.connect(pattern, model.getSearchBox());

    TreeViewer viewer = new TreeViewer(dialogArea, SWT.SINGLE);
    ColumnViewerToolTipSupport.enableFor(viewer);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(viewer.getControl());
    viewer.setContentProvider(new SymbolsContentProvider());
    viewer.setLabelProvider(new GotoSymbolsLabelProvider(viewer.getTree().getFont()));
    viewer.setUseHashlookup(true);
    disposables.add(model.getSymbols().onChange(UIValueListener.from((e, v) -> {
        if (!viewer.getControl().isDisposed())
            viewer.refresh();
    })));
    //TODO: somehow show selection in local file, (but not in other file ?)
    //      viewer.addSelectionChangedListener(event -> {
    //         IStructuredSelection selection = (IStructuredSelection) event.getSelection();
    //         if (selection.isEmpty()) {
    //            return;
    //         }
    //         SymbolInformation symbolInformation = (SymbolInformation) selection.getFirstElement();
    //         Location location = symbolInformation.getLocation();
    //
    //         IResource targetResource = LSPEclipseUtils.findResourceFor(location.getUri());
    //         if (targetResource == null) {
    //            return;
    //         }
    //         IDocument targetDocument = FileBuffers.getTextFileBufferManager()
    //                 .getTextFileBuffer(targetResource.getFullPath(), LocationKind.IFILE).getDocument();
    //         if (targetDocument != null) {
    //            try {
    //               int offset = LSPEclipseUtils.toOffset(location.getRange().getStart(), targetDocument);
    //               int endOffset = LSPEclipseUtils.toOffset(location.getRange().getEnd(), targetDocument);
    //               fTextEditor.selectAndReveal(offset, endOffset - offset);
    //            } catch (BadLocationException e) {
    //               LanguageServerPlugin.logError(e);
    //            }
    //         }
    //      });
    installWidgetListeners(pattern, viewer);

    StyledText statusLabel = new StyledText(dialogArea, SWT.NONE);
    // Allow for some extra space for highlight fonts
    statusLabel.setLeftMargin(3);
    statusLabel.setBottomMargin(2);
    statusLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    Stylers stylers = new Stylers(dialogArea.getFont());
    disposables.add(stylers);

    SwtConnect.connectHighlighted(stylers.bold(), statusLabel, model.getStatus(), Duration.ofMillis(500));

    viewer.setInput(model);
    return dialogArea;
}

From source file:org.springsource.ide.eclipse.commons.livexp.ui.util.SwtConnect.java

License:Open Source License

/**
 * Connect a filterbox model to a treeviewer. This assumes that the filter is text-based. The filter is applied to the labels of the elements in the tree.
 * <p>/* w  w w.  j  ava  2  s .c  o m*/
 * For the viewer filter to work correctly the ITreeContentProvider must provide a proper implementation of the 'getParent' method. If getParent only
 * returns null the viewer filter will not be able to check whether an element should be shown when a parent element is selected by the search filter.
 * <p>
 * Note: you can use {@link TreeElementWrappingContentProvider} in order to ensure that ITreeContentProvider keeps track of parent nodes properly.
 */
public static void connectTextBasedFilter(TreeViewer viewer, LiveExpression<Filter<String>> searchBoxModel,
        LabelProvider labels, ITreeContentProvider treeContent) {
    TreeAwareViewerFilter viewerFilter = new TreeAwareViewerFilter(viewer, Filters.acceptAll(), labels,
            treeContent);
    Disposable disposable = searchBoxModel.onChange(UIValueListener.from((e, filter) -> {
        viewerFilter.setFilter(searchBoxModel.getValue());
        viewer.refresh(true);
    }));
    viewer.setFilters(viewerFilter); //TODO: what if there are existing filters?
    viewer.getControl().addDisposeListener(de -> {
        disposable.dispose();
    });
    Stylers stylers = new Stylers(viewer.getTree().getFont());
    viewer.getControl().addDisposeListener(de -> {
        disposable.dispose();
        stylers.dispose();
    });
    ILabelProvider baseLabels = (ILabelProvider) viewer.getLabelProvider();
    Assert.isNotNull(baseLabels); //Can't add bolding support without this! Ensure label provider is set before calling this method

    viewer.setLabelProvider(boldMatchedElements(stylers, baseLabels, Filters.delegatingTo(searchBoxModel)));
}

From source file:org.talend.dataprofiler.core.ui.dialog.message.TreeMessageInfoDialog.java

License:Open Source License

@Override
protected Control createCustomArea(Composite parent) {
    // MOD qiongli 2011-2-15,feature 17588.
    Composite mainComposite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.marginHeight = 0;//from w  w  w .  j av  a  2s. c om
    layout.marginWidth = 0;
    layout.numColumns = 1;
    mainComposite.setLayout(layout);
    if (isNeedCheckbox()) {
        Composite checkComp = new Composite(mainComposite, SWT.NONE);
        GridLayout layout1 = new GridLayout();
        layout.marginHeight = 0;
        layout.marginWidth = 0;
        layout.numColumns = 1;
        checkComp.setLayout(layout1);
        checkButton = new Button(checkComp, SWT.CHECK);
        checkButton.setText(DefaultMessagesImpl.getString("DQDeleteAction.deleteAllDependency"));//$NON-NLS-1$
        checkButton.addSelectionListener(new SelectionAdapter() {

            @Override
            public void widgetSelected(SelectionEvent e) {
                isChecked = checkButton.getSelection();
            }

        });
    }
    TreeViewer viewer = new TreeViewer(mainComposite, SWT.BORDER);
    GridData gd = new GridData();
    gd.heightHint = 150;
    gd.widthHint = 450;
    viewer.getTree().setLayoutData(gd);
    viewer.setContentProvider(contentProvider);
    viewer.setLabelProvider(getLabelProvider());
    viewer.setInput(input);
    applyDialogFont(viewer.getControl());
    viewer.expandAll();
    return viewer.getControl();
}

From source file:org.talend.designer.runtime.visualization.internal.ui.properties.memory.SWTResourcesPage.java

License:Open Source License

/**
 * Refreshes the appearance.//from   w w w. ja  v  a2  s.c  o m
 * 
 * @param force <tt>true</tt> to force refresh
 */
protected void refresh(final boolean force) {
    final boolean isVisible = isVisible();

    new RefreshJob(NLS.bind(Messages.refreshMemorySectionJobLabel, section.getJvm().getPid()), toString()) {

        @Override
        protected void refreshModel(IProgressMonitor monitor) {
            try {
                IActiveJvm jvm = section.getJvm();
                if (isVisible && jvm != null && jvm.isConnected() && (!section.isRefreshSuspended() || force)
                        && jvm.getSWTResourceMonitor().isSupported()) {
                    jvm.getSWTResourceMonitor().refreshResourcesCache();
                }
            } catch (JvmCoreException e) {
                Activator.log(Messages.refreshHeapDataFailedMsg, e);
            }
        }

        @Override
        protected void refreshUI() {
            IActiveJvm jvm = section.getJvm();
            boolean isConnected = jvm != null && jvm.isConnected();

            if (!isDisposed()) {
                refreshBackground();
            }
            refreshAction.setEnabled(isConnected);
            clearSWTResourceAction.setEnabled(isConnected);
            if (!force && section.isRefreshSuspended() || !isVisible) {
                return;
            }

            TreeViewer resourceViewer = resourceFilteredTree.getViewer();
            if (!resourceViewer.getControl().isDisposed()) {
                resourceViewer.refresh();
                if (jvm != null) {
                    resourceFilteredTree.updateStatusLine(jvm.getSWTResourceMonitor().getResources());
                }

                // select the first item if no item is selected
                if (resourceViewer.getSelection().isEmpty()) {
                    TreeItem[] items = resourceViewer.getTree().getItems();
                    if (items != null && items.length > 0) {
                        resourceViewer.getTree().select(items[0]);
                        stackTraceViewer.setInput(resourceViewer.getSelection());
                    } else {
                        stackTraceViewer.setInput(null);
                    }
                }
            }
            if (!stackTraceViewer.getControl().isDisposed()) {
                stackTraceViewer.refresh();
            }
        }
    }.schedule();
}

From source file:org.talend.metadata.managment.ui.wizard.metadata.ShowAddedContextdialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite composite = (Composite) super.createDialogArea(parent);
    composite.setFont(parent.getFont());
    createMessageArea(composite);/*from www  . j  a  v a 2 s  . c o  m*/

    //
    Group inner = new Group(composite, SWT.NONE);
    inner.setText(Messages.getString("ShowAddedContextdialog.Variables")); //$NON-NLS-1$
    inner.setFont(composite.getFont());
    inner.setLayout(new GridLayout());
    GridData gridData = new GridData(GridData.FILL_BOTH);
    gridData.minimumHeight = 150;
    gridData.minimumWidth = 200;
    inner.setLayoutData(gridData);

    TreeViewer treeViewer = new TreeViewer(inner);
    treeViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
    Tree tree = treeViewer.getTree();
    tree.setHeaderVisible(false);
    tree.setLinesVisible(false);

    treeViewer.setContentProvider(new AddedContextProvider());
    treeViewer.setLabelProvider(new AddedContextProvider());
    treeViewer.setInput(addedVarBeans);

    treeViewer.expandAll();

    return composite;
}

From source file:org.talend.repository.viewer.filter.PerspectiveFilterHelper.java

License:Open Source License

/**
 * Only activate the view content providers with the extension ID belonging to extensionIdsToActivate array.
 * /*from  www .  j  a  v  a 2  s .co  m*/
 * 
 * @param extensionIdsToActivate
 * @param restoring, used because setting new selection cause renentrance and may create 2 action types when
 * restoring state
 */
protected void refreshNavigatorContents(String[] extensionIdsToActivate, boolean restoring) {
    boolean updateExtensionActivation = false;
    String[] contentExtensionsToActivate = Arrays.copyOf(extensionIdsToActivate, extensionIdsToActivate.length);
    // we sort the array in order to use Array.binarySearch();
    Arrays.sort(contentExtensionsToActivate);

    IStructuredSelection ssel = null;
    TreeViewer commonViewer = getTreeViewer();
    INavigatorContentService contentService = getNavigatorContentService();
    try {

        commonViewer.getControl().setRedraw(false);
        // store the selection
        ISelection selection = commonViewer.getSelection();
        if (selection instanceof IStructuredSelection) {
            ssel = (IStructuredSelection) selection;
        }

        INavigatorContentDescriptor[] visibleContentDescriptors = contentService.getVisibleExtensions();

        int indexofContentExtensionIdToBeActivated;
        /* is there a delta? */
        for (int i = 0; i < visibleContentDescriptors.length && !updateExtensionActivation; i++) {
            indexofContentExtensionIdToBeActivated = Arrays.binarySearch(contentExtensionsToActivate,
                    visibleContentDescriptors[i].getId());
            /*
             * Either we have a filter that should be active that isn't XOR a filter that shouldn't be active that
             * is currently
             */
            if (indexofContentExtensionIdToBeActivated >= 0
                    ^ contentService.isActive(visibleContentDescriptors[i].getId())) {
                updateExtensionActivation = true;
            }
        }

        /* If so, update */
        if (updateExtensionActivation) {

            contentService.getActivationService().activateExtensions(contentExtensionsToActivate, true);
            contentService.getActivationService().persistExtensionActivations();
            // try to keep expanded elements state
            Object[] expandedElements = commonViewer.getExpandedElements();

            contentService.update();
            commonViewer.refresh();
            if (!restoring) {
                Object[] originalObjects = ssel != null ? ssel.toArray() : new Object[0];

                commonViewer.setExpandedElements(expandedElements);
                // restore the selection.
                IStructuredSelection newSelection = new StructuredSelection(originalObjects);
                commonViewer.setSelection(newSelection, true);
            }
        }

    } finally {
        commonViewer.getControl().setRedraw(true);
    }

}

From source file:org.testeditor.ui.parts.testExplorer.TestExplorer.java

License:Open Source License

/**
 * Creates the tree-structure to manage testsuite and testcases.
 * /*ww w. jav  a  2s. co  m*/
 * @param parent
 *            UI-Parent
 * @param service
 *            service object used to register the popup-menu
 */
@SuppressWarnings("restriction")
@PostConstruct
public void createUi(Composite parent, EMenuService service) {
    testStructureTree = ContextInjectionFactory.make(TestStructureTree.class, context);
    testStructureTree.createUI(parent, testProjectService);
    // testStructureTree.showOnlyTestKomponentsSuite();
    TreeViewer treeViewer = testStructureTree.getTreeViewer();
    List<TestProject> projects;
    projects = testProjectService.getProjects();
    if (projects.size() > 0) {
        setSelectionOn(projects.get(0));
    }
    reloadSvnStatusForProjects();
    if (service != null) {
        service.registerContextMenu(treeViewer.getControl(), "org.testeditor.ui.popupmenu");
    }
    // Make the tree viewer accessible in the popup-menu handlers and
    // content-provider
    context.set(TestEditorConstants.TEST_EXPLORER_VIEW, this);
    treeViewer.addOpenListener(new IOpenListener() {
        @Override
        public void open(OpenEvent arg0) {
            OpenTestStructureHandler handler = ContextInjectionFactory.make(OpenTestStructureHandler.class,
                    context);
            handler.execute(context);
        }
    });
}

From source file:org.tigris.subversion.subclipse.ui.wizards.SVNWizardPage.java

License:Open Source License

protected TreeViewer createResourceSelectionTree(Composite composite, int types, int span) {
    TreeViewer tree = new TreeViewer(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    tree.setUseHashlookup(true);//from  w ww.  ja  va  2  s.  com
    tree.setContentProvider(getResourceProvider(types));
    tree.setLabelProvider(new DecoratingLabelProvider(new WorkbenchLabelProvider(),
            SVNUIPlugin.getPlugin().getWorkbench().getDecoratorManager().getLabelDecorator()));
    tree.setSorter(new ResourceSorter(ResourceSorter.NAME));

    GridData data = new GridData(GridData.FILL_BOTH | GridData.GRAB_VERTICAL);
    data.heightHint = LIST_HEIGHT_HINT;
    data.horizontalSpan = span;
    tree.getControl().setLayoutData(data);
    return tree;
}

From source file:org.vclipse.vcml.ui.outline.VCMLOutlinePage.java

License:Open Source License

private void createMenu(final TreeViewer treeViewer) {
    final MenuManager menuManager = new MenuManager(POPUP_MENU_ID);
    menuManager.setRemoveAllWhenShown(true);
    menuManager.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(final IMenuManager manager) {
        }//w ww .j  ava 2  s .c  om
    });
    menu = menuManager.createContextMenu(treeViewer.getControl());
    treeViewer.getControl().setMenu(menu);
    getSite().registerContextMenu(POPUP_MENU_ID, menuManager, treeViewer);
}