是否可以通过DND在X11应用程序和RCP之间交换数据?

时间:2013-08-13 08:53:04

标签: gtk swt x11

XDND协议用于X11应用程序中的dnd支持。 http://www.newplanetsoftware.com/xdnd/

Gtk基于X11,但gtk不仅支持XDND协议:

typedef enum
{
  GDK_DRAG_PROTO_MOTIF,
  GDK_DRAG_PROTO_XDND,
  GDK_DRAG_PROTO_ROOTWIN,     /* A root window with nobody claiming
               * drags */
  GDK_DRAG_PROTO_NONE,        /* Not a valid drag window */
  GDK_DRAG_PROTO_WIN32_DROPFILES, /* The simple WM_DROPFILES dnd */
  GDK_DRAG_PROTO_OLE2,        /* The complex OLE2 dnd (not implemented) */
  GDK_DRAG_PROTO_LOCAL            /* Intra-app */
} GdkDragProtocol;

我检查了SWT中的值

public class GdkDragContext {     
    /** @field cast=(GdkDragProtocol) */
   public int protocol;
    /** @field cast=(gboolean) */
   public boolean is_source;
    /** @field cast=(GdkWindow *) */
   public long /*int*/ source_window;
    /** @field cast=(GdkWindow *) */
   public long /*int*/ dest_window;
    /** @field cast=(GList *) */
   public long /*int*/ targets;
    /** @field cast=(GdkDragAction) */
   public int actions;
    /** @field cast=(GdkDragAction) */
   public int suggested_action;
    /** @field cast=(GdkDragAction) */
   public int action; 
    /** @field cast=(guint32) */
   public int start_time;
   public static final int sizeof = OS.GdkDragContext_sizeof();
}

协议的值是1,因此它也使用XDND协议。 那么可以在X11和SWT应用程序之间交换数据,即从x11拖到SWT还是反向?

0 个答案:

没有答案