package org.eclipse.uml2.diagram.clazz.async;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.uml2.diagram.clazz.edit.parts.PackageEditPart;
import org.eclipse.uml2.diagram.clazz.navigator.UMLNavigatorLabelProvider;
import org.eclipse.uml2.diagram.clazz.part.ModelElementSelectionPage;
import org.eclipse.uml2.diagram.clazz.part.UMLDiagramEditorPlugin;
import org.eclipse.uml2.diagram.clazz.part.UMLDiagramUpdater;
import org.eclipse.uml2.diagram.clazz.part.UMLVisualIDRegistry;
import org.eclipse.uml2.diagram.common.async.NewDiagramSyncHelper;
import org.eclipse.uml2.diagram.common.async.NewDiagramSynchronizationWizardPage;
import org.eclipse.uml2.diagram.common.async.SyncModelContext;
import org.eclipse.uml2.diagram.common.async.SyncModelUI;
/**
* @generated
*/
public class UMLClassSynchronizationWizardPage extends NewDiagramSynchronizationWizardPage {
/**
* @generated
*/
public UMLClassSynchronizationWizardPage(String pageName, TransactionalEditingDomain domain) {
super(pageName, domain, new UMLNavigatorLabelProvider());
}
/**
* @generated
*/
@Override
protected NewDiagramSyncHelper createNewDiagramSyncHelper(TransactionalEditingDomain domain) {
SyncModelContext context = new SyncModelContext(//
UMLDiagramUpdater.TYPED_ADAPTER, //
UMLVisualIDRegistry.TYPED_ADAPTER, //
UMLDiagramEditorPlugin.DIAGRAM_PREFERENCES_HINT, //
domain, true);
return new NewDiagramSyncHelper(context, PackageEditPart.MODEL_ID);
}
/**
* @generated
*/
@Override
protected EObject getWizardSemanticRoot() {
IWizardPage previos = getPreviousPage();
while (previos != null) {
if (previos instanceof ModelElementSelectionPage) {
return ((ModelElementSelectionPage) previos).getModelElement();
}
previos = previos.getPreviousPage();
}
return null;
}
/**
* @generated
*/
@Override
protected void addViewerFilters(SyncModelUI syncModelUI) {
syncModelUI.getUI().addFilter(new UMLClassDiagramHeaderFilter());
}
}