package org.eclipse.uml2.diagram.profile.navigator; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.gmf.runtime.common.ui.services.parser.IParser; import org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions; import org.eclipse.gmf.runtime.common.ui.services.parser.ParserService; import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter; import org.eclipse.gmf.runtime.emf.type.core.IElementType; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.jface.viewers.ITreePathLabelProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.jface.viewers.TreePath; import org.eclipse.jface.viewers.ViewerLabel; import org.eclipse.swt.graphics.Image; import org.eclipse.ui.IMemento; import org.eclipse.ui.navigator.ICommonContentExtensionSite; import org.eclipse.ui.navigator.ICommonLabelProvider; import org.eclipse.uml2.diagram.profile.edit.parts.CommentAnnotatedElementEditPart; import org.eclipse.uml2.diagram.profile.edit.parts.CommentBodyEditPart; import org.eclipse.uml2.diagram.profile.edit.parts.CommentEditPart; import org.eclipse.uml2.diagram.profile.edit.parts.Constraint2EditPart; import org.eclipse.uml2.diagram.profile.edit.parts.ConstraintConstrainedElementEditPart; import org.eclipse.uml2.diagram.profile.edit.parts.ConstraintEditPart; import org.eclipse.uml2.diagram.profile.edit.parts.ConstraintNameEditPart; import org.eclipse.uml2.diagram.profile.edit.parts.ElementImport2EditPart; import org.eclipse.uml2.diagram.profile.edit.parts.ElementImportEditPart; import org.eclipse.uml2.diagram.profile.edit.parts.EnumerationEditPart; import org.eclipse.uml2.diagram.profile.edit.parts.EnumerationLiteralEditPart; import org.eclipse.uml2.diagram.profile.edit.parts.EnumerationNameEditPart; import org.eclipse.uml2.diagram.profile.edit.parts.ExtensionEditPart; import org.eclipse.uml2.diagram.profile.edit.parts.ExtensionLink_requiredEditPart; import org.eclipse.uml2.diagram.profile.edit.parts.GeneralizationEditPart; import org.eclipse.uml2.diagram.profile.edit.parts.ImageEditPart; import org.eclipse.uml2.diagram.profile.edit.parts.Profile2EditPart; import org.eclipse.uml2.diagram.profile.edit.parts.Profile3EditPart; import org.eclipse.uml2.diagram.profile.edit.parts.ProfileEditPart; import org.eclipse.uml2.diagram.profile.edit.parts.ProfileName2EditPart; import org.eclipse.uml2.diagram.profile.edit.parts.ProfileNameEditPart; import org.eclipse.uml2.diagram.profile.edit.parts.PropertyEditPart; import org.eclipse.uml2.diagram.profile.edit.parts.ReferencedMetaclassNode_classNameEditPart; import org.eclipse.uml2.diagram.profile.edit.parts.Stereotype2EditPart; import org.eclipse.uml2.diagram.profile.edit.parts.StereotypeEditPart; import org.eclipse.uml2.diagram.profile.edit.parts.StereotypeNameEditPart; import org.eclipse.uml2.diagram.profile.part.UMLDiagramEditorPlugin; import org.eclipse.uml2.diagram.profile.part.UMLVisualIDRegistry; import org.eclipse.uml2.diagram.profile.providers.UMLElementTypes; import org.eclipse.uml2.diagram.profile.providers.UMLParserProvider; import org.eclipse.uml2.uml.Generalization; import org.eclipse.uml2.uml.Profile; /** * @generated */ public class UMLNavigatorLabelProvider extends LabelProvider implements ICommonLabelProvider, ITreePathLabelProvider { /** * @generated */ static { UMLDiagramEditorPlugin.getInstance().getImageRegistry().put("Navigator?UnknownElement", ImageDescriptor.getMissingImageDescriptor()); //$NON-NLS-1$ UMLDiagramEditorPlugin.getInstance().getImageRegistry().put("Navigator?ImageNotFound", ImageDescriptor.getMissingImageDescriptor()); //$NON-NLS-1$ } /** * @generated */ public void updateLabel(ViewerLabel label, TreePath elementPath) { Object element = elementPath.getLastSegment(); if (element instanceof UMLNavigatorItem && !isOwnView(((UMLNavigatorItem) element).getView())) { return; } label.setText(getText(element)); label.setImage(getImage(element)); } /** * @generated */ public Image getImage(Object element) { if (element instanceof UMLNavigatorGroup) { UMLNavigatorGroup group = (UMLNavigatorGroup) element; return UMLDiagramEditorPlugin.getInstance().getBundledImage(group.getIcon()); } if (element instanceof UMLNavigatorItem) { UMLNavigatorItem navigatorItem = (UMLNavigatorItem) element; if (!isOwnView(navigatorItem.getView())) { return super.getImage(element); } return getImage(navigatorItem.getView()); } // Due to plugin.xml content will be called only for "own" views if (element instanceof IAdaptable) { View view = (View) ((IAdaptable) element).getAdapter(View.class); if (view != null && isOwnView(view)) { return getImage(view); } } return super.getImage(element); } /** * @generated */ public Image getImage(View view) { switch (UMLVisualIDRegistry.getVisualID(view)) { case ProfileEditPart.VISUAL_ID: return getImage("Navigator?Diagram?http://www.eclipse.org/uml2/3.0.0/UML?Profile", UMLElementTypes.Profile_1000); //$NON-NLS-1$ case StereotypeEditPart.VISUAL_ID: return getImage("Navigator?TopLevelNode?http://www.eclipse.org/uml2/3.0.0/UML?Stereotype", UMLElementTypes.Stereotype_2001); //$NON-NLS-1$ case Profile2EditPart.VISUAL_ID: return getImage("Navigator?TopLevelNode?http://www.eclipse.org/uml2/3.0.0/UML?Profile", UMLElementTypes.Profile_2002); //$NON-NLS-1$ case EnumerationEditPart.VISUAL_ID: return getImage("Navigator?TopLevelNode?http://www.eclipse.org/uml2/3.0.0/UML?Enumeration", UMLElementTypes.Enumeration_2003); //$NON-NLS-1$ case ElementImportEditPart.VISUAL_ID: return getImage("Navigator?TopLevelNode?http://www.eclipse.org/uml2/3.0.0/UML?ElementImport", UMLElementTypes.ElementImport_2006); //$NON-NLS-1$ case Profile3EditPart.VISUAL_ID: return getImage("Navigator?TopLevelNode?http://www.eclipse.org/uml2/3.0.0/UML?Profile", UMLElementTypes.Profile_2007); //$NON-NLS-1$ case Constraint2EditPart.VISUAL_ID: return getImage("Navigator?TopLevelNode?http://www.eclipse.org/uml2/3.0.0/UML?Constraint", UMLElementTypes.Constraint_2008); //$NON-NLS-1$ case CommentEditPart.VISUAL_ID: return getImage("Navigator?TopLevelNode?http://www.eclipse.org/uml2/3.0.0/UML?Comment", UMLElementTypes.Comment_2009); //$NON-NLS-1$ case PropertyEditPart.VISUAL_ID: return getImage("Navigator?Node?http://www.eclipse.org/uml2/3.0.0/UML?Property", UMLElementTypes.Property_3001); //$NON-NLS-1$ case Stereotype2EditPart.VISUAL_ID: return getImage("Navigator?Node?http://www.eclipse.org/uml2/3.0.0/UML?Stereotype", UMLElementTypes.Stereotype_3003); //$NON-NLS-1$ case EnumerationLiteralEditPart.VISUAL_ID: return getImage("Navigator?Node?http://www.eclipse.org/uml2/3.0.0/UML?EnumerationLiteral", UMLElementTypes.EnumerationLiteral_3005); //$NON-NLS-1$ case ConstraintEditPart.VISUAL_ID: return getImage("Navigator?Node?http://www.eclipse.org/uml2/3.0.0/UML?Constraint", UMLElementTypes.Constraint_3008); //$NON-NLS-1$ case ElementImport2EditPart.VISUAL_ID: return getImage("Navigator?Node?http://www.eclipse.org/uml2/3.0.0/UML?ElementImport", UMLElementTypes.ElementImport_3009); //$NON-NLS-1$ case ImageEditPart.VISUAL_ID: return getImage("Navigator?Node?http://www.eclipse.org/uml2/3.0.0/UML?Image", UMLElementTypes.Image_3010); //$NON-NLS-1$ case GeneralizationEditPart.VISUAL_ID: return getImage("Navigator?Link?http://www.eclipse.org/uml2/3.0.0/UML?Generalization", UMLElementTypes.Generalization_4001); //$NON-NLS-1$ case ExtensionEditPart.VISUAL_ID: return getImage("Navigator?Link?http://www.eclipse.org/uml2/3.0.0/UML?Extension", UMLElementTypes.Extension_4002); //$NON-NLS-1$ case ConstraintConstrainedElementEditPart.VISUAL_ID: return getImage("Navigator?Link?http://www.eclipse.org/uml2/3.0.0/UML?Constraint?constrainedElement", UMLElementTypes.ConstraintConstrainedElement_4003); //$NON-NLS-1$ case CommentAnnotatedElementEditPart.VISUAL_ID: return getImage("Navigator?Link?http://www.eclipse.org/uml2/3.0.0/UML?Comment?annotatedElement", UMLElementTypes.CommentAnnotatedElement_4004); //$NON-NLS-1$ } return getImage("Navigator?UnknownElement", null); //$NON-NLS-1$ } /** * @generated */ private Image getImage(String key, IElementType elementType) { ImageRegistry imageRegistry = UMLDiagramEditorPlugin.getInstance().getImageRegistry(); Image image = imageRegistry.get(key); if (image == null && elementType != null && UMLElementTypes.isKnownElementType(elementType)) { image = UMLElementTypes.getImage(elementType); imageRegistry.put(key, image); } if (image == null) { image = imageRegistry.get("Navigator?ImageNotFound"); //$NON-NLS-1$ imageRegistry.put(key, image); } return image; } /** * @generated */ public String getText(Object element) { if (element instanceof UMLNavigatorGroup) { UMLNavigatorGroup group = (UMLNavigatorGroup) element; return group.getGroupName(); } if (element instanceof UMLNavigatorItem) { UMLNavigatorItem navigatorItem = (UMLNavigatorItem) element; if (!isOwnView(navigatorItem.getView())) { return null; } return getText(navigatorItem.getView()); } // Due to plugin.xml content will be called only for "own" views if (element instanceof IAdaptable) { View view = (View) ((IAdaptable) element).getAdapter(View.class); if (view != null && isOwnView(view)) { return getText(view); } } return super.getText(element); } /** * @generated */ public String getText(View view) { if (view.getElement() != null && view.getElement().eIsProxy()) { return getUnresolvedDomainElementProxyText(view); } switch (UMLVisualIDRegistry.getVisualID(view)) { case ProfileEditPart.VISUAL_ID: return getProfile_1000Text(view); case StereotypeEditPart.VISUAL_ID: return getStereotype_2001Text(view); case Profile2EditPart.VISUAL_ID: return getProfile_2002Text(view); case EnumerationEditPart.VISUAL_ID: return getEnumeration_2003Text(view); case ElementImportEditPart.VISUAL_ID: return getElementImport_2006Text(view); case Profile3EditPart.VISUAL_ID: return getProfile_2007Text(view); case Constraint2EditPart.VISUAL_ID: return getConstraint_2008Text(view); case CommentEditPart.VISUAL_ID: return getComment_2009Text(view); case PropertyEditPart.VISUAL_ID: return getProperty_3001Text(view); case Stereotype2EditPart.VISUAL_ID: return getStereotype_3003Text(view); case EnumerationLiteralEditPart.VISUAL_ID: return getEnumerationLiteral_3005Text(view); case ConstraintEditPart.VISUAL_ID: return getConstraint_3008Text(view); case ElementImport2EditPart.VISUAL_ID: return getElementImport_3009Text(view); case ImageEditPart.VISUAL_ID: return getImage_3010Text(view); case GeneralizationEditPart.VISUAL_ID: return getGeneralization_4001Text(view); case ExtensionEditPart.VISUAL_ID: return getExtension_4002Text(view); case ConstraintConstrainedElementEditPart.VISUAL_ID: return getConstraintConstrainedElement_4003Text(view); case CommentAnnotatedElementEditPart.VISUAL_ID: return getCommentAnnotatedElement_4004Text(view); } return getUnknownElementText(view); } /** * @generated */ private String getProfile_1000Text(View view) { Profile domainModelElement = (Profile) view.getElement(); if (domainModelElement != null) { return String.valueOf(domainModelElement.getName()); } else { UMLDiagramEditorPlugin.getInstance().logError("No domain element for view with visualID = " + 1000); //$NON-NLS-1$ return ""; //$NON-NLS-1$ } } /** * @generated */ private String getStereotype_2001Text(View view) { IParser parser = UMLParserProvider.getParser(UMLElementTypes.Stereotype_2001, view.getElement() != null ? view.getElement() : view, UMLVisualIDRegistry.getType(StereotypeNameEditPart.VISUAL_ID)); if (parser != null) { return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view), ParserOptions.NONE.intValue()); } else { UMLDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 5001); //$NON-NLS-1$ return ""; //$NON-NLS-1$ } } /** * @generated */ private String getProfile_2002Text(View view) { IParser parser = UMLParserProvider.getParser(UMLElementTypes.Profile_2002, view.getElement() != null ? view.getElement() : view, UMLVisualIDRegistry.getType(ProfileNameEditPart.VISUAL_ID)); if (parser != null) { return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view), ParserOptions.NONE.intValue()); } else { UMLDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 5003); //$NON-NLS-1$ return ""; //$NON-NLS-1$ } } /** * @generated */ private String getEnumeration_2003Text(View view) { IParser parser = UMLParserProvider.getParser(UMLElementTypes.Enumeration_2003, view.getElement() != null ? view.getElement() : view, UMLVisualIDRegistry.getType(EnumerationNameEditPart.VISUAL_ID)); if (parser != null) { return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view), ParserOptions.NONE.intValue()); } else { UMLDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 5005); //$NON-NLS-1$ return ""; //$NON-NLS-1$ } } /** * @generated */ private String getElementImport_2006Text(View view) { IParser parser = UMLParserProvider.getParser(UMLElementTypes.ElementImport_2006, view.getElement() != null ? view.getElement() : view, UMLVisualIDRegistry.getType(ReferencedMetaclassNode_classNameEditPart.VISUAL_ID)); if (parser != null) { return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view), ParserOptions.NONE.intValue()); } else { UMLDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 5008); //$NON-NLS-1$ return ""; //$NON-NLS-1$ } } /** * @generated */ private String getProfile_2007Text(View view) { IParser parser = UMLParserProvider.getParser(UMLElementTypes.Profile_2007, view.getElement() != null ? view.getElement() : view, UMLVisualIDRegistry.getType(ProfileName2EditPart.VISUAL_ID)); if (parser != null) { return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view), ParserOptions.NONE.intValue()); } else { UMLDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 5009); //$NON-NLS-1$ return ""; //$NON-NLS-1$ } } /** * @generated */ private String getConstraint_2008Text(View view) { IParser parser = UMLParserProvider.getParser(UMLElementTypes.Constraint_2008, view.getElement() != null ? view.getElement() : view, UMLVisualIDRegistry.getType(ConstraintNameEditPart.VISUAL_ID)); if (parser != null) { return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view), ParserOptions.NONE.intValue()); } else { UMLDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 5010); //$NON-NLS-1$ return ""; //$NON-NLS-1$ } } /** * @generated */ private String getComment_2009Text(View view) { IParser parser = UMLParserProvider.getParser(UMLElementTypes.Comment_2009, view.getElement() != null ? view.getElement() : view, UMLVisualIDRegistry.getType(CommentBodyEditPart.VISUAL_ID)); if (parser != null) { return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view), ParserOptions.NONE.intValue()); } else { UMLDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 5014); //$NON-NLS-1$ return ""; //$NON-NLS-1$ } } /** * @generated */ private String getProperty_3001Text(View view) { IParser parser = UMLParserProvider.getParser(UMLElementTypes.Property_3001, view.getElement() != null ? view.getElement() : view, UMLVisualIDRegistry.getType(PropertyEditPart.VISUAL_ID)); if (parser != null) { return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view), ParserOptions.NONE.intValue()); } else { UMLDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 3001); //$NON-NLS-1$ return ""; //$NON-NLS-1$ } } /** * @generated */ private String getConstraint_3008Text(View view) { IParser parser = UMLParserProvider.getParser(UMLElementTypes.Constraint_3008, view.getElement() != null ? view.getElement() : view, UMLVisualIDRegistry.getType(ConstraintEditPart.VISUAL_ID)); if (parser != null) { return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view), ParserOptions.NONE.intValue()); } else { UMLDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 3008); //$NON-NLS-1$ return ""; //$NON-NLS-1$ } } /** * @generated */ private String getImage_3010Text(View view) { IParser parser = UMLParserProvider.getParser(UMLElementTypes.Image_3010, view.getElement() != null ? view.getElement() : view, UMLVisualIDRegistry.getType(ImageEditPart.VISUAL_ID)); if (parser != null) { return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view), ParserOptions.NONE.intValue()); } else { UMLDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 3010); //$NON-NLS-1$ return ""; //$NON-NLS-1$ } } /** * @generated */ private String getStereotype_3003Text(View view) { IParser parser = UMLParserProvider.getParser(UMLElementTypes.Stereotype_3003, view.getElement() != null ? view.getElement() : view, UMLVisualIDRegistry.getType(Stereotype2EditPart.VISUAL_ID)); if (parser != null) { return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view), ParserOptions.NONE.intValue()); } else { UMLDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 3003); //$NON-NLS-1$ return ""; //$NON-NLS-1$ } } /** * @generated */ private String getEnumerationLiteral_3005Text(View view) { IParser parser = UMLParserProvider.getParser(UMLElementTypes.EnumerationLiteral_3005, view.getElement() != null ? view.getElement() : view, UMLVisualIDRegistry.getType(EnumerationLiteralEditPart.VISUAL_ID)); if (parser != null) { return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view), ParserOptions.NONE.intValue()); } else { UMLDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 3005); //$NON-NLS-1$ return ""; //$NON-NLS-1$ } } /** * @generated */ private String getElementImport_3009Text(View view) { IParser parser = UMLParserProvider.getParser(UMLElementTypes.ElementImport_3009, view.getElement() != null ? view.getElement() : view, UMLVisualIDRegistry.getType(ElementImport2EditPart.VISUAL_ID)); if (parser != null) { return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view), ParserOptions.NONE.intValue()); } else { UMLDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 3009); //$NON-NLS-1$ return ""; //$NON-NLS-1$ } } /** * @generated */ private String getGeneralization_4001Text(View view) { Generalization domainModelElement = (Generalization) view.getElement(); if (domainModelElement != null) { return String.valueOf(domainModelElement.isSubstitutable()); } else { UMLDiagramEditorPlugin.getInstance().logError("No domain element for view with visualID = " + 4001); //$NON-NLS-1$ return ""; //$NON-NLS-1$ } } /** * @generated */ private String getExtension_4002Text(View view) { IParser parser = UMLParserProvider.getParser(UMLElementTypes.Extension_4002, view.getElement() != null ? view.getElement() : view, UMLVisualIDRegistry.getType(ExtensionLink_requiredEditPart.VISUAL_ID)); if (parser != null) { return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view), ParserOptions.NONE.intValue()); } else { UMLDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 6001); //$NON-NLS-1$ return ""; //$NON-NLS-1$ } } /** * @generated */ private String getConstraintConstrainedElement_4003Text(View view) { return ""; //$NON-NLS-1$ } /** * @generated */ private String getCommentAnnotatedElement_4004Text(View view) { return ""; //$NON-NLS-1$ } /** * @generated */ private String getUnknownElementText(View view) { return "<UnknownElement Visual_ID = " + view.getType() + ">"; //$NON-NLS-1$ //$NON-NLS-2$ } /** * @generated */ private String getUnresolvedDomainElementProxyText(View view) { return "<Unresolved domain element Visual_ID = " + view.getType() + ">"; //$NON-NLS-1$ //$NON-NLS-2$ } /** * @generated */ public void init(ICommonContentExtensionSite aConfig) { } /** * @generated */ public void restoreState(IMemento aMemento) { } /** * @generated */ public void saveState(IMemento aMemento) { } /** * @generated */ public String getDescription(Object anElement) { return null; } /** * @generated */ private boolean isOwnView(View view) { return ProfileEditPart.MODEL_ID.equals(UMLVisualIDRegistry.getModelID(view)); } }