@Override public void init ( final ICommonContentExtensionSite config ) { final ITreeContentProvider contentProvider = config.getService ().getContentExtensionById ( this.contentExtensionId ).getContentProvider (); if ( contentProvider instanceof ObservableSetTreeContentProvider ) { addSource ( ( (ObservableSetTreeContentProvider)contentProvider ).getKnownElements () ); } else if ( contentProvider instanceof ObservableSetContentProvider ) { addSource ( ( (ObservableSetContentProvider)contentProvider ).getKnownElements () ); } else if ( contentProvider instanceof ObservableListContentProvider ) { addSource ( ( (ObservableListContentProvider)contentProvider ).getKnownElements () ); } else if ( contentProvider instanceof ObservableListTreeContentProvider ) { addSource ( ( (ObservableListTreeContentProvider)contentProvider ).getKnownElements () ); } }
@Override public void doubleClick(DoubleClickEvent event) { final IStructuredSelection selection = (IStructuredSelection) event.getSelection(); if (selection == null || selection.isEmpty()) return; final Object sel = selection.getFirstElement(); final ITreeContentProvider provider = (ITreeContentProvider) viewer.getContentProvider(); if (!provider.hasChildren(sel)) return; if (viewer.getExpandedState(sel)) viewer.collapseToLevel(sel, AbstractTreeViewer.ALL_LEVELS); else viewer.expandToLevel(sel, 1); }
private boolean selectfirstMatching(Object[] elements) { if (elements == null) { return false; } for (int i = 0; i < elements.length; i++) { Object element = elements[i]; if (Boolean.TRUE.equals(textFilter.isMatchingOrNull(element))) { StructuredSelection selection = new StructuredSelection(element); treeViewer.setSelection(selection, true); return true; } ITreeContentProvider contentProvider = getTreeContentProvider(); Object[] children = contentProvider.getChildren(element); boolean selectionDone = selectfirstMatching(children); if (selectionDone) { return true; } } return false; }
/** * @param viewer * @param element * @return if the element has children that pass the filter */ private boolean hasUnfilteredChild(TreeViewer viewer, Object element) { // No point calling hasChildren() because the operation is the same // cost // as getting the children // If the element has a child that passes the filter, then we want // to // keep the parent around - even if it does not pass the filter // itself Object[] children = ((ITreeContentProvider) viewer.getContentProvider()).getChildren(element); if (children != null) { for (int i = 0; i < children.length; i++) { if (select(viewer, element, children[i])) { return true; } } } // Element does not pass the filter return false; }
@Override public boolean select(Viewer viewer, Object parentElement, Object element) { StructuredViewer sviewer = (StructuredViewer) viewer; ITreeContentProvider provider = (ITreeContentProvider) sviewer .getContentProvider(); if (element instanceof Group ) { for (Object child: provider.getChildren(element)) { if (select(viewer, element, child)) return true; } } else { Test test = (Test)element; if (test.getTestName().contains(searchTestName)) { return true; } } return false; }
/** * @see org.eclipse.ui.navigator.SaveablesProvider#getElements(org.eclipse.ui.Saveable) */ @Override public Object[] getElements(Saveable pSaveable) { if (pSaveable == null) { return new Object[] {}; } CommonViewer viewer = ProjectRegistry.ViewerRegistry.getViewer(); ITreeContentProvider contentProvider = (ITreeContentProvider) viewer.getContentProvider(); Object viewerInput = viewer.getInput(); if (contentProvider == null) { return null; } return contentProvider.getElements(viewerInput); }
public void checkStateChanged(CheckStateChangedEvent event) { Object element = event.getElement(); // in case of changed category, go to all problems if (element instanceof String) { ITreeContentProvider contentProvider = (ITreeContentProvider)getTreeViewer().getContentProvider(); Object[] problems = contentProvider.getChildren(element); for (Object problem : problems) { if (problem instanceof Problem) { ((Problem)problem).setEnabled(event.getChecked()); } } } if (element instanceof Problem) { ((Problem) element).setEnabled(event.getChecked()); } }
/** * Selects or deselects all methods. * * @param state * @throws JavaModelException */ private void selectAll(boolean state) { CheckboxTreeViewer checkboxTreeViewer = getGroup().getCheckboxTreeViewer(); ITreeContentProvider contentProvider = (ITreeContentProvider) checkboxTreeViewer.getContentProvider(); Object[] objects = contentProvider.getElements(checkboxTreeViewer.getInput()); for (Object object : objects) { checkboxTreeViewer.setChecked(object, state); } for (IMethod method : getBaseClassMethods()) { if (viewerFilterMethods.select(null, method.getParent(), method)) { if (state) { checkedMethods.add(method); } else { checkedMethods.remove(method); } } } }
/** * Uses the standard container selection dialog to * choose the new value for the container field. */ private void handleManifestmainclassBrowse() { String mainClass = getManifestmainclass(); ILabelProvider lp= new WorkbenchLabelProvider(); ITreeContentProvider cp= new WorkbenchContentProvider(); IResource[] res=jproject.getResource(); IJavaSearchScope searchScope= JavaSearchScopeFactory.getInstance().createJavaSearchScope(res, true); SelectionDialog dialog = JavaUI.createMainTypeDialog(getShell(), getContainer(), searchScope, 0, false); dialog.setMessage("Select Main-Class for JAR file"); dialog.setTitle("Fat Jar Config"); if (dialog.open() == SelectionDialog.OK) { Object[] elements= dialog.getResult(); if (elements.length == 1) { SourceType mainElement = (SourceType)elements[0]; mainClass = mainElement.getFullyQualifiedName(); manifestmainclassText.setText(mainClass); } } }
@Override public boolean isElementVisible(Viewer viewer, Object element) { if (WorkbenchActivityHelper.restrictUseOf(element)) return false; // Nodes are not differentiated based on category since // categories are selectable nodes. if (isLeafMatch(viewer, element)) { return true; } ITreeContentProvider contentProvider = (ITreeContentProvider) ((TreeViewer) viewer).getContentProvider(); IPropertiesViewerNode node = (IPropertiesViewerNode) 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; }
public boolean hasChildren(Object element) { List<ITreeContentProvider> providers = this.getProcessors(); boolean result = false; for (ITreeContentProvider provider : providers) { if (provider.hasChildren(element)) { result = true; break; } } return result; }
public TranslatableTreeComposite(Composite parent, ITreeContentProvider contentProvider, Object input, TranslatableSet languageSet, Set<TranslatableResourceBundle> updatedBundles) { super(parent, SWT.NONE); setLayout(new GridLayout(1, false)); final TreeViewer viewer = new TreeViewer(this, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); treeControl = viewer.getTree(); viewer.getTree().setHeaderVisible(true); viewer.getTree().setLinesVisible(true); viewer.getTree().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true)); viewer.setContentProvider(contentProvider); createTreeColumns(viewer, languageSet, updatedBundles); viewer.setInput(input); ColumnViewerToolTipSupport.enableFor(viewer); createButtonsSection(this, viewer, languageSet, updatedBundles).setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); }
/** * Creates an instance of this class. Use this constructor if you wish to specify * the width and/or height of the combined widget (to only hardcode one of the * sizing dimensions, specify the other dimension's value as -1) * @param parent parent composite * @param rootObject * @param treeContentProvider * @param treeLabelProvider * @param listContentProvider * @param listLabelProvider * @param style * @param width the width * @param height the height */ public CheckboxTreeAndListGroup( Composite parent, Object rootObject, ITreeContentProvider treeContentProvider, ILabelProvider treeLabelProvider, IStructuredContentProvider listContentProvider, ILabelProvider listLabelProvider, int style, int width, int height) { fRoot= rootObject; fTreeContentProvider= treeContentProvider; fListContentProvider= listContentProvider; fTreeLabelProvider= treeLabelProvider; fListLabelProvider= listLabelProvider; createContents(parent, width, height, style); }
private String getQualification(Object element) { StringBuffer res= new StringBuffer(); ITreeContentProvider provider= (ITreeContentProvider) fPage.getViewer().getContentProvider(); Object visibleParent= provider.getParent(element); Object realParent= fContentProvider.getParent(element); Object lastElement= element; while (realParent != null && !(realParent instanceof IJavaModel) && !realParent.equals(visibleParent)) { if (!isSameInformation(realParent, lastElement)) { res.append(JavaElementLabels.CONCAT_STRING).append(internalGetText(realParent)); } lastElement= realParent; realParent= fContentProvider.getParent(realParent); } return res.toString(); }
@Override public boolean isElementVisible(Viewer viewer, Object element) { boolean hasChildren= ((ITreeContentProvider) ((AbstractTreeViewer) viewer).getContentProvider()).hasChildren(element); if (fIsDeepFiltering) { if (!super.isElementVisible(viewer, element)) return false; // Also apply deep filtering to the other registered filters ViewerFilter[] filters= ((TreeViewer)viewer).getFilters(); for (int i= 0; i < filters.length; i++) { if (filters[i] == this) continue; if (!filters[i].select(viewer, element, element)) return false; } return true; } return hasChildren || isLeafMatch(viewer, element); }
/** * Tests if the specified element is on the given tree viewer * * @param treeViewer * the tree viewer * @param element * the element * * @return true if the element is on the tree, or false else. */ public static boolean containElement( AbstractTreeViewer treeViewer, Object element ) { ITreeContentProvider provider = (ITreeContentProvider) treeViewer.getContentProvider( ); Object input = treeViewer.getInput( ); if ( input instanceof Object[] ) { Object[] inputs = (Object[]) input; for ( int i = 0; i < inputs.length; i++ ) { if ( containElement( inputs[i], provider, element ) ) { return true; } } return false; } return containElement( input, provider, element ); }
@Override public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof Variant || element instanceof Commentable || element instanceof SoftwareElement) { return true; } else if (element instanceof VariationPoint) { return select((VariationPoint) element); } else { StructuredViewer sviewer = (StructuredViewer) viewer; ITreeContentProvider provider = (ITreeContentProvider) sviewer.getContentProvider(); for (Object child : provider.getChildren(element)) { if (select(viewer, element, child)) { return true; } } return false; } }
/** * Expand and select an given item in a tree viewer. All other tree items are collapsed. * * @param treeViewer * The treeviewer that contains the item. * @param contentProvider * A content provider to find parents and children of the given item. * @param selectedVPs * The selected items. */ public static void expandToObject(final TreeViewer treeViewer, ITreeContentProvider contentProvider, Iterable<VariationPoint> selectedVPs) { if (Iterables.isEmpty(selectedVPs)) { return; } treeViewer.collapseAll(); for (VariationPoint vp : selectedVPs) { expandToObject(treeViewer, contentProvider, vp); } Iterable<TreeItem> selection = Iterables.filter( Iterables.transform(selectedVPs, new Function<VariationPoint, TreeItem>() { @Override public TreeItem apply(VariationPoint arg0) { return (TreeItem) treeViewer.testFindItem(arg0); } }), Predicates.notNull()); treeViewer.getTree().setSelection(Iterables.toArray(selection, TreeItem.class)); }
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; }
private static boolean containElement( Object parent, ITreeContentProvider provider, Object element ) { if ( parent == null ) { return false; } if ( parent == element || parent.equals( element ) ) { return true; } if ( provider == null ) { return false; } Object[] children = provider.getChildren( parent ); for ( int i = 0; i < children.length; i++ ) { if ( containElement( children[i], provider, element ) ) { return true; } } return false; }
@SuppressWarnings("unchecked") @Override public <T> T getAdapter(Class<T> adapter) { if (BatchEditor.class.equals(adapter)) { return (T) this; } if (IContentOutlinePage.class.equals(adapter)) { return (T) getOutlinePage(); } if (ColorManager.class.equals(adapter)) { return (T) getColorManager(); } if (IFile.class.equals(adapter)) { IEditorInput input = getEditorInput(); if (input instanceof IFileEditorInput) { IFileEditorInput feditorInput = (IFileEditorInput) input; return (T) feditorInput.getFile(); } return null; } if (ISourceViewer.class.equals(adapter)) { return (T) getSourceViewer(); } if (StatusMessageSupport.class.equals(adapter)) { return (T) this; } if (ITreeContentProvider.class.equals(adapter) || BatchEditorTreeContentProvider.class.equals(adapter)) { if (outlinePage==null){ return null; } return (T) outlinePage.getContentProvider(); } return super.getAdapter(adapter); }
private boolean hasUnfilteredChild(TreeViewer viewer, TreePath parentPath, Object element) { TreePath elementPath = parentPath.createChildPath(element); IContentProvider contentProvider = viewer.getContentProvider(); Object[] children = contentProvider instanceof ITreePathContentProvider ? ((ITreePathContentProvider) contentProvider).getChildren(elementPath) : ((ITreeContentProvider) contentProvider).getChildren(element); /* avoid NPE + guard close */ if (children == null || children.length == 0) { return false; } for (int i = 0; i < children.length; i++) { if (selectTreePath(viewer, elementPath, children[i])) { return true; } } return false; }
private boolean selectfirstMatching(Object[] elements) { if (treeViewer==null){ return false; } if (textFilter==null){ return false; } if (elements == null) { return false; } for (int i = 0; i < elements.length; i++) { Object element = elements[i]; if (Boolean.TRUE.equals(textFilter.isMatchingOrNull(element))) { StructuredSelection selection = new StructuredSelection(element); treeViewer.setSelection(selection, true); return true; } ITreeContentProvider contentProvider = getTreeContentProvider(); Object[] children = contentProvider.getChildren(element); boolean selectionDone = selectfirstMatching(children); if (selectionDone) { return true; } } return false; }
@SuppressWarnings("unchecked") @Override public <T> T getAdapter(Class<T> adapter) { if (BashEditor.class.equals(adapter)) { return (T) this; } if (IContentOutlinePage.class.equals(adapter)) { return (T) getOutlinePage(); } if (ColorManager.class.equals(adapter)) { return (T) getColorManager(); } if (IFile.class.equals(adapter)) { IEditorInput input = getEditorInput(); if (input instanceof IFileEditorInput) { IFileEditorInput feditorInput = (IFileEditorInput) input; return (T) feditorInput.getFile(); } return null; } if (ISourceViewer.class.equals(adapter)) { return (T) getSourceViewer(); } if (StatusMessageSupport.class.equals(adapter)) { return (T) this; } if (ITreeContentProvider.class.equals(adapter) || BashEditorTreeContentProvider.class.equals(adapter)) { if (outlinePage == null) { return null; } return (T) outlinePage.getContentProvider(); } return super.getAdapter(adapter); }
@SuppressWarnings("unchecked") @Override public <T> T getAdapter(Class<T> adapter) { if (IExtendedEditor.class.equals(adapter)) { return (T) this; } if (ColorManager.class.equals(adapter)) { return (T) getColorManager(); } if (IFile.class.equals(adapter)) { IEditorInput input = getEditorInput(); if (input instanceof IFileEditorInput) { IFileEditorInput feditorInput = (IFileEditorInput) input; return (T) feditorInput.getFile(); } return null; } if (IContentOutlinePage.class.equals(adapter)) { return (T) outlinePage; } if (ITreeContentProvider.class.equals(adapter) || AbstractGroovyBasedEditorOutlineContentProvider.class.equals(adapter)) { return (T) contentProvider; } if (Model.class.equals(adapter)) { return (T) contentProvider.getModel(); } if (ISourceViewer.class.equals(adapter)) { return (T) getSourceViewer(); } if (StatusMessageSupport.class.equals(adapter)) { return (T) this; } return super.getAdapter(adapter); }
public AbstractGroovyBasedContentOutlinePage(IAdaptable adaptable) { if (adaptable == null) { contentProvider = new FallbackOutlineContentProvider(); return; } this.editor = adaptable.getAdapter(IExtendedEditor.class); this.contentProvider = adaptable.getAdapter(ITreeContentProvider.class); if (contentProvider == null) { contentProvider = new FallbackOutlineContentProvider(); } }
/** * Returns a content provider for <code>IResource</code>s that returns * only children of the given resource type. */ protected ITreeContentProvider getResourceProvider(final int resourceType) { return new WorkbenchContentProvider() { public Object[] getChildren(Object o) { if (o instanceof IContainer) { IResource[] members = null; try { members = ((IContainer)o).members(); } catch (CoreException e) { //just return an empty set of children return new Object[0]; } //filter out the desired resource types ArrayList results = new ArrayList(); for (int i = 0; i < members.length; i++) { //And the test bits with the resource types to see if they are what we want if ((members[i].getType() & resourceType) > 0) { results.add(members[i]); } } return results.toArray(); } else { return super.getChildren(o); } } }; }
public boolean isElementVisible(Viewer viewer, Object element) { // Preference nodes are not differentiated based on category since // categories are selectable nodes. if (isLeafMatch(viewer, element)) { return true; } ITreeContentProvider contentProvider = (ITreeContentProvider) ((TreeViewer) viewer).getContentProvider(); Object[] children = contentProvider.getChildren(element); // Will return true if any subnode of the element matches the search if (filter(viewer, element, children).length > 0) { return true; } return false; }
public static ElementTreeSelectionDialog createFolderDialog(String initialFolder, final IProject project, final boolean showAllProjects, final boolean showFolder, Shell shell) { ILabelProvider lp = new WorkbenchLabelProvider(); ITreeContentProvider cp = new WorkbenchContentProvider(); FolderSelectionDialog dialog = new FolderSelectionDialog(shell, lp, cp); // dialog.setTitle(TypeScriptUIMessages.TernModuleOptionsPanel_selectPathDialogTitle); IContainer folder = StringUtils.isEmpty(initialFolder) ? project : (project != null ? project.getFolder(initialFolder) : ResourcesPlugin.getWorkspace().getRoot().getFolder(new Path(initialFolder))); if (folder != null && folder.exists()) { dialog.setInitialSelection(folder); } dialog.setInput(ResourcesPlugin.getWorkspace().getRoot()); ViewerFilter filter = new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof IProject) { if (showAllProjects) return true; IProject p = (IProject) element; return (p.equals(project)); } else if (element instanceof IContainer) { IContainer container = (IContainer) element; if (showFolder && container.getType() == IResource.FOLDER) { return true; } return false; } return false; } }; dialog.addFilter(filter); return dialog; }
/** * 생성자 * * @param parent * @param labelProvider * @param contentProvider */ public MergeClassDialog(Shell parent, ILabelProvider labelProvider, ITreeContentProvider contentProvider) { super(parent, labelProvider, contentProvider); this.setAllowMultiple(false); intializeDialog(); }
/** * 생성자 * * @param parent * @param labelProvider * @param contentProvider */ public MergeUsecaseDialog(Shell parent, ILabelProvider labelProvider, ITreeContentProvider contentProvider) { super(parent, labelProvider, contentProvider); this.setAllowMultiple(false); intializeDialog(); }
public CheckboxTreeAndListGroup(Composite parent, Object rootObject, ITreeContentProvider treeContentProvider, ILabelProvider treeLabelProvider, IStructuredContentProvider listContentProvider, ILabelProvider listLabelProvider, int style, int width, int height) { fExpandedTreeNodes = new ArrayList(); fCheckedStateStore = new HashMap(9); fWhiteCheckedTreeItems = new ArrayList(); fListeners = new ArrayList(); fRoot = rootObject; fTreeContentProvider = treeContentProvider; fListContentProvider = listContentProvider; fTreeLabelProvider = treeLabelProvider; fListLabelProvider = listLabelProvider; createContents(parent, width, height, style); }