@Override protected boolean installInterestFilter(StructuredViewer viewer) { if (commonNavigator == null) { commonNavigator = (CommonNavigator) super.getPartForAction(); } try { // XXX: reflection Class<?> clazz2 = CoreExpressionFilter.class; filterExpressionField1 = clazz2.getDeclaredField("filterExpression"); // $NON-NLS-1$ filterExpressionField1.setAccessible(true); Class<?> clazz1 = CommonFilterDescriptor.class; filterExpressionField2 = clazz1.getDeclaredField("filterExpression"); // $NON-NLS-1$ filterExpressionField2.setAccessible(true); } catch (Exception e) { StatusHandler.log( new Status( IStatus.ERROR, ResourcesUiBridgePlugin.ID_PLUGIN, "Could not determine filter", e)); //$NON-NLS-1$ } filterDescriptors = CommonFilterDescriptorManager.getInstance() .findVisibleFilters(commonNavigator.getNavigatorContentService()); return super.installInterestFilter(viewer); }
public void run(IAction action) { if (navigator == null) { return; } Grouping grouping = getGrouping(action.getId()); if (grouping == null) { return; } BugContentProvider provider = BugContentProvider.getProvider(navigator.getNavigatorContentService()); provider.setGrouping(grouping); CommonViewer viewer = navigator.getCommonViewer(); Object[] expandedElements = viewer.getExpandedElements(); provider.reSetInput(); viewer.setExpandedElements(expandedElements); }
/* * (non-Javadoc) * @see org.eclipse.ui.actions.CompoundContributionItem#getContributionItems() */ @Override protected IContributionItem[] getContributionItems() { CommonNavigator navigator = (CommonNavigator) ViewsUtil.getPart(IUIConstants.ID_EXPLORER); if (navigator == null) return new IContributionItem[0]; INavigatorContentService contentService = navigator.getNavigatorContentService(); List<IContributionItem> items = new ArrayList<IContributionItem>(); List<String> extensionSet = new MRUList(IPreferenceKeys.PREF_CONTENT_MRU_LIST); CommonViewer commonViewer = navigator.getCommonViewer(); for (int i = 0; i < extensionSet.size(); i++) { String extensionId = extensionSet.get(i); INavigatorContentDescriptor contentDescriptor = contentService.getContentDescriptorById(extensionId); if (contentDescriptor != null) { items.add( new ActionContributionItem( new ContentMRUAction((i + 1), contentDescriptor, contentService, commonViewer))); } } return items.toArray(new IContributionItem[items.size()]); }
public void run(IAction action) { if (navigator != null) { CommonViewer viewer = navigator.getCommonViewer(); BugContentProvider provider = BugContentProvider.getProvider(navigator.getNavigatorContentService()); // provider.setRefreshRequested(true); Object[] expandedElements = viewer.getExpandedElements(); Object input = viewer.getInput(); if (provider.getChildren(input).length == 0) { viewer.setInput(null); if (input instanceof IWorkingSet || input instanceof IWorkspaceRoot) { viewer.setInput(input); } else { viewer.setInput(ResourcesPlugin.getWorkspace().getRoot()); } viewer.refresh(true); } else { provider.reSetInput(); } viewer.setExpandedElements(expandedElements); } }