/** * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object) * @param element * @return */ public String getText(Object element) { if (element instanceof View) { EditPart dummyEP = EditPartService.getInstance().createGraphicEditPart((View) element); if (dummyEP instanceof ILabelRoleProvider) { return ((ILabelRoleProvider) dummyEP).getLabelRole(); } } return ""; }
/** {@inheritDoc} */ @Override public String getLabel() { if (getRepresentedEditPart() != null) { return getRepresentedEditPart().getCompartmentName(); } else { EditPart dummyEP = EditPartService.getInstance().createGraphicEditPart(getCompartmentView()); if (dummyEP instanceof IResizableCompartmentEditPart) { return ((IResizableCompartmentEditPart) dummyEP).getCompartmentName(); } } return getEditorLabelProvider().getText(getCompartmentView()); }
/** * initialize the status of the compartment for the node (Showed or hidden) * * @param view the element to initialize * @param store the preference store * @param elementName the name to the element */ public static void initCompartmentsStatusFromPrefs( View view, final IPreferenceStore store, String elementName) { EList<?> children = view.getPersistedChildren(); if (children != null) { for (Object object : children) { // we look for the name of the compartment for this view EditPart dummyEP = EditPartService.getInstance().createGraphicEditPart((View) object); IGraphicalEditPart epp = (IGraphicalEditPart) dummyEP; IFigure fig1 = epp.getFigure(); if (fig1 instanceof ResizableCompartmentFigure) { String compartmentName = ((ResizableCompartmentFigure) fig1).getCompartmentTitle(); if (compartmentName != null) { String diagramKind = view.getDiagram().getType(); String preferenceKey = PreferenceConstantHelper.getCompartmentElementConstant( diagramKind + "_" + elementName, compartmentName, PreferenceConstantHelper.COMPARTMENT_VISIBILITY); // $NON-NLS-1$ boolean value = store.getBoolean(preferenceKey); if (!value) { // the default value is true : nothing to // do ENamedElement namedElement = PackageUtil.getElement("notation.View.visible"); // $NON-NLS-1$ ViewUtil.setStructuralFeatureValue( (View) object, (EStructuralFeature) namedElement, value); } String compartmentNameVisibilityPreference = PreferenceConstantHelper.getCompartmentElementConstant( diagramKind + "_" + elementName, compartmentName, PreferenceConstantHelper.COMPARTMENT_NAME_VISIBILITY); // $NON-NLS-1$ boolean showCompartmentName = store.getBoolean(compartmentNameVisibilityPreference); View childView = (View) object; TitleStyle style = (TitleStyle) childView.getStyle(NotationPackage.eINSTANCE.getTitleStyle()); if (style != null) { style.setShowTitle(showCompartmentName); } } } dummyEP = null; } } }
/** * initialize the status of each label for the node or for the link (Showed or hidden) * * @param view the element to initialize * @param store the preference store * @param elementName the name to the element */ public static void initLabelVisibilityFromPrefs( View view, final IPreferenceStore store, String elementName) { EList<?> children = view.getPersistedChildren(); if (children != null) { for (Object object : children) { // we look for the name of the label for this view EditPart dummyEP = EditPartService.getInstance().createGraphicEditPart((View) object); if (dummyEP instanceof ILabelRoleProvider) { String role = ((ILabelRoleProvider) dummyEP).getLabelRole(); String diagramKind = view.getDiagram().getType(); String key = PreferenceConstantHelper.getLabelElementConstant( diagramKind + "_" + elementName, role, PreferenceConstantHelper.LABEL_VISIBILITY); // $NON-NLS-1$ ((View) object).setVisible(store.getBoolean(key)); } dummyEP = null; } } }
/** * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object) * @param element * @return */ public Image getImage(Object element) { if (element instanceof View) { EditPart dummyEP = EditPartService.getInstance().createGraphicEditPart((View) element); String iconPath = ""; if (dummyEP instanceof ILabelRoleProvider) { iconPath = ((ILabelRoleProvider) dummyEP).getIconPathRole(); if (iconPath != null) { if (iconPath.indexOf("platform") == 0) { // the path looks like // "platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Package.gif" try { return ImageDescriptor.createFromURL(new URL(iconPath)).createImage(); } catch (MalformedURLException e) { Activator.log.error("I can't find the following image " + iconPath, e); return null; } } } } } return null; }
/** @param input */ private void setInput(Object input) { Diagram diagram = null; if (input instanceof Pageflow) { Pageflow pageflow = (Pageflow) input; diagram = fetchDiagram(pageflow.eResource()); } else if (input instanceof Diagram) { diagram = (Diagram) input; } else if (input instanceof Resource) { Resource res = (Resource) input; diagram = fetchDiagram(res); } else if (input instanceof ResourceSet) { Resource res = ((ResourceSet) input).getResources().get(0); diagram = fetchDiagram(res); } else if (input instanceof List) { Resource res = (Resource) ((List<?>) input).get(0); diagram = fetchDiagram(res); } if (diagram != null) { TransactionalEditingDomain.Factory.INSTANCE.createEditingDomain( diagram.eResource().getResourceSet()); RootEditPart rootEP = EditPartService.getInstance().createRootEditPart(diagram); if (rootEP instanceof DiagramRootEditPart) { ((DiagramRootEditPart) rootEP) .setPreferencesHint(PageflowDiagramEditorPlugin.DIAGRAM_PREFERENCES_HINT); } viewer.setRootEditPart(rootEP); viewer.setEditPartFactory(new PageflowEditPartFactory()); viewer.setContents(diagram); viewer.flush(); if (viewer.getContents() instanceof DiagramEditPart) { DiagramEditPart dp = (DiagramEditPart) viewer.getContents(); dp.disableEditMode(); } } return; }