package org.eclipse.e4.tools.emf.editor3x; import org.eclipse.e4.core.contexts.ContextFunction; import org.eclipse.e4.core.contexts.IEclipseContext; import org.eclipse.e4.tools.emf.editor3x.emf.EditUIUtil; import org.eclipse.e4.tools.emf.ui.common.IModelResource.ModelListener; import org.eclipse.e4.tools.emf.ui.common.EmfStoreModelResource; import org.eclipse.e4.tools.emf.ui.common.IModelResource; import org.eclipse.e4.tools.emf.ui.common.XMIModelResource; import org.eclipse.e4.tools.services.IDirtyProviderService; import org.eclipse.emf.common.util.URI; import org.eclipse.ui.IEditorInput; public class XMIResourceFunction extends ContextFunction { @Override public Object compute(final IEclipseContext context) { // final IEditorInput input = context.get(IEditorInput.class); final IDirtyProviderService dirtyProvider = context.get(IDirtyProviderService.class); // // if( input != null ) { // URI resourceURI = EditUIUtil.getURI(input); // final XMIModelResource resource = new XMIModelResource(resourceURI); final IModelResource resource=new EmfStoreModelResource(); resource.addModelListener(new ModelListener() { public void dirtyChanged() { dirtyProvider.setDirtyState(resource.isDirty()); } public void commandStackChanged() { } }); return resource; // } // return null; } }