类org.eclipse.jface.viewers.TreeViewer源码实例Demo

下面列出了怎么用org.eclipse.jface.viewers.TreeViewer的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: birt   文件: LeveAttributelNodeProvider.java
/**
 * Creates the context menu for the given object. Gets the action from the
 * actionRegistry and adds the action to the menu.
 * 
 * @param menu
 *            the menu
 * @param object
 *            the object
 */
public void createContextMenu( TreeViewer sourceViewer, Object object,
		IMenuManager menu )
{
	super.createContextMenu( sourceViewer, object, menu );

	menu.insertBefore( IWorkbenchActionConstants.MB_ADDITIONS + "-refresh", //$NON-NLS-1$
			new ShowPropertyAction( object ) );

	menu.insertAfter( IWorkbenchActionConstants.MB_ADDITIONS + "-refresh", new Separator( ) ); //$NON-NLS-1$
	IAction action = new RefreshAction( sourceViewer );
	if (action.isEnabled( ))
	{
		menu.insertAfter( IWorkbenchActionConstants.MB_ADDITIONS + "-refresh", action ); //$NON-NLS-1$
	}
}
 
源代码2 项目: ADT_Frontend   文件: FileStagingModeUtil.java
public static void unstageObjects(TreeViewer stagedTreeViewer, IStructuredSelection selection, IAbapGitStaging model,
		List<Object> expandedNodes) {
	IAbapGitObject abapObject;
	IAbapGitFile file;

	movedObjects.clear();
	for (Object object : selection.toList()) {
		abapObject = null;
		file = null;
		if (object instanceof IAbapGitObject) {
			abapObject = (IAbapGitObject) object;
			if (stagedTreeViewer.getExpandedState(abapObject)) {
				expandedNodes.add(abapObject);
			}
			unstageObject(model, abapObject);
		} else if (object instanceof IAbapGitFile) {
			abapObject = (IAbapGitObject) ((IAbapGitFile) object).eContainer();
			file = (IAbapGitFile) object;
			if (movedObjects.contains(abapObject)) {
				continue;
			}
			expandedNodes.add(abapObject);
			unstageFile(model, abapObject, file);
		}
	}
}
 
源代码3 项目: bonita-studio   文件: GroupsWizardPage.java
@Override
protected void configureViewer(final StructuredViewer viewer) {
    viewer.setLabelProvider(new LabelProvider() {

        @Override
        public String getText(final Object element) {
            final String displayName = ((org.bonitasoft.studio.actors.model.organization.Group) element).getDisplayName();
            if (displayName == null || displayName.isEmpty()) {
                return ((org.bonitasoft.studio.actors.model.organization.Group) element).getName();
            }
            return displayName;
        }
    });

    if (groupList != null && getViewer() != null) {
        getViewer().setInput(groupList);
        ((TreeViewer) getViewer()).expandAll();
    }
}
 
源代码4 项目: APICloud-Studio   文件: SVNWizardPage.java
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);
	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;
}
 
/**
 * Creates tree viewer to manage content
 * 
 * @param parent
 *            parent control
 */
private void createTreeViewer(Composite parent) {
	int style = SWT.H_SCROLL | SWT.V_SCROLL;
	// Create the tree
	Tree widget = new Tree(parent, style);
	// Configure the layout
	GridData data = new GridData(GridData.FILL_BOTH);
	data.heightHint = widget.getItemHeight() * 12;
	widget.setLayoutData(data);

	treeViewer = new TreeViewer(widget);
	namePatternFilter = new QuickOutlineNamePatternFilter();
	treeViewer.addFilter(namePatternFilter);
	treeContentProvider = getContentProvider();
	treeViewer.setContentProvider(treeContentProvider);
	treeLabelProvider = getLabelProvider();
	treeViewer.setLabelProvider(treeLabelProvider);
	treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
	treeViewer.setUseHashlookup(true);
	treeViewer.setInput(getInitialInput());
}
 
源代码6 项目: neoscada   文件: ItemListContentProvider.java
protected void performAdded ( final ListEntry[] entries )
{
    if ( this.viewer.getControl ().isDisposed () )
    {
        return;
    }

    if ( this.viewer instanceof TreeViewer )
    {
        ( (TreeViewer)this.viewer ).add ( this.data, entries );
    }
    else if ( this.viewer != null )
    {
        this.viewer.refresh ();
    }
}
 
源代码7 项目: neoscada   文件: ItemListContentProvider.java
public void performRemoved ( final ListEntry[] entries )
{
    if ( this.viewer.getControl ().isDisposed () )
    {
        return;
    }

    if ( this.viewer instanceof TreeViewer )
    {
        ( (TreeViewer)this.viewer ).remove ( entries );
    }
    else if ( this.viewer != null )
    {
        this.viewer.refresh ();
    }
}
 
源代码8 项目: neoscada   文件: ItemListContentProvider.java
public void performUpdated ( final ListEntry[] entries )
{
    if ( this.viewer.getControl ().isDisposed () )
    {
        return;
    }

    if ( this.viewer instanceof TreeViewer )
    {
        for ( final ListEntry entry : entries )
        {
            ( (TreeViewer)this.viewer ).refresh ( entry );
        }
        ( (TreeViewer)this.viewer ).update ( entries, null );
    }
    else if ( this.viewer != null )
    {
        this.viewer.refresh ();
    }
}
 
源代码9 项目: olca-app   文件: Trees.java
public static void addDropSupport(TreeViewer tree,
		Consumer<List<Descriptor>> handler) {
	Transfer transfer = ModelTransfer.getInstance();
	DropTarget dropTarget = new DropTarget(tree.getTree(), DND.DROP_COPY
			| DND.DROP_MOVE | DND.DROP_DEFAULT);
	dropTarget.setTransfer(new Transfer[] { transfer });
	dropTarget.addDropListener(new DropTargetAdapter() {
		@Override
		public void drop(DropTargetEvent event) {
			if (!transfer.isSupportedType(event.currentDataType))
				return;
			var list = ModelTransfer.getDescriptors(event.data);
			handler.accept(list);
		}
	});
}
 
源代码10 项目: bonita-studio   文件: BusinessObjectList.java
protected void createViewer(Composite parent, AbstractBdmFormPage formPage) {
    viewer = new TreeViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
    viewer.getTree().setLayoutData(GridDataFactory.fillDefaults().span(2, 1).grab(true, true).create());
    formPage.getToolkit().adapt(viewer.getTree());
    viewer.getTree().setData(SWTBotConstants.SWTBOT_WIDGET_ID_KEY, BUSINESS_OBJECT_LIST_VIEWER_ID);
    viewer.addFilter(createSearchFilter());
    viewer.addDoubleClickListener(e -> {
        viewer.setExpandedState(selectionObservable.getValue(),
                !viewer.getExpandedState(selectionObservable.getValue()));
    });

    ColumnViewerToolTipSupport.enableFor(viewer);
    TableLayout layout = new TableLayout();
    layout.addColumnData(new ColumnWeightData(1, true));
    viewer.getTree().setLayout(layout);
    viewer.setUseHashlookup(true);
    createBusinessObjectColumn(viewer, formPage);
    viewer.setContentProvider(new BusinessObjectTreeContentProvider());
    viewer.setComparator(new BusinessObjectViewerComparator());
    viewer.setInput(input);
    addDNDSupport(formPage);
    selectionObservable = ViewerProperties.singleSelection(Object.class).observe(viewer);
}
 
源代码11 项目: birt   文件: DataSetBasePage.java
public boolean isElementVisible( Viewer viewer, Object element )
{
	if ( isLeafMatch( viewer, element ) )
	{
		return true;
	}

	if ( element instanceof DataSourceType )
	{
		ITreeContentProvider contentProvider = (ITreeContentProvider) ( (TreeViewer) viewer ).getContentProvider( );
		DataSourceType node = (DataSourceType) element;
		Object[] children = contentProvider.getChildren( node );
		// Will return true if any subnode of the element matches the search
		if ( filter( viewer, element, children ).length > 0 )
		{
			return true;
		}
	}
	return false;
}
 
protected void createMappingTree(final Composite listComposite) {
    mappingTree = new TreeViewer(listComposite, SWT.BORDER | SWT.FULL_SELECTION | SWT.SINGLE | SWT.V_SCROLL);
    mappingTree.getTree().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    mappingTree.setContentProvider(new AdapterFactoryContentProvider(adapterFactory) {

        @Override
        public Object[] getElements(final Object object) {
            if (object instanceof Collection) {
                return ((Collection) object).toArray();
            }
            return super.getElements(object);
        }
    });
    mappingTree.setLabelProvider(new ActorMappingStyledTreeLabelProvider(adapterFactory, deployedOrganization));
    mappingTree.addSelectionChangedListener(this);
    mappingTree.addDoubleClickListener(this);
    mappingTree.addFilter(new ViewerFilter() {

        @Override
        public boolean select(final Viewer viewer, final Object parentElement, final Object element) {
            return (element instanceof String || element instanceof MembershipType)
                    || ((ITreeContentProvider) mappingTree.getContentProvider()).hasChildren(element);
        }
    });
}
 
源代码13 项目: bonita-studio   文件: GroupsWizardPage.java
@Override
protected void addButtonSelected() {
    final org.bonitasoft.studio.actors.model.organization.Group parentGoup = (org.bonitasoft.studio.actors.model.organization.Group) ((IStructuredSelection) getViewer()
            .getSelection()).getFirstElement();
    final org.bonitasoft.studio.actors.model.organization.Group group = OrganizationFactory.eINSTANCE.createGroup();
    group.setName(generateGroupname());
    group.setDisplayName(group.getName());
    if (parentGoup != null) {
        if (parentGoup.getParentPath() == null) {
            group.setParentPath(GroupContentProvider.GROUP_SEPARATOR + parentGoup.getName());
        } else {
            group.setParentPath(parentGoup.getParentPath() + GroupContentProvider.GROUP_SEPARATOR + parentGoup.getName());
        }
    }
    groupList.add(group);
    getViewer().setInput(groupList);
    ((TreeViewer) getViewer()).expandAll();
    getViewer().setSelection(new StructuredSelection(group));
}
 
源代码14 项目: APICloud-Studio   文件: InvasiveThemeHijacker.java
protected void hijackCallHierarchy(final IViewPart view, final boolean revertToDefaults)
{
	try
	{
		Field f = view.getClass().getDeclaredField("fPagebook"); //$NON-NLS-1$
		f.setAccessible(true);
		PageBook pageBook = (PageBook) f.get(view);

		f = pageBook.getClass().getDeclaredField("currentPage"); //$NON-NLS-1$
		f.setAccessible(true);
		Control control = (Control) f.get(pageBook);
		if (control instanceof Label)
		{
			hookTheme(control, revertToDefaults);
			return;
		}

		Method m = view.getClass().getMethod("getViewer"); //$NON-NLS-1$
		TreeViewer treeViewer = (TreeViewer) m.invoke(view);
		hookTheme(treeViewer, revertToDefaults);

		m = view.getClass().getDeclaredMethod("getLocationViewer"); //$NON-NLS-1$
		if (m != null)
		{
			m.setAccessible(true);
			Viewer viewer = (Viewer) m.invoke(view);
			hookTheme(viewer, revertToDefaults);
		}
	}
	catch (Exception e)
	{
		// ignore
	}
}
 
@SuppressWarnings("unchecked")
private int compareColumn(final Viewer viewer, final Object a, final Object b, final int columnNumber) {
	IBaseLabelProvider baseLabel = ((TreeViewer) viewer).getLabelProvider();
	if (baseLabel instanceof ITableLabelProvider) {
		ITableLabelProvider tableProvider = (ITableLabelProvider) baseLabel;
		String e1p = tableProvider.getColumnText(a, columnNumber);
		String e2p = tableProvider.getColumnText(b, columnNumber);
		if (e1p != null && e2p != null) {
			return getComparator().compare(e1p, e2p);
		}
	}
	return 0;
}
 
public CollapseAllAction(TreeViewer viewer) {
	super(ActionMessages.CollapsAllAction_label, JavaPluginImages.DESC_ELCL_COLLAPSEALL);
	setToolTipText(ActionMessages.CollapsAllAction_tooltip);
	setDescription(ActionMessages.CollapsAllAction_description);
	PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IJavaHelpContextIds.COLLAPSE_ALL_ACTION);
	Assert.isNotNull(viewer);
	fViewer= viewer;
}
 
源代码17 项目: birt   文件: TabularCubeNodeProvider.java
/**
 * Creates the context menu for the given object. Gets the action from the
 * actionRegistry and adds the action to the menu.
 * 
 * @param menu
 *            the menu
 * @param object
 *            the object
 */
public void createContextMenu( TreeViewer sourceViewer, Object object,
		IMenuManager menu )
{

	menu.add( new Separator( ) );

	InsertCubeInLayoutAction insertAction = new InsertCubeInLayoutAction( object );
	if ( insertAction.isEnabled( ) )
	{
		menu.add( insertAction );
	}

	super.createContextMenu( sourceViewer, object, menu );

	if ( ( (CubeHandle) object ).canEdit( ) )
	{
		menu.insertAfter( IWorkbenchActionConstants.MB_ADDITIONS,
				new EditCubeAction( object,
						Messages.getString( "InsertCubeInLayoutAction.menu.text" ) ) ); //$NON-NLS-1$
	}

	menu.insertBefore( IWorkbenchActionConstants.MB_ADDITIONS + "-refresh", //$NON-NLS-1$
			new ShowPropertyAction( object ) );

	menu.insertAfter( IWorkbenchActionConstants.MB_ADDITIONS + "-refresh", new Separator( ) ); //$NON-NLS-1$
	IAction action = new RefreshAction( sourceViewer );
	if ( action.isEnabled( ) )
	{
		menu.insertAfter( IWorkbenchActionConstants.MB_ADDITIONS
				+ "-refresh", action ); //$NON-NLS-1$
	}
}
 
源代码18 项目: tesb-studio-se   文件: RunCamelProcess.java
public void init(TreeViewer viewer, IStructuredSelection selection) {
    boolean canWork = !selection.isEmpty() && selection.size() == 1;
    // if
    // (DesignerPlugin.getDefault().getRepositoryService().getProxyRepositoryFactory().isUserReadOnlyOnCurrentProject())
    // {
    // canWork = false;
    // }
    if (canWork) {
        Object o = selection.getFirstElement();
        RepositoryNode node = (RepositoryNode) o;

        switch (node.getType()) {
        case REPOSITORY_ELEMENT:
            if (node.getParent() == null || node.getParent().getContentType() != CamelRepositoryNodeType.repositoryRoutesType) {
                canWork = false;
            }
            // Avoid showing in route test case
            if (node.getObjectType().getType().equals(TEST_CONTAINER)) {
                canWork = false;
            }
            break;
        default:
            canWork = false;
        }
        RepositoryNode parent = node.getParent();
        if (canWork && parent != null && parent instanceof BinRepositoryNode) {
            canWork = false;
        }
    }
    setEnabled(canWork);
}
 
protected void createTreeViewer(Composite parent, int treeStyle) {
	Tree tree = createTree(parent, treeStyle);
	
	treeViewer = new TreeViewerFilterExt(tree);
	TreeViewerUtil.addTreeViewerMouseAutoScroller(treeViewer);
	
	treeElementsFilter = createTreeFilter();
	treeViewer.addFilter(treeElementsFilter);
	
	treeViewer.setAutoExpandLevel(TreeViewer.ALL_LEVELS);
}
 
源代码20 项目: saros   文件: ContactSelectionComposite.java
/**
 * Gathers the checked states of the given widget and its descendants, following a pre-order
 * traversal of the {@link ITreeContentProvider}.
 *
 * @param collectedObjects a writable list of elements (element type: <code>Object</code> )
 * @param treeViewer to be traversed
 * @param parentElement of which to determine the child nodes
 */
protected static void collectAllRosterEntryElement(
    List<Object> collectedObjects, TreeViewer treeViewer, Object parentElement) {

  ITreeContentProvider treeContentProvider =
      (ITreeContentProvider) treeViewer.getContentProvider();

  Object[] objects = treeContentProvider.getChildren(parentElement);

  for (Object object : objects) {
    collectedObjects.add(object);
    collectAllRosterEntryElement(collectedObjects, treeViewer, object);
  }
}
 
protected void toggleHierarchy() {
	TreeViewer treeViewer= getTreeViewer();

	treeViewer.getTree().setRedraw(false);

	Object[] expandedElements= treeViewer.getExpandedElements();
	TypeHierarchyContentProvider contentProvider= (TypeHierarchyContentProvider) treeViewer.getContentProvider();
	treeViewer.setContentProvider(fOtherContentProvider);

	treeViewer.refresh();
	if (fOtherExpandedElements != null) {
		treeViewer.setExpandedElements(fOtherExpandedElements);
	} else {
		treeViewer.expandAll();
	}

	// reveal selection
	Object selectedElement= getSelectedElement();
	if (selectedElement != null)
		getTreeViewer().reveal(selectedElement);
	else
		selectFirstMatch();

	treeViewer.getTree().setRedraw(true);

	fOtherContentProvider= contentProvider;
	fOtherExpandedElements= expandedElements;

	updateStatusFieldText();
}
 
源代码22 项目: birt   文件: ParameterGroupNodeProvider.java
public void createContextMenu( TreeViewer sourceViewer, Object object,
		IMenuManager menu )
{
	// Add new parameter action
	menu.add( new InsertAction( object,
			Messages.getString( "ParameterGroupNodeProvider.Action.ParameterNew" ), //$NON-NLS-1$
			ReportDesignConstants.SCALAR_PARAMETER_ELEMENT ) );

	super.createContextMenu( sourceViewer, object, menu );
	menu.insertAfter( IWorkbenchActionConstants.MB_ADDITIONS,
			new EditAction( object,
					Messages.getString( "ParameterGroupNodeProvider.Action.ParameterEdit" ) ) ); //$NON-NLS-1$

}
 
源代码23 项目: APICloud-Studio   文件: RevertSynchronizeAction.java
private boolean isChangeSetMode() {
    Viewer viewer = getConfiguration().getPage().getViewer();
    if (viewer instanceof TreeViewer) {
    	TreeItem[] items = ((TreeViewer)viewer).getTree().getItems();
    	for (TreeItem item : items) {
    		if (item.getData() instanceof ChangeSetDiffNode) {
    			return true;
    		}
    	}
    }
    return false;
}
 
源代码24 项目: ADT_Frontend   文件: AbapGitStagingView.java
private void addDoubleClickListener(TreeViewer viewer) {
	viewer.addDoubleClickListener((event) -> {
		//open the object
		if (event.getSelection() instanceof IStructuredSelection) {
			IStructuredSelection selection = (IStructuredSelection) event.getSelection();
			Object object = selection.getFirstElement();
			this.stagingUtil.openEditor(object, this.project, this.repositoryCredentials);
		}
	});
}
 
源代码25 项目: ADT_Frontend   文件: CopyNameAction.java
public CopyNameAction(TreeViewer treeViewer) {
	super(Messages.AbapGitStaging_action_copy);
	updateSelection((IStructuredSelection) treeViewer.getSelection());
	setToolTipText(Messages.AbapGitStaging_action_copy);
	setActionDefinitionId(ActionFactory.COPY.getCommandId());
	setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_COPY));

	this.treeViewer = treeViewer;
}
 
源代码26 项目: birt   文件: CubeSubFolderNodeProvider.java
public void createContextMenu( TreeViewer sourceViewer, Object object,
			IMenuManager menu )
	{
		PropertyHandle property = (PropertyHandle) object;
		String name = property.getPropertyDefn( ).getName( );

		EditCubeAction action = null;

		if ( name.equals( ICubeModel.DIMENSIONS_PROP ) )
		{
			action = new EditCubeAction( property,
					Messages.getString( "CubeModel.group.edit" ) );//$NON-NLS-1$

		}
		else if ( name.equals( ICubeModel.MEASURE_GROUPS_PROP ) )
		{
			action = new EditCubeAction( property,
					Messages.getString( "CubeModel.summaryfield.edit" ) );//$NON-NLS-1$
		}

		if ( action != null )
			menu.add( action );
		super.createContextMenu( sourceViewer, object, menu );

//		menu.insertBefore( IWorkbenchActionConstants.MB_ADDITIONS + "-refresh", //$NON-NLS-1$
//				new ShowPropertyAction( object ) );
//
//		menu.insertAfter( IWorkbenchActionConstants.MB_ADDITIONS + "-refresh", new Separator( ) ); //$NON-NLS-1$
//		menu.insertAfter( IWorkbenchActionConstants.MB_ADDITIONS + "-refresh", new RefreshAction( sourceViewer ) ); //$NON-NLS-1$
	}
 
源代码27 项目: n4js   文件: AbstractOutlineWorkbenchTest.java
protected void assertSelected(TreeViewer aTreeViewer, IOutlineNode... expectedSelection) {
	ISelection selection = aTreeViewer.getSelection();
	assertTrue(selection instanceof IStructuredSelection);
	assertEquals(expectedSelection.length, ((IStructuredSelection) selection).size());
	OUTER: for (Iterator<?> i = ((IStructuredSelection) selection).iterator(); i.hasNext();) {
		Object selectedObject = i.next();
		assertTrue(selectedObject instanceof IOutlineNode);
		for (IOutlineNode expectedSelected : expectedSelection) {
			if (nodeComparer.equals((IOutlineNode) selectedObject, expectedSelected))
				continue OUTER;
		}
		fail("Unexpected selection " + selectedObject.toString());
	}
}
 
源代码28 项目: birt   文件: TreeViewerBackup.java
public void restoreBackup( TreeViewer treeviewer )
{
	for ( int i = 0; i < leafList.size( ); i++ )
	{
		treeviewer.expandToLevel( leafList.get( i ), 1 );
	}
}
 
/**
 * Constructor
 *
 * @param parent
 *            the parent composite
 * @param dataProviderId
 *            the data provider extension point ID.
 * @since 3.0
 */
public AbstractSegmentsStatisticsViewer(Composite parent, @Nullable String dataProviderId) {
    super(parent, false);
    setLabelProvider(new SegmentStoreStatisticsLabelProvider());
    fTablePopupMenuManager = new MenuManager();
    fTablePopupMenuManager.setRemoveAllWhenShown(true);
    fTablePopupMenuManager.addMenuListener(manager -> {
        TreeViewer viewer = getTreeViewer();
        ISelection selection = viewer.getSelection();
        if (selection instanceof IStructuredSelection) {
            IStructuredSelection sel = (IStructuredSelection) selection;
            if (manager != null) {
                appendToTablePopupMenu(manager, sel);
            }
        }
    });
    Menu tablePopup = fTablePopupMenuManager.createContextMenu(getTreeViewer().getTree());
    Tree tree = getTreeViewer().getTree();
    tree.setMenu(tablePopup);
    tree.addDisposeListener(e -> {
        if (fModule != null) {
            fModule.dispose();
        }
    });

    fProviderId = dataProviderId;
}
 
源代码30 项目: n4js   文件: ExternalLibraryTreeContentProvider.java
@Override
public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) {
	if (viewer instanceof TreeViewer) {
		this.treeViewerRef = Optional.of((TreeViewer) viewer);
	} else {
		this.treeViewerRef = Optional.absent();
	}
	// clear projects cache when input changes
	this.locationProjectsCache.clear();
}
 
 同包方法