Ejemplo n.º 1
0
            public static KUrl.List FromMimeData(QMimeData mimeData, Dictionary <string, string> metaData)
            {
                KUrl.List list = new KUrl.List();
                SmokeMarshallers.FromIntPtr addfn = delegate(IntPtr ptr) {
                    GCHandle handle = (GCHandle)ptr;
                    list.Add((KUrl)handle.Target);
                    handle.Free();
                };
                IDictionaryEnumerator e = null;

                if (metaData != null)
                {
                    e = metaData.GetEnumerator();
                }
                GetNextDictionaryEntryFn dictfn = delegate(ref string key, ref string value) {
                    if (metaData == null)
                    {
                        return(false);
                    }
                    if (!e.MoveNext())
                    {
                        return(false);
                    }
                    key   = (string)e.Key;
                    value = (string)e.Value;
                    return(true);
                };

                KUrlListFromMimeData(addfn, (IntPtr)GCHandle.Alloc(mimeData), dictfn);
                return(list);
            }
Ejemplo n.º 2
0
            public void PopulateMimeData(QMimeData mimeData, Dictionary <string, string> metaData, KUrl.MimeDataFlags flags)
            {
                int i = 0;

                SmokeMarshallers.NoArgs listfn = delegate() {
                    if (i >= Count)
                    {
                        return(IntPtr.Zero);
                    }
                    return((IntPtr)GCHandle.Alloc(this[i++]));
                };
                IDictionaryEnumerator    e      = metaData.GetEnumerator();
                GetNextDictionaryEntryFn dictfn = delegate(ref string key, ref string value) {
                    if (!e.MoveNext())
                    {
                        return(false);
                    }
                    key   = (string)e.Key;
                    value = (string)e.Value;
                    return(true);
                };

                KUrlListPopulateMimeData(listfn, (IntPtr)GCHandle.Alloc(mimeData), dictfn, (uint)flags);
            }
Ejemplo n.º 3
0
 static extern void KUrlListFromMimeData(SmokeMarshallers.FromIntPtr addfn, IntPtr mimeData, GetNextDictionaryEntryFn getNextDictionaryEntry);
Ejemplo n.º 4
0
 static extern void KUrlListPopulateMimeData(SmokeMarshallers.NoArgs getNextItem, IntPtr mimeData, GetNextDictionaryEntryFn getNextDictionaryEntry, uint flags);