blob: 0fa98b49bb444c9fa97a106589c24fa56e30ef5a [file] [log] [blame]
//------------------------------------------------------------------------------
// Copyright (c) 2005, 2006 IBM Corporation and others.
// 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:
// IBM Corporation - initial implementation
//------------------------------------------------------------------------------
package org.eclipse.epf.authoring.ui.editors;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.epf.library.ui.IMethodElementProvider;
import org.eclipse.epf.uma.MethodElement;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IPersistableElement;
/**
* An editor input for method element editor
* @author Phong Nguyen Le
* @since 1.0
*/
public class MethodElementEditorInput implements IEditorInput, IMethodElementProvider {
private MethodElement methodElement;
private ImageDescriptor imageDescriptor = null;
// the current object being edited by the RTE
private EObject fModalObject;
// the current feature being edited by the RTE
private EStructuralFeature fModalObjectFeature;
public MethodElementEditorInput(MethodElement e) {
methodElement = e;
}
public MethodElement getMethodElement() {
return methodElement;
}
/**
*
* @see org.eclipse.ui.IEditorInput#exists()
*/
public boolean exists() {
return false;
}
/**
* @see org.eclipse.ui.IEditorInput#getImageDescriptor()
*/
public ImageDescriptor getImageDescriptor() {
return imageDescriptor;
}
/**
* @see org.eclipse.ui.IEditorInput#getName()
*/
public String getName() {
return methodElement.getName();
}
/**
*
* @return Name of method element + "." + name of feature being edited
*/
public String getFullName() {
String result = getName();
if (fModalObjectFeature != null) {
result += ".";
result += fModalObjectFeature.getName();
}
return result;
}
/**
* @see org.eclipse.ui.IEditorInput#getPersistable()
*/
public IPersistableElement getPersistable() {
return null;
}
/**
* @see org.eclipse.ui.IEditorInput#getToolTipText()
*/
public String getToolTipText() {
return ""; //$NON-NLS-1$
}
/**
* @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
*/
public Object getAdapter(Class adapter) {
return null;
}
/**
* @see java.lang.Object#equals(java.lang.Object)
*/
public boolean equals(Object obj) {
if (this == obj)
return true;
if (getClass().isInstance(obj)) {
return methodElement == ((MethodElementEditorInput) obj).getMethodElement() &&
fModalObject == ((MethodElementEditorInput) obj).getModalObject() &&
fModalObjectFeature == ((MethodElementEditorInput) obj).getModalObjectFeature();
}
return false;
}
@Override
public int hashCode() {
int result = methodElement.hashCode();
if (fModalObject != null) {
result ^= fModalObject.hashCode();
}
if (fModalObjectFeature != null) {
result ^= fModalObjectFeature.hashCode();
}
return result;
}
public EObject getModalObject() {
return fModalObject;
}
public void setModalObject(EObject object) {
fModalObject = object;
}
public EStructuralFeature getModalObjectFeature() {
return fModalObjectFeature;
}
public void setModalObjectFeature(EStructuralFeature feature) {
fModalObjectFeature = feature;
}
}