mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-29 09:09:52 -06:00
Import r67258 of the wxWidgets trunk, which I expect will before
long become wxWidgets 2.9.2, which in turn is expected to be the last 2.9 release before the 3.0 stable release. Since the full wxWidgets distribution is rather large, I have imported only the parts that we use, on a subdirectory basis: art include/wx/*.* include/wx/aui include/wx/cocoa include/wx/generic include/wx/gtk include/wx/meta include/wx/msw include/wx/osx include/wx/persist include/wx/private include/wx/protocol include/wx/unix src/aui src/common src/generic src/gtk src/msw src/osx src/unix git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7380 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
95
Externals/wxWidgets3/include/wx/msw/wrapshl.h
vendored
Normal file
95
Externals/wxWidgets3/include/wx/msw/wrapshl.h
vendored
Normal file
@ -0,0 +1,95 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/msw/wrapshl.h
|
||||
// Purpose: wrapper class for stuff from shell32.dll
|
||||
// Author: Vadim Zeitlin
|
||||
// Modified by:
|
||||
// Created: 2004-10-19
|
||||
// RCS-ID: $Id: wrapshl.h 61508 2009-07-23 20:30:22Z VZ $
|
||||
// Copyright: (c) 2004 Vadim Zeitlin <vadim@wxwindows.org>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_MSW_WRAPSHL_H_
|
||||
#define _WX_MSW_WRAPSHL_H_
|
||||
|
||||
#include "wx/msw/wrapwin.h"
|
||||
|
||||
#ifdef __WXWINCE__
|
||||
#include <winreg.h>
|
||||
#include <objbase.h>
|
||||
#include <shlguid.h>
|
||||
#include <shellapi.h>
|
||||
#endif
|
||||
|
||||
#include <shlobj.h>
|
||||
|
||||
#include "wx/msw/winundef.h"
|
||||
|
||||
#include "wx/log.h"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxItemIdList implements RAII on top of ITEMIDLIST
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class wxItemIdList
|
||||
{
|
||||
public:
|
||||
// ctor takes ownership of the item and will free it
|
||||
wxItemIdList(LPITEMIDLIST pidl)
|
||||
{
|
||||
m_pidl = pidl;
|
||||
}
|
||||
|
||||
static void Free(LPITEMIDLIST pidl)
|
||||
{
|
||||
if ( pidl )
|
||||
{
|
||||
LPMALLOC pMalloc;
|
||||
SHGetMalloc(&pMalloc);
|
||||
if ( pMalloc )
|
||||
{
|
||||
pMalloc->Free(pidl);
|
||||
pMalloc->Release();
|
||||
}
|
||||
else
|
||||
{
|
||||
wxLogLastError(wxT("SHGetMalloc"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
~wxItemIdList()
|
||||
{
|
||||
Free(m_pidl);
|
||||
}
|
||||
|
||||
// implicit conversion to LPITEMIDLIST
|
||||
operator LPITEMIDLIST() const { return m_pidl; }
|
||||
|
||||
// get the corresponding path, returns empty string on error
|
||||
wxString GetPath() const
|
||||
{
|
||||
wxString path;
|
||||
if ( !SHGetPathFromIDList(m_pidl, wxStringBuffer(path, MAX_PATH)) )
|
||||
{
|
||||
wxLogLastError(wxT("SHGetPathFromIDList"));
|
||||
}
|
||||
|
||||
return path;
|
||||
}
|
||||
|
||||
private:
|
||||
LPITEMIDLIST m_pidl;
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxItemIdList);
|
||||
};
|
||||
|
||||
// enable autocompleting filenames in the text control with given HWND
|
||||
//
|
||||
// this only works on systems with shlwapi.dll 5.0 or later
|
||||
//
|
||||
// implemented in src/msw/utilsgui.cpp
|
||||
extern bool wxEnableFileNameAutoComplete(HWND hwnd);
|
||||
|
||||
#endif // _WX_MSW_WRAPSHL_H_
|
||||
|
Reference in New Issue
Block a user