stubs for DragDropHelper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



- stubs for shell32 - DragDropHelper
Index: wine/ole/uuid.c
===================================================================
RCS file: /home/wine/wine/ole/uuid.c,v
retrieving revision 1.11
diff -d -u -w -B -r1.11 uuid.c
--- wine/ole/uuid.c	24 Jul 2002 01:57:22 -0000	1.11
+++ wine/ole/uuid.c	6 Aug 2002 20:57:08 -0000
@@ -45,6 +45,7 @@
 #include "shlguid.h"
 #include "shlobj.h"
 #include "wine/obj_channel.h"
+#include "wine/obj_dragdrophelper.h"
 
 #include "comcat.h"
 
Index: wine/dlls/shell32/Makefile.in
===================================================================
RCS file: /home/wine/wine/dlls/shell32/Makefile.in,v
retrieving revision 1.51
diff -d -u -w -B -r1.51 Makefile.in
--- wine/dlls/shell32/Makefile.in	24 Jul 2002 01:56:03 -0000	1.51
+++ wine/dlls/shell32/Makefile.in	6 Aug 2002 20:55:58 -0000
@@ -21,6 +21,7 @@
 	dataobject.c \
 	debughlp.c \
 	dialogs.c \
+	dragdrophelper.c \
 	enumidlist.c \
 	folders.c \
 	iconcache.c \
Index: wine/dlls/shell32/shell32_main.h
===================================================================
RCS file: /home/wine/wine/dlls/shell32/shell32_main.h,v
retrieving revision 1.50
diff -d -u -w -B -r1.50 shell32_main.h
--- wine/dlls/shell32/shell32_main.h	29 Jul 2002 00:24:59 -0000	1.50
+++ wine/dlls/shell32/shell32_main.h	6 Aug 2002 20:56:05 -0000
@@ -80,6 +80,7 @@
 HRESULT WINAPI IShellLink_Constructor(IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv);
 HRESULT WINAPI ISF_Desktop_Constructor(IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv);
 HRESULT WINAPI ISF_MyComputer_Constructor(IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv);
+HRESULT WINAPI IDropTargetHelper_Constructor (IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv);
 
 /* kind of enumidlist */
 #define EIDL_DESK	0
Index: wine/dlls/shell32/shellole.c
===================================================================
RCS file: /home/wine/wine/dlls/shell32/shellole.c,v
retrieving revision 1.50
diff -d -u -w -B -r1.50 shellole.c
--- wine/dlls/shell32/shellole.c	24 Jul 2002 01:56:03 -0000	1.50
+++ wine/dlls/shell32/shellole.c	6 Aug 2002 20:56:09 -0000
@@ -38,6 +38,7 @@
 #include "shlwapi.h"
 #include "winuser.h"
 #include "debughlp.h"
+#include "wine/obj_dragdrophelper.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(shell);
 
@@ -58,11 +59,12 @@
 struct {
 	REFIID			riid;
 	LPFNCREATEINSTANCE	lpfnCI;
-} InterfaceTable[5] = {
+} InterfaceTable[6] = {
 	{&CLSID_ShellFSFolder,	&IFSFolder_Constructor},
 	{&CLSID_MyComputer,	&ISF_MyComputer_Constructor},
 	{&CLSID_ShellDesktop,	&ISF_Desktop_Constructor},
 	{&CLSID_ShellLink,	&IShellLink_Constructor},
+	{&CLSID_DragDropHelper, &IDropTargetHelper_Constructor},
 	{NULL,NULL}
 };
 
Index: wine/dlls/shell32/shellord.c
===================================================================
RCS file: /home/wine/wine/dlls/shell32/shellord.c,v
retrieving revision 1.101
diff -d -u -w -B -r1.101 shellord.c
--- wine/dlls/shell32/shellord.c	29 Jul 2002 00:24:59 -0000	1.101
+++ wine/dlls/shell32/shellord.c	6 Aug 2002 20:56:11 -0000
@@ -3,7 +3,7 @@
  * (NT uses Unicode strings, 95 uses ASCII strings)
  *
  * Copyright 1997 Marcus Meissner
- *           1998 Jürgen Schmied
+ *           1998 Jrgen Schmied
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
--- /dev/null	Sun Jul 14 16:54:37 2002
+++ wine/dlls/shell32/dragdrophelper.c	Tue Jul 23 18:06:25 2002
@@ -0,0 +1,182 @@
+/*
+ *	file system folder
+ *
+ *	Copyright 1997			Marcus Meissner
+ *	Copyright 1998, 1999, 2002	Juergen Schmied
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include "config.h"
+#include "wine/port.h"
+
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "winerror.h"
+#include "winbase.h"
+#include "winreg.h"
+
+#include "oleidl.h"
+#include "shlguid.h"
+
+#include "wine/obj_dragdrophelper.h"
+#include "wine/debug.h"
+#include "debughlp.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL (shell);
+
+/***********************************************************************
+*   IDropTargetHelper implementation
+*/
+
+typedef struct {
+    ICOM_VFIELD (IDropTargetHelper);
+    DWORD ref;
+} IDropTargetHelperImpl;
+
+static struct ICOM_VTABLE (IDropTargetHelper) vt_IDropTargetHelper;
+
+#define _IUnknown_(This) (IUnknown*)&(This->lpVtbl)
+#define _IDropTargetHelper_(This) (IDropTargetHelper*)&(This->lpVtbl)
+
+/**************************************************************************
+*	IDropTargetHelper_Constructor
+*/
+HRESULT WINAPI IDropTargetHelper_Constructor (IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv)
+{
+    IDropTargetHelperImpl *dth;
+
+    TRACE ("unkOut=%p %s\n", pUnkOuter, shdebugstr_guid (riid));
+
+    if (!ppv)
+	return E_POINTER;
+    if (pUnkOuter)
+	return CLASS_E_NOAGGREGATION;
+
+    dth = (IDropTargetHelperImpl *) LocalAlloc (GMEM_ZEROINIT, sizeof (IDropTargetHelperImpl));
+    if (!dth) return E_OUTOFMEMORY;
+
+    dth->ref = 0;
+    ICOM_VTBL (dth) = &vt_IDropTargetHelper;
+
+    if (!SUCCEEDED (IUnknown_QueryInterface (_IUnknown_ (dth), riid, ppv))) {
+	IUnknown_Release (_IUnknown_ (dth));
+	return E_NOINTERFACE;
+    }
+
+    TRACE ("--(%p)\n", dth);
+    return S_OK;
+}
+
+/**************************************************************************
+ *	IDropTargetHelper_fnQueryInterface
+ */
+static HRESULT WINAPI IDropTargetHelper_fnQueryInterface (IDropTargetHelper * iface, REFIID riid, LPVOID * ppvObj)
+{
+    ICOM_THIS (IDropTargetHelperImpl, iface);
+
+    TRACE ("(%p)->(%s,%p)\n", This, shdebugstr_guid (riid), ppvObj);
+
+    *ppvObj = NULL;
+
+    if (IsEqualIID (riid, &IID_IUnknown) || IsEqualIID (riid, &IID_IDropTargetHelper)) {
+	*ppvObj = This;
+    }
+
+    if (*ppvObj) {
+	IUnknown_AddRef ((IUnknown *) (*ppvObj));
+	TRACE ("-- Interface: (%p)->(%p)\n", ppvObj, *ppvObj);
+	return S_OK;
+    }
+    FIXME ("-- Interface: E_NOINTERFACE\n");
+    return E_NOINTERFACE;
+}
+
+static ULONG WINAPI IDropTargetHelper_fnAddRef (IDropTargetHelper * iface)
+{
+    ICOM_THIS (IDropTargetHelperImpl, iface);
+
+    TRACE ("(%p)->(count=%lu)\n", This, This->ref);
+
+    return ++(This->ref);
+}
+
+static ULONG WINAPI IDropTargetHelper_fnRelease (IDropTargetHelper * iface)
+{
+    ICOM_THIS (IDropTargetHelperImpl, iface);
+
+    TRACE ("(%p)->(count=%lu)\n", This, This->ref);
+
+    if (!--(This->ref)) {
+	TRACE ("-- destroying (%p)\n", This);
+	LocalFree ((HLOCAL) This);
+    }
+    return This->ref;
+}
+
+static HRESULT WINAPI IDropTargetHelper_fnDragEnter (
+        IDropTargetHelper * iface,
+	HWND hwndTarget,
+	IDataObject* pDataObject,
+	POINT* ppt,
+	DWORD dwEffect)
+{
+    ICOM_THIS (IDropTargetHelperImpl, iface);
+    FIXME ("(%p)->(0x%x %p %p 0x%08lx)\n", This,hwndTarget, pDataObject, ppt, dwEffect);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI IDropTargetHelper_fnDragLeave (IDropTargetHelper * iface)
+{
+    ICOM_THIS (IDropTargetHelperImpl, iface);
+    FIXME ("(%p)->()\n", This);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI IDropTargetHelper_fnDragOver (IDropTargetHelper * iface, POINT* ppt, DWORD dwEffect)
+{
+    ICOM_THIS (IDropTargetHelperImpl, iface);
+    FIXME ("(%p)->(%p 0x%08lx)\n", This, ppt, dwEffect);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI IDropTargetHelper_fnDrop (IDropTargetHelper * iface, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect)
+{
+    ICOM_THIS (IDropTargetHelperImpl, iface);
+    FIXME ("(%p)->(%p %p 0x%08lx)\n", This, pDataObject, ppt, dwEffect);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI IDropTargetHelper_fnShow (IDropTargetHelper * iface, BOOL fShow)
+{
+    ICOM_THIS (IDropTargetHelperImpl, iface);
+    FIXME ("(%p)->(%u)\n", This, fShow);
+    return E_NOTIMPL;
+}
+
+static ICOM_VTABLE (IDropTargetHelper) vt_IDropTargetHelper =
+{
+	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
+	IDropTargetHelper_fnQueryInterface,
+	IDropTargetHelper_fnAddRef,
+	IDropTargetHelper_fnRelease,
+	IDropTargetHelper_fnDragEnter,
+	IDropTargetHelper_fnDragLeave,
+        IDropTargetHelper_fnDragOver,
+	IDropTargetHelper_fnDrop,
+	IDropTargetHelper_fnShow
+};
--- /dev/null	Sun Jul 14 16:54:37 2002
+++ wine/include/wine/obj_dragdrop.h	Fri Mar 29 20:28:16 2002
@@ -0,0 +1,107 @@
+/*
+ * Defines the COM interfaces and APIs related to OLE Drag and Drop.
+ *
+ * Copyright (C) 1999 Francis Beaudet
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __WINE_WINE_OBJ_DRAGDROP_H
+#define __WINE_WINE_OBJ_DRAGDROP_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* defined(__cplusplus) */
+
+/*****************************************************************************
+ * Predeclare the interfaces
+ */
+DEFINE_OLEGUID(IID_IDropSource,	0x00000121L, 0, 0);
+typedef struct IDropSource IDropSource,*LPDROPSOURCE;
+
+DEFINE_OLEGUID(IID_IDropTarget,	0x00000122L, 0, 0);
+typedef struct IDropTarget IDropTarget,*LPDROPTARGET;
+
+/*****************************************************************************
+ * DROPEFFECT enumeration
+ */
+#define MK_ALT (0x20)
+#define	DROPEFFECT_NONE		0
+#define	DROPEFFECT_COPY		1
+#define	DROPEFFECT_MOVE		2
+#define	DROPEFFECT_LINK		4
+#define	DROPEFFECT_SCROLL	0x80000000
+#define DD_DEFSCROLLINSET 11
+#define DD_DEFSCROLLDELAY 50
+#define DD_DEFSCROLLINTERVAL 50
+#define DD_DEFDRAGDELAY   50
+#define DD_DEFDRAGMINDIST  2
+
+/*****************************************************************************
+ * IDropSource interface
+ */
+#define ICOM_INTERFACE IDropSource
+#define IDropSource_METHODS \
+    ICOM_METHOD2(HRESULT, QueryContinueDrag, BOOL, fEscapePressed, DWORD, grfKeyState) \
+    ICOM_METHOD1(HRESULT, GiveFeedback, DWORD, dwEffect)
+#define IDropSource_IMETHODS \
+	IUnknown_IMETHODS \
+	IDropSource_METHODS
+ICOM_DEFINE(IDropSource,IUnknown)
+#undef ICOM_INTERFACE
+
+/*** IUnknown methods ***/
+#define IDropSource_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
+#define IDropSource_AddRef(p)             ICOM_CALL (AddRef,p)
+#define IDropSource_Release(p)            ICOM_CALL (Release,p)
+/*** IDropSource methods ***/
+#define IDropSource_QueryContinueDrag(p,a,b) ICOM_CALL2(QueryContinueDrag,p,a,b)
+#define IDropSource_GiveFeedback(p,a)        ICOM_CALL1(GiveFeedback,p,a)
+
+/*****************************************************************************
+ * IDropTarget interface
+ */
+#define ICOM_INTERFACE IDropTarget
+#define IDropTarget_METHODS \
+    ICOM_METHOD4(HRESULT, DragEnter, IDataObject*, pDataObject, DWORD, grfKeyState, POINTL, pt, DWORD*, pdwEffect) \
+    ICOM_METHOD3(HRESULT, DragOver, DWORD, grfKeyState, POINTL, pt, DWORD*, pdwEffect) \
+    ICOM_METHOD(HRESULT, DragLeave) \
+    ICOM_METHOD4(HRESULT, Drop, IDataObject*, pDataObject, DWORD, grfKeyState, POINTL, pt, DWORD*, pdwEffect)
+#define IDropTarget_IMETHODS \
+	IUnknown_IMETHODS \
+	IDropTarget_METHODS
+ICOM_DEFINE(IDropTarget,IUnknown)
+#undef ICOM_INTERFACE
+
+/*** IUnknown methods ***/
+#define IDropTarget_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
+#define IDropTarget_AddRef(p)             ICOM_CALL (AddRef,p)
+#define IDropTarget_Release(p)            ICOM_CALL (Release,p)
+/*** IDropTarget methods ***/
+#define IDropTarget_DragEnter(p,a,b,c,d)  ICOM_CALL4(DragEnter,p,a,b,c,d)
+#define IDropTarget_DragOver(p,a,b,c)     ICOM_CALL3(DragOver,p,a,b,c)
+#define IDropTarget_DragLeave(p)          ICOM_CALL(DragLeave,p)
+#define IDropTarget_Drop(p,a,b,c,d)       ICOM_CALL4(Drop,p,a,b,c,d)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif /* defined(__cplusplus) */
+
+#endif /*  __WINE_WINE_OBJ_DRAGDROP_H */
+
+
+
+
+

[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux