Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/facet/org.eclipse.papyrus.emf.facet.efacet.ui/src/org/eclipse/papyrus/emf/facet/efacet/ui/internal/widget/ETypedElementSelectionControlManager.java')
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.ui/src/org/eclipse/papyrus/emf/facet/efacet/ui/internal/widget/ETypedElementSelectionControlManager.java436
1 files changed, 218 insertions, 218 deletions
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.ui/src/org/eclipse/papyrus/emf/facet/efacet/ui/internal/widget/ETypedElementSelectionControlManager.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.ui/src/org/eclipse/papyrus/emf/facet/efacet/ui/internal/widget/ETypedElementSelectionControlManager.java
index 22c60b3f9a3..85e28e5b0d2 100644
--- a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.ui/src/org/eclipse/papyrus/emf/facet/efacet/ui/internal/widget/ETypedElementSelectionControlManager.java
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.ui/src/org/eclipse/papyrus/emf/facet/efacet/ui/internal/widget/ETypedElementSelectionControlManager.java
@@ -1,219 +1,219 @@
-/**
- * Copyright (c) 2012 CEA-LIST.
- *
- * 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:
- * Vincent Lorenzo (CEA-LIST) - Bug 357621 - Improve the label displayed for Customization and Facets
- * Gregoire Dupe (Mia-Software) - Bug 357621 - Improve the label displayed for Customization and Facets
- * Gregoire Dupe (Mia-Software) - Bug 372626 - Aggregates
- * Nicolas Bros (Mia-Software) - Bug 370806 - [table] rewrite the "allowed contents" query selection dialog for v0.2
- */
-package org.eclipse.papyrus.emf.facet.efacet.ui.internal.widget;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.ETypedElement;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.IOpenListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.papyrus.emf.facet.custom.core.ICustomizationManager;
-import org.eclipse.papyrus.emf.facet.efacet.ui.internal.Activator;
-import org.eclipse.papyrus.emf.facet.efacet.ui.internal.preferences.PreferenceConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.ui.dialogs.FilteredTree;
-
-public class ETypedElementSelectionControlManager implements
- IETypedElementSelectionControlManager {
-
- // this map does the link between the tabItem and the filtered trees
- private final Map<TabItem, IETypedElementTabSelectionWidgetInternal> trees;
- private TabFolder tabFolder;
- private final Composite parentComposite;
- private final int selectionMaxSize;
-
- /**
- * true if empty selection is allowed
- */
- private final boolean emptySelection;
- private final ICustomizationManager customManager;
- private Collection<? extends ETypedElement> availableElements;
- private final Collection<? extends EObject> knownEPackage;
-
- public ETypedElementSelectionControlManager(
- final Composite parentComposite, final int selectionMaxSize,
- final boolean emptySelection,
- final ICustomizationManager customManager,
- final Collection<? extends EObject> knownEPackage) {
-
- this.trees = new HashMap<TabItem, IETypedElementTabSelectionWidgetInternal>();
- this.parentComposite = parentComposite;
- this.selectionMaxSize = selectionMaxSize;
- this.emptySelection = emptySelection;
- this.customManager = customManager;
- this.knownEPackage = knownEPackage;
- }
-
- private static Composite createComposite(final Composite parent) {
- final Composite composite = new Composite(parent, SWT.NONE);
- final GridLayout layout = new GridLayout();
- composite.setLayout(layout);
- composite.setLayoutData(new GridData(GridData.FILL_BOTH));
- return composite;
- }
-
- private void init() {
- this.tabFolder = new TabFolder(this.parentComposite, SWT.TOP);
- this.tabFolder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true,
- true));
-
- // we create the flat tree
- final TabItem flatItem = new TabItem(this.tabFolder, SWT.NONE);
-
- final Composite flatComposite = createComposite(this.tabFolder);
- IETypedElementTabSelectionWidgetInternal filteredTree = new ETypedElementSelectionControl(
- flatComposite, this.selectionMaxSize, this.emptySelection,
- this.customManager, this.knownEPackage);
- flatItem.setText(filteredTree.getTitle());
- flatItem.setToolTipText(filteredTree.getToolTipText());
- flatItem.setImage(filteredTree.getImage());
- this.trees.put(flatItem, filteredTree);
- flatItem.setControl(flatComposite);
- // we create the sortedTabItem
- final TabItem sortedItem = new TabItem(this.tabFolder, SWT.NONE);
- final Composite sortedComposite = createComposite(this.tabFolder);
- filteredTree = new ETypedElementSelectionSortedControl(sortedComposite,
- this.selectionMaxSize, this.emptySelection, this.customManager,
- this.knownEPackage);
- sortedItem.setText(filteredTree.getTitle());
- sortedItem.setToolTipText(filteredTree.getToolTipText());
- sortedItem.setImage(filteredTree.getImage());
- sortedItem.setControl(sortedComposite);
- this.trees.put(sortedItem, filteredTree);
- initSelectedTabItem();
- }
-
- private IETypedElementTabSelectionWidgetInternal getActiveTree() {
- // selectionIndex: Index of the selected tab
- final int selectionIndex = this.tabFolder.getSelectionIndex();
- final TabItem currentTabItem = this.tabFolder
- .getItem(selectionIndex);
- return this.trees.get(currentTabItem);
- }
-
- public void addOpenListener(final IOpenListener openListener) {
- for (IETypedElementSelectionWidgetInternal tree : this.trees.values()) {
- tree.addOpenListener(openListener);
- }
- }
-
- public void addSelectionChangedListener(
- final ISelectionChangedListener listener) {
- for (IETypedElementSelectionWidgetInternal tree : this.trees.values()) {
- tree.addSelectionChangedListener(listener);
- }
- }
-
- /**
- * Set the focus on the last selected TabItem
- */
- private void initSelectedTabItem() {
- final IPreferenceStore store = Activator.getDefault()
- .getPreferenceStore();
- final String value = store
- .getString(PreferenceConstants.TE_SELECTION_TAB);
- for (TabItem item : this.tabFolder.getItems()) {
- if (item.getText().equals(value)) {
- this.tabFolder.setSelection(item);
- return;
- }
- }
- }
-
- public IStatus getValidationStatus() {
- return getActiveTree().getValidationStatus();
- }
-
- public void setAvailableETypedElements(
- final Collection<? extends ETypedElement> availableTE) {
- this.availableElements = availableTE;
- for (IETypedElementSelectionWidgetInternal current : this.trees
- .values()) {
- current.setAvailableETypedElements(availableTE);
- }
- }
-
- public List<ETypedElement> getSelectedETypedElements() {
- return getActiveTree().getSelectedETypedElements();
- }
-
- private void updatePreferenceValue() {
- final IPreferenceStore store = Activator.getDefault()
- .getPreferenceStore();
- final String value = getActiveTree().getTitle();
- store.setValue(
- PreferenceConstants.TE_SELECTION_TAB,
- value);
- }
-
- public void setSelectedETypedElements(
- final Collection<? extends ETypedElement> newSelection) {
- if (newSelection == null) {
- throw new IllegalArgumentException();
- }
- // only select elements that match the filter
- final List<ETypedElement> filteredSelection = new ArrayList<ETypedElement>();
- for (ETypedElement typedElement : newSelection) {
- if (this.availableElements.contains(typedElement)) {
- filteredSelection.add(typedElement);
- }
- }
- setSelection(new StructuredSelection(filteredSelection));
- }
-
- public void setSelection(final IStructuredSelection selection) {
- for (IETypedElementSelectionWidgetInternal filteredTree : this.trees
- .values()) {
- filteredTree.setSelection(selection);
- }
- }
-
- public List<ETypedElement> computeResult() {
- // we save the last visible item :
- updatePreferenceValue();
- return getActiveTree().getSelectedETypedElements();
- }
-
- public boolean isDisposed() {
- return this.tabFolder == null || this.tabFolder.isDisposed() || getActiveTree().isDisposed();
- }
-
- public FilteredTree getFilteredTree() {
- return getActiveTree().getFilteredTree();
- }
-
- public void createContents() {
- init();
- for (IETypedElementSelectionWidgetInternal current : this.trees
- .values()) {
- current.createContents();
- }
- }
-
+/**
+ * Copyright (c) 2012 CEA-LIST.
+ *
+ * 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:
+ * Vincent Lorenzo (CEA-LIST) - Bug 357621 - Improve the label displayed for Customization and Facets
+ * Gregoire Dupe (Mia-Software) - Bug 357621 - Improve the label displayed for Customization and Facets
+ * Gregoire Dupe (Mia-Software) - Bug 372626 - Aggregates
+ * Nicolas Bros (Mia-Software) - Bug 370806 - [table] rewrite the "allowed contents" query selection dialog for v0.2
+ */
+package org.eclipse.papyrus.emf.facet.efacet.ui.internal.widget;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.ETypedElement;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.viewers.IOpenListener;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.papyrus.emf.facet.custom.core.ICustomizationManager;
+import org.eclipse.papyrus.emf.facet.efacet.ui.internal.Activator;
+import org.eclipse.papyrus.emf.facet.efacet.ui.internal.preferences.PreferenceConstants;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+import org.eclipse.ui.dialogs.FilteredTree;
+
+public class ETypedElementSelectionControlManager implements
+ IETypedElementSelectionControlManager {
+
+ // this map does the link between the tabItem and the filtered trees
+ private final Map<TabItem, IETypedElementTabSelectionWidgetInternal> trees;
+ private TabFolder tabFolder;
+ private final Composite parentComposite;
+ private final int selectionMaxSize;
+
+ /**
+ * true if empty selection is allowed
+ */
+ private final boolean emptySelection;
+ private final ICustomizationManager customManager;
+ private Collection<? extends ETypedElement> availableElements;
+ private final Collection<? extends EObject> knownEPackage;
+
+ public ETypedElementSelectionControlManager(
+ final Composite parentComposite, final int selectionMaxSize,
+ final boolean emptySelection,
+ final ICustomizationManager customManager,
+ final Collection<? extends EObject> knownEPackage) {
+
+ this.trees = new HashMap<TabItem, IETypedElementTabSelectionWidgetInternal>();
+ this.parentComposite = parentComposite;
+ this.selectionMaxSize = selectionMaxSize;
+ this.emptySelection = emptySelection;
+ this.customManager = customManager;
+ this.knownEPackage = knownEPackage;
+ }
+
+ private static Composite createComposite(final Composite parent) {
+ final Composite composite = new Composite(parent, SWT.NONE);
+ final GridLayout layout = new GridLayout();
+ composite.setLayout(layout);
+ composite.setLayoutData(new GridData(GridData.FILL_BOTH));
+ return composite;
+ }
+
+ private void init() {
+ this.tabFolder = new TabFolder(this.parentComposite, SWT.TOP);
+ this.tabFolder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true,
+ true));
+
+ // we create the flat tree
+ final TabItem flatItem = new TabItem(this.tabFolder, SWT.NONE);
+
+ final Composite flatComposite = createComposite(this.tabFolder);
+ IETypedElementTabSelectionWidgetInternal filteredTree = new ETypedElementSelectionControl(
+ flatComposite, this.selectionMaxSize, this.emptySelection,
+ this.customManager, this.knownEPackage);
+ flatItem.setText(filteredTree.getTitle());
+ flatItem.setToolTipText(filteredTree.getToolTipText());
+ flatItem.setImage(filteredTree.getImage());
+ this.trees.put(flatItem, filteredTree);
+ flatItem.setControl(flatComposite);
+ // we create the sortedTabItem
+ final TabItem sortedItem = new TabItem(this.tabFolder, SWT.NONE);
+ final Composite sortedComposite = createComposite(this.tabFolder);
+ filteredTree = new ETypedElementSelectionSortedControl(sortedComposite,
+ this.selectionMaxSize, this.emptySelection, this.customManager,
+ this.knownEPackage);
+ sortedItem.setText(filteredTree.getTitle());
+ sortedItem.setToolTipText(filteredTree.getToolTipText());
+ sortedItem.setImage(filteredTree.getImage());
+ sortedItem.setControl(sortedComposite);
+ this.trees.put(sortedItem, filteredTree);
+ initSelectedTabItem();
+ }
+
+ private IETypedElementTabSelectionWidgetInternal getActiveTree() {
+ // selectionIndex: Index of the selected tab
+ final int selectionIndex = this.tabFolder.getSelectionIndex();
+ final TabItem currentTabItem = this.tabFolder
+ .getItem(selectionIndex);
+ return this.trees.get(currentTabItem);
+ }
+
+ public void addOpenListener(final IOpenListener openListener) {
+ for (IETypedElementSelectionWidgetInternal tree : this.trees.values()) {
+ tree.addOpenListener(openListener);
+ }
+ }
+
+ public void addSelectionChangedListener(
+ final ISelectionChangedListener listener) {
+ for (IETypedElementSelectionWidgetInternal tree : this.trees.values()) {
+ tree.addSelectionChangedListener(listener);
+ }
+ }
+
+ /**
+ * Set the focus on the last selected TabItem
+ */
+ private void initSelectedTabItem() {
+ final IPreferenceStore store = Activator.getDefault()
+ .getPreferenceStore();
+ final String value = store
+ .getString(PreferenceConstants.TE_SELECTION_TAB);
+ for (TabItem item : this.tabFolder.getItems()) {
+ if (item.getText().equals(value)) {
+ this.tabFolder.setSelection(item);
+ return;
+ }
+ }
+ }
+
+ public IStatus getValidationStatus() {
+ return getActiveTree().getValidationStatus();
+ }
+
+ public void setAvailableETypedElements(
+ final Collection<? extends ETypedElement> availableTE) {
+ this.availableElements = availableTE;
+ for (IETypedElementSelectionWidgetInternal current : this.trees
+ .values()) {
+ current.setAvailableETypedElements(availableTE);
+ }
+ }
+
+ public List<ETypedElement> getSelectedETypedElements() {
+ return getActiveTree().getSelectedETypedElements();
+ }
+
+ private void updatePreferenceValue() {
+ final IPreferenceStore store = Activator.getDefault()
+ .getPreferenceStore();
+ final String value = getActiveTree().getTitle();
+ store.setValue(
+ PreferenceConstants.TE_SELECTION_TAB,
+ value);
+ }
+
+ public void setSelectedETypedElements(
+ final Collection<? extends ETypedElement> newSelection) {
+ if (newSelection == null) {
+ throw new IllegalArgumentException();
+ }
+ // only select elements that match the filter
+ final List<ETypedElement> filteredSelection = new ArrayList<ETypedElement>();
+ for (ETypedElement typedElement : newSelection) {
+ if (this.availableElements.contains(typedElement)) {
+ filteredSelection.add(typedElement);
+ }
+ }
+ setSelection(new StructuredSelection(filteredSelection));
+ }
+
+ public void setSelection(final IStructuredSelection selection) {
+ for (IETypedElementSelectionWidgetInternal filteredTree : this.trees
+ .values()) {
+ filteredTree.setSelection(selection);
+ }
+ }
+
+ public List<ETypedElement> computeResult() {
+ // we save the last visible item :
+ updatePreferenceValue();
+ return getActiveTree().getSelectedETypedElements();
+ }
+
+ public boolean isDisposed() {
+ return this.tabFolder == null || this.tabFolder.isDisposed() || getActiveTree().isDisposed();
+ }
+
+ public FilteredTree getFilteredTree() {
+ return getActiveTree().getFilteredTree();
+ }
+
+ public void createContents() {
+ init();
+ for (IETypedElementSelectionWidgetInternal current : this.trees
+ .values()) {
+ current.createContents();
+ }
+ }
+
} \ No newline at end of file

Back to the top