From: <mie...@us...> - 2009-02-04 03:04:35
|
Revision: 4066 http://oorexx.svn.sourceforge.net/oorexx/?rev=4066&view=rev Author: miesfeld Date: 2009-02-04 03:04:30 +0000 (Wed, 04 Feb 2009) Log Message: ----------- Sync the progress bar class up with the documentation. Modified Paths: -------------- main/trunk/extensions/platform/windows/oodialog/advctrl.cls main/trunk/extensions/platform/windows/oodialog/oovother.cpp main/trunk/extensions/platform/windows/oodialog/oovutil.cpp Modified: main/trunk/extensions/platform/windows/oodialog/advctrl.cls =================================================================== --- main/trunk/extensions/platform/windows/oodialog/advctrl.cls 2009-02-04 02:58:08 UTC (rev 4065) +++ main/trunk/extensions/platform/windows/oodialog/advctrl.cls 2009-02-04 03:04:30 UTC (rev 4066) @@ -1280,10 +1280,7 @@ ::method barColor external "LIBRARY oodialog pbc_setBarColor" ::method backgroundColor external "LIBRARY oodialog pbc_setBkColor" --- For internal testing only -::method test external "LIBRARY oodialog pbc_test" - /******************** Track Bar Class *********************************************************/ ::class 'SliderControl' subclass DialogControl public Modified: main/trunk/extensions/platform/windows/oodialog/oovother.cpp =================================================================== --- main/trunk/extensions/platform/windows/oodialog/oovother.cpp 2009-02-04 02:58:08 UTC (rev 4065) +++ main/trunk/extensions/platform/windows/oodialog/oovother.cpp 2009-02-04 03:04:30 UTC (rev 4066) @@ -4466,7 +4466,7 @@ * * @return For both cases the previous position is returned. */ -RexxMethod2(int, pbc_stepIt, OPTIONAL_uint32_t, delta, OSELF, self) +RexxMethod2(int, pbc_stepIt, OPTIONAL_int32_t, delta, OSELF, self) { HWND hwnd = rxGetWindowHandle(context, self); @@ -4489,16 +4489,37 @@ */ RexxMethod2(int, pbc_setPos, int32_t, newPos, OSELF, self) { - HWND hwnd = rxGetWindowHandle(context, self); - return (int)SendMessage(hwnd, PBM_SETPOS, newPos, 0); + return (int)SendMessage(rxGetWindowHandle(context, self), PBM_SETPOS, newPos, 0); } RexxMethod1(int, pbc_getPos, OSELF, self) { - HWND hwnd = rxGetWindowHandle(context, self); - return (int)SendMessage(hwnd, PBM_GETPOS, 0, 0); + return (int)SendMessage(rxGetWindowHandle(context, self), PBM_GETPOS, 0, 0); } +/** ProgressBar::setRange() + * + * Sets the range for the progress bar using the full 32-bit numbers for the + * range. + * + * @param min Optional. The low end of the range. 0 is the default. + * @param max Optional. The high end of the range. 100 is the default. + * + * @return The previous range in the form of a string with word(1) being the + * low end of the previous range and word(2) being the previous high + * end of the range. + * + * @note The returned range is not necessarily correct if the previous range + * has been set using the full 32-bit numbers now allowed by the + * progress bar control. The returned numbers are restricted to + * 0xFFFF. + * + * The range is returned as a string because that was the way it was + * previously documented. + * + * Use the getRange() method to get the correct range. + * + */ RexxMethod3(RexxStringObject, pbc_setRange, OPTIONAL_int32_t, min, OPTIONAL_int32_t, max, OSELF, self) { TCHAR buf[64]; @@ -4519,27 +4540,25 @@ return context->String(buf); } -RexxMethod1(RexxStringObject, pbc_getRange, OSELF, self) +RexxMethod1(RexxObjectPtr, pbc_getRange, OSELF, self) { - TCHAR buf[64]; - HWND hwnd = rxGetWindowHandle(context, self); PBRANGE pbr; + SendMessage(rxGetWindowHandle(context, self), PBM_GETRANGE, TRUE, (LPARAM)&pbr); - SendMessage(hwnd, PBM_GETRANGE, TRUE, (LPARAM)&pbr); - _snprintf(buf, sizeof(buf), "%d %d", pbr.iLow, pbr.iHigh); + RexxDirectoryObject d = context->NewDirectory(); + context->DirectoryPut(d, context->Int32(pbr.iLow), "MIN"); + context->DirectoryPut(d, context->Int32(pbr.iHigh), "MAX"); - return context->String(buf); + return d; } RexxMethod2(int, pbc_setStep, OPTIONAL_int32_t, newStep, OSELF, self) { - HWND hwnd = rxGetWindowHandle(context, self); - if ( argumentOmitted(1) ) { newStep = 10; } - return (int)SendMessage(hwnd, PBM_SETSTEP, newStep, 0); + return (int)SendMessage(rxGetWindowHandle(context, self), PBM_SETSTEP, newStep, 0); } /** @@ -4589,43 +4608,17 @@ * * Sets the background color of the progress bar. * - * @param r [Required] This can be either the COLORREF value, if the - * number of args is exactly one, or the red value of a - * COLORREF if the args are exactly 3. + * @param colorRef [Required] A COLOREF, the new background color. * - * @param g [Optional] The green value of a COLORREF. This arg is only - * optional if arg 1 is a COLORREF. - * - * @param b [Optional] The blue value of a COLORREF. This arg is only - * optional if arg 1 is a COLORREF. - * * @return The previous background color, or CLR_DEFAULT if the previous color * was the defualt. This is returned as a COLORREF number. * * The progress bar control only supports this function under Windows Classic * Theme. */ -RexxMethod4(uint32_t, pbc_setBkColor, uint32_t, r, OPTIONAL_uint8_t, g, OPTIONAL_uint8_t, b, OSELF, self) +RexxMethod2(uint32_t, pbc_setBkColor, uint32_t, colorRef, OSELF, self) { - HWND hwnd = rxGetWindowHandle(context, self); - size_t count = rxArgCount(context); - COLORREF rgb; - - if ( count == 1 ) - { - rgb = r; - } - else if ( count == 3 ) - { - rgb = RGB((uint8_t)r, g, b); - } - else - { - context->RaiseException1(Rexx_Error_Incorrect_method_minarg, context->WholeNumberToObject(3)); - return 0; - } - - return (uint32_t)SendMessage(hwnd, PBM_SETBKCOLOR, 0, rgb); + return (uint32_t)SendMessage(rxGetWindowHandle(context, self), PBM_SETBKCOLOR, 0, colorRef); } /** @@ -4633,55 +4626,20 @@ * * Sets the bar color of the progress bar. * - * @param r [Required] This can be either the COLORREF value, if the - * number of args is exactly one, or the red value of a - * COLORREF if the args are exactly 3. + * @param colorRef [Required] A COLOREF, the new bar color. * - * @param g [Optional] The green value of a COLORREF. This arg is only - * optional if arg 1 is a COLORREF. - * - * @param b [Optional] The blue value of a COLORREF. This arg is only - * optional if arg 1 is a COLORREF. - * * @return The previous bar color, or CLR_DEFAULT if the previous color * was the defualt. This is returned as a COLORREF number. * * The progress bar control only supports this function under Windows Classic * Theme. */ -RexxMethod4(uint32_t, pbc_setBarColor, uint32_t, r, OPTIONAL_uint8_t, g, OPTIONAL_uint8_t, b, OSELF, self) +RexxMethod2(uint32_t, pbc_setBarColor, uint32_t, colorRef, OSELF, self) { - HWND hwnd = rxGetWindowHandle(context, self); - size_t count = rxArgCount(context); - COLORREF rgb; - - if ( count == 1 ) - { - rgb = r; - } - else if ( count == 3 ) - { - rgb = RGB((uint8_t)r, g, b); - } - else - { - context->RaiseException1(Rexx_Error_Incorrect_method_minarg, context->WholeNumberToObject(3)); - return 0; - } - return (uint32_t)SendMessage(hwnd, PBM_SETBARCOLOR, 0, rgb); + return (uint32_t)SendMessage(rxGetWindowHandle(context, self), PBM_SETBARCOLOR, 0, colorRef); } -/** - * This function stub is used for testing. - */ -RexxMethod5(size_t, pbc_test, OPTIONAL_int32_t, n1, - OPTIONAL_int32_t, n2, OSELF, self, OPTIONAL_int32_t, n3, OPTIONAL_int32_t, n4) -{ - return rxArgCount(context); -} - - /** * Methods for the .ListControl class. */ Modified: main/trunk/extensions/platform/windows/oodialog/oovutil.cpp =================================================================== --- main/trunk/extensions/platform/windows/oodialog/oovutil.cpp 2009-02-04 02:58:08 UTC (rev 4065) +++ main/trunk/extensions/platform/windows/oodialog/oovutil.cpp 2009-02-04 03:04:30 UTC (rev 4066) @@ -2167,7 +2167,6 @@ REXX_METHOD_PROTOTYPE(pbc_setMarquee); REXX_METHOD_PROTOTYPE(pbc_setBkColor); REXX_METHOD_PROTOTYPE(pbc_setBarColor); -REXX_METHOD_PROTOTYPE(pbc_test); REXX_METHOD_PROTOTYPE(stc_getText); REXX_METHOD_PROTOTYPE(stc_setText); @@ -2302,6 +2301,9 @@ REXX_METHOD(lv_getColumnCount, lv_getColumnCount), REXX_METHOD(lv_getColumnOrder, lv_getColumnOrder), REXX_METHOD(lv_setColumnOrder, lv_setColumnOrder), + REXX_METHOD(lv_insertColumnEx, lv_insertColumnEx), + REXX_METHOD(lv_columnWidthEx, lv_columnWidthEx), + REXX_METHOD(lv_stringWidthEx, lv_stringWidthEx), REXX_METHOD(tv_setImageList, tv_setImageList), REXX_METHOD(tv_getImageList, tv_getImageList), @@ -2318,7 +2320,6 @@ REXX_METHOD(pbc_setMarquee, pbc_setMarquee), REXX_METHOD(pbc_setBkColor, pbc_setBkColor), REXX_METHOD(pbc_setBarColor, pbc_setBarColor), - REXX_METHOD(pbc_test, pbc_test), REXX_METHOD(stc_getText, stc_getText), REXX_METHOD(stc_setText, stc_setText), This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |