Java Code Examples for org.eclipse.swt.graphics.Image#isDisposed()

The following examples show how to use org.eclipse.swt.graphics.Image#isDisposed() . These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: bonita-studio   File: Pics.java    License: GNU General Public License v2.0 6 votes vote down vote up
public static Image getImage(final String imageName, final AbstractUIPlugin plugin) {
    if (plugin == null) {
        return null;
    }
    final ImageRegistry reg = plugin.getImageRegistry();

    Image result = reg.get(imageName);

    if (result != null && !result.isDisposed()) {//prevent from bad dispose
        return result;
    }

    final ImageDescriptor descriptor = getImageDescriptor(imageName, plugin);
    if (descriptor != null) {
        result = descriptor.createImage();
    }

    reg.remove(imageName);
    if (result != null) {
        reg.put(imageName, result);
    }

    return result;
}
 
Example 2
/**
 * 销毁图片资源
 */
private void disposeImg() {
	if(null != projectImg && !projectImg.isDisposed()){			
		projectImg.dispose();
	}
	if(null != folderImg&& !folderImg.isDisposed()){			
		folderImg.dispose();
	}
	if(null !=hsXLiffImg && !hsXLiffImg.isDisposed() ){			
		hsXLiffImg.dispose();
	}
	if(null !=htmlImg && !htmlImg.isDisposed()){			
		htmlImg.dispose();
	}
	if(null !=defaultImg && !defaultImg.isDisposed()){			
		defaultImg.dispose();
	}
	for (Entry<String, Image> entry : imgMap.entrySet()) {
		Image value = entry.getValue();
		if(null != value && !value.isDisposed()){				
			value.dispose();
		}
	}
	imgMap.clear();
}
 
Example 3
/**
 * 启动编辑器。
 * 
 * @param site
 *            the site
 * @param input
 *            the input
 * @throws PartInitException
 *             the part init exception
 * @see org.eclipse.ui.part.EditorPart#init(org.eclipse.ui.IEditorSite,
 *      org.eclipse.ui.IEditorInput)
 */
public void init(IEditorSite site, IEditorInput input) throws PartInitException {
	if (LOGGER.isDebugEnabled()) {
		LOGGER.debug("init(IEditorSite site, IEditorInput input)");
	}
	setSite(site);
	setInput(input);
	// 设置Editor标题栏的显示名称,否则名称用plugin.xml中的name属性
	setPartName(input.getName());

	Image oldTitleImage = titleImage;
	if (input != null) {
		IEditorRegistry editorRegistry = PlatformUI.getWorkbench().getEditorRegistry();
		IEditorDescriptor editorDesc = editorRegistry.findEditor(getSite().getId());
		ImageDescriptor imageDesc = editorDesc != null ? editorDesc.getImageDescriptor() : null;
		titleImage = imageDesc != null ? imageDesc.createImage() : null;
	}

	setTitleImage(titleImage);
	if (oldTitleImage != null && !oldTitleImage.isDisposed()) {
		oldTitleImage.dispose();
	}

	getSite().setSelectionProvider(this);
}
 
Example 4
Source Project: nebula   File: SWTGraphicUtil.java    License: Eclipse Public License 2.0 6 votes vote down vote up
/**
 * Returns a new scaled image.
 *
 * @param source the image to be scaled
 * @param newWidth new width of the image
 * @param newHeight new height of the image
 * @return a scaled image of the source
 */
public static Image resize(final Image source, final int newWidth, final int newHeight) {
	if (source == null) {
		return null;
	}

	if (source.isDisposed()) {
		SWT.error(SWT.ERROR_WIDGET_DISPOSED);
	}

	final Image scaledImage = new Image(source.getDevice(), newWidth, newHeight);
	final GC gc = new GC(scaledImage);
	gc.setAntialias(SWT.ON);
	gc.setInterpolation(SWT.HIGH);
	gc.drawImage(source, 0, 0, source.getBounds().width, source.getBounds().height, 0, 0, newWidth, newHeight);
	gc.dispose();

	return scaledImage;
}
 
Example 5
@Override
public void dispose(TableCell cell) {
	// only dispose of image here, this method is reused in other methods
	Graphic graphic = cell.getGraphic();
	if (graphic instanceof UISWTGraphic)
	{
		final Image img = ((UISWTGraphic) graphic).getImage();
		if (img != null && !img.isDisposed()){
			Utils.execSWTThread(() -> Utils.disposeSWTObjects(img));

				// see http://forum.vuze.com/thread.jspa?threadID=117243
				// could it be that it isn't being marked as disposed after disposal and
				// being double-disposed?
			((UISWTGraphic) graphic).setImage( null );
		}
	}
}
 
Example 6
public static Image getImage(final String imageName) {
    final ImageRegistry reg = getDefault().getImageRegistry();

    Image result = reg.get(imageName);

    if (result != null && !result.isDisposed()) {//prevent from bad dispose
        return result;
    }

    final ImageDescriptor descriptor = ImageDescriptor.createFromURL(getDefault().getBundle().getResource(imageName));
    if (descriptor != null) {
        result = descriptor.createImage();
    }

    reg.remove(imageName);
    if (result != null) {
        reg.put(imageName, result);
    }

    return result;
}
 
Example 7
private void setProcessMessage(Image image, String message, String tooltip) {
	if (image != null && !image.isDisposed()) {
		tipLabel.setImage(image);
	} else {
		tipLabel.setImage(null);
	}
	tipLabel.setText(message);
	tipLabel.setToolTipText(tooltip);
	tipLabel.pack();
}
 
Example 8
@Override
public void init(IEditorSite site, IEditorInput input) throws PartInitException {
	if (LOGGER.isDebugEnabled()) {
		LOGGER.debug("init(IEditorSite site, IEditorInput input)");
	}
	setSite(site);
	setInput(input);

	// 设置Editor标题栏的显示名称,否则名称用plugin.xml中的name属性
	setPartName(input.getName());

	Image oldTitleImage = titleImage;
	if (input != null) {
		IEditorRegistry editorRegistry = PlatformUI.getWorkbench().getEditorRegistry();
		IEditorDescriptor editorDesc = editorRegistry.findEditor(getSite().getId());
		ImageDescriptor imageDesc = editorDesc != null ? editorDesc.getImageDescriptor() : null;
		titleImage = imageDesc != null ? imageDesc.createImage() : null;
	}

	setTitleImage(titleImage);
	if (oldTitleImage != null && !oldTitleImage.isDisposed()) {
		oldTitleImage.dispose();
	}

	getSite().setSelectionProvider(this);

	cursorIbeam = new Cursor(null, SWT.CURSOR_IBEAM);
	cursorArrow = new Cursor(null, SWT.CURSOR_ARROW);

	hookListener();
}
 
Example 9
@Override
public boolean close() {
	for (String code : imageCache.keySet()) {
		Image im = imageCache.get(code);
		if (im != null && !im.isDisposed()) {
			im.dispose();
		}
	}
	imageCache.clear();
	return super.close();
}
 
Example 10
Source Project: BiglyBT   File: NameItem.java    License: GNU General Public License v2.0 5 votes vote down vote up
private void disposeCellIcon(TableCell cell) {
	if (!(cell instanceof TableCellSWT)) {
		return;
	}
	final Image img = ((TableCellSWT) cell).getIcon();
	if (img != null) {
		((TableCellSWT) cell).setIcon(null);
		if (!img.isDisposed()) {
			img.dispose();
		}
	}
}
 
Example 11
Source Project: olca-app   File: ImageManager.java    License: Mozilla Public License 2.0 5 votes vote down vote up
private static Image get(String filename, String overlay) {
	if (filename == null || overlay == null)
		return null;
	String id = filename + "-" + overlay;
	Image withOverlay = registry.get(id);
	if (withOverlay != null && !withOverlay.isDisposed())
		return withOverlay;
	DecorationOverlayIcon withIcon = new DecorationOverlayIcon(
			get(filename), descriptor(overlay), IDecoration.BOTTOM_RIGHT);
	withOverlay = withIcon.createImage();
	registry.put(id, withOverlay);
	return withOverlay;
}
 
Example 12
Source Project: birt   File: RotatedTextImageUI.java    License: Eclipse Public License 1.0 5 votes vote down vote up
public void disposeImage( ExtendedItemHandle handle, Image image )
{
	if ( image != null && !image.isDisposed( ) )
	{
		image.dispose( );
	}

}
 
Example 13
/**
 * (non-Javadoc)
 * @see org.eclipse.jface.dialogs.DialogPage#dispose()
 */
public void dispose() {
	for (String code : imageCache.keySet()) {
		Image im = imageCache.get(code);
		if (im != null && !im.isDisposed()) {
			im.dispose();
		}
	}
	if (isBidiImage != null && !isBidiImage.isDisposed()) {
		isBidiImage.dispose();
	}
	imageCache.clear();
	super.dispose();
}
 
Example 14
@Override
public void cellPaint(GC gc, TableCellSWT cell) {
	SubscriptionResultFilterable entry = (SubscriptionResultFilterable) cell.getDataSource();

	Rectangle cellBounds = cell.getBounds();
	Image img = entry== null || entry.getRead() ? imgOld: imgNew;

	if (img != null && !img.isDisposed()) {
		Rectangle imgBounds = img.getBounds();
		gc.drawImage(img, cellBounds.x
				+ ((cellBounds.width - imgBounds.width) / 2), cellBounds.y
				+ ((cellBounds.height - imgBounds.height) / 2));
	}
}
 
Example 15
Source Project: Pydev   File: ImageCache.java    License: Eclipse Public License 1.0 5 votes vote down vote up
private Image getFromImageHash(Object key) {
    synchronized (lock) {
        Image ret = imageHash.get(key);
        if (ret != null && ret.isDisposed()) {
            imageHash.remove(key);
            ret = null;
        }
        return ret;
    }
}
 
Example 16
@Override
public void cellPaint(GC gc, TableCellSWT cell) {
	ActivitiesEntry entry = (ActivitiesEntry) cell.getDataSource();

	Rectangle cellBounds = cell.getBounds();
	Image img = entry.getReadOn() <= 0 ? imgNew : imgOld;

	if (img != null && !img.isDisposed()) {
		Rectangle imgBounds = img.getBounds();
		gc.drawImage(img, cellBounds.x
				+ ((cellBounds.width - imgBounds.width) / 2), cellBounds.y
				+ ((cellBounds.height - imgBounds.height) / 2));
	}
}
 
Example 17
/**
 * Convenience method for disposing of an image
 * 
 * @param image
 */
public static void disposeImage(Image image)
{
	if (image != null && !image.isDisposed())
	{
		image.dispose();
	}
}
 
Example 18
Source Project: hop   File: GuiResource.java    License: Apache License 2.0 4 votes vote down vote up
private void disposeImage( Image image ) {
  if ( image != null && !image.isDisposed() ) {
    image.dispose();
  }
}
 
Example 19
/**
 * Sets the receiver's image at a column.
 *
 * @param index
 *            the column index
 * @param image
 *            the new image
 * @throws IllegalArgumentException
 *             <ul>
 *             <li>ERROR_INVALID_ARGUMENT - if the image has been disposed</li>
 *             </ul>
 * @throws org.eclipse.swt.SWTException
 *             <ul>
 *             <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed
 *             </li>
 *             <li>ERROR_THREAD_INVALID_ACCESS - if not called from the
 *             thread that created the receiver</li>
 *             </ul>
 */
public void setImage(int index, Image image) {
	checkWidget();
	if (image != null && image.isDisposed()) {
		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
	}
	images.set(index, image);

	parent.imageSetOnItem(index, this);

	parent.redraw();
}
 
Example 20
Source Project: nebula   File: PGroup.java    License: Eclipse Public License 2.0 3 votes vote down vote up
/**
 * Sets the image.
 *
 * @exception IllegalArgumentException <ul>
 *    <li>ERROR_NULL_ARGUMENT - if the image is disposed</li>
 * </ul>
 * @exception SWTException <ul>
 *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
 *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
 * </ul>
 */
public void setImage(Image image)
{
    checkWidget();

    if (image != null && image.isDisposed())
        SWT.error(SWT.ERROR_INVALID_ARGUMENT);
    this.image = image;
    strategy.update();
}