List of usage examples for org.eclipse.jface.viewers TreeViewer add
public void add(Object parentElementOrTreePath, Object... childElements)
From source file:org.eclipse.team.examples.model.ui.mapping.ModelSyncContentProvider.java
License:Open Source License
void handleChange(IDiffChangeEvent event) { Set existingProjects = getVisibleModelProjects(); IProject[] changedProjects = getChangedModelProjects(event); List refreshes = new ArrayList(changedProjects.length); List additions = new ArrayList(changedProjects.length); List removals = new ArrayList(changedProjects.length); for (int i = 0; i < changedProjects.length; i++) { IProject project = changedProjects[i]; if (hasVisibleChanges(event.getTree(), project)) { if (existingProjects.contains(project)) { refreshes.add(ModelObject.create(project)); } else { additions.add(ModelObject.create(project)); }// w w w .ja v a 2 s.c o m } else if (existingProjects.contains(project)) { removals.add(ModelObject.create(project)); } } if (!removals.isEmpty() || !additions.isEmpty() || !refreshes.isEmpty()) { TreeViewer viewer = (TreeViewer) getViewer(); Tree tree = viewer.getTree(); try { tree.setRedraw(false); if (!additions.isEmpty()) viewer.add(viewer.getInput(), additions.toArray()); if (!removals.isEmpty()) viewer.remove(viewer.getInput(), removals.toArray()); if (!refreshes.isEmpty()) { for (Iterator iter = refreshes.iterator(); iter.hasNext();) { Object element = iter.next(); viewer.refresh(element); } } } finally { tree.setRedraw(true); } } }
From source file:org.eclipse.team.internal.ui.mapping.ResourceModelContentProvider.java
License:Open Source License
private void handleChange(IDiffChangeEvent event) { List refreshes = new ArrayList(); List additions = new ArrayList(); List removals = new ArrayList(); if (isFlatPresentation()) { Set existingResources = getVisibleResources(); IResource[] changedResources = getChangedResources(event, existingResources); for (int i = 0; i < changedResources.length; i++) { IResource resource = changedResources[i]; if (event.getTree().getDiff(resource.getFullPath()) != null) { if (existingResources.contains(resource)) { refreshes.add(resource); } else { additions.add(resource); }/*from w w w. j av a 2 s. c o m*/ } else if (existingResources.contains(resource)) { removals.add(resource); } } } else { IProject[] changedProjects = getChangedProjects(event); Set existingProjects = getVisibleProjects(); for (int i = 0; i < changedProjects.length; i++) { IProject project = changedProjects[i]; if (hasVisibleChanges(event.getTree(), project)) { if (existingProjects.contains(project)) { refreshes.add(project); } else { additions.add(project); } } else if (existingProjects.contains(project)) { removals.add(project); } } } if (!removals.isEmpty() || !additions.isEmpty() || !refreshes.isEmpty()) { TreeViewer viewer = (TreeViewer) getViewer(); Tree tree = viewer.getTree(); try { tree.setRedraw(false); if (!additions.isEmpty()) viewer.add(viewer.getInput(), additions.toArray()); if (!removals.isEmpty()) viewer.remove(viewer.getInput(), removals.toArray()); if (!refreshes.isEmpty()) { for (Iterator iter = refreshes.iterator(); iter.hasNext();) { Object element = iter.next(); viewer.refresh(element); } } } finally { tree.setRedraw(true); } } }
From source file:org.eclipse.ui.internal.keys.NewKeysPreferencePage.java
License:Open Source License
private void createTree(Composite parent) { fPatternFilter = new CategoryPatternFilter(true, fDefaultCategory); fPatternFilter.filterCategories(true); GridData gridData;/*w w w.j a va 2s .c o m*/ fFilteredTree = new CategoryFilterTree(parent, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER, fPatternFilter); final GridLayout layout = new GridLayout(1, false); layout.marginWidth = 0; fFilteredTree.setLayout(layout); gridData = new GridData(); gridData.grabExcessHorizontalSpace = true; gridData.grabExcessVerticalSpace = true; gridData.horizontalAlignment = SWT.FILL; gridData.verticalAlignment = SWT.FILL; fFilteredTree.setLayoutData(gridData); final TreeViewer viewer = fFilteredTree.getViewer(); // Make sure the filtered tree has a height of ITEMS_TO_SHOW final Tree tree = viewer.getTree(); tree.setHeaderVisible(true); final Object layoutData = tree.getLayoutData(); if (layoutData instanceof GridData) { gridData = (GridData) layoutData; final int itemHeight = tree.getItemHeight(); if (itemHeight > 1) { gridData.heightHint = ITEMS_TO_SHOW * itemHeight; } } BindingModelComparator comparator = new BindingModelComparator(); viewer.setComparator(comparator); final TreeColumn commandNameColumn = new TreeColumn(tree, SWT.LEFT, COMMAND_NAME_COLUMN); commandNameColumn.setText(NewKeysPreferenceMessages.CommandNameColumn_Text); tree.setSortColumn(commandNameColumn); tree.setSortDirection(comparator.isAscending() ? SWT.UP : SWT.DOWN); commandNameColumn .addSelectionListener(new ResortColumn(comparator, commandNameColumn, viewer, COMMAND_NAME_COLUMN)); final TreeColumn triggerSequenceColumn = new TreeColumn(tree, SWT.LEFT, KEY_SEQUENCE_COLUMN); triggerSequenceColumn.setText(NewKeysPreferenceMessages.TriggerSequenceColumn_Text); triggerSequenceColumn.addSelectionListener( new ResortColumn(comparator, triggerSequenceColumn, viewer, KEY_SEQUENCE_COLUMN)); final TreeColumn whenColumn = new TreeColumn(tree, SWT.LEFT, CONTEXT_COLUMN); whenColumn.setText(NewKeysPreferenceMessages.WhenColumn_Text); whenColumn.addSelectionListener(new ResortColumn(comparator, whenColumn, viewer, CONTEXT_COLUMN)); final TreeColumn categoryColumn = new TreeColumn(tree, SWT.LEFT, CATEGORY_COLUMN); categoryColumn.setText(NewKeysPreferenceMessages.CategoryColumn_Text); categoryColumn.addSelectionListener(new ResortColumn(comparator, categoryColumn, viewer, CATEGORY_COLUMN)); final TreeColumn userMarker = new TreeColumn(tree, SWT.LEFT, USER_DELTA_COLUMN); userMarker.setText(NewKeysPreferenceMessages.UserColumn_Text); userMarker.addSelectionListener(new ResortColumn(comparator, userMarker, viewer, USER_DELTA_COLUMN)); viewer.setContentProvider(new ModelContentProvider()); viewer.setLabelProvider(new BindingElementLabelProvider()); fFilteredTree.getPatternFilter().setIncludeLeadingWildcard(true); final TreeColumn[] columns = viewer.getTree().getColumns(); columns[COMMAND_NAME_COLUMN].setWidth(240); columns[KEY_SEQUENCE_COLUMN].setWidth(130); columns[CONTEXT_COLUMN].setWidth(130); columns[CATEGORY_COLUMN].setWidth(130); columns[USER_DELTA_COLUMN].setWidth(50); viewer.addSelectionChangedListener(new ISelectionChangedListener() { // When the viewer changes selection, update the model's current // selection public void selectionChanged(SelectionChangedEvent event) { ModelElement binding = (ModelElement) ((IStructuredSelection) event.getSelection()) .getFirstElement(); keyController.getBindingModel().setSelectedElement(binding); } }); IPropertyChangeListener treeUpdateListener = new IPropertyChangeListener() { // When the model changes a property, update the viewer public void propertyChange(PropertyChangeEvent event) { if (event.getSource() == keyController.getBindingModel() && CommonModel.PROP_SELECTED_ELEMENT.equals(event.getProperty())) { Object newVal = event.getNewValue(); StructuredSelection structuredSelection = newVal == null ? null : new StructuredSelection(newVal); viewer.setSelection(structuredSelection, true); } else if (event.getSource() instanceof BindingElement && ModelElement.PROP_MODEL_OBJECT.equals(event.getProperty())) { viewer.update(event.getSource(), null); } else if (BindingElement.PROP_CONFLICT.equals(event.getProperty())) { viewer.update(event.getSource(), null); } else if (BindingModel.PROP_BINDINGS.equals(event.getProperty())) { viewer.refresh(); } else if (BindingModel.PROP_BINDING_ADD.equals(event.getProperty())) { viewer.add(keyController.getBindingModel(), event.getNewValue()); } else if (BindingModel.PROP_BINDING_REMOVE.equals(event.getProperty())) { viewer.remove(event.getNewValue()); } else if (BindingModel.PROP_BINDING_FILTER.equals(event.getProperty())) { viewer.refresh(); } } }; keyController.addPropertyChangeListener(treeUpdateListener); // as far as I got }
From source file:org.eclipse.wst.ide.remote.ui.internal.view.ModifyMessageAction.java
License:Open Source License
public void run(IAction action) { if (selection != null) { Object element = ((StructuredSelection) selection).getFirstElement(); if (element != null && element instanceof Request) { Request req = (Request) element; ResendHTTPRequest newReq = MonitorManager.createResendRequest(req); MonitorManager.getInstance().addResendRequest(req, newReq); TreeViewer treeViewer = MonitorView.view.treeViewer; treeViewer.add(req, newReq); treeViewer.setSelection(new StructuredSelection(newReq), false); }/*from w ww .j av a 2s . c o m*/ } }
From source file:org.eclipse.wst.ide.remote.ui.internal.view.ResendMessageAction.java
License:Open Source License
public void run(IAction action) { if (selection != null) { Object element = ((StructuredSelection) selection).getFirstElement(); if (element != null && element instanceof Request) { Request req = (Request) element; ResendHTTPRequest newReq = MonitorManager.createResendRequest(req); MonitorManager.getInstance().addResendRequest(req, newReq); TreeViewer treeViewer = MonitorView.view.treeViewer; treeViewer.add(req, newReq); treeViewer.setSelection(new StructuredSelection(newReq), false); newReq.sendRequest();/*from w w w. j a v a 2 s. c o m*/ } } }
From source file:org.eclipse.wst.jsdt.internal.ui.model.JavaSynchronizationContentProvider.java
License:Open Source License
/** * Handles a diff change event.// w w w. j a v a2s. c o m * * @param event * the event */ private void handleChange(final IDiffChangeEvent event) { final Set existing = getVisibleProjects(); // Get all existing and open projects that contain changes // and determine what needs to be done to the project // (i.e. add, remove or refresh) final IJavaScriptProject[] changed = getChangedProjects(event); final List refreshes = new ArrayList(changed.length); final List additions = new ArrayList(changed.length); final List removals = new ArrayList(changed.length); for (int index = 0; index < changed.length; index++) { final IJavaScriptProject project = changed[index]; if (hasVisibleChanges(event.getTree(), project)) { if (existing.contains(project)) refreshes.add(project); else additions.add(project); } else removals.add(project); } // Remove any java projects that correspond to deleted or closed projects final Set removed = getDeletedProjects(event); for (final Iterator iterator = existing.iterator(); iterator.hasNext();) { final IJavaScriptProject element = (IJavaScriptProject) iterator.next(); if (removed.contains(element.getResource())) removals.add(element); } if (!removals.isEmpty() || !additions.isEmpty() || !refreshes.isEmpty()) { final TreeViewer viewer = (TreeViewer) getViewer(); final Tree tree = viewer.getTree(); try { tree.setRedraw(false); if (!additions.isEmpty()) viewer.add(viewer.getInput(), additions.toArray()); if (!removals.isEmpty()) viewer.remove(viewer.getInput(), removals.toArray()); if (!refreshes.isEmpty()) { for (final Iterator iter = refreshes.iterator(); iter.hasNext();) viewer.refresh(iter.next()); } } finally { tree.setRedraw(true); } } }
From source file:org.embl.cca.utils.ui.widget.support.treeviewer.TreeContentProvider.java
License:Apache License
@Override public void childrenReady(final TreeNode node, final TreeNodeState result, final TreeNode[] previousChildren) { synchronized (node.nodePathRequests) { try {/*from w w w.ja v a 2 s .com*/ final TreeViewer treeViewer = getTreeViewer(); // final long t1 = System.nanoTime(); switch (result) { case TREENODE_FILLED: // System.out.println("FolderListerJob: before adding children, this: " + TreeNode.this.toString()); treeViewer.remove(node, previousChildren); treeViewer.add(node, node.listChildren); // System.out.println("BP1* treeNodes added, " + TreeNode.this.toString()); // System.out.println("FolderListerJob: after adding children, this: " + TreeNode.this.toString()); // treeViewer.refresh(TreeNode.this, false); treeViewer.expandToLevel(node, 1); //Tell TV: show children of node (user asked) // final FileSystemEntryNode fsen = (FileSystemEntryNode)node; final Iterator<Entry<List<TreeNode>, TreeNodeRequest>> it = node.nodePathRequests.entrySet() .iterator(); while (it.hasNext()) { final Entry<List<TreeNode>, TreeNodeRequest> nodePathAndRequest = it.next(); List<TreeNode> nodePath = nodePathAndRequest.getKey(); if (nodePath.size() == 0) finishRequest(nodePathAndRequest.getValue(), node); else requestForPath(nodePathAndRequest.getValue(), null, nodePath); } break; case TREENODE_NOT_FILLABLE: treeViewer.expandToLevel(node, 1); //Tell TV: show children of node (user asked) // long t2 = System.nanoTime(); // System.out.println("Filling node took " + (t2-t1)/1000000000. + " sec"); System.out.println( "! " + this.getClass().getName() + ".childrenReady, in TREENODE_NOT_FILLABLE branch"); break; case TREENODE_NOT_EXISTING: treeViewer.refresh(node.getParent(), false); //Tell TV: parent does not have this child break; } fireNodeReady(node.identifier, result); } finally { node.nodePathRequests.clear(); debug(); } } }
From source file:org.fusesource.ide.zk.core.viewers.TreeViewerType.java
License:Apache License
@Override public void addElement(StructuredViewer viewer, Object parent, Object element) { TreeViewer treeViewer = (TreeViewer) viewer; treeViewer.add(parent, element); }
From source file:tinyos.dlrc.views.NodeContentProvider.java
License:Open Source License
/** * Informs the <code>viewer</code> that <code>element</code> has been * added, <code>element</code> is a root in this content provider. * @param viewer the viewer// w ww . j a v a 2 s.co m * @param element the new root */ protected void addRoot(TreeViewer viewer, Element element) { Object[] path = getRootPath(element); Object self = getPathElement(element); if (path.length == 0) { viewer.add(viewer.getInput(), self); } else { viewer.add(new TreePath(path), self); } }