From: <mie...@us...> - 2012-07-18 02:45:32
|
Revision: 8100 http://oorexx.svn.sourceforge.net/oorexx/?rev=8100&view=rev Author: miesfeld Date: 2012-07-18 02:45:26 +0000 (Wed, 18 Jul 2012) Log Message: ----------- Use the 4.0.0 interpreter library / package loading mechanism for the ooDialog 3.2.0 code Modified Paths: -------------- ooDialog/branches/4.0.0/trunk/ooDialog/m_oodcls.rex ooDialog/branches/4.0.0/trunk/ooDialog/oovutil.def Modified: ooDialog/branches/4.0.0/trunk/ooDialog/m_oodcls.rex =================================================================== --- ooDialog/branches/4.0.0/trunk/ooDialog/m_oodcls.rex 2012-07-18 02:41:11 UTC (rev 8099) +++ ooDialog/branches/4.0.0/trunk/ooDialog/m_oodcls.rex 2012-07-18 02:45:26 UTC (rev 8100) @@ -81,8 +81,15 @@ do jj over ArrClasses[i] NewFile~lineout(".Environment~put(."jj",'"jj"')") end - if i = 1 then call ProcessUtils - else NewFile~lineout('::requires "'outname[i-1]'.CLS"') + if i = 1 then do + NewFile~lineout("") + NewFile~lineout("::requires 'oodialog' LIBRARY") + NewFile~lineout("") + call ProcessUtils + end + else do + NewFile~lineout('::requires "'outname[i-1]'.CLS"') + end do file over j say (inpdir || file) ReadFile = .stream~new(inpdir || File) Modified: ooDialog/branches/4.0.0/trunk/ooDialog/oovutil.def =================================================================== --- ooDialog/branches/4.0.0/trunk/ooDialog/oovutil.def 2012-07-18 02:41:11 UTC (rev 8099) +++ ooDialog/branches/4.0.0/trunk/ooDialog/oovutil.def 2012-07-18 02:45:26 UTC (rev 8100) @@ -1,7 +1,7 @@ ;/*----------------------------------------------------------------------------*/ ;/* */ ;/* Copyright (c) 1995, 2004 IBM Corporation. All rights reserved. */ -;/* Copyright (c) 2005-2012 Rexx Language Association. All rights reserved. */ +;/* Copyright (c) 2005-2006 Rexx Language Association. All rights reserved. */ ;/* */ ;/* This program and the accompanying materials are made available under */ ;/* the terms of the Common Public License v1.0 which accompanies this */ @@ -39,72 +39,8 @@ EXPORTS - PLAYSOUNDFILE = PlaySoundFile - PLAYSND = PlaySnd - PLAYSOUNDFILEINLOOP = PlaySoundFileInLoop - STOPSOUNDFILE = StopSoundFile - SLEEPMS = SleepMS - GETFILENAMEWINDOW = GetFileNameWindow - ADDUSERMESSAGE = AddUserMessage - DATATABLE = DataTable - BMPBUTTON = BmpButton - HANDLEDIALOGADMIN = HandleDialogAdmin - HANDLEDLG = HandleDlg - SETITEMDATA = SetItemData - SETSTEMDATA = SetStemData - GETITEMDATA = GetItemData - GETSTEMDATA = GetStemData - SENDWINMSG = SendWinMsg - ERRORMESSAGE = ErrorMessage - INFOMESSAGE = InfoMessage - YESNOMESSAGE = YesNoMessage + RexxGetPackage - FINDTHEWINDOW = FindTheWindow - WINDOWRECT = WindowRect - GETDLGMSG = GetDlgMsg - STARTDIALOG = StartDialog - HANDLESCROLLBAR = HandleScrollBar - WRITETEXT = WriteText - SCROLLTEXT = ScrollText - SCROLLTHEWINDOW = ScrollTheWindow - HANDLEFONT = HandleFont - SETBACKGROUND = SetBackground - DCDRAW = DCDraw - DRAWGETSET = DrawGetSet - HANDLEDC_OBJ = HandleDC_Obj - WNDSHOW_POS = WndShow_Pos - WND_DESKTOP = Wnd_Desktop - WINAPI32FUNC = WinAPI32Func - WINTIMER = WinTimer - LOADREMOVEBITMAP = LoadRemoveBitmap - SETLBTABSTOPS = SetLBTabStops - DIALOGMENU = DialogMenu - BINARYAND = BinaryAnd - HANDLETREECTRL = HandleTreeCtrl - HANDLELISTCTRL = HandleListCtrl - HANDLELISTCTRLEX = HandleListCtrlEx - HANDLECONTROLEX = HandleControlEx - HANDLEOTHERNEWCTRLS = HandleOtherNewCtrls - USRCREATEDIALOG = UsrCreateDialog - USRDEFINEDIALOG = UsrDefineDialog - USRADDCONTROL = UsrAddControl - USRADDNEWCTRL = UsrAddNewCtrl - USRMENU = UsrMenu - USRADDRESOURCE = UsrAddResource - GETSCREENSIZE = GetScreenSize - GETDIALOGFACTOR = GetDialogFactor - GETSTDTEXTSIZE = GetStdTextSize - GETSYSMETRICS = GetSysMetrics - INSTMMFUNCS = InstMMFuncs - REMOVEMMFUNCS = RemoveMMFuncs - INSTEXTENDEDMMFUNCS = InstExtendedMMFuncs - REMOVEEXTENDEDMMFUNCS = RemoveExtendedMMFuncs - INSTUSERMMFUNCS = InstUserMMFuncs - REMOVEUSERMMFUNCS = RemoveUserMMFuncs - DUMPADMIN = DumpAdmin - - - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mie...@us...> - 2012-07-18 23:18:48
|
Revision: 8104 http://oorexx.svn.sourceforge.net/oorexx/?rev=8104&view=rev Author: miesfeld Date: 2012-07-18 23:18:42 +0000 (Wed, 18 Jul 2012) Log Message: ----------- ooDialog 4.0.0 branch - * Fix the WinTimer() function. * Fix the SendWinMsg() function * Fix the WM_USER_CREATECHILD implementation. Modified Paths: -------------- ooDialog/branches/4.0.0/trunk/ooDialog/oovmsg.cpp ooDialog/branches/4.0.0/trunk/ooDialog/oovother.cpp ooDialog/branches/4.0.0/trunk/ooDialog/oovutil.cpp Modified: ooDialog/branches/4.0.0/trunk/ooDialog/oovmsg.cpp =================================================================== --- ooDialog/branches/4.0.0/trunk/ooDialog/oovmsg.cpp 2012-07-18 22:14:15 UTC (rev 8103) +++ ooDialog/branches/4.0.0/trunk/ooDialog/oovmsg.cpp 2012-07-18 23:18:42 UTC (rev 8104) @@ -408,14 +408,15 @@ { LONG i; ULONG n[5]; + HWND hWnd; CHECKARGL(5); + hWnd = GET_HWND(argv[1]); + if (!strcmp(argv[0].strptr,"DLG")) { CHECKARG(6); - HWND hWnd = GET_HWND(argv[0]); - for (i=1; i<5; i++) { if (ISHEX(argv[i+1].strptr)) @@ -434,8 +435,6 @@ CHECKARG(6); - HWND hWnd = GET_HWND(argv[0]); - for (i=0; i<4; i++) { if (ISHEX(argv[i+1].strptr)) @@ -498,18 +497,19 @@ else if (!strcmp(argv[0].strptr,"ANY")) { - HWND hWnd = GET_HWND(argv[0]); - for (i=0; i<4; i++) + LRESULT ret; + UINT msgID = strtoul(argv[2].strptr, '\0', 16); + HANDLE wParam = GET_HANDLE(argv[3].strptr); + LONG lParam = atol(argv[4].strptr); + + // it can still be used here. + ret = SendMessage(hWnd, msgID, (WPARAM)wParam, (LPARAM)lParam); + if ( ret == 0 ) { - if (ISHEX(argv[i+1].strptr)) - n[i] = strtoul(argv[i+1].strptr,'\0',16); - else - n[i] = strtoul(argv[i+1].strptr,'\0',10); + RETVAL(0) } - ltoa((long)SendMessage(hWnd, n[1], (WPARAM)n[2], (LPARAM)n[3]), retstr->strptr, 10); - retstr->strlength = strlen(retstr->strptr); - return 0; + RETHANDLE(ret); } return 0; } Modified: ooDialog/branches/4.0.0/trunk/ooDialog/oovother.cpp =================================================================== --- ooDialog/branches/4.0.0/trunk/ooDialog/oovother.cpp 2012-07-18 22:14:15 UTC (rev 8103) +++ ooDialog/branches/4.0.0/trunk/ooDialog/oovother.cpp 2012-07-18 23:18:42 UTC (rev 8104) @@ -289,26 +289,34 @@ size_t RexxEntry WinTimer(const char *funcname, size_t argc, CONSTRXSTRING *argv, const char *qname, RXSTRING *retstr) { - UINT_PTR timer; - MSG msg; + UINT_PTR timerID; + MSG msg; - CHECKARG(2); - if (!stricmp(argv[0].strptr, "START")) - { - timer = SetTimer(NULL, 1001, atoi(argv[1].strptr), NULL); - RETPTR(timer) - } else - if (!stricmp(argv[0].strptr, "STOP")) - { - timer = KillTimer(NULL, atoi(argv[1].strptr)); + CHECKARG(2); + if ( !stricmp(argv[0].strptr, "START") ) + { + timerID = SetTimer(NULL, 1001, atoi(argv[1].strptr), NULL); + RETPTR(timerID) + } + else if ( !stricmp(argv[0].strptr, "STOP") ) + { + timerID = (UINT_PTR)GET_POINTER(argv[1]); + if ( KillTimer(NULL, timerID) == 0 ) + { + RETVAL(GetLastError()) + } RETC(0) - } else - if (!stricmp(argv[0].strptr, "WAIT")) - { - while (!PeekMessage(&msg, NULL, WM_TIMER, WM_TIMER, PM_REMOVE) || (msg.wParam != (ULONG)atoi(argv[1].strptr))) {}; - RETC(0) - } - RETC(1) + } + else if ( !stricmp(argv[0].strptr, "WAIT") ) + { + timerID = (UINT_PTR)GET_POINTER(argv[1]); + while ( !PeekMessage(&msg, NULL, WM_TIMER, WM_TIMER, PM_REMOVE) || (msg.wParam != timerID) ) + { + ; // do nothing + } + RETC(0) + } + RETC(1) } Modified: ooDialog/branches/4.0.0/trunk/ooDialog/oovutil.cpp =================================================================== --- ooDialog/branches/4.0.0/trunk/ooDialog/oovutil.cpp 2012-07-18 22:14:15 UTC (rev 8103) +++ ooDialog/branches/4.0.0/trunk/ooDialog/oovutil.cpp 2012-07-18 23:18:42 UTC (rev 8104) @@ -276,7 +276,7 @@ return FALSE; case WM_USER_CREATECHILD: - hW = CreateDialogIndirectParam(MyInstance, (DLGTEMPLATE *) lParam, (HWND) wParam, (DLGPROC)RexxDlgProc, addressedTo->Use3DControls); /* pass 3D flag to WM_INITDIALOG */ + hW = CreateDialogIndirectParam(MyInstance, (DLGTEMPLATE *) lParam, hDlg, (DLGPROC)RexxDlgProc, addressedTo->Use3DControls); /* pass 3D flag to WM_INITDIALOG */ ReplyMessage((LRESULT) hW); return (LRESULT) hW; case WM_USER_INTERRUPTSCROLL: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mie...@us...> - 2012-07-20 18:43:24
|
Revision: 8110 http://oorexx.svn.sourceforge.net/oorexx/?rev=8110&view=rev Author: miesfeld Date: 2012-07-20 18:43:17 +0000 (Fri, 20 Jul 2012) Log Message: ----------- Add DlgUtil::version() to ooDialog 4.0.0 to allow an uniform way to get the ooDialog version Modified Paths: -------------- ooDialog/branches/4.0.0/trunk/ooDialog/m_oodcls.rex ooDialog/branches/4.0.0/trunk/ooDialog/oovutil.cpp ooDialog/branches/4.0.0/trunk/ooDialog/plbdlg.cls Modified: ooDialog/branches/4.0.0/trunk/ooDialog/m_oodcls.rex =================================================================== --- ooDialog/branches/4.0.0/trunk/ooDialog/m_oodcls.rex 2012-07-20 01:12:22 UTC (rev 8109) +++ ooDialog/branches/4.0.0/trunk/ooDialog/m_oodcls.rex 2012-07-20 18:43:17 UTC (rev 8110) @@ -55,7 +55,7 @@ Arrax[2] = .CheckArray~of("DLGEXT.CLS","BASEDLG.CLS","RESDLG.CLS","USERDLG.CLS", "RCDIALOG.CLS", "CATDLG.CLS", "ANIBUTTN.CLS", "DLGAREA.CLS") Arrax[3] = .CheckArray~of("ADVCTRL.CLS","STDEXT.CLS","MSGEXT.CLS", "PROPSHT.CLS") -ArrClasses[1] = .Array~of("PLAINBASEDIALOG","PLAINUSERDIALOG","DYNAMICDIALOG","TIMEDMESSAGE", "INPUTBOX",, +ArrClasses[1] = .Array~of("PLAINBASEDIALOG", "DLGUTIL","PLAINUSERDIALOG","DYNAMICDIALOG","TIMEDMESSAGE", "INPUTBOX",, "PASSWORDBOX", "INTEGERBOX","MULTIINPUTBOX", "LISTCHOICE",, "MULTILISTCHOICE", "CHECKLIST","SINGLESELECTION","WINDOWBASE") Modified: ooDialog/branches/4.0.0/trunk/ooDialog/oovutil.cpp =================================================================== --- ooDialog/branches/4.0.0/trunk/ooDialog/oovutil.cpp 2012-07-20 01:12:22 UTC (rev 8109) +++ ooDialog/branches/4.0.0/trunk/ooDialog/oovutil.cpp 2012-07-20 18:43:17 UTC (rev 8110) @@ -2037,6 +2037,57 @@ MessageBox(0, pszMsg, pszTitle, MB_OK | MB_ICONHAND | MB_SYSTEMMODAL); } +/** DlgUtil::version() [class method] + * + * Returns the ooDialog version string, either the full string, or just the + * number part of the string. + * + * @param format [optional] Keyword indicating which format the returned + * string should be in. Keywords are: + * + * Short 4.1.0.5814 + * + * Full ooDialog Version 4.1.0.5814 (an ooRexx Windows Extension) + * + * Level 4.2.0 + * + * Only the first letter is required and case is not + * significant. If the argument is omitted the Full format is + * the default. + * + * @remarks This method, and class, were not in ooDialog 3.2.0. It has been + * added to ooDialog 4.0.0 to provide a unified way to get the + * ooDialog version. + */ +RexxMethod1(RexxStringObject, dlgutil_version_cls, OPTIONAL_CSTRING, format) +{ + char buf[64]; + + if ( argumentOmitted(1) ) + { + format = "F"; + } + + switch ( toupper(*format) ) + { + case 'L' : + _snprintf(buf, sizeof(buf), "%u.%u.%u", OOD_VER, OOD_REL, OOD_MOD); + break; + + case 'S' : + _snprintf(buf, sizeof(buf), "%u.%u.%u.%u", OOD_VER, OOD_REL, OOD_MOD, OOD_BLD); + break; + + case 'F' : + default : + _snprintf(buf, sizeof(buf), "ooDialog Version %u.%u.%u.%u (an ooRexx Windows Extension)", + OOD_VER, OOD_REL, OOD_MOD, OOD_BLD); + break; + + } + return context->String(buf); +} + /** * Determines the version of comctl32.dll and initializes the common controls. * @@ -2300,6 +2351,11 @@ REXX_LAST_ROUTINE() }; +RexxMethodEntry oodialog_methods[] = { + REXX_METHOD(dlgutil_version_cls, dlgutil_version_cls), + REXX_LAST_METHOD() +}; + /* Note that this package is the 3.2.0 ooDialog with no changes other than * using the RexxPackageEntry to be compatible with ooRexx 4.0.0 and later. It * should behave exactly the same as ooDialog 3.2.0 under ooRexx 3.2.0. @@ -2313,7 +2369,7 @@ NULL, // no load/unload functions NULL, oodialog_functions, // the exported functions - NULL // no methods in this package + oodialog_methods // no methods in this package }; // package loading stub. Modified: ooDialog/branches/4.0.0/trunk/ooDialog/plbdlg.cls =================================================================== --- ooDialog/branches/4.0.0/trunk/ooDialog/plbdlg.cls 2012-07-20 01:12:22 UTC (rev 8109) +++ ooDialog/branches/4.0.0/trunk/ooDialog/plbdlg.cls 2012-07-20 18:43:17 UTC (rev 8110) @@ -47,6 +47,9 @@ ::requires "oodutils.cls" /* load public routines (not static) */ +::class 'DlgUtil' public +::method version class external "LIBRARY oodialog dlgutil_version_cls" + /******************************************************************************/ /* The class WindowBase implements methods that are common to all windows, */ /* if it is a dialog or a dialog item */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |