Ported oledlg.dll from WINE

svn path=/trunk/; revision=7619
This commit is contained in:
Steven Edwards 2004-01-14 01:55:00 +00:00
parent 5ce6d8afc9
commit fc98d15686
12 changed files with 1269 additions and 0 deletions

View file

@ -0,0 +1,20 @@
*.coff
*.dll
*.d
*.a
*.o
*.sym
*.map
*.tmp
Makefile.ros
idb_hist_large.bmp
idb_hist_small.bmp
idb_std_small.bmp
idb_std_large.bmp
idb_view_large.bmp
idb_view_small.bmp
idc_divider.cur
idc_divideropen.cur
idi_dragarrow.ico
idt_check.bmp
comctl32.spec.def

View file

@ -0,0 +1,16 @@
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = oledlg.dll
IMPORTS = ole32 comdlg32 user32 advapi32 kernel32 ntdll
C_SRCS = \
insobjdlg.c \
oledlg_main.c
RC_SRCS = rsrc.rc
@MAKE_DLL_RULES@
### Dependencies:

View file

@ -0,0 +1,21 @@
# $Id: Makefile.ros-template,v 1.1 2004/01/14 01:55:00 sedwards Exp $
TARGET_NAME = oledlg
TARGET_OBJECTS = @C_SRCS@
TARGET_CFLAGS = @EXTRADEFS@
TARGET_SDKLIBS = @IMPORTS@ libwine.a wine_uuid.a ntdll.a
TARGET_BASE = 0x76160000
TARGET_RC_SRCS = @RC_SRCS@
TARGET_RC_BINSRC = @RC_BINSRC@
TARGET_RC_BINARIES = @RC_BINARIES@
default: all
DEP_OBJECTS = $(TARGET_OBJECTS)
include $(TOOLS_PATH)/depend.mk

View file

@ -0,0 +1,628 @@
/*
* OLEDLG library
*
* Copyright 2003 Ulrich Czekalla for CodeWeavers
*
* 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 <stdarg.h>
#include <stdio.h>
#include "windef.h"
#include "winbase.h"
#include "winreg.h"
#include "winternl.h"
#include "winnls.h"
#include "winerror.h"
#include "wingdi.h"
#include "winuser.h"
#include "wine/debug.h"
#include "wine/unicode.h"
#include "oledlg.h"
#include "resource.h"
WINE_DEFAULT_DEBUG_CHANNEL(oledlg);
typedef struct
{
HWND hwndSelf;
BOOL bObjListInit; /* Object list has been initialized */
LPOLEUIINSERTOBJECTA lpOleUIInsertObject;
HWND hwndObjTypeLBL;
HWND hwndObjTypeLB;
HWND hwndFileLBL;
HWND hwndFileTB;
HWND hwndCreateCtrlCB;
HWND hwndCreateNewCB;
HWND hwndCreateFromFileCB;
HWND hwndDisplayIconCB;
HWND hwndAddCtrlBTN;
HWND hwndBrowseBTN;
HWND hwndResultDesc;
} InsertObjectDlgInfo;
INT_PTR CALLBACK UIInsertObjectDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
static LRESULT UIINSOBJDLG_OnWMCommand(HWND hwnd, WPARAM wParam, LPARAM lParam);
static void UIINSERTOBJECTDLG_InitDialog(InsertObjectDlgInfo* pdlgInfo);
static void UIINSERTOBJECTDLG_SelectCreateCtrl(InsertObjectDlgInfo* pdlgInfo);
static void UIINSERTOBJECTDLG_SelectCreateFromFile(InsertObjectDlgInfo* pdlgInfo);
static void UIINSERTOBJECTDLG_SelectCreateNew(InsertObjectDlgInfo* pdlgInfo);
static BOOL UIINSERTOBJECTDLG_PopulateObjectTypes(InsertObjectDlgInfo* pdlgInfo);
static void UIINSERTOBJECTDLG_FreeObjectTypes(InsertObjectDlgInfo* pdlgInfo);
static void UIINSERTOBJECTDLG_SelChange(InsertObjectDlgInfo* pdlgInfo);
static BOOL UIINSERTOBJECTDLG_OnOpen(InsertObjectDlgInfo* pdlgInfo);
static void UIINSERTOBJECTDLG_BrowseFile(InsertObjectDlgInfo* pdlgInfo);
static void UIINSERTOBJECTDLG_AddControl(InsertObjectDlgInfo* pdlgInfo);
typedef HRESULT (*DLLREGISTER) (void);
extern HINSTANCE OLEDLG_hInstance;
const char *OleUIInsertObjectInfoStr = "OleUIInsertObjectInfoStr";
/***********************************************************************
* OleUIInsertObjectA (OLEDLG.3)
*/
UINT WINAPI OleUIInsertObjectA(LPOLEUIINSERTOBJECTA lpOleUIInsertObject)
{
LRESULT lRes;
LPCVOID template;
HRSRC hRes;
InsertObjectDlgInfo dlgInfo;
HANDLE hDlgTmpl = 0;
if (lpOleUIInsertObject->lpszTemplate || lpOleUIInsertObject->hResource)
FIXME("Customized template not supported\n");
/* Create the dialog from a template */
if(!(hRes = FindResourceA(OLEDLG_hInstance,MAKEINTRESOURCEA(UIINSERTOBJECT),
(LPSTR)RT_DIALOG)))
{
return OLEUI_ERR_FINDTEMPLATEFAILURE;
}
if (!(hDlgTmpl = LoadResource(OLEDLG_hInstance, hRes )) ||
!(template = LockResource( hDlgTmpl )))
{
return OLEUI_ERR_LOADTEMPLATEFAILURE;
}
/* Initialize InsertObjectDlgInfo structure */
dlgInfo.lpOleUIInsertObject = lpOleUIInsertObject;
dlgInfo.bObjListInit = FALSE;
lRes = DialogBoxIndirectParamA(OLEDLG_hInstance, (LPDLGTEMPLATEA) template,
lpOleUIInsertObject->hWndOwner, UIInsertObjectDlgProc,
(LPARAM) &dlgInfo);
/* Unable to create the dialog */
if( lRes == -1)
return OLEUI_ERR_DIALOGFAILURE;
return lRes;
}
/***********************************************************************
* UIInsertObjectDlgProc
*
* OLE UI Insert Object dialog procedure
*/
INT_PTR CALLBACK UIInsertObjectDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
InsertObjectDlgInfo* pdlgInfo = (InsertObjectDlgInfo*) GetPropA(hwnd,OleUIInsertObjectInfoStr);
switch(uMsg)
{
case WM_INITDIALOG:
{
InsertObjectDlgInfo* pdlgInfo = (InsertObjectDlgInfo*)lParam;
pdlgInfo->hwndSelf = hwnd;
SetPropA(hwnd, OleUIInsertObjectInfoStr, (HANDLE) pdlgInfo);
UIINSERTOBJECTDLG_InitDialog(pdlgInfo);
return 0;
}
case WM_COMMAND:
return UIINSOBJDLG_OnWMCommand(hwnd, wParam, lParam);
case WM_DESTROY:
if (pdlgInfo)
UIINSERTOBJECTDLG_FreeObjectTypes(pdlgInfo);
RemovePropA(hwnd, OleUIInsertObjectInfoStr);
return FALSE;
default :
return FALSE;
}
}
/***********************************************************************
* UIINSOBJDLG_OnWMCommand
*
* WM_COMMAND message handler
*/
static LRESULT UIINSOBJDLG_OnWMCommand(HWND hwnd, WPARAM wParam, LPARAM lParam)
{
WORD wNotifyCode = HIWORD(wParam);
WORD wID = LOWORD(wParam);
InsertObjectDlgInfo* pdlgInfo = (InsertObjectDlgInfo*) GetPropA(hwnd,OleUIInsertObjectInfoStr);
switch(wID)
{
case IDOK:
EndDialog(hwnd, UIINSERTOBJECTDLG_OnOpen(pdlgInfo));
break;
case IDCANCEL:
EndDialog(hwnd, FALSE);
break;
case IDC_CREATECONTROL:
UIINSERTOBJECTDLG_SelectCreateCtrl(pdlgInfo);
break;
case IDC_CREATENEW:
UIINSERTOBJECTDLG_SelectCreateNew(pdlgInfo);
break;
case IDC_CREATEFROMFILE:
UIINSERTOBJECTDLG_SelectCreateFromFile(pdlgInfo);
break;
case IDC_BROWSE:
UIINSERTOBJECTDLG_BrowseFile(pdlgInfo);
break;
case IDC_ADDCONTROL:
UIINSERTOBJECTDLG_AddControl(pdlgInfo);
case IDC_OBJTYPELIST:
{
if (wNotifyCode == LBN_SELCHANGE)
UIINSERTOBJECTDLG_SelChange(pdlgInfo);
break;
}
}
return 0;
}
/***********************************************************************
* UIINSERTOBJECTDLG_InitDialog
*
* Initialize dialog display
*/
static void UIINSERTOBJECTDLG_InitDialog(InsertObjectDlgInfo* pdlgInfo)
{
/* Initialize InsertObjectDlgInfo data structure */
pdlgInfo->hwndObjTypeLB = GetDlgItem(pdlgInfo->hwndSelf, IDC_OBJTYPELIST);
pdlgInfo->hwndObjTypeLBL = GetDlgItem(pdlgInfo->hwndSelf, IDC_OBJTYPELBL);
pdlgInfo->hwndFileLBL = GetDlgItem(pdlgInfo->hwndSelf, IDC_FILELBL);
pdlgInfo->hwndFileTB = GetDlgItem(pdlgInfo->hwndSelf, IDC_FILE);
pdlgInfo->hwndCreateCtrlCB = GetDlgItem(pdlgInfo->hwndSelf, IDC_CREATECONTROL);
pdlgInfo->hwndCreateNewCB = GetDlgItem(pdlgInfo->hwndSelf, IDC_CREATENEW);
pdlgInfo->hwndCreateFromFileCB = GetDlgItem(pdlgInfo->hwndSelf, IDC_CREATEFROMFILE);
pdlgInfo->hwndDisplayIconCB = GetDlgItem(pdlgInfo->hwndSelf, IDC_ASICON);
pdlgInfo->hwndAddCtrlBTN = GetDlgItem(pdlgInfo->hwndSelf, IDC_ADDCONTROL);
pdlgInfo->hwndBrowseBTN = GetDlgItem(pdlgInfo->hwndSelf, IDC_BROWSE);
pdlgInfo->hwndResultDesc = GetDlgItem(pdlgInfo->hwndSelf, IDC_RESULTDESC);
/* Setup dialog controls based on flags */
if (pdlgInfo->lpOleUIInsertObject->lpszCaption)
SetWindowTextA(pdlgInfo->hwndSelf, pdlgInfo->lpOleUIInsertObject->lpszCaption);
ShowWindow(pdlgInfo->hwndCreateCtrlCB, (pdlgInfo->lpOleUIInsertObject->dwFlags &
IOF_SHOWINSERTCONTROL) ? SW_SHOW : SW_HIDE);
ShowWindow(pdlgInfo->hwndDisplayIconCB, (pdlgInfo->lpOleUIInsertObject->dwFlags &
IOF_CHECKDISPLAYASICON) ? SW_SHOW : SW_HIDE);
EnableWindow(pdlgInfo->hwndDisplayIconCB, (pdlgInfo->lpOleUIInsertObject->dwFlags &
IOF_DISABLEDISPLAYASICON) ? FALSE : TRUE);
if (pdlgInfo->lpOleUIInsertObject->dwFlags & IOF_SELECTCREATECONTROL)
UIINSERTOBJECTDLG_SelectCreateCtrl(pdlgInfo);
else if (pdlgInfo->lpOleUIInsertObject->dwFlags & IOF_SELECTCREATEFROMFILE)
UIINSERTOBJECTDLG_SelectCreateFromFile(pdlgInfo);
else /* (pdlgInfo->lpOleUIInsertObject->dwFlags & IOF_SELECTCREATENEW) */
UIINSERTOBJECTDLG_SelectCreateNew(pdlgInfo);
}
/***********************************************************************
* UIINSERTOBJECTDLG_SelectCreateCtrl
*
* Select Create Control Radio Button
*/
static void UIINSERTOBJECTDLG_SelectCreateCtrl(InsertObjectDlgInfo* pdlgInfo)
{
ShowWindow(pdlgInfo->hwndDisplayIconCB, SW_HIDE);
ShowWindow(pdlgInfo->hwndFileLBL, SW_HIDE);
ShowWindow(pdlgInfo->hwndFileTB, SW_HIDE);
ShowWindow(pdlgInfo->hwndBrowseBTN, SW_HIDE);
ShowWindow(pdlgInfo->hwndObjTypeLBL, SW_SHOW);
ShowWindow(pdlgInfo->hwndObjTypeLB, SW_SHOW);
ShowWindow(pdlgInfo->hwndAddCtrlBTN, SW_SHOW);
SendMessageA(pdlgInfo->hwndCreateCtrlCB, BM_SETCHECK, BST_CHECKED, 0);
/* Populate object type listbox */
if (!pdlgInfo->bObjListInit)
UIINSERTOBJECTDLG_PopulateObjectTypes(pdlgInfo);
}
/***********************************************************************
* UIINSERTOBJECTDLG_SelectCreateNew
*
* Select Create New Radio Button
*/
static void UIINSERTOBJECTDLG_SelectCreateNew(InsertObjectDlgInfo* pdlgInfo)
{
ShowWindow(pdlgInfo->hwndFileLBL, SW_HIDE);
ShowWindow(pdlgInfo->hwndFileTB, SW_HIDE);
ShowWindow(pdlgInfo->hwndAddCtrlBTN, SW_HIDE);
ShowWindow(pdlgInfo->hwndBrowseBTN, SW_HIDE);
if (pdlgInfo->lpOleUIInsertObject->dwFlags & IOF_CHECKDISPLAYASICON)
ShowWindow(pdlgInfo->hwndDisplayIconCB, SW_SHOW);
ShowWindow(pdlgInfo->hwndObjTypeLBL, SW_SHOW);
ShowWindow(pdlgInfo->hwndObjTypeLB, SW_SHOW);
SendMessageA(pdlgInfo->hwndCreateNewCB, BM_SETCHECK, BST_CHECKED, 0);
if (!pdlgInfo->bObjListInit)
UIINSERTOBJECTDLG_PopulateObjectTypes(pdlgInfo);
UIINSERTOBJECTDLG_SelChange(pdlgInfo);
}
/***********************************************************************
* UIINSERTOBJECTDLG_SelectCreateFromFile
*
* Select Create From File Radio Button
*/
static void UIINSERTOBJECTDLG_SelectCreateFromFile(InsertObjectDlgInfo* pdlgInfo)
{
char resstr[MAX_PATH];
ShowWindow(pdlgInfo->hwndAddCtrlBTN, SW_HIDE);
ShowWindow(pdlgInfo->hwndObjTypeLBL, SW_HIDE);
ShowWindow(pdlgInfo->hwndObjTypeLB, SW_HIDE);
if (pdlgInfo->lpOleUIInsertObject->dwFlags & IOF_CHECKDISPLAYASICON)
ShowWindow(pdlgInfo->hwndDisplayIconCB, SW_SHOW);
ShowWindow(pdlgInfo->hwndFileLBL, SW_SHOW);
ShowWindow(pdlgInfo->hwndFileTB, SW_SHOW);
ShowWindow(pdlgInfo->hwndBrowseBTN, SW_SHOW);
SendMessageA(pdlgInfo->hwndCreateFromFileCB, BM_SETCHECK, BST_CHECKED, 0);
if (LoadStringA(OLEDLG_hInstance, IDS_RESULTFILEOBJDESC, resstr, MAX_PATH))
SendMessageA(pdlgInfo->hwndResultDesc, WM_SETTEXT, 0, (LPARAM)resstr);
}
/***********************************************************************
* UIINSERTOBJECTDLG_PopulateObjectTypes
*
* Populate Object Type listbox
*/
static BOOL UIINSERTOBJECTDLG_PopulateObjectTypes(InsertObjectDlgInfo* pdlgInfo)
{
DWORD i, len;
HKEY hkclsids;
HKEY hkey;
CLSID clsid;
HRESULT ret;
CHAR szclsid[128];
CHAR keydesc[MAX_PATH];
CHAR keyname[MAX_PATH];
WCHAR wszclsid[128];
DWORD index = 0;
UIINSERTOBJECTDLG_FreeObjectTypes(pdlgInfo);
RegOpenKeyExA(HKEY_CLASSES_ROOT, "CLSID", 0, KEY_READ, &hkclsids);
while (ERROR_SUCCESS == (ret = RegEnumKeyA(hkclsids, index, szclsid, MAX_PATH)))
{
index++;
RegOpenKeyExA(hkclsids, szclsid, 0, KEY_READ, &hkey);
len = MAX_PATH;
if (ERROR_SUCCESS != RegQueryValueA(hkey, "Insertable", keyname, &len))
continue;
len = MAX_PATH;
if (ERROR_SUCCESS == RegQueryValueA(hkey, "NotInsertable", keyname, &len))
continue;
RtlMultiByteToUnicodeN(wszclsid, MAX_PATH, NULL, szclsid, MAX_PATH);
CLSIDFromString(wszclsid, &clsid);
for (i = 0; i < pdlgInfo->lpOleUIInsertObject->cClsidExclude; i++)
if (IsEqualGUID(&pdlgInfo->lpOleUIInsertObject->lpClsidExclude[i], &clsid))
break;
if (i < pdlgInfo->lpOleUIInsertObject->cClsidExclude)
continue;
len = MAX_PATH;
if (ERROR_SUCCESS == RegQueryValueA(hkey, NULL, keydesc, &len))
{
CLSID* lpclsid = (CLSID*) HeapAlloc(GetProcessHeap(), 0, sizeof(CLSID));
memcpy(lpclsid, &clsid, sizeof(CLSID));
len = SendMessageA(pdlgInfo->hwndObjTypeLB, LB_ADDSTRING, 0, (LPARAM)keydesc);
SendMessageA(pdlgInfo->hwndObjTypeLB, LB_SETITEMDATA, (WPARAM)len, (LPARAM)lpclsid);
}
}
pdlgInfo->bObjListInit = (ret == ERROR_NO_MORE_ITEMS);
return pdlgInfo->bObjListInit;
}
/***********************************************************************
* UIINSERTOBJECTDLG_FreeObjectTypes
*
* Free Object Types listbox
*/
static void UIINSERTOBJECTDLG_FreeObjectTypes(InsertObjectDlgInfo* pdlgInfo)
{
UINT i, count;
count = SendMessageA(pdlgInfo->hwndObjTypeLB, LB_GETCOUNT, (WPARAM)0, (LPARAM)0);
for (i = 0; i < count; i++)
{
CLSID* lpclsid = (CLSID*) SendMessageA(pdlgInfo->hwndObjTypeLB,
LB_GETITEMDATA, (WPARAM)i, (LPARAM)0);
HeapFree(GetProcessHeap(), 0, lpclsid);
}
}
/***********************************************************************
* UIINSERTOBJECTDLG_SelChange
*
* Handle object type selection change
*/
static void UIINSERTOBJECTDLG_SelChange(InsertObjectDlgInfo* pdlgInfo)
{
INT index;
CHAR objname[MAX_PATH];
CHAR objdesc[MAX_PATH];
CHAR resstr[MAX_PATH];
TRACE("\n");
if (LoadStringA(OLEDLG_hInstance, IDS_RESULTOBJDESC, resstr, MAX_PATH) &&
((index = SendMessageA(pdlgInfo->hwndObjTypeLB, LB_GETCURSEL, 0, 0)) >= 0) &&
SendMessageA(pdlgInfo->hwndObjTypeLB, LB_GETTEXT, (WPARAM)index, (LPARAM)objname))
sprintf(objdesc, resstr, objname);
else
objdesc[0] = 0;
SendMessageA(pdlgInfo->hwndResultDesc, WM_SETTEXT, 0, (LPARAM)objdesc);
}
/***********************************************************************
* UIINSERTOBJECTDLG_SelChange
*
* Handle OK Button
*/
static BOOL UIINSERTOBJECTDLG_OnOpen(InsertObjectDlgInfo* pdlgInfo)
{
BOOL bret = FALSE;
if (BST_CHECKED == SendMessageA(pdlgInfo->hwndCreateCtrlCB, BM_GETCHECK, 0, 0) ||
BST_CHECKED == SendMessageA(pdlgInfo->hwndCreateNewCB, BM_GETCHECK, 0, 0))
{
INT index = SendMessageA(pdlgInfo->hwndObjTypeLB, LB_GETCURSEL, 0, 0);
if (index >= 0)
{
CLSID* clsid = (CLSID*) SendMessageA(pdlgInfo->hwndObjTypeLB,
LB_GETITEMDATA, (WPARAM)index, 0);
memcpy(&pdlgInfo->lpOleUIInsertObject->clsid, clsid, sizeof(CLSID));
if (pdlgInfo->lpOleUIInsertObject->dwFlags & IOF_CREATENEWOBJECT)
{
pdlgInfo->lpOleUIInsertObject->sc= OleCreate(
&pdlgInfo->lpOleUIInsertObject->clsid,
&pdlgInfo->lpOleUIInsertObject->iid,
pdlgInfo->lpOleUIInsertObject->oleRender,
pdlgInfo->lpOleUIInsertObject->lpFormatEtc,
pdlgInfo->lpOleUIInsertObject->lpIOleClientSite,
pdlgInfo->lpOleUIInsertObject->lpIStorage,
pdlgInfo->lpOleUIInsertObject->ppvObj);
}
bret = TRUE;
}
}
else if (BST_CHECKED == SendMessageA(pdlgInfo->hwndCreateFromFileCB, BM_GETCHECK, 0, 0))
{
char fname[MAX_PATH];
if (pdlgInfo->lpOleUIInsertObject->lpszFile)
{
HRESULT hres;
WCHAR wcsFile[MAX_PATH];
SendMessageA(pdlgInfo->hwndFileTB, WM_GETTEXT, (WPARAM)MAX_PATH, (LPARAM)fname);
strncpy(pdlgInfo->lpOleUIInsertObject->lpszFile, fname, pdlgInfo->lpOleUIInsertObject->cchFile);
RtlMultiByteToUnicodeN(wcsFile, MAX_PATH, NULL, fname, MAX_PATH);
if (ERROR_SUCCESS == (hres = GetClassFile(wcsFile, &pdlgInfo->lpOleUIInsertObject->clsid)))
{
if (pdlgInfo->lpOleUIInsertObject->dwFlags & IOF_CREATEFILEOBJECT)
{
hres = OleCreateFromFile(
&pdlgInfo->lpOleUIInsertObject->clsid,
wcsFile,
&pdlgInfo->lpOleUIInsertObject->iid,
pdlgInfo->lpOleUIInsertObject->oleRender,
pdlgInfo->lpOleUIInsertObject->lpFormatEtc,
pdlgInfo->lpOleUIInsertObject->lpIOleClientSite,
pdlgInfo->lpOleUIInsertObject->lpIStorage,
pdlgInfo->lpOleUIInsertObject->ppvObj);
}
bret = TRUE;
}
pdlgInfo->lpOleUIInsertObject->sc = hres;
}
}
return bret;
}
/***********************************************************************
* UIINSERTOBJECTDLG_BrowseFile
*
* Browse for the file
*/
static void UIINSERTOBJECTDLG_BrowseFile(InsertObjectDlgInfo* pdlgInfo)
{
OPENFILENAMEA fn;
char fname[MAX_PATH];
char title[32];
fn.lStructSize = sizeof(OPENFILENAMEA);
fn.hwndOwner = pdlgInfo->hwndSelf;
fn.hInstance = 0;
fn.lpstrFilter = "All Files\0*.*\0\0";
fn.lpstrCustomFilter = NULL;
fn.nMaxCustFilter = 0;
fn.nFilterIndex = 0;
SendMessageA(pdlgInfo->hwndFileTB, WM_GETTEXT, (WPARAM)MAX_PATH, (LPARAM)fname);
fn.lpstrFile = fname;
fn.nMaxFile = MAX_PATH;
fn.lpstrFileTitle = NULL;
fn.nMaxFileTitle = 0;
fn.lpstrInitialDir = NULL;
LoadStringA(OLEDLG_hInstance, IDS_BROWSE, title, 32);
fn.lpstrTitle = title;
fn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST |
OFN_HIDEREADONLY | OFN_LONGNAMES;
fn.nFileOffset = 0;
fn.nFileExtension = 0;
fn.lpstrDefExt = NULL;
fn.lCustData = 0;
fn.lpfnHook = NULL;
fn.lpTemplateName = NULL;
if (GetOpenFileNameA(&fn))
SendMessageA(pdlgInfo->hwndFileTB, WM_SETTEXT, (WPARAM)0, (LPARAM)fn.lpstrFile);
}
/***********************************************************************
* UIINSERTOBJECTDLG_AddControl
*
* Add control to Object Type
*/
static void UIINSERTOBJECTDLG_AddControl(InsertObjectDlgInfo* pdlgInfo)
{
OPENFILENAMEA fn;
char fname[MAX_PATH];
char title[32];
fn.lStructSize = sizeof(OPENFILENAMEA);
fn.hwndOwner = pdlgInfo->hwndSelf;
fn.hInstance = 0;
fn.lpstrFilter = "OLE Controls\0*.ocx\0Libraries\0*.dll\0All Files\0*.*\0\0";
fn.lpstrCustomFilter = NULL;
fn.nMaxCustFilter = 0;
fn.nFilterIndex = 0;
fname[0] = 0;
fn.lpstrFile = fname;
fn.nMaxFile = MAX_PATH;
fn.lpstrFileTitle = NULL;
fn.nMaxFileTitle = 0;
fn.lpstrInitialDir = NULL;
LoadStringA(OLEDLG_hInstance, IDS_BROWSE, title, 32);
fn.lpstrTitle = title;
fn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST |
OFN_HIDEREADONLY | OFN_LONGNAMES;
fn.nFileOffset = 0;
fn.nFileExtension = 0;
fn.lpstrDefExt = NULL;
fn.lCustData = 0;
fn.lpfnHook = NULL;
fn.lpTemplateName = NULL;
if (GetOpenFileNameA(&fn))
{
HMODULE hMod;
BOOL bValid = FALSE;
hMod = LoadLibraryA(fn.lpstrFile);
if (hMod)
{
DLLREGISTER regproc;
regproc = (DLLREGISTER) GetProcAddress(hMod, "DllRegisterServer");
if (regproc)
{
if (S_OK == regproc())
{
UIINSERTOBJECTDLG_PopulateObjectTypes(pdlgInfo);
bValid = TRUE;
}
}
FreeLibrary(hMod);
}
if (!bValid)
{
char title[32];
char msg[256];
LoadStringA(OLEDLG_hInstance, IDS_NOTOLEMODCAPTION, title, 32);
LoadStringA(OLEDLG_hInstance, IDS_NOTOLEMOD, msg, 256);
MessageBoxA(pdlgInfo->hwndSelf, msg, title, MB_ICONEXCLAMATION);
}
}
}

View file

@ -0,0 +1,9 @@
# $Id: makefile,v 1.1 2004/01/14 01:55:00 sedwards Exp $
PATH_TO_TOP = ../..
TARGET_TYPE = winedll
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk

View file

@ -0,0 +1,23 @@
1 stdcall OleUIAddVerbMenuA(ptr str long long long long long long ptr)
2 stdcall OleUICanConvertOrActivateAs(ptr long long)
3 stdcall OleUIInsertObjectA(ptr)
4 stdcall OleUIPasteSpecialA(ptr)
5 stdcall OleUIEditLinksA(ptr)
6 stdcall OleUIChangeIconA(ptr)
7 stdcall OleUIConvertA(ptr)
8 stdcall OleUIBusyA(ptr)
9 stdcall OleUIUpdateLinksA(ptr long str long)
10 varargs OleUIPromptUserA(long long)
11 stdcall OleUIObjectPropertiesA(ptr)
12 stdcall OleUIChangeSourceA(ptr)
13 varargs OleUIPromptUserW(long long)
14 stdcall OleUIAddVerbMenuW(ptr wstr long long long long long long ptr)
15 stdcall OleUIBusyW(ptr)
16 stdcall OleUIChangeIconW(ptr)
17 stdcall OleUIChangeSourceW(ptr)
18 stdcall OleUIConvertW(ptr)
19 stdcall OleUIEditLinksW(ptr)
20 stdcall OleUIInsertObjectW(ptr)
21 stdcall OleUIObjectPropertiesW(ptr)
22 stdcall OleUIPasteSpecialW(ptr)
23 stdcall OleUIUpdateLinksW(ptr long wstr long)

View file

@ -0,0 +1,55 @@
/*
* Copyright 2003 Ulrich Czekalla for CodeWeavers
*
* 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
*/
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
UIINSERTOBJECT DIALOG DISCARDABLE 0, 0, 294, 151
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Insert Object"
FONT 8, "MS Sans Serif"
BEGIN
LISTBOX IDC_OBJTYPELIST,82,19,131,66,LBS_SORT |
LBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_VSCROLL |
WS_TABSTOP
LTEXT "Object Type:",IDC_OBJTYPELBL,82,7,53,8,WS_VISIBLE
DEFPUSHBUTTON "OK",IDOK,221,7,66,14
PUSHBUTTON "Cancel",IDCANCEL,221,24,66,14
GROUPBOX "Result",IDC_RESULT,7,103,208,41
CONTROL "Create New",IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON |
WS_GROUP,7,20,62,10
CONTROL "Create Control",IDC_CREATECONTROL,"Button",
BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,54,62,10
CONTROL "Create From File",IDC_CREATEFROMFILE,"Button",
BS_AUTORADIOBUTTON,7,37,67,10
LTEXT "",IDC_RESULTDESC,49,112,159,23
PUSHBUTTON "&Add Control...",IDC_ADDCONTROL,81,88,63,14,NOT WS_VISIBLE
CONTROL "Display As Icon",IDC_ASICON,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP | NOT WS_VISIBLE,223,58,64,10
PUSHBUTTON "Browse...",IDC_BROWSE,83,53,50,14,NOT WS_VISIBLE
LTEXT "File:",IDC_FILELBL,83,27,20,8, NOT WS_VISIBLE
EDITTEXT IDC_FILE,83,37,132,13,ES_AUTOHSCROLL | NOT WS_VISIBLE
END
STRINGTABLE DISCARDABLE
{
IDS_RESULTOBJDESC "Insert a new %s object into your document"
IDS_RESULTFILEOBJDESC "Insert the contents of the file as an object into your document so that you may activate it using the program which created it."
IDS_BROWSE "Browse"
IDS_NOTOLEMOD "File does not appear to be a valid OLE module. Unable to register OLE control."
IDS_NOTOLEMODCAPTION "Add Control"
}

View file

@ -0,0 +1,56 @@
/*
* Copyright 2003 Ulrich Czekalla for CodeWeavers
* Copyright 2003 Ivan Leo Murray-Smith
*
* 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
*/
LANGUAGE LANG_ITALIAN, SUBLANG_DEFAULT
UIINSERTOBJECT DIALOG DISCARDABLE 0, 0, 294, 151
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Insersci oggetto"
FONT 8, "MS Sans Serif"
BEGIN
LISTBOX IDC_OBJTYPELIST,82,19,131,66,LBS_SORT |
LBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_VSCROLL |
WS_TABSTOP
LTEXT "Tipo di oggetto:",IDC_OBJTYPELBL,82,7,53,8,WS_VISIBLE
DEFPUSHBUTTON "OK",IDOK,221,7,66,14
PUSHBUTTON "Annulla",IDCANCEL,221,24,66,14
GROUPBOX "Risultato",IDC_RESULT,7,103,208,41
CONTROL "Crea Nuovo",IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON |
WS_GROUP,7,20,62,10
CONTROL "Crea Controllo",IDC_CREATECONTROL,"Tasto",
BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,54,62,10
CONTROL "Crea da File",IDC_CREATEFROMFILE,"Tasto",
BS_AUTORADIOBUTTON,7,37,67,10
LTEXT "",IDC_RESULTDESC,49,112,159,23
PUSHBUTTON "&Aggiungi Controllo...",IDC_ADDCONTROL,81,88,63,14,NOT WS_VISIBLE
CONTROL "Visualizza come Icona",IDC_ASICON,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP | NOT WS_VISIBLE,223,58,64,10
PUSHBUTTON "Esplora...",IDC_BROWSE,83,53,50,14,NOT WS_VISIBLE
LTEXT "File:",IDC_FILELBL,83,27,20,8, NOT WS_VISIBLE
EDITTEXT IDC_FILE,83,37,132,13,ES_AUTOHSCROLL | NOT WS_VISIBLE
END
STRINGTABLE DISCARDABLE
{
IDS_RESULTOBJDESC "Inserisci un nuovo oggetto %s nel documento"
IDS_RESULTFILEOBJDESC "Inserisci i contenuti del file come un oggetto nel documento in modo da poterlo attivare usando il programma che lo ha creato."
IDS_BROWSE "Esplora"
IDS_NOTOLEMOD "Il file non sembra essere un module OLE valido. Impossibile registrare il controllo OLE."
IDS_NOTOLEMODCAPTION "Aggiungi Controllo"
}

View file

@ -0,0 +1,56 @@
/*
* Copyright 2003 Ulrich Czekalla for CodeWeavers
* Copyright 2003 Hans Leidekker
*
* 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
*/
LANGUAGE LANG_DUTCH, SUBLANG_DEFAULT
UIINSERTOBJECT DIALOG DISCARDABLE 0, 0, 294, 151
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Object invoegen"
FONT 8, "MS Sans Serif"
BEGIN
LISTBOX IDC_OBJTYPELIST,82,19,131,66,LBS_SORT |
LBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_VSCROLL |
WS_TABSTOP
LTEXT "Objecttype:",IDC_OBJTYPELBL,82,7,53,8,WS_VISIBLE
DEFPUSHBUTTON "OK",IDOK,221,7,66,14
PUSHBUTTON "Annuleren",IDCANCEL,221,24,66,14
GROUPBOX "Resultaat",IDC_RESULT,7,103,208,41
CONTROL "Nieuw",IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON |
WS_GROUP,7,20,62,10
CONTROL "Creëren",IDC_CREATECONTROL,"Button",
BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,54,62,10
CONTROL "Bestand gebruiken",IDC_CREATEFROMFILE,"Button",
BS_AUTORADIOBUTTON,7,37,67,10
LTEXT "",IDC_RESULTDESC,49,112,159,23
PUSHBUTTON "Toevoegen...",IDC_ADDCONTROL,81,88,63,14,NOT WS_VISIBLE
CONTROL "Als pictogram weergeven",IDC_ASICON,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP | NOT WS_VISIBLE,223,58,64,10
PUSHBUTTON "Bladeren...",IDC_BROWSE,83,53,50,14,NOT WS_VISIBLE
LTEXT "Bestandsnaam:",IDC_FILELBL,83,27,20,8, NOT WS_VISIBLE
EDITTEXT IDC_FILE,83,37,132,13,ES_AUTOHSCROLL | NOT WS_VISIBLE
END
STRINGTABLE DISCARDABLE
{
IDS_RESULTOBJDESC "Voeg een nieuw %s object in uw document"
IDS_RESULTFILEOBJDESC "Voeg de inhoud van het bestand als object in uw document zodat u het later kunt bewerken met het programma waarmee u het heeft gemaakt."
IDS_BROWSE "Bladeren"
IDS_NOTOLEMOD "Het bestand is geen geldig OLE bestand. Registratie is mislukt."
IDS_NOTOLEMODCAPTION "Toevoegen"
}

View file

@ -0,0 +1,309 @@
/*
* OLEDLG library
*
* Copyright 1998 Patrik Stridvall
*
* 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
*/
#define COM_NO_WINDOWS_H
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "winerror.h"
#include "wingdi.h"
#include "winuser.h"
#include "oledlg.h"
#include "wine/debug.h"
#include "ole2.h"
WINE_DEFAULT_DEBUG_CHANNEL(ole);
HINSTANCE OLEDLG_hInstance = 0;
/***********************************************************************
* DllMain
*/
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
{
TRACE("%p 0x%lx %p\n", hinstDLL, fdwReason, fImpLoad);
switch(fdwReason) {
case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls(hinstDLL);
OLEDLG_hInstance = hinstDLL;
break;
case DLL_PROCESS_DETACH:
OLEDLG_hInstance = 0;
break;
}
return TRUE;
}
/***********************************************************************
* OleUIAddVerbMenuA (OLEDLG.1)
*/
BOOL WINAPI OleUIAddVerbMenuA(
LPOLEOBJECT lpOleObj, LPCSTR lpszShortType,
HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
BOOL bAddConvert, UINT idConvert, HMENU *lphMenu)
{
FIXME("(%p, %s, %p, %d, %d, %d, %d, %d, %p): stub\n",
lpOleObj, debugstr_a(lpszShortType),
hMenu, uPos, uIDVerbMin, uIDVerbMax,
bAddConvert, idConvert, lphMenu
);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* OleUIAddVerbMenuW (OLEDLG.14)
*/
BOOL WINAPI OleUIAddVerbMenuW(
LPOLEOBJECT lpOleObj, LPCWSTR lpszShortType,
HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
BOOL bAddConvert, UINT idConvert, HMENU *lphMenu)
{
FIXME("(%p, %s, %p, %d, %d, %d, %d, %d, %p): stub\n",
lpOleObj, debugstr_w(lpszShortType),
hMenu, uPos, uIDVerbMin, uIDVerbMax,
bAddConvert, idConvert, lphMenu
);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* OleUICanConvertOrActivateAs (OLEDLG.2)
*/
BOOL WINAPI OleUICanConvertOrActivateAs(
REFCLSID rClsid, BOOL fIsLinkedObject, WORD wFormat)
{
FIXME("(%p, %d, %hd): stub\n",
rClsid, fIsLinkedObject, wFormat
);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* OleUIInsertObjectW (OLEDLG.20)
*/
UINT WINAPI OleUIInsertObjectW(LPOLEUIINSERTOBJECTW lpOleUIInsertObject)
{
FIXME("(%p): stub\n", lpOleUIInsertObject);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return OLEUI_FALSE;
}
/***********************************************************************
* OleUIPasteSpecialA (OLEDLG.4)
*/
UINT WINAPI OleUIPasteSpecialA(LPOLEUIPASTESPECIALA lpOleUIPasteSpecial)
{
FIXME("(%p): stub\n", lpOleUIPasteSpecial);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return OLEUI_FALSE;
}
/***********************************************************************
* OleUIPasteSpecialW (OLEDLG.22)
*/
UINT WINAPI OleUIPasteSpecialW(LPOLEUIPASTESPECIALW lpOleUIPasteSpecial)
{
FIXME("(%p): stub\n", lpOleUIPasteSpecial);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return OLEUI_FALSE;
}
/***********************************************************************
* OleUIEditLinksA (OLEDLG.5)
*/
UINT WINAPI OleUIEditLinksA(LPOLEUIEDITLINKSA lpOleUIEditLinks)
{
FIXME("(%p): stub\n", lpOleUIEditLinks);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return OLEUI_FALSE;
}
/***********************************************************************
* OleUIEditLinksW (OLEDLG.19)
*/
UINT WINAPI OleUIEditLinksW(LPOLEUIEDITLINKSW lpOleUIEditLinks)
{
FIXME("(%p): stub\n", lpOleUIEditLinks);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return OLEUI_FALSE;
}
/***********************************************************************
* OleUIChangeIconA (OLEDLG.6)
*/
UINT WINAPI OleUIChangeIconA(
LPOLEUICHANGEICONA lpOleUIChangeIcon)
{
FIXME("(%p): stub\n", lpOleUIChangeIcon);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return OLEUI_FALSE;
}
/***********************************************************************
* OleUIChangeIconW (OLEDLG.16)
*/
UINT WINAPI OleUIChangeIconW(
LPOLEUICHANGEICONW lpOleUIChangeIcon)
{
FIXME("(%p): stub\n", lpOleUIChangeIcon);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return OLEUI_FALSE;
}
/***********************************************************************
* OleUIConvertA (OLEDLG.7)
*/
UINT WINAPI OleUIConvertA(LPOLEUICONVERTA lpOleUIConvert)
{
FIXME("(%p): stub\n", lpOleUIConvert);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return OLEUI_FALSE;
}
/***********************************************************************
* OleUIConvertW (OLEDLG.18)
*/
UINT WINAPI OleUIConvertW(LPOLEUICONVERTW lpOleUIConvert)
{
FIXME("(%p): stub\n", lpOleUIConvert);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return OLEUI_FALSE;
}
/***********************************************************************
* OleUIBusyA (OLEDLG.8)
*/
UINT WINAPI OleUIBusyA(LPOLEUIBUSYA lpOleUIBusy)
{
FIXME("(%p): stub\n", lpOleUIBusy);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return OLEUI_FALSE;
}
/***********************************************************************
* OleUIBusyW (OLEDLG.15)
*/
UINT WINAPI OleUIBusyW(LPOLEUIBUSYW lpOleUIBusy)
{
FIXME("(%p): stub\n", lpOleUIBusy);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return OLEUI_FALSE;
}
/***********************************************************************
* OleUIUpdateLinksA (OLEDLG.9)
*/
BOOL WINAPI OleUIUpdateLinksA(
LPOLEUILINKCONTAINERA lpOleUILinkCntr,
HWND hwndParent, LPSTR lpszTitle, INT cLinks)
{
FIXME("(%p, %p, %s, %d): stub\n",
lpOleUILinkCntr, hwndParent, debugstr_a(lpszTitle), cLinks
);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* OleUIUpdateLinksW (OLEDLG.23)
*/
BOOL WINAPI OleUIUpdateLinksW(
LPOLEUILINKCONTAINERW lpOleUILinkCntr,
HWND hwndParent, LPWSTR lpszTitle, INT cLinks)
{
FIXME("(%p, %p, %s, %d): stub\n",
lpOleUILinkCntr, hwndParent, debugstr_w(lpszTitle), cLinks
);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* OleUIPromptUserA (OLEDLG.10)
*/
INT __cdecl OleUIPromptUserA(
INT nTemplate, HWND hwndParent, ...)
{
FIXME("(%d, %p, ...): stub\n", nTemplate, hwndParent);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return OLEUI_FALSE;
}
/***********************************************************************
* OleUIPromptUserW (OLEDLG.13)
*/
INT __cdecl OleUIPromptUserW(
INT nTemplate, HWND hwndParent, ...)
{
FIXME("(%d, %p, ...): stub\n", nTemplate, hwndParent);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return OLEUI_FALSE;
}
/***********************************************************************
* OleUIObjectPropertiesA (OLEDLG.11)
*/
UINT WINAPI OleUIObjectPropertiesA(
LPOLEUIOBJECTPROPSA lpOleUIObjectProps)
{
FIXME("(%p): stub\n", lpOleUIObjectProps);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return OLEUI_FALSE;
}
/***********************************************************************
* OleUIObjectPropertiesW (OLEDLG.21)
*/
UINT WINAPI OleUIObjectPropertiesW(
LPOLEUIOBJECTPROPSW lpOleUIObjectProps)
{
FIXME("(%p): stub\n", lpOleUIObjectProps);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return OLEUI_FALSE;
}
/***********************************************************************
* OleUIChangeSourceA (OLEDLG.12)
*/
UINT WINAPI OleUIChangeSourceA(
LPOLEUICHANGESOURCEA lpOleUIChangeSource)
{
FIXME("(%p): stub\n", lpOleUIChangeSource);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return OLEUI_FALSE;
}
/***********************************************************************
* OleUIChangeSourceW (OLEDLG.17)
*/
UINT WINAPI OleUIChangeSourceW(
LPOLEUICHANGESOURCEW lpOleUIChangeSource)
{
FIXME("(%p): stub\n", lpOleUIChangeSource);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return OLEUI_FALSE;
}

View file

@ -0,0 +1,40 @@
/*
* Definitions for OLE dialog resources
*
* Copyright 2003 Ulrich Czekalla for CodeWeavers
*
* 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
*/
#define IDS_RESULTOBJDESC 101
#define IDS_RESULTFILEOBJDESC 102
#define IDS_BROWSE 103
#define IDS_NOTOLEMOD 104
#define IDS_NOTOLEMODCAPTION 105
#define UIINSERTOBJECT 129
#define IDC_OBJTYPELIST 1000
#define IDC_RESULT 1001
#define IDC_CREATENEW 1002
#define IDC_CREATECONTROL 1003
#define IDC_CREATEFROMFILE 1004
#define IDC_OBJTYPELBL 1005
#define IDC_RESULTDESC 1006
#define IDC_ADDCONTROL 1007
#define IDC_ASICON 1008
#define IDC_BROWSE 1009
#define IDC_FILELBL 1010
#define IDC_FILE 1011

View file

@ -0,0 +1,36 @@
/*
* Top level resource file for OLE Dialogs
*
* Copyright 2003 Ulrich Czekalla for CodeWeavers
*
* 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 "windef.h"
#include "winbase.h"
#include "winuser.h"
#include "winnls.h"
#include "resource.h"
/*
* Everything specific to any language goes
* in one of the specific files.
* Note that you can and may override resources
* which also have a neutral version. This is to
* get localized bitmaps for example.
*/
#include "oledlg_En.rc"
#include "oledlg_It.rc"
#include "oledlg_Nl.rc"