java类org.eclipse.jface.viewers.TreePath的实例源码

AbstractTreeViewerFilter.java 文件源码 项目:eclipse-batch-editor 阅读 29 收藏 0 点赞 0 评论 0
private boolean selectTreePath(Viewer viewer, TreePath parentPath, Object element) {
    // Cut off children of elements that are shown repeatedly.
    for (int i = 0; i < parentPath.getSegmentCount() - 1; i++) {
        if (element.equals(parentPath.getSegment(i))) {
            return false;
        }
    }

    if (!(viewer instanceof TreeViewer)) {
        return true;
    }
    if (matcher == null) {
        return true;
    }
    TreeViewer treeViewer = (TreeViewer) viewer;
    Boolean matchingResult = isMatchingOrNull(element);
    if (matchingResult != null) {
        return matchingResult;
    }
    return hasUnfilteredChild(treeViewer, parentPath, element);
}
AbstractTreeViewerFilter.java 文件源码 项目:eclipse-bash-editor 阅读 29 收藏 0 点赞 0 评论 0
private boolean selectTreePath(Viewer viewer, TreePath parentPath, Object element) {
    // Cut off children of elements that are shown repeatedly.
    for (int i = 0; i < parentPath.getSegmentCount() - 1; i++) {
        if (element.equals(parentPath.getSegment(i))) {
            return false;
        }
    }

    if (!(viewer instanceof TreeViewer)) {
        return true;
    }
    if (matcher == null) {
        return true;
    }
    TreeViewer treeViewer = (TreeViewer) viewer;
    Boolean matchingResult = isMatchingOrNull(element);
    if (matchingResult != null) {
        return matchingResult;
    }
    return hasUnfilteredChild(treeViewer, parentPath, element);
}
JavaProjectUtilities.java 文件源码 项目:libraries 阅读 31 收藏 0 点赞 0 评论 0
public static IJavaProject[] getJavaProjects(final ITreeSelection treeSelection) {
  if (treeSelection == null) {
    return new IJavaProject[0];
  }
  final List<IJavaProject> projects = new ArrayList<>();
  final TreePath[] paths = treeSelection.getPaths();
  for (final TreePath treePath : paths) {
    if (treePath.equals(TreePath.EMPTY)) {
      continue;
    }
    for (int i = 0; i < treePath.getSegmentCount(); i++) {
      final Object segment = treePath.getSegment(i);
      if ((segment instanceof IJavaProject)) {
        projects.add((IJavaProject) segment);
        break;
      }
    }
  }
  return projects.toArray(new IJavaProject[projects.size()]);
}
JavaProjectUtilities.java 文件源码 项目:libraries 阅读 31 收藏 0 点赞 0 评论 0
public static IJavaElement[] getJavaElements(final ITreeSelection selection) {
  if (selection == null) {
    return new IJavaProject[0];
  }
  final List<IJavaElement> projects = new ArrayList<>();
  for (final TreePath treePath : selection.getPaths()) {
    if (treePath.equals(TreePath.EMPTY)) {
      continue;
    }
    final Object lastSegment = treePath.getLastSegment();
    if (!(lastSegment instanceof IJavaElement)) {
      continue;
    }
    projects.add((IJavaElement) lastSegment);
  }
  return projects.toArray(new IJavaElement[projects.size()]);
}
AbstractTreeViewerFilter.java 文件源码 项目:egradle 阅读 29 收藏 0 点赞 0 评论 0
private boolean selectTreePath(Viewer viewer, TreePath parentPath, Object element) {
    // Cut off children of elements that are shown repeatedly.
    for (int i = 0; i < parentPath.getSegmentCount() - 1; i++) {
        if (element.equals(parentPath.getSegment(i))) {
            return false;
        }
    }

    if (!(viewer instanceof TreeViewer)) {
        return true;
    }
    if (matcher == null) {
        return true;
    }
    TreeViewer treeViewer = (TreeViewer) viewer;
    Boolean matchingResult = isMatchingOrNull(element);
    if (matchingResult != null) {
        return matchingResult;
    }
    return hasUnfilteredChild(treeViewer, parentPath, element);
}
HistoryEditor.java 文件源码 项目:team-explorer-everywhere 阅读 32 收藏 0 点赞 0 评论 0
@Override
protected boolean computeEnablement(final IStructuredSelection selection) {
    if (selection.size() != 1) {
        return false;
    }

    // For VS 2010 the content provider is a TreeContentProvider. Only
    // enable this action for history items at the root level. For
    // versions prior to 2010 the condition for enablement conditions
    // are unchanged.
    boolean isRootItemSelected = true;
    if (selection instanceof ITreeSelection) {
        final ITreeSelection treeSelection = (ITreeSelection) selection;
        final TreePath[] treePaths = treeSelection.getPaths();
        if (treePaths.length == 1) {
            isRootItemSelected = treePaths[0].getSegmentCount() == 1;
        }
    }

    final String item = historyInput.getHistoryItem();
    return !ServerPath.isServerPath(item) && isRootItemSelected;
}
MkOutlinePage.java 文件源码 项目:fluentmark 阅读 31 收藏 0 点赞 0 评论 0
public void setInput(PageRoot inputElement) {
    input = inputElement;
    if (viewer != null) {
        Object[] expandedElements = viewer.getExpandedElements();
        TreePath[] expandedTreePaths = viewer.getExpandedTreePaths();

        viewer.setInput(input);

        viewer.setExpandedElements(expandedElements);
        viewer.setExpandedTreePaths(expandedTreePaths);

        actions.get(ACTION_COPY).setEnabled(true);
        actions.get(ACTION_CUT).setEnabled(true);
        actions.get(ACTION_PASTE).setEnabled(true);
        actions.get(ACTION_DELETE).setEnabled(true);
    }
}
TreeItemUtil.java 文件源码 项目:NEXCORE-UML-Modeler 阅读 29 收藏 0 点赞 0 评论 0
/**
 * getExpandTreePaths
 *  
 * @param tree
 * @param selectedItem
 * @return TreePath[]
 */
public static TreePath[] getExpandTreePaths(Tree tree, TreeItem selectedItem) {
    ArrayList<Object> items = new ArrayList<Object>();
    internalCollectTreeItems(items, tree);
    ArrayList<Object> result = new ArrayList<Object>();

    for (Iterator<Object> it = items.iterator(); it.hasNext();) {
        Item item = (Item) it.next();
        // if (item == selectedItem) {
        TreePath treePath = getTreePathFromItem(item);
        if (treePath != null) {
            result.add(treePath);
        }
        // }
    }

    return (TreePath[]) result.toArray(new TreePath[items.size()]);
}
BaseMultiFragmentAction.java 文件源码 项目:NEXCORE-UML-Modeler 阅读 36 收藏 0 点赞 0 评论 0
/**
 * hierarchyCheck
 *  
 * @return boolean
 */
protected boolean hierarchyCheck() {
    CommonViewer commonViewer = ViewerRegistry.getViewer();
    TreeSelection sel = (TreeSelection) commonViewer.getSelection();

    List<TreePath> pathList = Arrays.asList(sel.getPaths());

    for (TreePath path : pathList) {
        if (isContains(pathList, path.getParentPath())) {
            MessageDialog.openError(ProjectExplorerPlugin.getShell(),
                UMLMessage.LABEL_FILE_FRAGMENTATION,
                UMLMessage.MESSAGE_FRAGMENT_DEFRAGMENT_ERROR_MESSAGE/*"패키지 간 상하 관계가 포함된 경우 일괄 단편화/병합을 실행할 수 없습니다."*/);
            return false;
        }
    }

    return true;
}
SimulationView.java 文件源码 项目:CARMA 阅读 27 收藏 0 点赞 0 评论 0
protected void doRunSimulationExperiment() {
    TreePath[] paths = suiteViewer.getStructuredSelection().getPaths();
    if ((paths != null)&&(paths.length>0)) {
        TreePath selected = paths[0];           
        if (selected.getSegmentCount()>=2) {
            SimulationSuiteElement simulationSuiteElement = (SimulationSuiteElement) selected.getSegment(1);
            RunSimulationExperimentJob experiment = new RunSimulationExperimentJob(this, simulationSuiteElement);

            //update the Lab View
            //updateView();

            experiment.setUser(true);
            experiment.schedule();
        }
    }

}
LemmaNavigator.java 文件源码 项目:bts 阅读 28 收藏 0 点赞 0 评论 0
private void refreshTreeViewer(final BTSCorpusObject btsCorpusObject) {
        sync.asyncExec(new Runnable() {
            public void run() {
                if (!mainTreeViewer.getTree().isDisposed())
                {

//                  mainTreeViewer
//                          .removeSelectionChangedListener(selectionListener);
                    for (TreePath path : mainTreeViewer.getExpandedTreePaths())
                        System.out.println(path.getLastSegment());
                    mainTreeViewer.refresh();
//                  mainTreeViewer.addSelectionChangedListener(selectionListener);
                }
            }
        });

    }
CorpusNavigatorPart.java 文件源码 项目:bts 阅读 31 收藏 0 点赞 0 评论 0
private void refreshTreeViewer(final BTSCorpusObject btsCorpusObject) {
        sync.asyncExec(new Runnable() {
            public void run() {
                if (!mainTreeViewer.getTree().isDisposed())
                {

//                  mainTreeViewer
//                          .removeSelectionChangedListener(selectionListener);
                    for (TreePath path : mainTreeViewer.getExpandedTreePaths())
                        System.out.println(path.getLastSegment());
                    mainTreeViewer.refresh();
//                  mainTreeViewer.addSelectionChangedListener(selectionListener);
                }
            }
        });

    }
ThsNavigator.java 文件源码 项目:bts 阅读 29 收藏 0 点赞 0 评论 0
private void refreshTreeViewer(final BTSCorpusObject btsCorpusObject) {
        sync.asyncExec(new Runnable() {
            public void run() {
                if (!mainTreeViewer.getTree().isDisposed())
                {

//                  mainTreeViewer
//                          .removeSelectionChangedListener(selectionListener);
                    for (TreePath path : mainTreeViewer.getExpandedTreePaths())
                        System.out.println(path.getLastSegment());
                    mainTreeViewer.refresh();
//                  mainTreeViewer.addSelectionChangedListener(selectionListener);
                }
            }
        });

    }
ATextNavigatorPart.java 文件源码 项目:bts 阅读 23 收藏 0 点赞 0 评论 0
private void refreshTreeViewer(final BTSCorpusObject btsCorpusObject) {
        sync.asyncExec(new Runnable() {
            public void run() {
                if (!mainTreeViewer.getTree().isDisposed())
                {

//                  mainTreeViewer
//                          .removeSelectionChangedListener(selectionListener);
                    for (TreePath path : mainTreeViewer.getExpandedTreePaths())
                        System.out.println(path.getLastSegment());
                    mainTreeViewer.refresh();
//                  mainTreeViewer.addSelectionChangedListener(selectionListener);
                }
            }
        });

    }
RegisterCopyView.java 文件源码 项目:afbb-bibo 阅读 29 收藏 0 点赞 0 评论 0
@Override
public void handleEvent(final Event event) {
    // FIXME hack, should be solved be resetting the selection in viewer
    // instead
    btnToEdit.setEnabled(false);
    btnUngroup.setEnabled(false);
    final TreePath[] paths = xViewer.getSelection().getPaths();
    if (paths.length > 0) {
        final Copy copy = (Copy) paths[0].getLastSegment();
        setInput(copy);
        copies.remove(copy);
        bindingContext.updateTargets();
        checkGroups();
        updateToListButton();
        updateSaveButton();
        xViewer.setInput(copies);
    }
}
TreeCollapseExpandListener.java 文件源码 项目:afbb-bibo 阅读 30 收藏 0 点赞 0 评论 0
@Override
public void doubleClick(final DoubleClickEvent event) {
    // safety check first
    if (event == null || event.getSelection() == null || !(event.getSelection() instanceof TreeSelection)) {
        return;
    }
    final TreeSelection selection = (TreeSelection) event.getSelection();
    final TreePath[] paths = selection.getPaths();
    final TreePath treePath = paths[paths.length - 1];
    final Object segment = treePath.getLastSegment();

    final TreeItem[] items = viewer.getTree().getItems();
    final TreeItem item = getItem(items, segment);
    if (item != null) {
        item.setExpanded(!item.getExpanded());
        viewer.refresh();
    }
}
LogContent.java 文件源码 项目:gwt-eclipse-plugin 阅读 32 收藏 0 点赞 0 评论 0
private void copyTreeSelectionToClipboard() {
  ITreeSelection selection = (ITreeSelection) treeViewer.getSelection();
  TreePath[] paths = selection.getPaths();

  StringBuffer buf = new StringBuffer();

  for (TreePath path : paths) {
    LogEntry<?> entry = (LogEntry<?>) path.getLastSegment();
    buf.append(createTabString(path.getSegmentCount() - 1));
    buf.append(entry.toString());
    buf.append("\n");
  }

  if (buf.length() > 0) {
    buf.deleteCharAt(buf.length() - 1); // take off last \n
  }

  copyToClipboard(buf.toString());
}
Publish2ServerWizard.java 文件源码 项目:PDFReporter-Studio 阅读 28 收藏 0 点赞 0 评论 0
/**
 * We will accept the selection in the workbench to see if we can initialize
 * from it.
 * 
 * @see IWorkbenchWizard#init(IWorkbench, IStructuredSelection)
 */
public void init(IWorkbench workbench, IStructuredSelection selection) {
    if (selection instanceof StructuredSelection) {
        if (selection.getFirstElement() instanceof IProject || selection.getFirstElement() instanceof IFile || selection.getFirstElement() instanceof IFolder) {
            this.selection = selection;
            return;
        }
        for (Object obj : selection.toList()) {
            if (obj instanceof EditPart) {
                IEditorInput ein = SelectionHelper.getActiveJRXMLEditor().getEditorInput();
                if (ein instanceof FileEditorInput) {
                    this.selection = new TreeSelection(new TreePath(new Object[] { ((FileEditorInput) ein).getFile() }));
                    return;
                }
            }
        }
    }
    this.selection = selection;
}
PublishFile2ServerWizard.java 文件源码 项目:PDFReporter-Studio 阅读 25 收藏 0 点赞 0 评论 0
@Override
public void init(IWorkbench workbench, IStructuredSelection selection) {
    if (selection instanceof StructuredSelection) {
        if (selection.getFirstElement() instanceof IProject || selection.getFirstElement() instanceof IFile || selection.getFirstElement() instanceof IFolder) {
            this.selection = selection;
            return;
        }
        for (Object obj : selection.toList()) {
            if (obj instanceof EditPart) {
                IEditorInput ein = SelectionHelper.getActiveJRXMLEditor().getEditorInput();
                if (ein instanceof FileEditorInput) {
                    this.selection = new TreeSelection(new TreePath(new Object[] { ((FileEditorInput) ein).getFile() }));
                    return;
                }
            }
        }
    }
    this.selection = selection;
}
AddResourceAction.java 文件源码 项目:PDFReporter-Studio 阅读 27 收藏 0 点赞 0 评论 0
@Override
public void run() {
    TreeSelection s = (TreeSelection) treeViewer.getSelection();
    TreePath[] p = s.getPaths();
    for (int i = 0; i < p.length;) {
        final Object obj = p[i].getLastSegment();
        if (obj instanceof ANode) {
            ANode parent = (ANode) obj;
            AddResourceWizard wizard = new AddResourceWizard(parent);
            WizardDialog dialog = new WizardDialog(UIUtils.getShell(), wizard);
            dialog.create();
            dialog.open();
        }
        break;
    }

}
ShowPermissionsAction.java 文件源码 项目:PDFReporter-Studio 阅读 28 收藏 0 点赞 0 评论 0
@Override
public void run() {
    final TreeSelection s = (TreeSelection) treeViewer.getSelection();
    TreePath[] p = s.getPaths();
    for (int i = 0; i < p.length; i++) {
        final Object obj = p[i].getLastSegment();
        if (obj instanceof MResource) {
            PermissionWizard wizard = new PermissionWizard((MResource) obj);
            PermissionDialog dialog = new PermissionDialog(UIUtils.getShell(), wizard);
            dialog.addApplyListener(wizard);
            dialog.open();
        } else if (obj instanceof MServerProfile) {
            EditServerAction.fillServerProfile((MServerProfile) obj, treeViewer);
        }
    }
}
RunReportUnitAction.java 文件源码 项目:PDFReporter-Studio 阅读 32 收藏 0 点赞 0 评论 0
@Override
public void run() {
    final TreeSelection s = (TreeSelection) treeViewer.getSelection();
    TreePath[] p = s.getPaths();
    for (int i = 0; i < p.length; i++) {
        Object obj = p[i].getLastSegment();
        if (obj instanceof MResource) {
            INode node = ((MResource) obj).getReportUnit();
            if (node != null) {
                final String key = ServerManager.getKey((MReportUnit) node);
                if (key != null)
                    Display.getDefault().asyncExec(new Runnable() {

                        public void run() {
                            SelectionHelper.openEditor(key, ReportUnitEditor.ID);
                        }
                    });
            }
            break;
        }
    }
}
CutResourceAction.java 文件源码 项目:PDFReporter-Studio 阅读 26 收藏 0 点赞 0 评论 0
@Override
public void run() {
    TreeSelection s = (TreeSelection) treeViewer.getSelection();
    TreePath[] p = s.getPaths();
    List<MResource> rlist = new ArrayList<MResource>();
    for (int i = 0; i < p.length; i++) {
        final Object obj = p[i].getLastSegment();
        if (obj instanceof MResource) {
            System.out.println(((MResource) obj).getToolTip());
            ((MResource) obj).setCut(true);
            rlist.add((MResource) obj);
        }
    }
    if (!rlist.isEmpty())
        Clipboard.getDefault().setContents(rlist);
}
GalleryTreeViewer.java 文件源码 项目:PDFReporter-Studio 阅读 32 收藏 0 点赞 0 评论 0
public void editElement(Object element, int column) {
    if (element instanceof TreePath) {
        setSelection(new TreeSelection((TreePath) element));
        GalleryItem[] items = gallery.getSelection();

        if (items.length == 1) {
            ViewerRow row = getViewerRowFromItem(items[0]);

            if (row != null) {
                ViewerCell cell = row.getCell(column);
                if (cell != null) {
                    getControl().setRedraw(false);
                    triggerEditorActivationEvent(new ColumnViewerEditorActivationEvent(cell));
                    getControl().setRedraw(true);
                }
            }
        }
    } else {
        super.editElement(element, column);
    }
}
ExportDataAdapterAction.java 文件源码 项目:PDFReporter-Studio 阅读 37 收藏 0 点赞 0 评论 0
@Override
public void run() {
    TreeSelection s = (TreeSelection) treeViewer.getSelection();
    TreePath[] p = s.getPaths();

    for (int i = 0; i < p.length; i++) {
        Object obj = p[i].getLastSegment();
        if (obj instanceof MDataAdapter) {
            SaveAsDialog saveAsDialog = new SaveAsDialog(Display.getDefault().getActiveShell());
            saveAsDialog.setOriginalName(((MDataAdapter) obj).getValue().getName().replace(" ", "") + ".xml"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
            saveAsDialog.open();
            IPath path = saveAsDialog.getResult();
            if (path != null)
                saveFile(obj, path);
        }
    }
}
DeleteDataAdapterAction.java 文件源码 项目:PDFReporter-Studio 阅读 26 收藏 0 点赞 0 评论 0
@Override
public void run() {
    TreeSelection s = (TreeSelection) treeViewer.getSelection();
    TreePath[] p = s.getPaths();

    if (!UIUtils.showDeleteConfirmation())
        return;
    ADataAdapterStorage storage = null;
    for (int i = 0; i < p.length; i++) {
        Object obj = p[i].getLastSegment();
        if (obj instanceof MDataAdapter) {
            MDataAdapter mDataAdapter = (MDataAdapter) obj;
            DataAdapterDescriptor m = mDataAdapter.getValue();
            if (storage == null)
                storage = ((MDataAdapters) mDataAdapter.getParent()).getValue();
            if (storage != null)
                storage.removeDataAdapter(m);
            treeViewer.refresh(true);
        }
    }
}
ToggleNatureAction.java 文件源码 项目:PDFReporter-Studio 阅读 29 收藏 0 点赞 0 评论 0
public void setActivePart(IAction action, IWorkbenchPart targetPart) {
    ISelection s = targetPart.getSite().getSelectionProvider().getSelection();
    if (s instanceof TreeSelection) {
        TreePath[] tp = ((TreeSelection) s).getPaths();
        for (int i = 0; i < tp.length; i++) {
            Object obj = tp[i].getFirstSegment();
            if (obj instanceof IProject) {
                try {
                    if (((IProject) obj).hasNature(JasperReportsNature.NATURE_ID))
                        action.setChecked(true);
                    else {
                        action.setChecked(false);
                        break;
                    }
                } catch (CoreException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
UI.java 文件源码 项目:mytourbook 阅读 35 收藏 0 点赞 0 评论 0
/**
 * @param allVisibleItems
 * @param allExpandedItems
 * @return Returns {@link TreePath}'s which are expanded and open (not hidden).
 */
public static TreePath[] getExpandedOpenedItems(final Object[] allVisibleItems, final TreePath[] allExpandedItems) {

    final ArrayList<TreePath> expandedOpened = new ArrayList<TreePath>();

    for (final TreePath expandedPath : allExpandedItems) {

        /*
         * The last expanded segment must be in the visible list otherwise it is hidden.
         */
        final Object lastExpandedItem = expandedPath.getLastSegment();

        for (final Object visibleItem : allVisibleItems) {

            if (lastExpandedItem == visibleItem) {

                expandedOpened.add(expandedPath);
                break;
            }
        }
    }

    return expandedOpened.toArray(new TreePath[expandedOpened.size()]);
}
WorkingSetAwareContentProvider.java 文件源码 项目:Eclipse-Postfix-Code-Completion 阅读 27 收藏 0 点赞 0 评论 0
private List<TreePath> getTreePaths(List<Object> modelParents, int index) {
    List<TreePath> result= new ArrayList<TreePath>();
    Object input= getViewerInput();
    Object element= modelParents.get(index);
    Object[] parents= fWorkingSetModel.getAllParents(element);
    for (int i= 0; i < parents.length; i++) {
        List<Object> chain= new ArrayList<Object>();
        if (!parents[i].equals(input))
            chain.add(parents[i]);
        for (int m= index; m < modelParents.size(); m++) {
            chain.add(modelParents.get(m));
        }
        result.add(new TreePath(chain.toArray()));
    }
    return result;
}
JavaSynchronizationLabelProvider.java 文件源码 项目:Eclipse-Postfix-Code-Completion 阅读 31 收藏 0 点赞 0 评论 0
public void updateLabel(ViewerLabel label, TreePath elementPath) {
    Object firstSegment = elementPath.getFirstSegment();
    if (firstSegment instanceof IProject && elementPath.getSegmentCount() == 2) {
        IProject project = (IProject) firstSegment;
        Object lastSegment = elementPath.getLastSegment();
        if (lastSegment instanceof IFolder) {
            IFolder folder = (IFolder) lastSegment;
            if (!folder.getParent().equals(project)) {
                // This means that a folder that is not a direct child of the project
                // is a child in the tree. Therefore, the resource content provider
                // must be active and in compress folder mode so we will leave
                // it to the resource provider to provide the proper label.
                // We need to do this because of bug 153912
                return;
            }
        }
    }
    label.setImage(getImage(elementPath.getLastSegment()));
    label.setText(getText(elementPath.getLastSegment()));
    Font f = getFont(elementPath.getLastSegment());
    if (f != null)
        label.setFont(f);
}


问题


面经


文章

微信
公众号

扫码关注公众号