X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.graphfile%2Fsrc%2Forg%2Fsimantics%2Fgraphfile%2Fhack%2FGraphFileEditorInput.java;h=f1ac6f485b8cdf406cc701bdf6724506be66508a;hb=refs%2Fchanges%2F38%2F238%2F2;hp=2673f3a45d37fba1c6366d961940351d5545b811;hpb=24e2b34260f219f0d1644ca7a138894980e25b14;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.graphfile/src/org/simantics/graphfile/hack/GraphFileEditorInput.java b/bundles/org.simantics.graphfile/src/org/simantics/graphfile/hack/GraphFileEditorInput.java index 2673f3a45..f1ac6f485 100644 --- a/bundles/org.simantics.graphfile/src/org/simantics/graphfile/hack/GraphFileEditorInput.java +++ b/bundles/org.simantics.graphfile/src/org/simantics/graphfile/hack/GraphFileEditorInput.java @@ -1,209 +1,209 @@ -/******************************************************************************* - * Copyright (c) 2013 Association for Decentralized Information Management - * in Industry THTH ry. - * 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: - * VTT Technical Research Centre of Finland - initial API and implementation - *******************************************************************************/ -package org.simantics.graphfile.hack; - -import java.net.URI; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IStorage; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.PlatformObject; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.ui.IFileEditorInput; -import org.eclipse.ui.IMemento; -import org.eclipse.ui.IPathEditorInput; -import org.eclipse.ui.IPersistableElement; -import org.eclipse.ui.IURIEditorInput; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.ide.IDE; -import org.eclipse.ui.model.IWorkbenchAdapter; - - -/** - * Editor input for files stored in the graph. - * - * Note: this class is required, since FileEditorInput is not able to load/save GraphFile references. - * Contents of this class are mostly copy-pasted from FileEditorInput. - * - * @author Marko Luukkainen - * - */ -public class GraphFileEditorInput extends PlatformObject implements IFileEditorInput, IPathEditorInput, IURIEditorInput, - IPersistableElement { -private GraphFile file; - - - /** - * Creates an editor input based of the given file resource. - * - * @param file the file resource - */ - public GraphFileEditorInput(GraphFile file) { - if (file == null) - throw new IllegalArgumentException(); - this.file = file; - - } - - /* (non-Javadoc) - * Method declared on Object. - */ - public int hashCode() { - return file.hashCode(); - } - - /* (non-Javadoc) - * Method declared on Object. - * - * The FileEditorInput implementation of this Object - * method bases the equality of two FileEditorInput objects on the - * equality of their underlying IFile resources. - */ - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (!(obj instanceof IFileEditorInput)) { - return false; - } - IFileEditorInput other = (IFileEditorInput) obj; - return file.equals(other.getFile()); - } - - /* (non-Javadoc) - * Method declared on IEditorInput. - */ - public boolean exists() { - return file.exists(); - } - - /* (non-Javadoc) - * Method declared on IPersistableElement. - */ - public String getFactoryId() { - return GraphFileEditorInputFactory.getFactoryId(); - } - - /* (non-Javadoc) - * Method declared on IFileEditorInput. - */ - public IFile getFile() { - return file; - } - - /* (non-Javadoc) - * Method declared on IEditorInput. - */ - public ImageDescriptor getImageDescriptor() { - IContentType contentType = IDE.getContentType(file); - return PlatformUI.getWorkbench().getEditorRegistry() - .getImageDescriptor(file.getName(), contentType); - } - - /* (non-Javadoc) - * Method declared on IEditorInput. - */ - public String getName() { - return file.getName(); - } - - /* (non-Javadoc) - * Method declared on IEditorInput. - */ - public IPersistableElement getPersistable() { - return this; - } - - /* (non-Javadoc) - * Method declared on IStorageEditorInput. - */ - public IStorage getStorage() { - return file; - } - - /* (non-Javadoc) - * Method declared on IEditorInput. - */ - public String getToolTipText() { - return file.getFullPath().makeRelative().toString(); - } - - /* (non-Javadoc) - * Method declared on IPersistableElement. - */ - public void saveState(IMemento memento) { - GraphFileEditorInputFactory.saveState(memento, this); - } - - - - /* (non-Javadoc) - * @see org.eclipse.ui.IURIEditorInput#getURI() - */ - public URI getURI() { - return file.getLocationURI(); - } - - - /* (non-Javadoc) - * @see org.eclipse.ui.IPathEditorInput#getPath() - */ - public IPath getPath() { - IPath location = file.getLocation(); - if (location != null) - return location; - - throw new IllegalArgumentException(); - } - - - /* (non-Javadoc) - * @see java.lang.Object#toString() - */ - public String toString() { - return getClass().getName() + "(" + getFile().getFullPath() + ")"; //$NON-NLS-1$ //$NON-NLS-2$ - } - - /* - * Allows for the return of an {@link IWorkbenchAdapter} adapter. - * - * @since 3.5 - * - * @see org.eclipse.core.runtime.PlatformObject#getAdapter(java.lang.Class) - */ - @SuppressWarnings("rawtypes") - public Object getAdapter(Class adapter) { - if (IWorkbenchAdapter.class.equals(adapter)) { - return new IWorkbenchAdapter() { - - public Object[] getChildren(Object o) { - return new Object[0]; - } - - public ImageDescriptor getImageDescriptor(Object object) { - return GraphFileEditorInput.this.getImageDescriptor(); - } - - public String getLabel(Object o) { - return GraphFileEditorInput.this.getName(); - } - - public Object getParent(Object o) { - return GraphFileEditorInput.this.getFile().getParent(); - } - }; - } - - return super.getAdapter(adapter); - } -} +/******************************************************************************* + * Copyright (c) 2013 Association for Decentralized Information Management + * in Industry THTH ry. + * 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: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +package org.simantics.graphfile.hack; + +import java.net.URI; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IStorage; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.PlatformObject; +import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.ui.IFileEditorInput; +import org.eclipse.ui.IMemento; +import org.eclipse.ui.IPathEditorInput; +import org.eclipse.ui.IPersistableElement; +import org.eclipse.ui.IURIEditorInput; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.ide.IDE; +import org.eclipse.ui.model.IWorkbenchAdapter; + + +/** + * Editor input for files stored in the graph. + * + * Note: this class is required, since FileEditorInput is not able to load/save GraphFile references. + * Contents of this class are mostly copy-pasted from FileEditorInput. + * + * @author Marko Luukkainen + * + */ +public class GraphFileEditorInput extends PlatformObject implements IFileEditorInput, IPathEditorInput, IURIEditorInput, + IPersistableElement { +private GraphFile file; + + + /** + * Creates an editor input based of the given file resource. + * + * @param file the file resource + */ + public GraphFileEditorInput(GraphFile file) { + if (file == null) + throw new IllegalArgumentException(); + this.file = file; + + } + + /* (non-Javadoc) + * Method declared on Object. + */ + public int hashCode() { + return file.hashCode(); + } + + /* (non-Javadoc) + * Method declared on Object. + * + * The FileEditorInput implementation of this Object + * method bases the equality of two FileEditorInput objects on the + * equality of their underlying IFile resources. + */ + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof IFileEditorInput)) { + return false; + } + IFileEditorInput other = (IFileEditorInput) obj; + return file.equals(other.getFile()); + } + + /* (non-Javadoc) + * Method declared on IEditorInput. + */ + public boolean exists() { + return file.exists(); + } + + /* (non-Javadoc) + * Method declared on IPersistableElement. + */ + public String getFactoryId() { + return GraphFileEditorInputFactory.getFactoryId(); + } + + /* (non-Javadoc) + * Method declared on IFileEditorInput. + */ + public IFile getFile() { + return file; + } + + /* (non-Javadoc) + * Method declared on IEditorInput. + */ + public ImageDescriptor getImageDescriptor() { + IContentType contentType = IDE.getContentType(file); + return PlatformUI.getWorkbench().getEditorRegistry() + .getImageDescriptor(file.getName(), contentType); + } + + /* (non-Javadoc) + * Method declared on IEditorInput. + */ + public String getName() { + return file.getName(); + } + + /* (non-Javadoc) + * Method declared on IEditorInput. + */ + public IPersistableElement getPersistable() { + return this; + } + + /* (non-Javadoc) + * Method declared on IStorageEditorInput. + */ + public IStorage getStorage() { + return file; + } + + /* (non-Javadoc) + * Method declared on IEditorInput. + */ + public String getToolTipText() { + return file.getFullPath().makeRelative().toString(); + } + + /* (non-Javadoc) + * Method declared on IPersistableElement. + */ + public void saveState(IMemento memento) { + GraphFileEditorInputFactory.saveState(memento, this); + } + + + + /* (non-Javadoc) + * @see org.eclipse.ui.IURIEditorInput#getURI() + */ + public URI getURI() { + return file.getLocationURI(); + } + + + /* (non-Javadoc) + * @see org.eclipse.ui.IPathEditorInput#getPath() + */ + public IPath getPath() { + IPath location = file.getLocation(); + if (location != null) + return location; + + throw new IllegalArgumentException(); + } + + + /* (non-Javadoc) + * @see java.lang.Object#toString() + */ + public String toString() { + return getClass().getName() + "(" + getFile().getFullPath() + ")"; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /* + * Allows for the return of an {@link IWorkbenchAdapter} adapter. + * + * @since 3.5 + * + * @see org.eclipse.core.runtime.PlatformObject#getAdapter(java.lang.Class) + */ + @SuppressWarnings("rawtypes") + public Object getAdapter(Class adapter) { + if (IWorkbenchAdapter.class.equals(adapter)) { + return new IWorkbenchAdapter() { + + public Object[] getChildren(Object o) { + return new Object[0]; + } + + public ImageDescriptor getImageDescriptor(Object object) { + return GraphFileEditorInput.this.getImageDescriptor(); + } + + public String getLabel(Object o) { + return GraphFileEditorInput.this.getName(); + } + + public Object getParent(Object o) { + return GraphFileEditorInput.this.getFile().getParent(); + } + }; + } + + return super.getAdapter(adapter); + } +}