List of usage examples for org.eclipse.jface.resource ImageDescriptor getMissingImageDescriptor
public static ImageDescriptor getMissingImageDescriptor()
From source file:org.eclipse.scada.vi.ui.draw2d.primitives.ImageController.java
License:Open Source License
public void setImage(final String uri) { if (this.currentImage != null) { this.manager.destroyImage(this.currentImage); this.currentImage = null; }//from w w w . j a va 2 s . c o m if (uri == null || uri.isEmpty()) { this.figure.setIcon(null); } else { try { final URL url = new URL(this.symbolLoader.resolveUri(uri)); this.figure.setIcon(this.manager .createImageWithDefault(this.currentImage = ImageDescriptor.createFromURL(url))); this.factoryContext.loadedResource(URI.createURI(url.toString())); } catch (final MalformedURLException e) { this.figure .setIcon(this.manager.createImageWithDefault(ImageDescriptor.getMissingImageDescriptor())); } } }
From source file:org.eclipse.scada.vi.ui.user.navigation.ToolBarNavigatorItem.java
License:Open Source License
private Image createImage(final String key) { try {/*from w w w . j a v a 2 s .com*/ final String uri = Activator.getDefault().getPreferenceStore().getString(key); return this.manager.createImageWithDefault(ImageDescriptor.createFromURL(new URL(uri))); } catch (final MalformedURLException e) { return this.manager.createImageWithDefault(ImageDescriptor.getMissingImageDescriptor()); } }
From source file:org.eclipse.sirius.common.ui.tools.api.util.ImageProvider.java
License:Open Source License
/** * Get the <code>ImageDescriptor</code> from a path. * // ww w . j ava 2s .c om * @param path * The path of the image (path relative to the workspace or to * the plugins). * @return an ImageDescriptor */ public static ImageDescriptor getImageDescriptor(final String path) { final File imageFile = FileProvider.getDefault().getFile(new Path(path)); if (imageFile != null && imageFile.exists() && imageFile.canRead()) { try { return ImageDescriptor.createFromURL(imageFile.toURI().toURL()); } catch (MalformedURLException e) { // do nothing } } return ImageDescriptor.getMissingImageDescriptor(); }
From source file:org.eclipse.sirius.diagram.ui.internal.operation.RegionContainerUpdateLayoutOperation.java
License:Open Source License
/** * Compute the default size of regions according to regions container size. * This method is called only when the regions container has not an auto * sized for its GMF size.//from w w w .j ava 2 s. co m * * @param nbRegionsToLayout * Number of regions to layout * @param vertical * true if the stack is vertical, false if it is horizontal * @param containerIsRegion * true if the container is also a region * @param regionsContainerSize * The size, defined in the VSM or by the end-user at creation, * of the regions container * @return list of dimension (the first is the size of a region, the second, * optional, is the size of the last region if different of the * others) */ private List<Dimension> computeRegionsSizeAccordingToContainerSize(int nbRegionsToLayout, boolean vertical, boolean containerIsRegion, Size regionsContainerSize) { List<Dimension> result = Lists.newArrayList(); Dimension regionContainerContentPaneSize = new Dimension(regionsContainerSize.getWidth(), regionsContainerSize.getHeight()); Dimension regionSize = new Dimension(); // headerHeight includes the title height (with the icon), the label // offset, the 1 pixel separator line, int headerHeight = 0; EObject element = regionsContainer.getElement(); ViewQuery viewQuery = new ViewQuery(regionsContainer); int borderSize = 0; boolean needShadowBorder = true; if (element instanceof DNodeContainer) { DNodeContainer dnc = (DNodeContainer) element; Style siriusStyle = dnc.getStyle(); // Get border size if (siriusStyle instanceof BorderedStyle) { if (((BorderedStyle) siriusStyle).getBorderSize() != null) { borderSize = ((BorderedStyle) siriusStyle).getBorderSize().intValue(); } } // Get header size (title and all associated margin) if (!new DDiagramElementQuery(dnc).isLabelHidden()) { int titleHeight = 0; if (siriusStyle instanceof BasicLabelStyle) { BasicLabelStyle bls = (BasicLabelStyle) siriusStyle; Font defaultFont = VisualBindingManager.getDefault().getFontFromLabelStyle(bls, (String) viewQuery.getDefaultValue(NotationPackage.Literals.FONT_STYLE__FONT_NAME)); Dimension titleDimension; try { titleDimension = FigureUtilities.getStringExtents(dnc.getName(), defaultFont); } catch (SWTException e) { // Probably an "Invalid thread access" (FigureUtilities // creates a new Shell to compute the label size). So in // this case, we use a default size. titleDimension = new Dimension(20, 12); } titleHeight = titleDimension.height; if (bls.isShowIcon()) { // Also consider the icon size Image icon = null; ImageDescriptor descriptor = null; EObject target = dnc.getTarget(); if (!StringUtil.isEmpty(bls.getIconPath())) { String iconPath = bls.getIconPath(); final File imageFile = FileProvider.getDefault().getFile(new Path(iconPath)); if (imageFile != null && imageFile.exists() && imageFile.canRead()) { try { descriptor = DiagramUIPlugin.Implementation .findImageDescriptor(imageFile.toURI().toURL()); } catch (MalformedURLException e) { // Do nothing here } } } else if (target != null) { final IItemLabelProvider labelProvider = (IItemLabelProvider) DiagramUIPlugin .getPlugin().getItemProvidersAdapterFactory() .adapt(target, IItemLabelProvider.class); if (labelProvider != null) { descriptor = ExtendedImageRegistry.getInstance() .getImageDescriptor(labelProvider.getImage(target)); } } if (descriptor == null) { descriptor = ImageDescriptor.getMissingImageDescriptor(); } icon = DiagramUIPlugin.getPlugin().getImage(descriptor); titleHeight = Math.max(titleHeight, icon.getBounds().height); } } int separatorLineHeight = 1; int labelOffset = IContainerLabelOffsets.LABEL_OFFSET; // As in // org.eclipse.sirius.diagram.ui.edit.internal.part.DiagramContainerEditPartOperation.refreshBorder(AbstractDiagramElementContainerEditPart, // ViewNodeContainerFigureDesc, ContainerStyle) if (!containerIsRegion) { labelOffset -= 1; } headerHeight = labelOffset + titleHeight + AbstractDiagramElementContainerEditPart.DEFAULT_SPACING + separatorLineHeight; } // Compute if the shadow border is needed (as in // AbstractDiagramElementContainerEditPart.addDropShadow(NodeFigure, // IFigure)) needShadowBorder = !(new DDiagramElementContainerExperimentalQuery(dnc).isRegion() || dnc.getOwnedStyle() instanceof WorkspaceImage); } // Adds all the expected margin regionContainerContentPaneSize .setHeight(regionContainerContentPaneSize.height() - (borderSize + headerHeight + borderSize)); regionContainerContentPaneSize.setWidth(regionContainerContentPaneSize.width() - (borderSize + borderSize)); if (needShadowBorder) { // Remove the 2 pixels corresponding to the shadow insets // (AlphaDropShadowBorder.getInsets(IFigure)) regionContainerContentPaneSize.setHeight( regionContainerContentPaneSize.height() - AlphaDropShadowBorder.getDefaultShadowSize()); regionContainerContentPaneSize.setWidth( regionContainerContentPaneSize.width() - AlphaDropShadowBorder.getDefaultShadowSize()); } if (vertical) { if (regionContainerContentPaneSize.height() != 0) { regionSize.setHeight(regionContainerContentPaneSize.height() / nbRegionsToLayout); } regionSize.setWidth(regionContainerContentPaneSize.width()); result.add(regionSize); if (regionContainerContentPaneSize.height() % regionSize.height() != 0) { // Compute the precise last height (the regions container height // is not necessarily exactly divisible by the number of // regions) int lastRegionHeight = regionContainerContentPaneSize.height() - (regionSize.height() * (nbRegionsToLayout - 1)); result.add(new Dimension(regionContainerContentPaneSize.width(), lastRegionHeight)); } } else { if (regionsContainerSize.getWidth() != 0) { regionSize.setWidth(regionContainerContentPaneSize.width() / nbRegionsToLayout); } regionSize.setHeight(regionContainerContentPaneSize.height()); result.add(regionSize); if (regionContainerContentPaneSize.width() % regionSize.width() != 0) { // Compute the precise last width (the regions container width // is not necessarily exactly divisible by the number of // regions) int lastRegionWidth = regionContainerContentPaneSize.width() - (regionSize.width() * (nbRegionsToLayout - 1)); result.add(new Dimension(lastRegionWidth, regionContainerContentPaneSize.height())); } } return result; }
From source file:org.eclipse.sirius.diagram.ui.tools.api.graphical.edit.styles.SimpleStyleConfiguration.java
License:Open Source License
/** * {@inheritDoc}// w w w .j a v a 2 s. c o m * * @see org.eclipse.sirius.diagram.tools.api.graphical.edit.styles.StyleConfiguration#getLabelIcon(DDiagramElement, * IGraphicalEditPart) */ public Image getLabelIcon(final DDiagramElement vpElement, IGraphicalEditPart editPart) { Image icon = null; if (vpElement != null) { if (isShowIcon(vpElement, editPart)) { ImageDescriptor descriptor = null; EObject target = vpElement.getTarget(); if (useCustomIcon(vpElement, editPart)) { descriptor = getCustomIconDescriptor(vpElement, editPart); } else if (target != null) { final IItemLabelProvider labelProvider = (IItemLabelProvider) DiagramUIPlugin.getPlugin() .getItemProvidersAdapterFactory().adapt(target, IItemLabelProvider.class); if (labelProvider != null) { descriptor = ExtendedImageRegistry.getInstance() .getImageDescriptor(labelProvider.getImage(target)); } } if (descriptor == null) { descriptor = ImageDescriptor.getMissingImageDescriptor(); } icon = DiagramUIPlugin.getPlugin().getImage(descriptor); } } return icon; }
From source file:org.eclipse.sirius.diagram.ui.tools.internal.dialogs.ExtendedFeatureEditorDialog.java
License:Open Source License
/** * Creates a new <code>ExtendedFeatureEditorDialog</code>. see * {@link org.eclipse.emf.edit.ui.celleditor.FeatureEditorDialog}. * //w w w. ja v a 2s. c om * @param parent * the parent. * @param choices * the choices. * @param referenceValues * the reference values. * @param extReference * the ext reference. */ public ExtendedFeatureEditorDialog(final Shell parent, final List<EObject> choices, final List<EObject> referenceValues, final ExtensionFeatureDescription extReference) { super(parent); this.choices = choices; this.referenceValues = referenceValues; this.extReference = extReference; final List<AdapterFactory> adapterFactories = Collections.emptyList(); final AdapterFactory adapterFactory = new ComposedAdapterFactory(adapterFactories); values = new ItemProvider(adapterFactory, this.referenceValues); contentProvider = new AdapterFactoryContentProvider(adapterFactory); this.choices.removeAll(this.referenceValues); this.labelProvider = new LabelProvider() { @Override public String getText(final Object element) { if (element instanceof EObject) { final ModelAccessor accessor = SiriusPlugin.getDefault().getModelAccessorRegistry() .getModelAccessor((EObject) element); return accessor.getQualifiedName((EObject) element, true); } return String.valueOf(element); } @Override public Image getImage(final Object element) { ImageDescriptor descriptor = null; if (element instanceof EObject) { final EObject target = (EObject) element; final IItemLabelProvider myLabelProvider = (IItemLabelProvider) DiagramUIPlugin.getPlugin() .getItemProvidersAdapterFactory().adapt(target, IItemLabelProvider.class); descriptor = ExtendedImageRegistry.getInstance() .getImageDescriptor(myLabelProvider.getImage(target)); } if (descriptor == null) { descriptor = ImageDescriptor.getMissingImageDescriptor(); } return DiagramUIPlugin.getPlugin().getImage(descriptor); } }; }
From source file:org.eclipse.sirius.diagram.ui.tools.internal.views.providers.outline.OutlineLabelProvider.java
License:Open Source License
/** * Returns the image for the label of the given DNodeLabelItemProvider. * /*ww w . ja v a 2s . c o m*/ * @param element * the element for which to provide the label image * @return the image used to label the element, or <code>null</code> if * there is no image for the given object */ private Image getImage(final AbstractDDiagramElementLabelItemProvider element) { Image result; ImageDescriptor descriptor = ExtendedImageRegistry.getInstance() .getImageDescriptor(element.getImage(element.getTarget())); if (descriptor == null) { descriptor = ImageDescriptor.getMissingImageDescriptor(); } result = DiagramUIPlugin.getPlugin().getImage(descriptor); Option<DDiagramElement> optionTarget = element.getDiagramElementTarget(); if (optionTarget.some() && new DDiagramElementQuery(optionTarget.get()).isLabelHidden()) { result = getDecoratedImage(result, DiagramImagesPath.HIDDEN_DECORATOR, IDecoration.TOP_LEFT); } return result; }
From source file:org.eclipse.sirius.diagram.ui.tools.internal.views.providers.outline.OutlineLabelProvider.java
License:Open Source License
/** * Returns the image for the label of the given DSemanticDecorator. * /*www . j ava2 s .c om*/ * @param element * the element for which to provide the label image * @return the image used to label the element, or <code>null</code> if * there is no image for the given object */ private Image getImage(DSemanticDecorator element) { Image result = null; final EObject target = element.getTarget(); if (target != null) { final IItemLabelProvider labelProvider = (IItemLabelProvider) this.factory.adapt(target, IItemLabelProvider.class); if (labelProvider != null) { ImageDescriptor descriptor = ExtendedImageRegistry.getInstance() .getImageDescriptor(labelProvider.getImage(target)); if (descriptor == null) { descriptor = ImageDescriptor.getMissingImageDescriptor(); } result = DiagramUIPlugin.getPlugin().getImage(descriptor); if (element instanceof DEdge) { result = getDecoratedImage(result, DiagramImagesPath.VIEW_EDGE_DECORATOR, IDecoration.BOTTOM_LEFT); result = computeFoldDecorator(result, (DEdge) element); } if (element instanceof DDiagramElement) { DDiagramElementQuery query = new DDiagramElementQuery((DDiagramElement) element); if (query.isHidden()) { result = getDecoratedImage(result, DiagramImagesPath.HIDDEN_DECORATOR, IDecoration.TOP_LEFT); } if (element instanceof DDiagramElementContainer && query.isLabelHidden()) { result = getDecoratedImage(result, DiagramImagesPath.HIDDEN_LABEL_DECORATOR, IDecoration.BOTTOM_RIGHT); } } } } return result; }
From source file:org.eclipse.sirius.tests.sample.migration.design.Draw2dToSiriusModelTransformer.java
License:Open Source License
private String getIconPath(org.eclipse.sirius.viewpoint.BasicLabelStyle viewpointBasicLabelStyle, AbstractDiagramNameEditPart abstractDiagramNameEditPart) { String iconPath = ""; String modelIconPath = viewpointBasicLabelStyle.getIconPath(); IFigure figure = abstractDiagramNameEditPart.getFigure(); if (figure instanceof SiriusWrapLabel) { SiriusWrapLabel viewpointWrapLabel = (SiriusWrapLabel) figure; Image icon = viewpointWrapLabel.getIcon(); if (modelIconPath != null && modelIconPath.length() > 0) { File imageFile = FileProvider.getDefault().getFile(new Path(modelIconPath)); if (imageFile != null) { try { ImageDescriptor imageDescriptor = DiagramUIPlugin.Implementation .findImageDescriptor(imageFile.toURI().toURL()); if (imageDescriptor == null) { imageDescriptor = ImageDescriptor.getMissingImageDescriptor(); }/*from w ww . j a v a2 s .c om*/ Image image = DiagramUIPlugin.getPlugin().getImage(imageDescriptor); if (areEqualImages(image, icon)) { iconPath = modelIconPath; } } catch (MalformedURLException e) { e.printStackTrace(); } } } } return iconPath; }
From source file:org.eclipse.sirius.tree.ui.tools.internal.editor.provider.DTreeColumnLabelProvider.java
License:Open Source License
private Image getCustomImage(BasicLabelStyle bls) { Image customImage = null;//w w w . j av a 2 s . c om if (bls != null && !StringUtil.isEmpty(bls.getIconPath())) { ImageDescriptor descriptor = null; String iconPath = bls.getIconPath(); final File imageFile = FileProvider.getDefault().getFile(new Path(iconPath)); if (imageFile != null && imageFile.exists() && imageFile.canRead()) { try { descriptor = ImageDescriptor.createFromURL(imageFile.toURI().toURL()); } catch (MalformedURLException e) { // log a waring later. } } if (descriptor == null) { SiriusPlugin.getDefault().warning("Icon file \"" + iconPath + "\" not found", null); descriptor = ImageDescriptor.getMissingImageDescriptor(); } customImage = TreeUIPlugin.getImage(descriptor); } return customImage; }