diff options
| author | Mélanie Bats | 2016-09-06 14:53:21 +0000 |
|---|---|---|
| committer | Pierre-Charles David | 2016-09-15 19:24:41 +0000 |
| commit | 300c4e8a845d4bd3b0a146eb054e28a73b340016 (patch) | |
| tree | 279eab6f5044c8cd6ce1dab022f8b373d17e2d7f | |
| parent | 591a9074d3cc3d396a5c272ac29ca4c38c5c0803 (diff) | |
| download | org.eclipse.sirius-300c4e8a845d4bd3b0a146eb054e28a73b340016.tar.gz org.eclipse.sirius-300c4e8a845d4bd3b0a146eb054e28a73b340016.tar.xz org.eclipse.sirius-300c4e8a845d4bd3b0a146eb054e28a73b340016.zip | |
[489287] Filter the Default tab
Uses the EEFTabDescriptorFilter extension point to filter:
* the Default tab when an element is selected from the model explorer.
* the Semantic tab when an element is selected from the sirius editor.
Bug: 489287
Change-Id: I602663defafc94e057ad20ed840f33a354becff5
Signed-off-by: Mélanie Bats <melanie.bats@obeo.fr>
4 files changed, 57 insertions, 2 deletions
diff --git a/plugins/org.eclipse.sirius.ui.properties/META-INF/MANIFEST.MF b/plugins/org.eclipse.sirius.ui.properties/META-INF/MANIFEST.MF index 5966135d1a..8dfa526015 100644 --- a/plugins/org.eclipse.sirius.ui.properties/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.sirius.ui.properties/META-INF/MANIFEST.MF @@ -39,4 +39,5 @@ Export-Package: org.eclipse.sirius.ui.properties.api;version="4.1.0", org.eclipse.sirius.ui.properties.internal;version="4.1.0";x-internal:=true, org.eclipse.sirius.ui.properties.internal.expressions;version="4.1.0";x-internal:=true, org.eclipse.sirius.ui.properties.internal.migration;version="4.1.0";x-internal:=true, - org.eclipse.sirius.ui.properties.internal.tabprovider;version="4.1.0";x-internal:=true + org.eclipse.sirius.ui.properties.internal.tabprovider;version="4.1.0";x-internal:=true, + org.eclipse.sirius.ui.properties.internal.filter;version="4.1.0";x-internal:=true diff --git a/plugins/org.eclipse.sirius.ui.properties/plugin.properties b/plugins/org.eclipse.sirius.ui.properties/plugin.properties index 7ef60978f7..3c4e49275e 100644 --- a/plugins/org.eclipse.sirius.ui.properties/plugin.properties +++ b/plugins/org.eclipse.sirius.ui.properties/plugin.properties @@ -21,4 +21,7 @@ siriusTabDescriptorProvider.Description=Provides EEF tab descriptors according t SiriusTabDescriptorProvider_UnsupportedMultipleSelection=Multiple elements have been selected but only the first one will be used as only element in the selection is currently supported. SiriusTabDescriptorProvider_UndefinedSemanticElement=The current selection is not related to any semantic element. SiriusTabDescriptorProvider_DefaultPropertiesNotFound=The model containing the default configuration of the Properties page has not been found. -IDescriptionConverter_InvalidDescriptionType=The type of the description is invalid: received {0}, expected {1}
\ No newline at end of file +IDescriptionConverter_InvalidDescriptionType=The type of the description is invalid: received {0}, expected {1} + +siriusTabDescriptorFilter.Label=Sirius EEF Tab Descriptor Filter +siriusTabDescriptorFilter.Description=Filters the properties tabs according to a precondition
\ No newline at end of file diff --git a/plugins/org.eclipse.sirius.ui.properties/plugin.xml b/plugins/org.eclipse.sirius.ui.properties/plugin.xml index a097532376..685348669c 100644 --- a/plugins/org.eclipse.sirius.ui.properties/plugin.xml +++ b/plugins/org.eclipse.sirius.ui.properties/plugin.xml @@ -83,4 +83,13 @@ kind="VSM"> </participant> </extension> + <extension + point="org.eclipse.eef.properties.ui.eefTabDescriptorFilter"> + <descriptor + class="org.eclipse.sirius.ui.properties.internal.filter.SiriusTabDescriptorFilter" + description="%siriusTabDescriptorFilter.Description" + id="org.eclipse.sirius.ui.properties.filter.default" + label="%siriusTabDescriptorFilter.Label"> + </descriptor> + </extension> </plugin> diff --git a/plugins/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/filter/SiriusTabDescriptorFilter.java b/plugins/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/filter/SiriusTabDescriptorFilter.java new file mode 100644 index 0000000000..c0d2d1ba8b --- /dev/null +++ b/plugins/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/filter/SiriusTabDescriptorFilter.java @@ -0,0 +1,42 @@ +/******************************************************************************* + * Copyright (c) 2016 Obeo. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.sirius.ui.properties.internal.filter; + +import org.eclipse.eef.properties.ui.api.IEEFTabDescriptor; +import org.eclipse.eef.properties.ui.api.IEEFTabDescriptorFilter; + +/** + * The {@link IEEFTabDescriptorFilter} for Eclipse Sirius. + * + * @author mbats + */ +public class SiriusTabDescriptorFilter implements IEEFTabDescriptorFilter { + + /** + * Id of the default tab. + */ + private static final String DEFAULT_TAB_ID = "org.eclipse.sirius.ui.tools.views.model.explorer.tab"; //$NON-NLS-1$ + + /** + * Id of the semantic tab. + */ + private static final String SEMANTIC_TAB_ID = "property.tab.semantic"; //$NON-NLS-1$ + + @Override + public boolean filter(IEEFTabDescriptor tabDescriptor) { + // Filter the default tab existing in the properties view when an + // element is selected from the + // model explorer and the semantic tab when an element is selected from + // a Sirius editor + return !DEFAULT_TAB_ID.equals(tabDescriptor.getId()) && !SEMANTIC_TAB_ID.equals(tabDescriptor.getId()); + } + +} |
