From: <mie...@us...> - 2011-10-23 15:42:57
|
Revision: 7242 http://oorexx.svn.sourceforge.net/oorexx/?rev=7242&view=rev Author: miesfeld Date: 2011-10-23 15:42:50 +0000 (Sun, 23 Oct 2011) Log Message: ----------- 3427258 Modified Paths: -------------- main/trunk/extensions/platform/windows/oodialog/DialogControls.cls main/trunk/extensions/platform/windows/oodialog/oodPackageEntry.cpp main/trunk/extensions/platform/windows/oodialog/oodViewControls.cpp Modified: main/trunk/extensions/platform/windows/oodialog/DialogControls.cls =================================================================== --- main/trunk/extensions/platform/windows/oodialog/DialogControls.cls 2011-10-22 00:47:28 UTC (rev 7241) +++ main/trunk/extensions/platform/windows/oodialog/DialogControls.cls 2011-10-23 15:42:50 UTC (rev 7242) @@ -1481,6 +1481,7 @@ ::method addStyle unguarded external "LIBRARY oodialog mc_addRemoveStyle" ::method removeStyle unguarded external "LIBRARY oodialog mc_addRemoveStyle" ::method replaceStyle unguarded external "LIBRARY oodialog mc_replaceStyle" +::method getStyle unguarded external "LIBRARY oodialog mc_getStyle" ::method getCalendarBorder unguarded external "LIBRARY oodialog mc_getCalendarBorder" ::method getCalendarCount unguarded external "LIBRARY oodialog mc_getCalendarCount" Modified: main/trunk/extensions/platform/windows/oodialog/oodPackageEntry.cpp =================================================================== --- main/trunk/extensions/platform/windows/oodialog/oodPackageEntry.cpp 2011-10-22 00:47:28 UTC (rev 7241) +++ main/trunk/extensions/platform/windows/oodialog/oodPackageEntry.cpp 2011-10-23 15:42:50 UTC (rev 7242) @@ -1044,6 +1044,7 @@ REXX_METHOD_PROTOTYPE(set_mc_date); REXX_METHOD_PROTOTYPE(mc_addRemoveStyle); REXX_METHOD_PROTOTYPE(mc_replaceStyle); +REXX_METHOD_PROTOTYPE(mc_getStyle); REXX_METHOD_PROTOTYPE(mc_getCalendarBorder); REXX_METHOD_PROTOTYPE(mc_getCalendarCount); REXX_METHOD_PROTOTYPE(mc_getCALID); @@ -1813,6 +1814,7 @@ REXX_METHOD(set_mc_date, set_mc_date), REXX_METHOD(mc_addRemoveStyle, mc_addRemoveStyle), REXX_METHOD(mc_replaceStyle, mc_replaceStyle), + REXX_METHOD(mc_getStyle, mc_getStyle), REXX_METHOD(mc_getCalendarBorder, mc_getCalendarBorder), REXX_METHOD(mc_getCalendarCount, mc_getCalendarCount), REXX_METHOD(mc_getCALID, mc_getCALID), Modified: main/trunk/extensions/platform/windows/oodialog/oodViewControls.cpp =================================================================== --- main/trunk/extensions/platform/windows/oodialog/oodViewControls.cpp 2011-10-22 00:47:28 UTC (rev 7241) +++ main/trunk/extensions/platform/windows/oodialog/oodViewControls.cpp 2011-10-23 15:42:50 UTC (rev 7242) @@ -458,26 +458,6 @@ } -/** - * Produce a Month Calendar's style from a string of keywords. - */ -static uint32_t string2mcStyle(CSTRING style) -{ - uint32_t flags = 0; - - if ( StrStrI(style, "DAYSTATE" ) != NULL ) flags |= MCS_DAYSTATE; - if ( StrStrI(style, "MULTI" ) != NULL ) flags |= MCS_MULTISELECT; - if ( StrStrI(style, "NOTODAY" ) != NULL ) flags |= MCS_NOTODAY; - if ( StrStrI(style, "NOCIRCLE" ) != NULL ) flags |= MCS_NOTODAYCIRCLE; - if ( StrStrI(style, "WEEKNUMBERS") != NULL ) flags |= MCS_WEEKNUMBERS; - if ( StrStrI(style, "NOTRAILING" ) != NULL ) flags |= MCS_NOTRAILINGDATES; - if ( StrStrI(style, "SHORTDAYS" ) != NULL ) flags |= MCS_SHORTDAYSOFWEEK; - if ( StrStrI(style, "NOSELCHANGE") != NULL ) flags |= MCS_NOSELCHANGEONNAV; - - return flags; -} - - /** DateTimePicker::closeMonthCal() * * Closes the drop down month calendar control of the date time picker. @@ -493,7 +473,7 @@ { if ( ! _isAtLeastVista() ) { - wrongWindowsVersionException(context, "getIdelaSize", "Vista"); + wrongWindowsVersionException(context, "closeMonthCal", "Vista"); return TheZeroObj; } @@ -524,7 +504,7 @@ */ RexxMethod1(RexxObjectPtr, dtp_getDateTime, CSELF, pCSelf) { - oodResetSysErrCode(c->threadContext); + oodResetSysErrCode(context->threadContext); SYSTEMTIME sysTime = {0}; RexxObjectPtr dateTime = TheNilObj; @@ -544,7 +524,7 @@ case GDT_ERROR: default : // Some error with the DTP, set .systemErrorCode. - oodSetSysErrCode(c->threadContext, 1002); + oodSetSysErrCode(context->threadContext, 1002); dateTime = TheZeroObj; break; } @@ -872,7 +852,7 @@ return TheZeroObj; } - uint32_t style = (uint32_t)DateTime_SetMonthCalStyle(getDChCtrl(pCSelf), string2mcStyle(newStyle)); + uint32_t style = (uint32_t)DateTime_SetMonthCalStyle(getDChCtrl(pCSelf), monthCalendarStyle(newStyle, 0)); return mcStyle2String(context, style); } @@ -1283,6 +1263,22 @@ } +/** MonthCalendar::getStyle() + * + */ +RexxMethod1(RexxStringObject, mc_getStyle, CSELF, pCSelf) +{ + HWND hMC = getMonthCalendar(context, pCSelf); + if ( hMC == NULL ) + { + return 0; + } + + uint32_t _style = GetWindowLong(hMC, GWL_STYLE); + return mcStyle2String(context, _style); +} + + RexxMethod1(uint32_t, mc_getCalendarBorder, CSELF, pCSelf) { if ( ! _isAtLeastVista() ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |