From: Mark H. <mha...@us...> - 2008-07-24 23:22:48
|
Update of /cvsroot/pywin32/pywin32/com/win32comext/shell/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3884/com/win32comext/shell/src Modified Files: shell.cpp Added Files: PyIExplorerPaneVisibility.cpp PyIExplorerPaneVisibility.h Log Message: Add IExplorerPaneVisibility and a few related constants. --- NEW FILE: PyIExplorerPaneVisibility.cpp --- // This file implements the IExplorerPaneVisibility Interface and Gateway for Python. #include "shell_pch.h" #include "PyIExplorerPaneVisibility.h" // @doc - This file contains autoduck documentation // --------------------------------------------------- // // Interface Implementation PyIExplorerPaneVisibility::PyIExplorerPaneVisibility(IUnknown *pdisp): PyIUnknown(pdisp) { ob_type = &type; } PyIExplorerPaneVisibility::~PyIExplorerPaneVisibility() { } /* static */ IExplorerPaneVisibility *PyIExplorerPaneVisibility::GetI(PyObject *self) { return (IExplorerPaneVisibility *)PyIUnknown::GetI(self); } // @pymethod int|PyIExplorerPaneVisibility|GetPaneState|Description of Extract. PyObject *PyIExplorerPaneVisibility::GetPaneState(PyObject *self, PyObject *args) { IExplorerPaneVisibility *pIEI = GetI(self); if ( pIEI == NULL ) return NULL; // @pyparm guid|ep||Description for ep PyObject *obep; if ( !PyArg_ParseTuple(args, "O:GetPaneState", &obep) ) return NULL; IID ep; if (!PyWinObject_AsIID(obep, &ep)) return NULL; HRESULT hr; unsigned long state; PY_INTERFACE_PRECALL; hr = pIEI->GetPaneState( ep, &state); PY_INTERFACE_POSTCALL; if ( FAILED(hr) ) return PyCom_BuildPyException(hr, pIEI, IID_IExplorerPaneVisibility ); return PyLong_FromUnsignedLong(state); } // @object PyIExplorerPaneVisibility|Description of the interface static struct PyMethodDef PyIExplorerPaneVisibility_methods[] = { { "GetPaneState", PyIExplorerPaneVisibility::GetPaneState, 1 }, // @pymeth Extract|Description of Extract { NULL } }; PyComTypeObject PyIExplorerPaneVisibility::type("PyIExplorerPaneVisibility", &PyIUnknown::type, sizeof(PyIExplorerPaneVisibility), PyIExplorerPaneVisibility_methods, GET_PYCOM_CTOR(PyIExplorerPaneVisibility)); --- NEW FILE: PyIExplorerPaneVisibility.h --- // This file declares the IExplorerPaneVisibility Interface and Gateway for Python. // Generated by makegw.py // --------------------------------------------------- // // Interface Declaration class PyIExplorerPaneVisibility : public PyIUnknown { public: MAKE_PYCOM_CTOR(PyIExplorerPaneVisibility); static IExplorerPaneVisibility *GetI(PyObject *self); static PyComTypeObject type; // The Python methods static PyObject *GetPaneState(PyObject *self, PyObject *args); protected: PyIExplorerPaneVisibility(IUnknown *pdisp); ~PyIExplorerPaneVisibility(); }; Index: shell.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/shell/src/shell.cpp,v retrieving revision 1.63 retrieving revision 1.64 diff -C2 -d -r1.63 -r1.64 *** shell.cpp 11 Feb 2008 00:28:33 -0000 1.63 --- shell.cpp 24 Jul 2008 23:22:56 -0000 1.64 *************** *** 57,60 **** --- 57,61 ---- #include "PyIExplorerCommand.h" #include "PyIExplorerCommandProvider.h" + #include "PyIExplorerPaneVisibility.h" #include "PyIShellItem.h" #include "PyIShellItemArray.h" *************** *** 2957,2960 **** --- 2958,2962 ---- PYCOM_INTERFACE_FULL(ExplorerCommand), PYCOM_INTERFACE_SERVER_ONLY(ExplorerCommandProvider), + PYCOM_INTERFACE_CLIENT_ONLY(ExplorerPaneVisibility), // IID_ICopyHook doesn't exist - hack it up { &IID_IShellCopyHook, "IShellCopyHook", "IID_IShellCopyHook", &PyICopyHook::type, GET_PYGATEWAY_CTOR(PyGCopyHook) }, *************** *** 3094,3097 **** --- 3096,3101 ---- ADD_IID(CGID_ShellServiceObject); ADD_IID(CGID_ExplorerBarDoc); + ADD_IID(CGID_ShellServiceObject); + ADD_IID(CGID_ExplorerBarDoc); ADD_IID(SID_SShellDesktop); ADD_IID(SID_SUrlHistory); *************** *** 3121,3124 **** --- 3125,3137 ---- ADD_IID(FMTID_ImageSummaryInformation); ADD_IID(IID_CDefView); + + ADD_IID(EP_NavPane); + ADD_IID(EP_Commands); + ADD_IID(EP_Commands_Organize); + ADD_IID(EP_Commands_View); + ADD_IID(EP_DetailsPane); + ADD_IID(EP_PreviewPane); + ADD_IID(EP_QueryPane); + ADD_IID(EP_AdvQueryPane); #else # pragma message("Please update your SDK headers - IE5 features missing!") |