1 9 10 package org.eclipse.help.ui.internal.xhtml; 11 12 import org.eclipse.help.internal.FilterableHelpElement; 13 import org.eclipse.help.internal.FilterableUAElement; 14 import org.eclipse.help.internal.base.HelpBasePlugin; 15 import org.eclipse.help.internal.xhtml.UAContentFilterProcessor; 16 import org.eclipse.ui.PlatformUI; 17 import org.eclipse.ui.activities.IActivityManager; 18 import org.eclipse.ui.activities.IWorkbenchActivitySupport; 19 import org.eclipse.ui.activities.WorkbenchActivityHelper; 20 21 25 public class UIContentFilterProcessor extends UAContentFilterProcessor { 26 27 32 public boolean isFilteredIn(String filter, String value, boolean isPositive) { 33 boolean filtered_in = false; 34 if (filter.equals("category")) { filtered_in = filterByCategory(value); 36 } else if (filter.equals("activity")) { filtered_in = filterByActivity(value); 38 } else 39 return super.isFilteredIn(filter, value, isPositive); 40 41 return isPositive ? filtered_in : !filtered_in; 42 } 43 44 50 public boolean isFilteredIn(FilterableUAElement element) { 51 if (element instanceof FilterableHelpElement && !HelpBasePlugin.getActivitySupport().isFilteringEnabled()) { 53 return true; 54 } 55 return super.isFilteredIn(element); 56 } 57 58 61 private static boolean filterByCategory(String categoryId) { 62 IWorkbenchActivitySupport workbenchActivitySupport = PlatformUI.getWorkbench().getActivitySupport(); 63 IActivityManager activityManager = workbenchActivitySupport.getActivityManager(); 64 if (!activityManager.getCategory(categoryId).isDefined()) 65 return false; 66 67 boolean categoryIsEnabled = WorkbenchActivityHelper.isEnabled(activityManager, categoryId); 68 if (categoryIsEnabled) 69 return true; 70 return false; 71 } 72 73 74 77 private static boolean filterByActivity(String activityId) { 78 IWorkbenchActivitySupport workbenchActivitySupport = PlatformUI.getWorkbench().getActivitySupport(); 79 IActivityManager activityManager = workbenchActivitySupport.getActivityManager(); 80 if (!activityManager.getActivity(activityId).isDefined()) 81 return false; 82 83 boolean activityIsEnabled = activityManager.getActivity(activityId).isEnabled(); 84 if (activityIsEnabled) 85 return true; 86 return false; 87 } 88 89 90 91 } 92 | Popular Tags |