| /* |
| * |
| */ |
| package filesystem.diagram.providers; |
| |
| import java.util.ArrayList; |
| import org.eclipse.core.runtime.IAdaptable; |
| import org.eclipse.emf.ecore.EAnnotation; |
| import org.eclipse.emf.ecore.EObject; |
| import org.eclipse.emf.ecore.EcoreFactory; |
| import org.eclipse.emf.transaction.util.TransactionUtil; |
| import org.eclipse.gmf.runtime.common.core.service.AbstractProvider; |
| import org.eclipse.gmf.runtime.common.core.service.IOperation; |
| import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint; |
| import org.eclipse.gmf.runtime.diagram.core.providers.AbstractViewProvider; |
| import org.eclipse.gmf.runtime.diagram.core.providers.IViewProvider; |
| import org.eclipse.gmf.runtime.diagram.core.services.view.CreateDiagramViewOperation; |
| import org.eclipse.gmf.runtime.diagram.core.services.view.CreateEdgeViewOperation; |
| import org.eclipse.gmf.runtime.diagram.core.services.view.CreateNodeViewOperation; |
| import org.eclipse.gmf.runtime.diagram.core.services.view.CreateViewForKindOperation; |
| import org.eclipse.gmf.runtime.diagram.core.services.view.CreateViewOperation; |
| import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil; |
| import org.eclipse.gmf.runtime.diagram.ui.preferences.IPreferenceConstants; |
| import org.eclipse.gmf.runtime.draw2d.ui.figures.FigureUtilities; |
| import org.eclipse.gmf.runtime.emf.core.util.EMFCoreUtil; |
| import org.eclipse.gmf.runtime.emf.type.core.IElementType; |
| import org.eclipse.gmf.runtime.emf.type.core.IHintedType; |
| import org.eclipse.gmf.runtime.notation.Connector; |
| import org.eclipse.gmf.runtime.notation.DecorationNode; |
| import org.eclipse.gmf.runtime.notation.Diagram; |
| import org.eclipse.gmf.runtime.notation.Edge; |
| import org.eclipse.gmf.runtime.notation.FontStyle; |
| import org.eclipse.gmf.runtime.notation.Location; |
| import org.eclipse.gmf.runtime.notation.MeasurementUnit; |
| import org.eclipse.gmf.runtime.notation.Node; |
| import org.eclipse.gmf.runtime.notation.NotationFactory; |
| import org.eclipse.gmf.runtime.notation.NotationPackage; |
| import org.eclipse.gmf.runtime.notation.RelativeBendpoints; |
| import org.eclipse.gmf.runtime.notation.Routing; |
| import org.eclipse.gmf.runtime.notation.Shape; |
| import org.eclipse.gmf.runtime.notation.TitleStyle; |
| import org.eclipse.gmf.runtime.notation.View; |
| |
| import org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint; |
| import org.eclipse.jface.preference.IPreferenceStore; |
| import org.eclipse.jface.preference.PreferenceConverter; |
| import org.eclipse.swt.SWT; |
| import org.eclipse.swt.graphics.FontData; |
| import filesystem.diagram.edit.parts.Drive2EditPart; |
| import filesystem.diagram.edit.parts.DriveDriveContentsCompartment2EditPart; |
| import filesystem.diagram.edit.parts.DriveDriveContentsCompartmentEditPart; |
| import filesystem.diagram.edit.parts.DriveEditPart; |
| import filesystem.diagram.edit.parts.DriveName2EditPart; |
| import filesystem.diagram.edit.parts.DriveNameEditPart; |
| import filesystem.diagram.edit.parts.FileEditPart; |
| import filesystem.diagram.edit.parts.FileNameEditPart; |
| import filesystem.diagram.edit.parts.FilesystemEditPart; |
| import filesystem.diagram.edit.parts.FolderEditPart; |
| import filesystem.diagram.edit.parts.FolderFolderContentsCompartmentEditPart; |
| import filesystem.diagram.edit.parts.FolderNameEditPart; |
| import filesystem.diagram.edit.parts.ShortcutEditPart; |
| import filesystem.diagram.edit.parts.ShortcutNameEditPart; |
| import filesystem.diagram.edit.parts.ShortcutTargetEditPart; |
| import filesystem.diagram.edit.parts.SyncEditPart; |
| import filesystem.diagram.edit.parts.SyncLastSyncEditPart; |
| import filesystem.diagram.edit.parts.WrappingLabelEditPart; |
| import filesystem.diagram.part.FilesystemVisualIDRegistry; |
| import filesystem.diagram.view.factories.Drive2ViewFactory; |
| import filesystem.diagram.view.factories.DriveDriveContentsCompartment2ViewFactory; |
| import filesystem.diagram.view.factories.DriveDriveContentsCompartmentViewFactory; |
| import filesystem.diagram.view.factories.DriveName2ViewFactory; |
| import filesystem.diagram.view.factories.DriveNameViewFactory; |
| import filesystem.diagram.view.factories.DriveViewFactory; |
| import filesystem.diagram.view.factories.FileNameViewFactory; |
| import filesystem.diagram.view.factories.FileViewFactory; |
| import filesystem.diagram.view.factories.FilesystemViewFactory; |
| import filesystem.diagram.view.factories.FolderFolderContentsCompartmentViewFactory; |
| import filesystem.diagram.view.factories.FolderNameViewFactory; |
| import filesystem.diagram.view.factories.FolderViewFactory; |
| import filesystem.diagram.view.factories.ShortcutNameViewFactory; |
| import filesystem.diagram.view.factories.ShortcutTargetViewFactory; |
| import filesystem.diagram.view.factories.ShortcutViewFactory; |
| import filesystem.diagram.view.factories.SyncLastSyncViewFactory; |
| import filesystem.diagram.view.factories.SyncViewFactory; |
| import filesystem.diagram.view.factories.WrappingLabelViewFactory; |
| |
| /** |
| * @generated |
| */ |
| public class FilesystemViewProvider extends AbstractProvider implements |
| IViewProvider { |
| |
| /** |
| * @generated |
| */ |
| public final boolean provides(IOperation operation) { |
| if (operation instanceof CreateViewForKindOperation) { |
| return provides((CreateViewForKindOperation) operation); |
| } |
| assert operation instanceof CreateViewOperation; |
| if (operation instanceof CreateDiagramViewOperation) { |
| return provides((CreateDiagramViewOperation) operation); |
| } else if (operation instanceof CreateEdgeViewOperation) { |
| return provides((CreateEdgeViewOperation) operation); |
| } else if (operation instanceof CreateNodeViewOperation) { |
| return provides((CreateNodeViewOperation) operation); |
| } |
| return false; |
| } |
| |
| /** |
| * @generated |
| */ |
| protected boolean provides(CreateViewForKindOperation op) { |
| /* |
| if (op.getViewKind() == Node.class) |
| return getNodeViewClass(op.getSemanticAdapter(), op.getContainerView(), op.getSemanticHint()) != null; |
| if (op.getViewKind() == Edge.class) |
| return getEdgeViewClass(op.getSemanticAdapter(), op.getContainerView(), op.getSemanticHint()) != null; |
| */ |
| return true; |
| } |
| |
| /** |
| * @generated |
| */ |
| protected boolean provides(CreateDiagramViewOperation op) { |
| return FilesystemEditPart.MODEL_ID.equals(op.getSemanticHint()) |
| && FilesystemVisualIDRegistry |
| .getDiagramVisualID(getSemanticElement(op |
| .getSemanticAdapter())) != -1; |
| } |
| |
| /** |
| * @generated |
| */ |
| protected boolean provides(CreateNodeViewOperation op) { |
| if (op.getContainerView() == null) { |
| return false; |
| } |
| IElementType elementType = getSemanticElementType(op |
| .getSemanticAdapter()); |
| EObject domainElement = getSemanticElement(op.getSemanticAdapter()); |
| int visualID; |
| if (op.getSemanticHint() == null) { |
| // Semantic hint is not specified. Can be a result of call from CanonicalEditPolicy. |
| // In this situation there should be NO elementType, visualID will be determined |
| // by VisualIDRegistry.getNodeVisualID() for domainElement. |
| if (elementType != null || domainElement == null) { |
| return false; |
| } |
| visualID = FilesystemVisualIDRegistry.getNodeVisualID( |
| op.getContainerView(), domainElement); |
| } else { |
| visualID = FilesystemVisualIDRegistry.getVisualID(op |
| .getSemanticHint()); |
| if (elementType != null) { |
| if (!FilesystemElementTypes.isKnownElementType(elementType) |
| || (!(elementType instanceof IHintedType))) { |
| return false; // foreign element type |
| } |
| String elementTypeHint = ((IHintedType) elementType) |
| .getSemanticHint(); |
| if (!op.getSemanticHint().equals(elementTypeHint)) { |
| return false; // if semantic hint is specified it should be the same as in element type |
| } |
| if (domainElement != null |
| && visualID != FilesystemVisualIDRegistry |
| .getNodeVisualID(op.getContainerView(), |
| domainElement)) { |
| return false; // visual id for node EClass should match visual id from element type |
| } |
| } else { |
| if (!FilesystemEditPart.MODEL_ID |
| .equals(FilesystemVisualIDRegistry.getModelID(op |
| .getContainerView()))) { |
| return false; // foreign diagram |
| } |
| switch (visualID) { |
| case DriveEditPart.VISUAL_ID: |
| case FolderEditPart.VISUAL_ID: |
| case ShortcutEditPart.VISUAL_ID: |
| case FileEditPart.VISUAL_ID: |
| case Drive2EditPart.VISUAL_ID: |
| if (domainElement == null |
| || visualID != FilesystemVisualIDRegistry |
| .getNodeVisualID(op.getContainerView(), |
| domainElement)) { |
| return false; // visual id in semantic hint should match visual id for domain element |
| } |
| break; |
| default: |
| return false; |
| } |
| } |
| } |
| return DriveEditPart.VISUAL_ID == visualID |
| || Drive2EditPart.VISUAL_ID == visualID |
| || FolderEditPart.VISUAL_ID == visualID |
| || ShortcutEditPart.VISUAL_ID == visualID |
| || FileEditPart.VISUAL_ID == visualID; |
| } |
| |
| /** |
| * @generated |
| */ |
| protected boolean provides(CreateEdgeViewOperation op) { |
| IElementType elementType = getSemanticElementType(op |
| .getSemanticAdapter()); |
| if (!FilesystemElementTypes.isKnownElementType(elementType) |
| || (!(elementType instanceof IHintedType))) { |
| return false; // foreign element type |
| } |
| String elementTypeHint = ((IHintedType) elementType).getSemanticHint(); |
| if (elementTypeHint == null |
| || (op.getSemanticHint() != null && !elementTypeHint.equals(op |
| .getSemanticHint()))) { |
| return false; // our hint is visual id and must be specified, and it should be the same as in element type |
| } |
| int visualID = FilesystemVisualIDRegistry.getVisualID(elementTypeHint); |
| EObject domainElement = getSemanticElement(op.getSemanticAdapter()); |
| if (domainElement != null |
| && visualID != FilesystemVisualIDRegistry |
| .getLinkWithClassVisualID(domainElement)) { |
| return false; // visual id for link EClass should match visual id from element type |
| } |
| return true; |
| } |
| |
| /** |
| * @generated |
| */ |
| public Diagram createDiagram(IAdaptable semanticAdapter, |
| String diagramKind, PreferencesHint preferencesHint) { |
| Diagram diagram = NotationFactory.eINSTANCE.createDiagram(); |
| diagram.getStyles().add(NotationFactory.eINSTANCE.createDiagramStyle()); |
| diagram.setType(FilesystemEditPart.MODEL_ID); |
| diagram.setElement(getSemanticElement(semanticAdapter)); |
| diagram.setMeasurementUnit(MeasurementUnit.PIXEL_LITERAL); |
| return diagram; |
| } |
| |
| /** |
| * @generated |
| */ |
| public Node createNode(IAdaptable semanticAdapter, View containerView, |
| String semanticHint, int index, boolean persisted, |
| PreferencesHint preferencesHint) { |
| final EObject domainElement = getSemanticElement(semanticAdapter); |
| final int visualID; |
| if (semanticHint == null) { |
| visualID = FilesystemVisualIDRegistry.getNodeVisualID( |
| containerView, domainElement); |
| } else { |
| visualID = FilesystemVisualIDRegistry.getVisualID(semanticHint); |
| } |
| switch (visualID) { |
| case DriveEditPart.VISUAL_ID: |
| return createDrive_2001(domainElement, containerView, index, |
| persisted, preferencesHint); |
| case Drive2EditPart.VISUAL_ID: |
| return createDrive_3001(domainElement, containerView, index, |
| persisted, preferencesHint); |
| case FolderEditPart.VISUAL_ID: |
| return createFolder_3002(domainElement, containerView, index, |
| persisted, preferencesHint); |
| case ShortcutEditPart.VISUAL_ID: |
| return createShortcut_3003(domainElement, containerView, index, |
| persisted, preferencesHint); |
| case FileEditPart.VISUAL_ID: |
| return createFile_3004(domainElement, containerView, index, |
| persisted, preferencesHint); |
| } |
| // can't happen, provided #provides(CreateNodeViewOperation) is correct |
| return null; |
| } |
| |
| /** |
| * @generated |
| */ |
| public Edge createEdge(IAdaptable semanticAdapter, View containerView, |
| String semanticHint, int index, boolean persisted, |
| PreferencesHint preferencesHint) { |
| IElementType elementType = getSemanticElementType(semanticAdapter); |
| String elementTypeHint = ((IHintedType) elementType).getSemanticHint(); |
| switch (FilesystemVisualIDRegistry.getVisualID(elementTypeHint)) { |
| case SyncEditPart.VISUAL_ID: |
| return createSync_4001(getSemanticElement(semanticAdapter), |
| containerView, index, persisted, preferencesHint); |
| case ShortcutTargetEditPart.VISUAL_ID: |
| return createShortcutTarget_4002(containerView, index, persisted, |
| preferencesHint); |
| } |
| // can never happen, provided #provides(CreateEdgeViewOperation) is correct |
| return null; |
| } |
| |
| /** |
| * @generated |
| */ |
| public Node createDrive_2001(EObject domainElement, View containerView, |
| int index, boolean persisted, PreferencesHint preferencesHint) { |
| Shape node = NotationFactory.eINSTANCE.createShape(); |
| node.getStyles().add( |
| NotationFactory.eINSTANCE.createHintedDiagramLinkStyle()); |
| node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds()); |
| node.setType(FilesystemVisualIDRegistry |
| .getType(DriveEditPart.VISUAL_ID)); |
| ViewUtil.insertChildView(containerView, node, index, persisted); |
| node.setElement(domainElement); |
| stampShortcut(containerView, node); |
| // initializeFromPreferences |
| final IPreferenceStore prefStore = (IPreferenceStore) preferencesHint |
| .getPreferenceStore(); |
| |
| org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter.getColor( |
| prefStore, IPreferenceConstants.PREF_LINE_COLOR); |
| ViewUtil.setStructuralFeatureValue(node, |
| NotationPackage.eINSTANCE.getLineStyle_LineColor(), |
| FigureUtilities.RGBToInteger(lineRGB)); |
| FontStyle nodeFontStyle = (FontStyle) node |
| .getStyle(NotationPackage.Literals.FONT_STYLE); |
| if (nodeFontStyle != null) { |
| FontData fontData = PreferenceConverter.getFontData(prefStore, |
| IPreferenceConstants.PREF_DEFAULT_FONT); |
| nodeFontStyle.setFontName(fontData.getName()); |
| nodeFontStyle.setFontHeight(fontData.getHeight()); |
| nodeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0); |
| nodeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0); |
| org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter |
| .getColor(prefStore, IPreferenceConstants.PREF_FONT_COLOR); |
| nodeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB) |
| .intValue()); |
| } |
| org.eclipse.swt.graphics.RGB fillRGB = PreferenceConverter.getColor( |
| prefStore, IPreferenceConstants.PREF_FILL_COLOR); |
| ViewUtil.setStructuralFeatureValue(node, |
| NotationPackage.eINSTANCE.getFillStyle_FillColor(), |
| FigureUtilities.RGBToInteger(fillRGB)); |
| Node label5005 = createLabel(node, |
| FilesystemVisualIDRegistry.getType(DriveNameEditPart.VISUAL_ID)); |
| createCompartment( |
| node, |
| FilesystemVisualIDRegistry |
| .getType(DriveDriveContentsCompartmentEditPart.VISUAL_ID), |
| true, false, false, false); |
| return node; |
| } |
| |
| /** |
| * @generated |
| */ |
| public Node createDrive_3001(EObject domainElement, View containerView, |
| int index, boolean persisted, PreferencesHint preferencesHint) { |
| Shape node = NotationFactory.eINSTANCE.createShape(); |
| node.getStyles().add( |
| NotationFactory.eINSTANCE.createHintedDiagramLinkStyle()); |
| node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds()); |
| node.setType(FilesystemVisualIDRegistry |
| .getType(Drive2EditPart.VISUAL_ID)); |
| ViewUtil.insertChildView(containerView, node, index, persisted); |
| node.setElement(domainElement); |
| // initializeFromPreferences |
| final IPreferenceStore prefStore = (IPreferenceStore) preferencesHint |
| .getPreferenceStore(); |
| |
| org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter.getColor( |
| prefStore, IPreferenceConstants.PREF_LINE_COLOR); |
| ViewUtil.setStructuralFeatureValue(node, |
| NotationPackage.eINSTANCE.getLineStyle_LineColor(), |
| FigureUtilities.RGBToInteger(lineRGB)); |
| FontStyle nodeFontStyle = (FontStyle) node |
| .getStyle(NotationPackage.Literals.FONT_STYLE); |
| if (nodeFontStyle != null) { |
| FontData fontData = PreferenceConverter.getFontData(prefStore, |
| IPreferenceConstants.PREF_DEFAULT_FONT); |
| nodeFontStyle.setFontName(fontData.getName()); |
| nodeFontStyle.setFontHeight(fontData.getHeight()); |
| nodeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0); |
| nodeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0); |
| org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter |
| .getColor(prefStore, IPreferenceConstants.PREF_FONT_COLOR); |
| nodeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB) |
| .intValue()); |
| } |
| org.eclipse.swt.graphics.RGB fillRGB = PreferenceConverter.getColor( |
| prefStore, IPreferenceConstants.PREF_FILL_COLOR); |
| ViewUtil.setStructuralFeatureValue(node, |
| NotationPackage.eINSTANCE.getFillStyle_FillColor(), |
| FigureUtilities.RGBToInteger(fillRGB)); |
| Node label5004 = createLabel(node, |
| FilesystemVisualIDRegistry |
| .getType(DriveName2EditPart.VISUAL_ID)); |
| createCompartment( |
| node, |
| FilesystemVisualIDRegistry |
| .getType(DriveDriveContentsCompartment2EditPart.VISUAL_ID), |
| true, false, false, false); |
| return node; |
| } |
| |
| /** |
| * @generated |
| */ |
| public Node createFolder_3002(EObject domainElement, View containerView, |
| int index, boolean persisted, PreferencesHint preferencesHint) { |
| Shape node = NotationFactory.eINSTANCE.createShape(); |
| node.getStyles().add( |
| NotationFactory.eINSTANCE.createHintedDiagramLinkStyle()); |
| node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds()); |
| node.setType(FilesystemVisualIDRegistry |
| .getType(FolderEditPart.VISUAL_ID)); |
| ViewUtil.insertChildView(containerView, node, index, persisted); |
| node.setElement(domainElement); |
| // initializeFromPreferences |
| final IPreferenceStore prefStore = (IPreferenceStore) preferencesHint |
| .getPreferenceStore(); |
| |
| org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter.getColor( |
| prefStore, IPreferenceConstants.PREF_LINE_COLOR); |
| ViewUtil.setStructuralFeatureValue(node, |
| NotationPackage.eINSTANCE.getLineStyle_LineColor(), |
| FigureUtilities.RGBToInteger(lineRGB)); |
| FontStyle nodeFontStyle = (FontStyle) node |
| .getStyle(NotationPackage.Literals.FONT_STYLE); |
| if (nodeFontStyle != null) { |
| FontData fontData = PreferenceConverter.getFontData(prefStore, |
| IPreferenceConstants.PREF_DEFAULT_FONT); |
| nodeFontStyle.setFontName(fontData.getName()); |
| nodeFontStyle.setFontHeight(fontData.getHeight()); |
| nodeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0); |
| nodeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0); |
| org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter |
| .getColor(prefStore, IPreferenceConstants.PREF_FONT_COLOR); |
| nodeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB) |
| .intValue()); |
| } |
| org.eclipse.swt.graphics.RGB fillRGB = PreferenceConverter.getColor( |
| prefStore, IPreferenceConstants.PREF_FILL_COLOR); |
| ViewUtil.setStructuralFeatureValue(node, |
| NotationPackage.eINSTANCE.getFillStyle_FillColor(), |
| FigureUtilities.RGBToInteger(fillRGB)); |
| Node label5003 = createLabel(node, |
| FilesystemVisualIDRegistry |
| .getType(FolderNameEditPart.VISUAL_ID)); |
| createCompartment( |
| node, |
| FilesystemVisualIDRegistry |
| .getType(FolderFolderContentsCompartmentEditPart.VISUAL_ID), |
| true, false, false, false); |
| return node; |
| } |
| |
| /** |
| * @generated |
| */ |
| public Node createShortcut_3003(EObject domainElement, View containerView, |
| int index, boolean persisted, PreferencesHint preferencesHint) { |
| Shape node = NotationFactory.eINSTANCE.createShape(); |
| node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds()); |
| node.setType(FilesystemVisualIDRegistry |
| .getType(ShortcutEditPart.VISUAL_ID)); |
| ViewUtil.insertChildView(containerView, node, index, persisted); |
| node.setElement(domainElement); |
| // initializeFromPreferences |
| final IPreferenceStore prefStore = (IPreferenceStore) preferencesHint |
| .getPreferenceStore(); |
| |
| org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter.getColor( |
| prefStore, IPreferenceConstants.PREF_LINE_COLOR); |
| ViewUtil.setStructuralFeatureValue(node, |
| NotationPackage.eINSTANCE.getLineStyle_LineColor(), |
| FigureUtilities.RGBToInteger(lineRGB)); |
| FontStyle nodeFontStyle = (FontStyle) node |
| .getStyle(NotationPackage.Literals.FONT_STYLE); |
| if (nodeFontStyle != null) { |
| FontData fontData = PreferenceConverter.getFontData(prefStore, |
| IPreferenceConstants.PREF_DEFAULT_FONT); |
| nodeFontStyle.setFontName(fontData.getName()); |
| nodeFontStyle.setFontHeight(fontData.getHeight()); |
| nodeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0); |
| nodeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0); |
| org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter |
| .getColor(prefStore, IPreferenceConstants.PREF_FONT_COLOR); |
| nodeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB) |
| .intValue()); |
| } |
| org.eclipse.swt.graphics.RGB fillRGB = PreferenceConverter.getColor( |
| prefStore, IPreferenceConstants.PREF_FILL_COLOR); |
| ViewUtil.setStructuralFeatureValue(node, |
| NotationPackage.eINSTANCE.getFillStyle_FillColor(), |
| FigureUtilities.RGBToInteger(fillRGB)); |
| Node label5001 = createLabel(node, |
| FilesystemVisualIDRegistry |
| .getType(ShortcutNameEditPart.VISUAL_ID)); |
| return node; |
| } |
| |
| /** |
| * @generated |
| */ |
| public Node createFile_3004(EObject domainElement, View containerView, |
| int index, boolean persisted, PreferencesHint preferencesHint) { |
| Shape node = NotationFactory.eINSTANCE.createShape(); |
| node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds()); |
| node.setType(FilesystemVisualIDRegistry.getType(FileEditPart.VISUAL_ID)); |
| ViewUtil.insertChildView(containerView, node, index, persisted); |
| node.setElement(domainElement); |
| // initializeFromPreferences |
| final IPreferenceStore prefStore = (IPreferenceStore) preferencesHint |
| .getPreferenceStore(); |
| |
| org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter.getColor( |
| prefStore, IPreferenceConstants.PREF_LINE_COLOR); |
| ViewUtil.setStructuralFeatureValue(node, |
| NotationPackage.eINSTANCE.getLineStyle_LineColor(), |
| FigureUtilities.RGBToInteger(lineRGB)); |
| FontStyle nodeFontStyle = (FontStyle) node |
| .getStyle(NotationPackage.Literals.FONT_STYLE); |
| if (nodeFontStyle != null) { |
| FontData fontData = PreferenceConverter.getFontData(prefStore, |
| IPreferenceConstants.PREF_DEFAULT_FONT); |
| nodeFontStyle.setFontName(fontData.getName()); |
| nodeFontStyle.setFontHeight(fontData.getHeight()); |
| nodeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0); |
| nodeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0); |
| org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter |
| .getColor(prefStore, IPreferenceConstants.PREF_FONT_COLOR); |
| nodeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB) |
| .intValue()); |
| } |
| org.eclipse.swt.graphics.RGB fillRGB = PreferenceConverter.getColor( |
| prefStore, IPreferenceConstants.PREF_FILL_COLOR); |
| ViewUtil.setStructuralFeatureValue(node, |
| NotationPackage.eINSTANCE.getFillStyle_FillColor(), |
| FigureUtilities.RGBToInteger(fillRGB)); |
| Node label5002 = createLabel(node, |
| FilesystemVisualIDRegistry.getType(FileNameEditPart.VISUAL_ID)); |
| return node; |
| } |
| |
| /** |
| * @generated |
| */ |
| public Edge createSync_4001(EObject domainElement, View containerView, |
| int index, boolean persisted, PreferencesHint preferencesHint) { |
| Connector edge = NotationFactory.eINSTANCE.createConnector(); |
| edge.getStyles().add(NotationFactory.eINSTANCE.createFontStyle()); |
| RelativeBendpoints bendpoints = NotationFactory.eINSTANCE |
| .createRelativeBendpoints(); |
| ArrayList<RelativeBendpoint> points = new ArrayList<RelativeBendpoint>( |
| 2); |
| points.add(new RelativeBendpoint()); |
| points.add(new RelativeBendpoint()); |
| bendpoints.setPoints(points); |
| edge.setBendpoints(bendpoints); |
| ViewUtil.insertChildView(containerView, edge, index, persisted); |
| edge.setType(FilesystemVisualIDRegistry.getType(SyncEditPart.VISUAL_ID)); |
| edge.setElement(domainElement); |
| // initializePreferences |
| final IPreferenceStore prefStore = (IPreferenceStore) preferencesHint |
| .getPreferenceStore(); |
| |
| org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter.getColor( |
| prefStore, IPreferenceConstants.PREF_LINE_COLOR); |
| ViewUtil.setStructuralFeatureValue(edge, |
| NotationPackage.eINSTANCE.getLineStyle_LineColor(), |
| FigureUtilities.RGBToInteger(lineRGB)); |
| FontStyle edgeFontStyle = (FontStyle) edge |
| .getStyle(NotationPackage.Literals.FONT_STYLE); |
| if (edgeFontStyle != null) { |
| FontData fontData = PreferenceConverter.getFontData(prefStore, |
| IPreferenceConstants.PREF_DEFAULT_FONT); |
| edgeFontStyle.setFontName(fontData.getName()); |
| edgeFontStyle.setFontHeight(fontData.getHeight()); |
| edgeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0); |
| edgeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0); |
| org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter |
| .getColor(prefStore, IPreferenceConstants.PREF_FONT_COLOR); |
| edgeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB) |
| .intValue()); |
| } |
| Routing routing = Routing.get(prefStore |
| .getInt(IPreferenceConstants.PREF_LINE_STYLE)); |
| if (routing != null) { |
| ViewUtil.setStructuralFeatureValue(edge, |
| NotationPackage.eINSTANCE.getRoutingStyle_Routing(), |
| routing); |
| } |
| Node label6001 = createLabel(edge, |
| FilesystemVisualIDRegistry |
| .getType(SyncLastSyncEditPart.VISUAL_ID)); |
| label6001.setLayoutConstraint(NotationFactory.eINSTANCE |
| .createLocation()); |
| Location location6001 = (Location) label6001.getLayoutConstraint(); |
| location6001.setX(0); |
| location6001.setY(40); |
| return edge; |
| } |
| |
| /** |
| * @generated |
| */ |
| public Edge createShortcutTarget_4002(View containerView, int index, |
| boolean persisted, PreferencesHint preferencesHint) { |
| Connector edge = NotationFactory.eINSTANCE.createConnector(); |
| edge.getStyles().add(NotationFactory.eINSTANCE.createFontStyle()); |
| RelativeBendpoints bendpoints = NotationFactory.eINSTANCE |
| .createRelativeBendpoints(); |
| ArrayList<RelativeBendpoint> points = new ArrayList<RelativeBendpoint>( |
| 2); |
| points.add(new RelativeBendpoint()); |
| points.add(new RelativeBendpoint()); |
| bendpoints.setPoints(points); |
| edge.setBendpoints(bendpoints); |
| ViewUtil.insertChildView(containerView, edge, index, persisted); |
| edge.setType(FilesystemVisualIDRegistry |
| .getType(ShortcutTargetEditPart.VISUAL_ID)); |
| edge.setElement(null); |
| // initializePreferences |
| final IPreferenceStore prefStore = (IPreferenceStore) preferencesHint |
| .getPreferenceStore(); |
| |
| org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter.getColor( |
| prefStore, IPreferenceConstants.PREF_LINE_COLOR); |
| ViewUtil.setStructuralFeatureValue(edge, |
| NotationPackage.eINSTANCE.getLineStyle_LineColor(), |
| FigureUtilities.RGBToInteger(lineRGB)); |
| FontStyle edgeFontStyle = (FontStyle) edge |
| .getStyle(NotationPackage.Literals.FONT_STYLE); |
| if (edgeFontStyle != null) { |
| FontData fontData = PreferenceConverter.getFontData(prefStore, |
| IPreferenceConstants.PREF_DEFAULT_FONT); |
| edgeFontStyle.setFontName(fontData.getName()); |
| edgeFontStyle.setFontHeight(fontData.getHeight()); |
| edgeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0); |
| edgeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0); |
| org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter |
| .getColor(prefStore, IPreferenceConstants.PREF_FONT_COLOR); |
| edgeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB) |
| .intValue()); |
| } |
| Routing routing = Routing.get(prefStore |
| .getInt(IPreferenceConstants.PREF_LINE_STYLE)); |
| if (routing != null) { |
| ViewUtil.setStructuralFeatureValue(edge, |
| NotationPackage.eINSTANCE.getRoutingStyle_Routing(), |
| routing); |
| } |
| Node label6002 = createLabel(edge, |
| FilesystemVisualIDRegistry |
| .getType(WrappingLabelEditPart.VISUAL_ID)); |
| label6002.getStyles().add( |
| NotationFactory.eINSTANCE.createDescriptionStyle()); |
| label6002.setLayoutConstraint(NotationFactory.eINSTANCE |
| .createLocation()); |
| Location location6002 = (Location) label6002.getLayoutConstraint(); |
| location6002.setX(0); |
| location6002.setY(40); |
| return edge; |
| } |
| |
| /** |
| * @generated |
| */ |
| private void stampShortcut(View containerView, Node target) { |
| if (!FilesystemEditPart.MODEL_ID.equals(FilesystemVisualIDRegistry |
| .getModelID(containerView))) { |
| EAnnotation shortcutAnnotation = EcoreFactory.eINSTANCE |
| .createEAnnotation(); |
| shortcutAnnotation.setSource("Shortcut"); //$NON-NLS-1$ |
| shortcutAnnotation.getDetails().put( |
| "modelID", FilesystemEditPart.MODEL_ID); //$NON-NLS-1$ |
| target.getEAnnotations().add(shortcutAnnotation); |
| } |
| } |
| |
| /** |
| * @generated |
| */ |
| private Node createLabel(View owner, String hint) { |
| DecorationNode rv = NotationFactory.eINSTANCE.createDecorationNode(); |
| rv.setType(hint); |
| ViewUtil.insertChildView(owner, rv, ViewUtil.APPEND, true); |
| return rv; |
| } |
| |
| /** |
| * @generated |
| */ |
| private Node createCompartment(View owner, String hint, |
| boolean canCollapse, boolean hasTitle, boolean canSort, |
| boolean canFilter) { |
| //SemanticListCompartment rv = NotationFactory.eINSTANCE.createSemanticListCompartment(); |
| //rv.setShowTitle(showTitle); |
| //rv.setCollapsed(isCollapsed); |
| Node rv; |
| if (canCollapse) { |
| rv = NotationFactory.eINSTANCE.createBasicCompartment(); |
| } else { |
| rv = NotationFactory.eINSTANCE.createDecorationNode(); |
| } |
| if (hasTitle) { |
| TitleStyle ts = NotationFactory.eINSTANCE.createTitleStyle(); |
| ts.setShowTitle(true); |
| rv.getStyles().add(ts); |
| } |
| if (canSort) { |
| rv.getStyles().add(NotationFactory.eINSTANCE.createSortingStyle()); |
| } |
| if (canFilter) { |
| rv.getStyles() |
| .add(NotationFactory.eINSTANCE.createFilteringStyle()); |
| } |
| rv.setType(hint); |
| ViewUtil.insertChildView(owner, rv, ViewUtil.APPEND, true); |
| return rv; |
| } |
| |
| /** |
| * @generated |
| */ |
| private EObject getSemanticElement(IAdaptable semanticAdapter) { |
| if (semanticAdapter == null) { |
| return null; |
| } |
| EObject eObject = (EObject) semanticAdapter.getAdapter(EObject.class); |
| if (eObject != null) { |
| return EMFCoreUtil.resolve( |
| TransactionUtil.getEditingDomain(eObject), eObject); |
| } |
| return null; |
| } |
| |
| /** |
| * @generated |
| */ |
| private IElementType getSemanticElementType(IAdaptable semanticAdapter) { |
| if (semanticAdapter == null) { |
| return null; |
| } |
| return (IElementType) semanticAdapter.getAdapter(IElementType.class); |
| } |
| } |