package borders.diagram.navigator; 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 borders.diagram.edit.parts.CompoundBorderEditPart; import borders.diagram.edit.parts.CustomBorderEditPart; import borders.diagram.edit.parts.DiagramEditPart; import borders.diagram.edit.parts.LineBorderEditPart; import borders.diagram.edit.parts.MarginBorderEditPart; import borders.diagram.part.BordersDiagramEditorPlugin; import borders.diagram.part.BordersVisualIDRegistry; import borders.diagram.providers.BordersElementTypes; /** * @generated */ public class BordersNavigatorLabelProvider extends LabelProvider implements ICommonLabelProvider, ITreePathLabelProvider { /** * @generated */ static { BordersDiagramEditorPlugin.getInstance().getImageRegistry().put("Navigator?UnknownElement", ImageDescriptor.getMissingImageDescriptor()); //$NON-NLS-1$ BordersDiagramEditorPlugin.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 BordersNavigatorItem && !isOwnView(((BordersNavigatorItem) element).getView())) { return; } label.setText(getText(element)); label.setImage(getImage(element)); } /** * @generated */ public Image getImage(Object element) { if (element instanceof BordersNavigatorGroup) { BordersNavigatorGroup group = (BordersNavigatorGroup) element; return BordersDiagramEditorPlugin.getInstance().getBundledImage(group.getIcon()); } if (element instanceof BordersNavigatorItem) { BordersNavigatorItem navigatorItem = (BordersNavigatorItem) element; if (!isOwnView(navigatorItem.getView())) { return super.getImage(element); } return getImage(navigatorItem.getView()); } return super.getImage(element); } /** * @generated */ public Image getImage(View view) { switch (BordersVisualIDRegistry.getVisualID(view)) { case DiagramEditPart.VISUAL_ID: return getImage("Navigator?Diagram?http://org.eclipse.gmf.tooling.examples.borders?Diagram", BordersElementTypes.Diagram_1000); //$NON-NLS-1$ case MarginBorderEditPart.VISUAL_ID: return getImage("Navigator?TopLevelNode?http://org.eclipse.gmf.tooling.examples.borders?MarginBorder", BordersElementTypes.MarginBorder_2001); //$NON-NLS-1$ case CustomBorderEditPart.VISUAL_ID: return getImage("Navigator?TopLevelNode?http://org.eclipse.gmf.tooling.examples.borders?CustomBorder", BordersElementTypes.CustomBorder_2002); //$NON-NLS-1$ case CompoundBorderEditPart.VISUAL_ID: return getImage("Navigator?TopLevelNode?http://org.eclipse.gmf.tooling.examples.borders?CompoundBorder", BordersElementTypes.CompoundBorder_2003); //$NON-NLS-1$ case LineBorderEditPart.VISUAL_ID: return getImage("Navigator?TopLevelNode?http://org.eclipse.gmf.tooling.examples.borders?LineBorder", BordersElementTypes.LineBorder_2004); //$NON-NLS-1$ } return getImage("Navigator?UnknownElement", null); //$NON-NLS-1$ } /** * @generated */ private Image getImage(String key, IElementType elementType) { ImageRegistry imageRegistry = BordersDiagramEditorPlugin.getInstance().getImageRegistry(); Image image = imageRegistry.get(key); if (image == null && elementType != null && BordersElementTypes.isKnownElementType(elementType)) { image = BordersElementTypes.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 BordersNavigatorGroup) { BordersNavigatorGroup group = (BordersNavigatorGroup) element; return group.getGroupName(); } if (element instanceof BordersNavigatorItem) { BordersNavigatorItem navigatorItem = (BordersNavigatorItem) element; if (!isOwnView(navigatorItem.getView())) { return null; } return getText(navigatorItem.getView()); } return super.getText(element); } /** * @generated */ public String getText(View view) { if (view.getElement() != null && view.getElement().eIsProxy()) { return getUnresolvedDomainElementProxyText(view); } switch (BordersVisualIDRegistry.getVisualID(view)) { case DiagramEditPart.VISUAL_ID: return getDiagram_1000Text(view); case MarginBorderEditPart.VISUAL_ID: return getMarginBorder_2001Text(view); case CustomBorderEditPart.VISUAL_ID: return getCustomBorder_2002Text(view); case CompoundBorderEditPart.VISUAL_ID: return getCompoundBorder_2003Text(view); case LineBorderEditPart.VISUAL_ID: return getLineBorder_2004Text(view); } return getUnknownElementText(view); } /** * @generated */ private String getDiagram_1000Text(View view) { return ""; //$NON-NLS-1$ } /** * @generated */ private String getMarginBorder_2001Text(View view) { return ""; //$NON-NLS-1$ } /** * @generated */ private String getCustomBorder_2002Text(View view) { return ""; //$NON-NLS-1$ } /** * @generated */ private String getCompoundBorder_2003Text(View view) { return ""; //$NON-NLS-1$ } /** * @generated */ private String getLineBorder_2004Text(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 DiagramEditPart.MODEL_ID.equals(BordersVisualIDRegistry.getModelID(view)); } }