Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMickael ADAM2016-12-05 09:21:07 +0000
committerGerrit Code Review @ Eclipse.org2016-12-06 08:49:00 +0000
commit2ce462f49df8e80ac00d59a988c7f1d464d25aa6 (patch)
treebb366e7bfad4fd2035e100094ef7539e9005d698 /plugins/views/modelexplorer
parentbb8bd38eb65f1c405ca4a8a70dcf4087d983894e (diff)
downloadorg.eclipse.papyrus-2ce462f49df8e80ac00d59a988c7f1d464d25aa6.tar.gz
org.eclipse.papyrus-2ce462f49df8e80ac00d59a988c7f1d464d25aa6.tar.xz
org.eclipse.papyrus-2ce462f49df8e80ac00d59a988c7f1d464d25aa6.zip
Bug 508516 - [Model Explorer] Removing profile filter broke the search
https://bugs.eclipse.org/bugs/show_bug.cgi?id=508516 - declare filter with extension point instead of use viewer.addFilter() Change-Id: Ibfe02041080c644d89f2649427cffcbba9bda4cc Signed-off-by: Mickael ADAM <mickael.adam@ALL4TEC.net>
Diffstat (limited to 'plugins/views/modelexplorer')
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/plugin.xml7
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/ModelExplorerView.java23
2 files changed, 28 insertions, 2 deletions
diff --git a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/plugin.xml b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/plugin.xml
index 486a094776e..32386f69d92 100644
--- a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/plugin.xml
+++ b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/plugin.xml
@@ -114,6 +114,13 @@
</or>
</enablement>
</actionProvider>
+ <commonFilter
+ activeByDefault="true"
+ class="org.eclipse.papyrus.infra.widgets.providers.PatternViewerFilter"
+ id="org.eclipse.papyrus.views.modelexplorer.filter"
+ name="search filter"
+ visibleInUI="false">
+ </commonFilter>
</extension>
<!--
<extension
diff --git a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/ModelExplorerView.java b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/ModelExplorerView.java
index 2e3ca0a0d33..d25b7fc021d 100644
--- a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/ModelExplorerView.java
+++ b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/ModelExplorerView.java
@@ -56,6 +56,7 @@ import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerColumn;
+import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.jface.window.ToolTip;
import org.eclipse.papyrus.commands.DestroyElementPapyrusCommand;
import org.eclipse.papyrus.infra.core.resource.IReadOnlyHandler2;
@@ -131,6 +132,7 @@ import org.eclipse.ui.navigator.CommonViewerSorter;
import org.eclipse.ui.navigator.IExtensionActivationListener;
import org.eclipse.ui.navigator.ILinkHelper;
import org.eclipse.ui.navigator.INavigatorContentService;
+import org.eclipse.ui.navigator.INavigatorFilterService;
import org.eclipse.ui.navigator.LinkHelperService;
import org.eclipse.ui.part.FileEditorInput;
import org.eclipse.ui.views.properties.IPropertySheetPage;
@@ -149,6 +151,9 @@ import com.google.common.collect.Lists;
*/
public class ModelExplorerView extends CommonNavigator implements IRevealSemanticElement, IEditingDomainProvider, IPageLifeCycleEventsListener {
+ /** The Id of the declared search field filter. */
+ private static final String SEARCH_FILTER_ID = "org.eclipse.papyrus.views.modelexplorer.filter";//$NON-NLS-1$
+
private SharedModelExplorerState sharedState;
private SharedModelExplorerState.StateChangedListener sharedStateListener;
@@ -643,8 +648,22 @@ public class ModelExplorerView extends CommonNavigator implements IRevealSemanti
filterComposite.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));
// Set the viewerFilter
- viewerFilter = new PatternViewerFilter();
- getCommonViewer().setFilters(viewerFilter);
+ INavigatorFilterService filterService = getCommonViewer().getNavigatorContentService().getFilterService();
+ if (!filterService.isActive(SEARCH_FILTER_ID)) {
+ String[] filterId = { SEARCH_FILTER_ID };
+ filterService.activateFilterIdsAndUpdateViewer(filterId);
+ }
+ ViewerFilter[] visibleFilters = filterService.getVisibleFilters(true);
+ for (int i = 0; i < visibleFilters.length; i++) {
+ if (visibleFilters[i] instanceof PatternViewerFilter) {
+ viewerFilter = (PatternViewerFilter) visibleFilters[i];
+ break;
+ }
+ }
+ if (null == viewerFilter) {
+ viewerFilter = new PatternViewerFilter();
+ }
+
viewerFilter.setPattern("*");//$NON-NLS-1$
// Create the filter composite

Back to the top