Пример #1
0
        public static DataObject ToDataObject(this TransferDataSource data)
        {
            var retval = new DataObject();

            foreach (var type in data.DataTypes)
            {
                var value = data.GetValue(type);

                if (type == TransferDataType.Text)
                {
                    retval.SetText((string)value);
                }
                else if (type == TransferDataType.Uri)
                {
                    var uris = new StringCollection();
                    uris.Add(((Uri)value).LocalPath);
                    retval.SetFileDropList(uris);
                }
                else
                {
                    retval.SetData(type.Id, TransferDataSource.SerializeValue(value));
                }
            }

            return(retval);
        }
Пример #2
0
Файл: Util.cs Проект: chkn/xwt
 public static void SetDragData(TransferDataSource data, Gtk.DragDataGetArgs args)
 {
     foreach (var t in data.DataTypes) {
         object val = data.GetValue (t);
         SetSelectionData (args.SelectionData, t.Id, val);
     }
 }
Пример #3
0
 public static void SetDragData(TransferDataSource data, Gtk.DragDataGetArgs args)
 {
     foreach (var t in data.DataTypes) {
         object val = data.GetValue (t);
         if (val == null)
             continue;
         if (val is string)
             args.SelectionData.Text = (string)data.GetValue (t);
         else if (val is Xwt.Drawing.Image)
             args.SelectionData.SetPixbuf ((Gdk.Pixbuf) WidgetRegistry.GetBackend (val));
         else {
             var at = Gdk.Atom.Intern (t, false);
             args.SelectionData.Set (at, 0, TransferDataSource.SerializeValue (val));
         }
     }
 }
Пример #4
0
 public static void SetDragData(TransferDataSource data, Gtk.DragDataGetArgs args)
 {
     foreach (var t in data.DataTypes)
     {
         object val = data.GetValue(t);
         SetSelectionData(args.SelectionData, t.Id, val);
     }
 }
Пример #5
0
 void InitPasteboard(NSPasteboard pb, TransferDataSource data)
 {
     pb.ClearContents();
     foreach (var t in data.DataTypes)
     {
         if (t == TransferDataType.Text)
         {
             pb.AddTypes(new string[] { NSPasteboard.NSStringType }, null);
             pb.SetStringForType((string)data.GetValue(t), NSPasteboard.NSStringType);
         }
     }
 }
Пример #6
0
 public static void SetDragData(TransferDataSource data, Gtk.DragDataGetArgs args)
 {
     foreach (var t in data.DataTypes)
     {
         object val = data.GetValue(t);
         if (val == null)
         {
             continue;
         }
         if (val is string)
         {
             args.SelectionData.Text = (string)data.GetValue(t);
         }
         else if (val is Xwt.Drawing.Image)
         {
             args.SelectionData.SetPixbuf((Gdk.Pixbuf)WidgetRegistry.GetBackend(val));
         }
         else
         {
             var at = Gdk.Atom.Intern(t, false);
             args.SelectionData.Set(at, 0, TransferDataSource.SerializeValue(val));
         }
     }
 }