示例#1
0
 public void setImage(Image image) {
   checkWidget();
   if ((style & SWT.SEPARATOR) != 0) return;
   super.setImage(image);
   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);
     } else {
       imageList.put(imageIndex, image);
     }
     long /*int*/ pixbuf = imageList.getPixbuf(imageIndex);
     OS.gtk_image_set_from_pixbuf(imageHandle, pixbuf);
   } else {
     OS.gtk_image_set_from_pixbuf(imageHandle, 0);
   }
   /*
    * If Text/Image of a tool-item changes, then it is
    * required to reset the proxy menu. Otherwise, the
    * old menuItem appears in the overflow menu.
    */
   if ((style & SWT.DROP_DOWN) != 0) {
     proxyMenuItem = 0;
     proxyMenuItem = OS.gtk_tool_item_retrieve_proxy_menu_item(handle);
     OS.g_signal_connect(
         proxyMenuItem, OS.activate, ToolBar.menuItemSelectedFunc.getAddress(), handle);
   }
   parent.relayout();
 }
示例#2
0
 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 image the receiver will display to the argument.
  *
  * <p>Note: This operation is a hint and is not supported on platforms that do not have this
  * concept (for example, Windows NT). Furthermore, some platforms (such as GTK), cannot display
  * both a check box and an image at the same time. Instead, they hide the image and display the
  * check box.
  *
  * @param image the image to display
  * @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 ((style & SWT.SEPARATOR) != 0) return;
   super.setImage(image);
   if (OS.IsWinCE) {
     if ((OS.IsPPC || OS.IsSP) && parent.hwndCB != 0) {
       long /*int*/ hwndCB = parent.hwndCB;
       TBBUTTONINFO info = new TBBUTTONINFO();
       info.cbSize = TBBUTTONINFO.sizeof;
       info.dwMask = OS.TBIF_IMAGE;
       info.iImage = parent.imageIndex(image);
       OS.SendMessage(hwndCB, OS.TB_SETBUTTONINFO, id, info);
     }
     return;
   }
   if (OS.WIN32_VERSION < OS.VERSION(4, 10)) return;
   MENUITEMINFO info = new MENUITEMINFO();
   info.cbSize = MENUITEMINFO.sizeof;
   info.fMask = OS.MIIM_BITMAP;
   if (parent.foreground != -1) {
     info.hbmpItem = OS.HBMMENU_CALLBACK;
   } else {
     if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION(6, 0) && OS.IsAppThemed()) {
       if (hBitmap != 0) OS.DeleteObject(hBitmap);
       info.hbmpItem = hBitmap = image != null ? Display.create32bitDIB(image) : 0;
     } else {
       info.hbmpItem = image != null ? OS.HBMMENU_CALLBACK : 0;
     }
   }
   long /*int*/ hMenu = parent.handle;
   OS.SetMenuItemInfo(hMenu, id, false, info);
   parent.redraw();
 }
示例#4
0
 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();
 }
 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);
 }
示例#6
0
 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);
   }
 }