From: <mie...@us...> - 2009-12-14 04:27:56
|
Revision: 5421 http://oorexx.svn.sourceforge.net/oorexx/?rev=5421&view=rev Author: miesfeld Date: 2009-12-14 04:27:49 +0000 (Mon, 14 Dec 2009) Log Message: ----------- ooDialog - Remove stuff used by classic API functions Modified Paths: -------------- main/trunk/extensions/platform/windows/oodialog/ooDialog.hpp main/trunk/extensions/platform/windows/oodialog/oodCommon.cpp main/trunk/extensions/platform/windows/oodialog/oodCommon.hpp main/trunk/extensions/platform/windows/oodialog/oodResources.cpp Modified: main/trunk/extensions/platform/windows/oodialog/ooDialog.hpp =================================================================== --- main/trunk/extensions/platform/windows/oodialog/ooDialog.hpp 2009-12-14 03:44:25 UTC (rev 5420) +++ main/trunk/extensions/platform/windows/oodialog/ooDialog.hpp 2009-12-14 04:27:49 UTC (rev 5421) @@ -49,13 +49,9 @@ #include <windows.h> #include "oorexxapi.h" -#define MAXREXXNAME 128 #define MAXLENQUEUE 2056 #define NR_BUFFER 15 -#define STR_BUFFER 256 -#define LONGSTR_BUFFER 1024 #define DATA_BUFFER 8192 -#define MAX_P 64 #define MAX_MT_ENTRIES 500 #define MAX_BT_ENTRIES 300 #define MAX_DT_ENTRIES 750 @@ -173,55 +169,6 @@ } oodControl_t; -/* macros to check the number of arguments */ -#define CHECKARG(argexpct) { \ - if (argc != argexpct) \ - return HandleError(retstr, "Wrong number of arguments"); } - - -#define CHECKARGL(argexpct) { \ - if (argc < argexpct) \ - return HandleError(retstr, "Too few arguments"); } - - -#define CHECKARGLH(argexpctl, argexpcth) { \ - if (argc < argexpctl) return HandleError(retstr, "Too few arguments"); \ - if (argc > argexpcth) return HandleError(retstr, "Too many arguments"); } - - -/* macros for a easier return code */ -#define RETC(retcode) { \ - retstr->strlength = 1;\ - if (retcode) retstr->strptr[0] = '1'; else retstr->strptr[0] = '0'; \ - retstr->strptr[1] = '\0'; \ - return 0; \ - } - -#define RETERR { \ - retstr->strlength = 1;\ - retstr->strptr[0] = '1'; \ - retstr->strptr[1] = '\0'; \ - return 40; \ - } - - -#define RETVAL(retvalue) { \ - ltoa(retvalue, retstr->strptr, 10); \ - retstr->strlength = strlen(retstr->strptr);\ - return 0; \ - } - - -#define RETPTR(retvalue) { \ - pointer2string(retstr, (void *)retvalue); \ - return 0; \ - } - -#define RETHANDLE(retvalue) { \ - pointer2string(retstr, (void *)retvalue); \ - return 0; \ - } - inline LONG_PTR setWindowPtr(HWND hwnd, int index, LONG_PTR newPtr) { #ifndef __REXX64__ Modified: main/trunk/extensions/platform/windows/oodialog/oodCommon.cpp =================================================================== --- main/trunk/extensions/platform/windows/oodialog/oodCommon.cpp 2009-12-14 03:44:25 UTC (rev 5420) +++ main/trunk/extensions/platform/windows/oodialog/oodCommon.cpp 2009-12-14 04:27:49 UTC (rev 5421) @@ -696,32 +696,6 @@ return c->String(buf); } -LONG HandleError(PRXSTRING r, CHAR * text) -{ - HWND hW = NULL; - if ((topDlg) && (topDlg->TheDlg)) hW = topDlg->TheDlg; - MessageBox(hW,text,"Error",MB_OK | MB_ICONHAND); - r->strlength = 2; - r->strptr[0] = '4'; - r->strptr[1] = '0'; - r->strptr[2] = '\0'; - return 40; -} - -void rxstrlcpy(CHAR * tar, CONSTRXSTRING &src) -{ - register UINT i; - for (i=0; (i<src.strlength) && (i<STR_BUFFER-1);i++) tar[i] = src.strptr[i]; - tar[i] = '\0'; -} - -void rxdatacpy(CHAR * tar, RXSTRING &src) -{ - register UINT i; - for (i=0; (i<src.strlength) && (i<DATA_BUFFER-1);i++) tar[i] = src.strptr[i]; - tar[i] = '\0'; -} - /** * Returns an upper-cased copy of the string. * Modified: main/trunk/extensions/platform/windows/oodialog/oodCommon.hpp =================================================================== --- main/trunk/extensions/platform/windows/oodialog/oodCommon.hpp 2009-12-14 03:44:25 UTC (rev 5420) +++ main/trunk/extensions/platform/windows/oodialog/oodCommon.hpp 2009-12-14 04:27:49 UTC (rev 5421) @@ -161,8 +161,6 @@ extern int32_t stopDialog(HWND hDlg); extern int32_t DelDialog(DIALOGADMIN * aDlg); extern BOOL GetDialogIcons(DIALOGADMIN *, INT, UINT, PHANDLE, PHANDLE); -extern void rxstrlcpy(CHAR * tar, CONSTRXSTRING &src); -extern void rxdatacpy(CHAR * tar, RXSTRING &src); extern bool isYes(const char *s); extern void * string2pointer(const char *string); extern void * string2pointer(RexxMethodContext *c, RexxStringObject string); @@ -170,7 +168,6 @@ extern RexxStringObject pointer2string(RexxMethodContext *, void *); extern RexxStringObject pointer2string(RexxThreadContext *c, void *pointer); extern RexxStringObject dword2string(RexxMethodContext *, uint32_t); -extern LONG HandleError(PRXSTRING r, CHAR * text); extern char * strdupupr(const char *str); extern char * strdupupr_nospace(const char *str); extern char * strdup_nospace(const char *str); @@ -249,15 +246,6 @@ extern BUTTONTYPE getButtonInfo(HWND, PBUTTONSUBTYPE, DWORD *); -#define GET_HANDLE(p) string2pointer(p) -#define GET_HWND(p) ((HWND)string2pointer(p)) -#define GET_POINTER(p) string2pointer(p) - -inline void *string2pointer(CONSTRXSTRING *string) { return string2pointer(string->strptr); } -inline void *string2pointer(CONSTRXSTRING &string) { return string2pointer(string.strptr); } - -// TODO check whether these functions are really inlined. - inline void pointer2string(PRXSTRING result, void *pointer) { pointer2string(result->strptr, pointer); @@ -379,6 +367,9 @@ * @param dlg The dialog object whose CSelf pointer is needed. * * @return A pointer to the CSelf of the dlg object. + * + * @assumes The caller has ensured dlg is in fact a ooDialog Rexx dialog + * object. */ inline pCPlainBaseDialog dlgToCSelf(RexxMethodContext *c, RexxObjectPtr dlg) { @@ -386,6 +377,23 @@ } /** + * Retrieves the dialog admin block from an ooDialog dialog object. + * + * @param c The method context we are operating in. + * @param dlg The dialog object whose dialog admin block is needed. + * + * @return A pointer to dialog admin block for the dialog. + * + * @assumes The caller has ensured dlg is in fact a ooDialog Rexx dialog + * object. + */ +inline DIALOGADMIN *dlgToDlgAdm(RexxMethodContext *c, RexxObjectPtr dlg) +{ + pCPlainBaseDialog pcpbd = dlgToCSelf(c, dlg); + return pcpbd->dlgAdm; +} + +/** * Convenience function to put up an error message box. * * @param pszMsg The message. Modified: main/trunk/extensions/platform/windows/oodialog/oodResources.cpp =================================================================== --- main/trunk/extensions/platform/windows/oodialog/oodResources.cpp 2009-12-14 03:44:25 UTC (rev 5420) +++ main/trunk/extensions/platform/windows/oodialog/oodResources.cpp 2009-12-14 04:27:49 UTC (rev 5421) @@ -239,7 +239,7 @@ CSTRING bitmap = c->ObjectToStringValue(ilSrc); // See if the user passed in the handle to an already loaded bitmap. - hDDB = (HBITMAP)GET_HANDLE(bitmap); + hDDB = (HBITMAP)string2pointer(bitmap); if ( hDDB != NULL ) { if ( GetObject(hDDB, sizeof(BITMAP), &bmpInfo) == 0 ) @@ -1555,12 +1555,7 @@ goto err_out; } - DIALOGADMIN *adm = rxGetDlgAdm(context, dlg); - if ( adm == NULL ) - { - goto err_out; - } - + DIALOGADMIN *adm = dlgToDlgAdm(context, dlg); ri->hMod = adm->TheInstance; ri->isValid = true; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |