/** * Sets the receiver's hot image to the argument, which may be null indicating that no hot image * should be displayed. * * <p>The hot image is displayed when the mouse enters the receiver. * * @param image the hot image to display on the receiver (may be null) * @exception IllegalArgumentException * <ul> * <li>ERROR_INVALID_ARGUMENT - if the image has been disposed * </ul> * * @exception SWTException * <ul> * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver * </ul> */ public void setHotImage(Image image) { checkWidget(); if (image != null && image.isDisposed()) error(SWT.ERROR_INVALID_ARGUMENT); if ((style & SWT.SEPARATOR) != 0) return; hotImage = image; if ((parent.style & SWT.FLAT) != 0) redraw(); }
public void setImage(Image image) { checkWidget(); if ((style & SWT.SEPARATOR) != 0) return; if (image != null && image.isDisposed()) error(SWT.ERROR_INVALID_ARGUMENT); super.setImage(image); updateImages(getEnabled() && parent.getEnabled()); }
/** * Sets the receiver's disabled image to the argument, which may be null indicating that no * disabled image should be displayed. * * <p>The disabled image is displayed when the receiver is disabled. * * @param image the disabled image to display on the receiver (may be null) * @exception IllegalArgumentException * <ul> * <li>ERROR_INVALID_ARGUMENT - if the image has been disposed * </ul> * * @exception SWTException * <ul> * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver * </ul> */ public void setDisabledImage(Image image) { checkWidget(); if (image != null && image.isDisposed()) error(SWT.ERROR_INVALID_ARGUMENT); if ((style & SWT.SEPARATOR) != 0) return; disabledImage = image; if (!getEnabled()) redraw(); }
public void setImage(Image image) { checkWidget(); if (image != null && image.isDisposed()) error(SWT.ERROR_INVALID_ARGUMENT); if ((style & SWT.SEPARATOR) != 0) return; super.setImage(image); parent.relayout(); redraw(); }
/** * Sets the receiver's image at a column. * * @param index the column index * @param image the new image * @exception IllegalArgumentException * <ul> * <li>ERROR_INVALID_ARGUMENT - if the image has been disposed * </ul> * * @exception SWTException * <ul> * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver * </ul> */ public void setImage(int index, Image image) { checkWidget(); if (image != null && image.isDisposed()) { error(SWT.ERROR_INVALID_ARGUMENT); } if (image != null && image.type == SWT.ICON) { if (image.equals(_getImage(index))) return; } int count = Math.max(1, parent.getColumnCount()); if (0 > index || index > count - 1) return; int /*long*/ pixbuf = 0; if (image != null) { ImageList imageList = parent.imageList; if (imageList == null) imageList = parent.imageList = new ImageList(); int imageIndex = imageList.indexOf(image); if (imageIndex == -1) imageIndex = imageList.add(image); pixbuf = imageList.getPixbuf(imageIndex); } int modelIndex = parent.columnCount == 0 ? Table.FIRST_COLUMN : parent.columns[index].modelIndex; OS.gtk_list_store_set(parent.modelHandle, handle, modelIndex + Table.CELL_PIXBUF, pixbuf, -1); /* * Bug in GTK. When using fixed-height-mode, * row changes do not cause the row to be repainted. The fix is to * invalidate the row when it is cleared. */ if ((parent.style & SWT.VIRTUAL) != 0) { if (OS.GTK_VERSION >= OS.VERSION(2, 3, 2) && OS.GTK_VERSION < OS.VERSION(2, 6, 3)) { redraw(); } } /* * Bug in GTK. When in fixed height mode, GTK does not recalculate the cell renderer width * when the image is changed in the model. The fix is to force it to recalculate the width if * more space is required. */ if ((parent.style & SWT.VIRTUAL) != 0 && parent.currentItem == null) { if (OS.GTK_VERSION >= OS.VERSION(2, 3, 2)) { if (image != null) { int /*long*/ parentHandle = parent.handle; int /*long*/ column = OS.gtk_tree_view_get_column(parentHandle, index); int[] w = new int[1]; int /*long*/ pixbufRenderer = parent.getPixbufRenderer(column); OS.gtk_tree_view_column_cell_get_position(column, pixbufRenderer, null, w); if (w[0] < image.getBounds().width) { /* * There is no direct way to clear the cell renderer width so we * are relying on the fact that it is done as part of modifying * the style. */ int /*long*/ style = OS.gtk_widget_get_modifier_style(parentHandle); parent.modifyStyle(parentHandle, style); } } } } cached = true; }
public void setImage(Image image) { checkWidget(); if (image != null && image.isDisposed()) { error(SWT.ERROR_INVALID_ARGUMENT); } super.setImage(image); NSTableHeaderView headerView = ((NSOutlineView) parent.view).headerView(); if (headerView == null) return; int index = parent.indexOf(nsColumn); NSRect rect = headerView.headerRectOfColumn(index); headerView.setNeedsDisplayInRect(rect); }
/** * Constructs a new Pattern given an image. Drawing with the resulting pattern will cause the * image to be tiled over the resulting area. * * <p>This operation requires the operating system's advanced graphics subsystem which may not be * available on some platforms. * * @param device the device on which to allocate the pattern * @param image the image that the pattern will draw * @exception IllegalArgumentException * <ul> * <li>ERROR_NULL_ARGUMENT - if the device is null and there is no current device, or the * image is null * <li>ERROR_INVALID_ARGUMENT - if the image has been disposed * </ul> * * @exception SWTException * <ul> * <li>ERROR_NO_GRAPHICS_LIBRARY - if advanced graphics are not available * </ul> * * @exception SWTError * <ul> * <li>ERROR_NO_HANDLES if a handle for the pattern could not be obtained * </ul> * * @see #dispose() */ public Pattern(Device device, Image image) { super(device); if (image == null) SWT.error(SWT.ERROR_NULL_ARGUMENT); if (image.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT); this.device.checkCairo(); image.createSurface(); handle = Cairo.cairo_pattern_create_for_surface(image.surface); if (handle == 0) SWT.error(SWT.ERROR_NO_HANDLES); Cairo.cairo_pattern_set_extend(handle, Cairo.CAIRO_EXTEND_REPEAT); surface = image.surface; init(); }
/** * Sets the image that the receiver will use to paint the caret to the image specified by the * argument, or to the default which is a filled rectangle if the argument is null * * @param image the new image (or null) * @exception IllegalArgumentException * <ul> * <li>ERROR_INVALID_ARGUMENT - if the image has been disposed * </ul> * * @exception SWTException * <ul> * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver * </ul> */ public void setImage(Image image) { checkWidget(); if (image != null && image.isDisposed()) { error(SWT.ERROR_INVALID_ARGUMENT); } this.image = image; if (image != null) { OS.Image_Source(imageHandle, image.handle); OS.UIElement_Visibility(imageHandle, OS.Visibility_Visible); } else { OS.Image_Source(imageHandle, 0); OS.UIElement_Visibility(imageHandle, OS.Visibility_Collapsed); } resize(width, height); }
/** * Sets the receiver's image to the argument, which may be <code>null</code> indicating that no * image should be displayed. * * <p>Note that a Button can display an image and text simultaneously on Windows (starting with * XP), GTK+ and OSX. On other platforms, a Button that has an image and text set into it will * display the image or text that was set most recently. * * @param image the image to display on the receiver (may be <code>null</code>) * @exception IllegalArgumentException * <ul> * <li>ERROR_INVALID_ARGUMENT - if the image has been disposed * </ul> * * @exception SWTException * <ul> * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver * </ul> */ public void setImage(Image image) { checkWidget(); if (image != null && image.isDisposed()) error(SWT.ERROR_INVALID_ARGUMENT); if ((style & SWT.ARROW) != 0) return; this.image = image; OS.Image_Source(imageHandle, image != null ? image.handle : 0); OS.UIElement_Visibility( imageHandle, image != null ? OS.Visibility_Visible : OS.Visibility_Collapsed); OS.UIElement_Visibility( textHandle, image != null && text.length() == 0 ? OS.Visibility_Collapsed : OS.Visibility_Visible); int spacing = image != null && text.length() != 0 ? 3 : 0; int margin = OS.gcnew_Thickness(0, 0, spacing, 0); if (margin == 0) error(SWT.ERROR_NO_HANDLES); OS.FrameworkElement_Margin(imageHandle, margin); OS.GCHandle_Free(margin); }
public void setImage(Image image) { super.setImage(image); if (imageList != null) imageList.dispose(); imageList = null; if (image != null) { if (image.isDisposed()) error(SWT.ERROR_INVALID_ARGUMENT); imageList = new ImageList(); int imageIndex = imageList.add(image); long /*int*/ pixbuf = imageList.getPixbuf(imageIndex); OS.gtk_image_set_from_pixbuf(imageHandle, pixbuf); if (text.length() == 0) OS.gtk_widget_hide(labelHandle); OS.gtk_widget_show(imageHandle); } else { OS.gtk_image_set_from_pixbuf(imageHandle, 0); OS.gtk_widget_show(labelHandle); OS.gtk_widget_hide(imageHandle); } }