Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'deprecated/org.eclipse.papyrus.uml.compare.ui/src/org/eclipse/papyrus/uml/compare/ui/viewer/content/part/UMLModelContentMergeTabFolder.java')
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare.ui/src/org/eclipse/papyrus/uml/compare/ui/viewer/content/part/UMLModelContentMergeTabFolder.java128
1 files changed, 128 insertions, 0 deletions
diff --git a/deprecated/org.eclipse.papyrus.uml.compare.ui/src/org/eclipse/papyrus/uml/compare/ui/viewer/content/part/UMLModelContentMergeTabFolder.java b/deprecated/org.eclipse.papyrus.uml.compare.ui/src/org/eclipse/papyrus/uml/compare/ui/viewer/content/part/UMLModelContentMergeTabFolder.java
new file mode 100644
index 00000000000..0ee17a0a5b8
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare.ui/src/org/eclipse/papyrus/uml/compare/ui/viewer/content/part/UMLModelContentMergeTabFolder.java
@@ -0,0 +1,128 @@
+/*****************************************************************************
+ * Copyright (c) 2010 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:
+ * Tatiana Fesenko (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.compare.ui.viewer.content.part;
+
+import org.eclipse.emf.compare.match.metamodel.Match2Elements;
+import org.eclipse.emf.compare.ui.viewer.content.ModelContentMergeViewer;
+import org.eclipse.emf.compare.ui.viewer.content.part.IModelContentMergeViewerTab;
+import org.eclipse.emf.compare.ui.viewer.content.part.ModelContentMergeTabFolder;
+import org.eclipse.emf.compare.ui.viewer.content.part.property.ModelContentMergePropertyTab;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.jface.viewers.IContentProvider;
+import org.eclipse.papyrus.uml.compare.ui.PapyrusLabelProvider;
+import org.eclipse.papyrus.uml.compare.ui.viewer.content.UMLModelContentMergeViewer;
+import org.eclipse.papyrus.uml.compare.ui.viewer.content.ElementContentMergeContentProvider.RootObject;
+import org.eclipse.papyrus.uml.compare.ui.viewer.content.part.diff.UMLModelContentMergeDiffTab;
+import org.eclipse.papyrus.uml.compare.ui.viewer.content.part.property.Match2ElementsWithDiff;
+import org.eclipse.papyrus.uml.compare.ui.viewer.content.part.property.UMLPropertyContentProvider;
+import org.eclipse.swt.widgets.Composite;
+
+
+/**
+ * The Class UMLModelContentMergeTabFolder.
+ */
+public class UMLModelContentMergeTabFolder extends ModelContentMergeTabFolder {
+
+ /** The my uml viewer. */
+ protected final UMLModelContentMergeViewer myUMLViewer;
+
+ /**
+ * Instantiates a new uML model content merge tab folder.
+ *
+ * @param viewer the viewer
+ * @param composite the composite
+ * @param side the side
+ */
+ public UMLModelContentMergeTabFolder(ModelContentMergeViewer viewer, Composite composite, int side) {
+ super(viewer, composite, side);
+ myUMLViewer = (UMLModelContentMergeViewer)viewer;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.ui.viewer.content.part.ModelContentMergeTabFolder#createModelContentMergeDiffTab(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ protected IModelContentMergeViewerTab createModelContentMergeDiffTab(Composite parent) {
+ UMLModelContentMergeDiffTab diffTab = new UMLModelContentMergeDiffTab(parent, partSide, this);
+ diffTab.setContentProvider(createDiffTabContentProvider());
+ diffTab.setLabelProvider(new PapyrusLabelProvider());
+ return diffTab;
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.ui.viewer.content.part.ModelContentMergeTabFolder#createModelContentMergeViewerTab(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ protected IModelContentMergeViewerTab createModelContentMergeViewerTab(Composite parent) {
+ ModelContentMergePropertyTab propertyTab = new ModelContentMergePropertyTab(parent, partSide, this);
+ propertyTab.setContentProvider(new UMLPropertyContentProvider());
+ return propertyTab;
+ }
+
+ /**
+ * Creates the diff tab content provider.
+ *
+ * @return the i content provider
+ */
+ protected IContentProvider createDiffTabContentProvider() {
+ ComposedAdapterFactory adapterFactory = new UMLAdapterFactory();
+ AdapterFactoryContentProvider result = new AdapterFactoryContentProvider(adapterFactory) {
+
+ @Override
+ public Object[] getElements(Object object) {
+ if(object instanceof RootObject) {
+ return new Object[]{ ((RootObject)object).object };
+ }
+ return super.getElements(object);
+ }
+ };
+
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.ui.viewer.content.part.ModelContentMergeTabFolder#findMatchFromElement(org.eclipse.emf.ecore.EObject)
+ */
+ protected EObject findMatchFromElement(EObject element) {
+ EObject matchElement = super.findMatchFromElement(element);
+ if(!myUMLViewer.isShowAllProperties() && matchElement instanceof Match2Elements) {
+ return new Match2ElementsWithDiff((Match2Elements)matchElement, myUMLViewer.getCurrentSelection().get(0));
+ }
+ return matchElement;
+ }
+
+ /**
+ * Gets the selected tab.
+ *
+ * @return the selected tab
+ */
+ public int getSelectedTab() {
+ return tabFolder.getSelectionIndex();
+ }
+
+ /**
+ * Checks if is property tab.
+ *
+ * @param index the index
+ * @return true, if is property tab
+ */
+ public boolean isPropertyTab(int index) {
+ final IModelContentMergeViewerTab currentTab = tabs.get(index);
+ return (currentTab == getPropertyPart());
+ }
+
+}

Back to the top