/*
* Declarations for OLEDLG
*
* Copyright (C) the Wine project
*
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
/*
* Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
* other than GPL or LGPL is available it will apply instead, Oracle elects to use only
* the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
* a choice of LGPL license versions is made available with the language indicating
* that LGPLv2 or any later version may be used, or where a choice of which version
* of the LGPL is applied is otherwise unspecified.
*/
#ifndef __WINE_OLEDLG_H
#define __WINE_OLEDLG_H
#ifndef __WINESRC__
# include <windows.h>
#endif
#include <shellapi.h>
#include <commdlg.h>
#include <ole2.h>
#ifndef __WINESRC__
# include <string.h>
# include <tchar.h>
#endif
#include <dlgs.h>
#include <prsht.h>
#ifdef __cplusplus
extern "C" {
#endif
#define OLEUI_FALSE 0
/*****************************************************************************
* Registered Message Names
*/
#if defined(__GNUC__)
# define SZOLEUI_MSG_HELPW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','H','E','L','P',0 }
# define SZOLEUI_MSG_ENDDIALOGW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','E','N','D','D','I','A','L','O','G',0 }
# define SZOLEUI_MSG_BROWSEW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','B','R','O','W','S','E',0 }
# define SZOLEUI_MSG_CHANGEICONW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','C','H','A','N','G','E','I','C','O','N',0 }
# define SZOLEUI_MSG_CLOSEBUSYDIALOGW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','C','L','O','S','E','B','U','S','Y','D','I','A','L','O','G',0 }
# define SZOLEUI_MSG_CONVERTW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','C','O','N','V','E','R','T',0 }
# define SZOLEUI_MSG_CHANGESOURCEW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','C','H','A','N','G','E','S','O','U','R','C','E',0 }
# define SZOLEUI_MSG_ADDCONTROLW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','A','D','D','C','O','N','T','R','O','L',0 }
# define SZOLEUI_MSG_BROWSE_OFNW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','B','R','O','W','S','E','_','O','F','N',0 }
#else
static const WCHAR SZOLEUI_MSG_HELPW[] = { 'O','L','E','U','I','_','M','S','G','_','H','E','L','P',0 };
static const WCHAR SZOLEUI_MSG_ENDDIALOGW[] = { 'O','L','E','U','I','_','M','S','G','_','E','N','D','D','I','A','L','O','G',0 };
static const WCHAR SZOLEUI_MSG_BROWSEW[] = { 'O','L','E','U','I','_','M','S','G','_','B','R','O','W','S','E',0 };
static const WCHAR SZOLEUI_MSG_CHANGEICONW[] = { 'O','L','E','U','I','_','M','S','G','_','C','H','A','N','G','E','I','C','O','N',0 };
static const WCHAR SZOLEUI_MSG_CLOSEBUSYDIALOGW[] = { 'O','L','E','U','I','_','M','S','G','_','C','L','O','S','E','B','U','S','Y','D','I','A','L','O','G',0 };
static const WCHAR SZOLEUI_MSG_CONVERTW[] = { 'O','L','E','U','I','_','M','S','G','_','C','O','N','V','E','R','T',0 };
static const WCHAR SZOLEUI_MSG_CHANGESOURCEW[] = { 'O','L','E','U','I','_','M','S','G','_','C','H','A','N','G','E','S','O','U','R','C','E',0 };
static const WCHAR SZOLEUI_MSG_ADDCONTROLW[] = { 'O','L','E','U','I','_','M','S','G','_','A','D','D','C','O','N','T','R','O','L',0 };
static const WCHAR SZOLEUI_MSG_BROWSE_OFNW[] = { 'O','L','E','U','I','_','M','S','G','_','B','R','O','W','S','E','_','O','F','N',0 };
#endif
/*****************************************************************************
* INSERT OBJECT DIALOG
*/
typedef struct tagOLEUIINSERTOBJECTA
{
typedef struct tagOLEUIINSERTOBJECTW
{
/*****************************************************************************
* CONVERT DIALOG
*/
typedef struct tagOLEUICONVERTA
{
typedef struct tagOLEUICONVERTW
{
/*****************************************************************************
* CHANGE ICON DIALOG
*/
typedef struct tagOLEUICHANGEICONA
{
typedef struct tagOLEUICHANGEICONW
{
/*****************************************************************************
* PASTE SPECIAL DIALOG
*/
typedef enum tagOLEUIPASTEFLAG
{
OLEUIPASTE_PASTEONLY = 0,
typedef struct tagOLEUIPASTEENTRYA
{
typedef struct tagOLEUIPASTEENTRYW
{
typedef struct tagOLEUIPASTESPECIALA
{
typedef struct tagOLEUIPASTESPECIALW
{
/* Paste Special dialog resource ids */
/* Paste Special dialog control ids */
/*****************************************************************************
* EDIT LINKS DIALOG
*/
typedef struct tagOLEUIEDITLINKSW
{
typedef struct tagOLEUIEDITLINKSA
{
/***********************************************************************************
* BUSY DIALOG
*/
typedef struct tagOLEUIBUSYA
{
typedef struct tagOLEUIBUSYW
{
/***********************************************************************************
* OBJECT PROPERTIES DIALOG
*/
struct tagOLEUIOBJECTPROPSW;
struct tagOLEUIOBJECTPROPSA;
typedef struct tagOLEUIGNRLPROPSA
{
typedef struct tagOLEUIGNRLPROPSW
{
typedef struct tagOLEUIVIEWPROPSA
{
typedef struct tagOLEUIVIEWPROPSW
{
typedef struct tagOLEUILINKPROPSA
{
typedef struct tagOLEUILINKPROPSW
{
typedef struct tagOLEUIOBJECTPROPSA
{
typedef struct tagOLEUIOBJECTPROPSW
{
/************************************************************************************
* CHANGE SOURCE DIALOG
*/
typedef struct tagOLEUICHANGESOURCEW
{
typedef struct tagOLEUICHANGESOURCEA
{
/* Change Source Dialog flags */
/*****************************************************************************
* IOleUILinkContainer interface
*/
{
/*** IUnknown methods ***/
/*** IOleUILinkContainerA methods ***/
};
{
/*** IUnknown methods ***/
/*** IOleUILinkContainerW methods ***/
};
#if !defined(__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
/*** IOleUILinkContainer methods ***/
#define IOleUILinkContainer_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
#endif
/*****************************************************************************
* IOleUILinkInfo interface
*/
{
/*** IUnknown methods ***/
/*** IOleUILinkContainerA methods ***/
/*** IOleUILinkInfoA methods ***/
};
{
/*** IUnknown methods ***/
/*** IOleUILinkContainerW methods ***/
/*** IOleUILinkInfoW methods ***/
};
#if !defined(__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
/*** IOleUILinkContainer methods ***/
/*** IOleUILinkInfo methods ***/
#endif
/*****************************************************************************
* IOleUIObjInfo interface
*/
{
/*** IUnknown methods ***/
/*** IOleUIObjInfoA methods ***/
STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE;
};
{
/*** IUnknown methods ***/
/*** IOleUIObjInfoW methods ***/
STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE;
};
#if !defined(__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
/*** IOleUIObjInfo methods ***/
#endif
BOOL WINAPI OleUIUpdateLinksA(LPOLEUILINKCONTAINERA lpOleUILinkCntr, HWND hwndParent, LPSTR lpszTitle, INT cLinks);
BOOL WINAPI OleUIUpdateLinksW(LPOLEUILINKCONTAINERW lpOleUILinkCntr, HWND hwndParent, LPWSTR lpszTitle, INT cLinks);
BOOL WINAPI OleUIAddVerbMenuA(LPOLEOBJECT lpOleObj, LPCSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
BOOL WINAPI OleUIAddVerbMenuW(LPOLEOBJECT lpOleObj, LPCWSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
#ifdef __cplusplus
} /* Extern "C" */
#endif
#endif /* __WINE_OLEDLG_H */