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!")
|