diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/.ratings b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/.ratings index f1570ac93c8732c24ce58f353a083f8653c4decc..fdef6020ade9f8eac0af2510c645f206c65a8aa6 100644 --- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/.ratings +++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/.ratings @@ -4,8 +4,7 @@ CopyPasteUtils.java 0c15b009bc7731dbd34349480d6bfa14af29e1b6 GREEN DataBindingUtils.java 2d27702d42ae7d89922af314be20e18e771d107f GREEN DragAndDropUtils.java fc8b7667405f329a05ce60428161e4d096d6547c GREEN EObjectSelectionUtils.java 8e74691388cc7e19af23e6eae03460184cf179e5 GREEN -EditorUtils.java 4d5aac0498d2f873a855b05941a3106735343d10 GREEN -KernelUIUtils.java d23d2ec10398dec13173901cdae443cceff84b50 GREEN +KernelUIUtils.java e55b37b07608484a0f172272cf2576fe1341ef39 YELLOW ObservableUtils.java e0462fade584a281e984974caeadf5e01cfd84fe GREEN PropertiesConstantUtils.java adb7d03ed6969d75fdb85e1f167eceb4b793d585 GREEN SelectionUtils.java 2599e2803dc790fe77ff16ebb6c0387b71a0c823 GREEN diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/KernelUIUtils.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/KernelUIUtils.java index 012b2fe6a43bece2a11c045a567a1be6275e3ac1..b038a28a44e17e5bca4d71f5dee70ee92e5324b9 100644 --- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/KernelUIUtils.java +++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/KernelUIUtils.java @@ -16,10 +16,14 @@ package org.fortiss.tooling.kernel.ui.util; import org.eclipse.emf.ecore.EObject; +import org.eclipse.swt.graphics.Image; import org.eclipse.ui.part.MultiPageEditorSite; +import org.fortiss.tooling.kernel.model.INamedElement; import org.fortiss.tooling.kernel.ui.extension.IModelEditor; +import org.fortiss.tooling.kernel.ui.extension.IModelElementHandler; import org.fortiss.tooling.kernel.ui.internal.editor.ExtendableMultiPageEditor; import org.fortiss.tooling.kernel.ui.service.IModelEditorBindingService; +import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService; /** * Utility methods related to editors. @@ -28,6 +32,8 @@ import org.fortiss.tooling.kernel.ui.service.IModelEditorBindingService; */ public class KernelUIUtils { /** + * Returns the opened edited of the given class (if it exists). + * * @param editorClazz * Class of the editor you would like to get. * @param activateEditor @@ -54,4 +60,40 @@ public class KernelUIUtils { } return null; } + + /** + * Returns a UI name for the given {@code element}, or {@code null} in case it cannot be + * determined. + */ + public static String getName(Object element) { + if(!(element instanceof EObject)) { + return null; + } + EObject eObject = (EObject)element; + IModelElementHandler<EObject> modelElementHandler = + IModelElementHandlerService.getInstance().getModelElementHandler(eObject); + if(modelElementHandler != null) { + return modelElementHandler.getName(eObject); + } else if(element instanceof INamedElement) { + return ((INamedElement)element).getName(); + } + + return null; + } + + /** + * Returns an {@link Image} for the given {@code element}, or {@code null} in case it cannot be + * determined. + */ + public static Image getImage(Object element) { + if(element instanceof EObject) { + EObject eObj = (EObject)element; + IModelElementHandler<EObject> modelElementHandler = + IModelElementHandlerService.getInstance().getModelElementHandler(eObj); + if(modelElementHandler != null) { + return modelElementHandler.getIcon(eObj); + } + } + return null; + } }