1 11 package org.eclipse.help.ui.internal.dynamic; 12 13 import org.eclipse.help.internal.dynamic.FilterResolver.Extension; 14 import org.eclipse.ui.PlatformUI; 15 import org.eclipse.ui.activities.IActivityManager; 16 import org.eclipse.ui.activities.IWorkbenchActivitySupport; 17 import org.eclipse.ui.activities.WorkbenchActivityHelper; 18 19 23 public class FilterResolverExtension implements Extension { 24 25 private static final String NAME_ACTIVITY = "activity"; private static final String NAME_CATEGORY = "category"; 28 31 public boolean isHandled(String name) { 32 return (name.equals(NAME_ACTIVITY) || name.equals(NAME_CATEGORY)); 33 } 34 35 38 public boolean isFiltered(String name, String value) { 39 if (name.equals(NAME_ACTIVITY)) { 40 return filterByActivity(value); 41 } 42 else if (name.equals(NAME_CATEGORY)) { 43 return filterByCategory(value); 44 } 45 return false; 46 } 47 48 51 private static boolean filterByCategory(String categoryId) { 52 try { 53 IWorkbenchActivitySupport workbenchActivitySupport = PlatformUI.getWorkbench().getActivitySupport(); 54 IActivityManager activityManager = workbenchActivitySupport.getActivityManager(); 55 if (activityManager.getCategory(categoryId).isDefined()) { 56 return !WorkbenchActivityHelper.isEnabled(activityManager, categoryId); 57 } 58 return true; 59 } 60 catch (Exception e) { 61 return false; 63 } 64 } 65 66 69 private static boolean filterByActivity(String activityId) { 70 try { 71 IWorkbenchActivitySupport workbenchActivitySupport = PlatformUI.getWorkbench().getActivitySupport(); 72 IActivityManager activityManager = workbenchActivitySupport.getActivityManager(); 73 if (activityManager.getActivity(activityId).isDefined()) { 74 return !activityManager.getActivity(activityId).isEnabled(); 75 } 76 return true; 77 } 78 catch (Exception e) { 79 return false; 81 } 82 } 83 } 84 | Popular Tags |