| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #include "PublicMethods.h" | 7 #include "PublicMethods.h" |
| 8 | 8 |
| 9 #include "../../include/fsdk_mgr.h" // For CPDFDoc_Environment. | 9 #include "../../include/fsdk_mgr.h" // For CPDFDoc_Environment. |
| 10 #include "../../include/javascript/IJavaScript.h" | 10 #include "../../include/javascript/IJavaScript.h" |
| (...skipping 885 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 896 } | 896 } |
| 897 | 897 |
| 898 return sRet; | 898 return sRet; |
| 899 } | 899 } |
| 900 | 900 |
| 901 /* -------------------------------------------------------------------------- */ | 901 /* -------------------------------------------------------------------------- */ |
| 902 | 902 |
| 903 // function AFNumber_Format(nDec, sepStyle, negStyle, currStyle, strCurrency, | 903 // function AFNumber_Format(nDec, sepStyle, negStyle, currStyle, strCurrency, |
| 904 // bCurrencyPrepend) | 904 // bCurrencyPrepend) |
| 905 FX_BOOL CJS_PublicMethods::AFNumber_Format(IJS_Context* cc, | 905 FX_BOOL CJS_PublicMethods::AFNumber_Format(IJS_Context* cc, |
| 906 const CJS_Parameters& params, | 906 const std::vector<CJS_Value>& params, |
| 907 CJS_Value& vRet, | 907 CJS_Value& vRet, |
| 908 CFX_WideString& sError) { | 908 CFX_WideString& sError) { |
| 909 #if _FX_OS_ != _FX_ANDROID_ | 909 #if _FX_OS_ != _FX_ANDROID_ |
| 910 CJS_Context* pContext = (CJS_Context*)cc; | 910 CJS_Context* pContext = (CJS_Context*)cc; |
| 911 if (params.size() != 6) { | 911 if (params.size() != 6) { |
| 912 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 912 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 913 return FALSE; | 913 return FALSE; |
| 914 } | 914 } |
| 915 | 915 |
| 916 CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); | 916 CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1074 } | 1074 } |
| 1075 } | 1075 } |
| 1076 } | 1076 } |
| 1077 Value = strValue2.c_str(); | 1077 Value = strValue2.c_str(); |
| 1078 #endif | 1078 #endif |
| 1079 return TRUE; | 1079 return TRUE; |
| 1080 } | 1080 } |
| 1081 | 1081 |
| 1082 // function AFNumber_Keystroke(nDec, sepStyle, negStyle, currStyle, strCurrency, | 1082 // function AFNumber_Keystroke(nDec, sepStyle, negStyle, currStyle, strCurrency, |
| 1083 // bCurrencyPrepend) | 1083 // bCurrencyPrepend) |
| 1084 FX_BOOL CJS_PublicMethods::AFNumber_Keystroke(IJS_Context* cc, | 1084 FX_BOOL CJS_PublicMethods::AFNumber_Keystroke( |
| 1085 const CJS_Parameters& params, | 1085 IJS_Context* cc, |
| 1086 CJS_Value& vRet, | 1086 const std::vector<CJS_Value>& params, |
| 1087 CFX_WideString& sError) { | 1087 CJS_Value& vRet, |
| 1088 CFX_WideString& sError) { |
| 1088 CJS_Context* pContext = (CJS_Context*)cc; | 1089 CJS_Context* pContext = (CJS_Context*)cc; |
| 1089 ASSERT(pContext != NULL); | 1090 ASSERT(pContext != NULL); |
| 1090 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 1091 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
| 1091 ASSERT(pEvent != NULL); | 1092 ASSERT(pEvent != NULL); |
| 1092 | 1093 |
| 1093 if (params.size() < 2) | 1094 if (params.size() < 2) |
| 1094 return FALSE; | 1095 return FALSE; |
| 1095 int iSepStyle = params[1].ToInt(); | 1096 int iSepStyle = params[1].ToInt(); |
| 1096 | 1097 |
| 1097 if (iSepStyle < 0 || iSepStyle > 3) | 1098 if (iSepStyle < 0 || iSepStyle > 3) |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1193 std::wstring w_postfix; | 1194 std::wstring w_postfix; |
| 1194 if (pEvent->SelEnd() < (int)w_strValue2.length()) | 1195 if (pEvent->SelEnd() < (int)w_strValue2.length()) |
| 1195 w_postfix = w_strValue2.substr(pEvent->SelEnd()); | 1196 w_postfix = w_strValue2.substr(pEvent->SelEnd()); |
| 1196 w_strValue2 = w_prefix + w_strChange2 + w_postfix; | 1197 w_strValue2 = w_prefix + w_strChange2 + w_postfix; |
| 1197 w_strValue = w_strValue2.c_str(); | 1198 w_strValue = w_strValue2.c_str(); |
| 1198 val = w_strValue; | 1199 val = w_strValue; |
| 1199 return TRUE; | 1200 return TRUE; |
| 1200 } | 1201 } |
| 1201 | 1202 |
| 1202 // function AFPercent_Format(nDec, sepStyle) | 1203 // function AFPercent_Format(nDec, sepStyle) |
| 1203 FX_BOOL CJS_PublicMethods::AFPercent_Format(IJS_Context* cc, | 1204 FX_BOOL CJS_PublicMethods::AFPercent_Format( |
| 1204 const CJS_Parameters& params, | 1205 IJS_Context* cc, |
| 1205 CJS_Value& vRet, | 1206 const std::vector<CJS_Value>& params, |
| 1206 CFX_WideString& sError) { | 1207 CJS_Value& vRet, |
| 1208 CFX_WideString& sError) { |
| 1207 #if _FX_OS_ != _FX_ANDROID_ | 1209 #if _FX_OS_ != _FX_ANDROID_ |
| 1208 CJS_Context* pContext = (CJS_Context*)cc; | 1210 CJS_Context* pContext = (CJS_Context*)cc; |
| 1209 ASSERT(pContext != NULL); | 1211 ASSERT(pContext != NULL); |
| 1210 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 1212 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
| 1211 ASSERT(pEvent != NULL); | 1213 ASSERT(pEvent != NULL); |
| 1212 | 1214 |
| 1213 if (params.size() != 2) { | 1215 if (params.size() != 2) { |
| 1214 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1216 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1215 return FALSE; | 1217 return FALSE; |
| 1216 } | 1218 } |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1287 //////////////////////////////////////////////////////////////////// | 1289 //////////////////////////////////////////////////////////////////// |
| 1288 // negative mark | 1290 // negative mark |
| 1289 if (iNegative) | 1291 if (iNegative) |
| 1290 strValue = "-" + strValue; | 1292 strValue = "-" + strValue; |
| 1291 strValue += "%"; | 1293 strValue += "%"; |
| 1292 Value = CFX_WideString::FromLocal(strValue); | 1294 Value = CFX_WideString::FromLocal(strValue); |
| 1293 #endif | 1295 #endif |
| 1294 return TRUE; | 1296 return TRUE; |
| 1295 } | 1297 } |
| 1296 // AFPercent_Keystroke(nDec, sepStyle) | 1298 // AFPercent_Keystroke(nDec, sepStyle) |
| 1297 FX_BOOL CJS_PublicMethods::AFPercent_Keystroke(IJS_Context* cc, | 1299 FX_BOOL CJS_PublicMethods::AFPercent_Keystroke( |
| 1298 const CJS_Parameters& params, | 1300 IJS_Context* cc, |
| 1299 CJS_Value& vRet, | 1301 const std::vector<CJS_Value>& params, |
| 1300 CFX_WideString& sError) { | 1302 CJS_Value& vRet, |
| 1303 CFX_WideString& sError) { |
| 1301 return AFNumber_Keystroke(cc, params, vRet, sError); | 1304 return AFNumber_Keystroke(cc, params, vRet, sError); |
| 1302 } | 1305 } |
| 1303 | 1306 |
| 1304 // function AFDate_FormatEx(cFormat) | 1307 // function AFDate_FormatEx(cFormat) |
| 1305 FX_BOOL CJS_PublicMethods::AFDate_FormatEx(IJS_Context* cc, | 1308 FX_BOOL CJS_PublicMethods::AFDate_FormatEx(IJS_Context* cc, |
| 1306 const CJS_Parameters& params, | 1309 const std::vector<CJS_Value>& params, |
| 1307 CJS_Value& vRet, | 1310 CJS_Value& vRet, |
| 1308 CFX_WideString& sError) { | 1311 CFX_WideString& sError) { |
| 1309 CJS_Context* pContext = (CJS_Context*)cc; | 1312 CJS_Context* pContext = (CJS_Context*)cc; |
| 1310 ASSERT(pContext != NULL); | 1313 ASSERT(pContext != NULL); |
| 1311 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 1314 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
| 1312 ASSERT(pEvent != NULL); | 1315 ASSERT(pEvent != NULL); |
| 1313 | 1316 |
| 1314 if (params.size() != 1) { | 1317 if (params.size() != 1) { |
| 1315 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1318 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1316 return FALSE; | 1319 return FALSE; |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1411 JS_MakeTime(nHour, nMin, nSec, 0)); | 1414 JS_MakeTime(nHour, nMin, nSec, 0)); |
| 1412 | 1415 |
| 1413 if (JS_PortIsNan(dRet)) { | 1416 if (JS_PortIsNan(dRet)) { |
| 1414 dRet = JS_DateParse(strValue.c_str()); | 1417 dRet = JS_DateParse(strValue.c_str()); |
| 1415 } | 1418 } |
| 1416 | 1419 |
| 1417 return dRet; | 1420 return dRet; |
| 1418 } | 1421 } |
| 1419 | 1422 |
| 1420 // AFDate_KeystrokeEx(cFormat) | 1423 // AFDate_KeystrokeEx(cFormat) |
| 1421 FX_BOOL CJS_PublicMethods::AFDate_KeystrokeEx(IJS_Context* cc, | 1424 FX_BOOL CJS_PublicMethods::AFDate_KeystrokeEx( |
| 1422 const CJS_Parameters& params, | 1425 IJS_Context* cc, |
| 1423 CJS_Value& vRet, | 1426 const std::vector<CJS_Value>& params, |
| 1424 CFX_WideString& sError) { | 1427 CJS_Value& vRet, |
| 1428 CFX_WideString& sError) { |
| 1425 CJS_Context* pContext = (CJS_Context*)cc; | 1429 CJS_Context* pContext = (CJS_Context*)cc; |
| 1426 ASSERT(pContext != NULL); | 1430 ASSERT(pContext != NULL); |
| 1427 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 1431 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
| 1428 ASSERT(pEvent != NULL); | 1432 ASSERT(pEvent != NULL); |
| 1429 | 1433 |
| 1430 if (params.size() != 1) { | 1434 if (params.size() != 1) { |
| 1431 sError = L"AFDate_KeystrokeEx's parameters' size r not correct"; | 1435 sError = L"AFDate_KeystrokeEx's parameters' size r not correct"; |
| 1432 return FALSE; | 1436 return FALSE; |
| 1433 } | 1437 } |
| 1434 | 1438 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 1448 sFormat.c_str()); | 1452 sFormat.c_str()); |
| 1449 Alert(pContext, swMsg.c_str()); | 1453 Alert(pContext, swMsg.c_str()); |
| 1450 pEvent->Rc() = FALSE; | 1454 pEvent->Rc() = FALSE; |
| 1451 return TRUE; | 1455 return TRUE; |
| 1452 } | 1456 } |
| 1453 } | 1457 } |
| 1454 return TRUE; | 1458 return TRUE; |
| 1455 } | 1459 } |
| 1456 | 1460 |
| 1457 FX_BOOL CJS_PublicMethods::AFDate_Format(IJS_Context* cc, | 1461 FX_BOOL CJS_PublicMethods::AFDate_Format(IJS_Context* cc, |
| 1458 const CJS_Parameters& params, | 1462 const std::vector<CJS_Value>& params, |
| 1459 CJS_Value& vRet, | 1463 CJS_Value& vRet, |
| 1460 CFX_WideString& sError) { | 1464 CFX_WideString& sError) { |
| 1461 CJS_Context* pContext = (CJS_Context*)cc; | 1465 CJS_Context* pContext = (CJS_Context*)cc; |
| 1462 if (params.size() != 1) { | 1466 if (params.size() != 1) { |
| 1463 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1467 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1464 return FALSE; | 1468 return FALSE; |
| 1465 } | 1469 } |
| 1466 | 1470 |
| 1467 int iIndex = params[0].ToInt(); | 1471 int iIndex = params[0].ToInt(); |
| 1468 const FX_WCHAR* cFormats[] = {L"m/d", | 1472 const FX_WCHAR* cFormats[] = {L"m/d", |
| 1469 L"m/d/yy", | 1473 L"m/d/yy", |
| 1470 L"mm/dd/yy", | 1474 L"mm/dd/yy", |
| 1471 L"mm/yy", | 1475 L"mm/yy", |
| 1472 L"d-mmm", | 1476 L"d-mmm", |
| 1473 L"d-mmm-yy", | 1477 L"d-mmm-yy", |
| 1474 L"dd-mmm-yy", | 1478 L"dd-mmm-yy", |
| 1475 L"yy-mm-dd", | 1479 L"yy-mm-dd", |
| 1476 L"mmm-yy", | 1480 L"mmm-yy", |
| 1477 L"mmmm-yy", | 1481 L"mmmm-yy", |
| 1478 L"mmm d, yyyy", | 1482 L"mmm d, yyyy", |
| 1479 L"mmmm d, yyyy", | 1483 L"mmmm d, yyyy", |
| 1480 L"m/d/yy h:MM tt", | 1484 L"m/d/yy h:MM tt", |
| 1481 L"m/d/yy HH:MM"}; | 1485 L"m/d/yy HH:MM"}; |
| 1482 | 1486 |
| 1483 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) | 1487 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) |
| 1484 iIndex = 0; | 1488 iIndex = 0; |
| 1485 | 1489 |
| 1486 CJS_Parameters newParams; | 1490 std::vector<CJS_Value> newParams; |
| 1487 newParams.push_back( | 1491 newParams.push_back( |
| 1488 CJS_Value(CJS_Runtime::FromContext(cc), cFormats[iIndex])); | 1492 CJS_Value(CJS_Runtime::FromContext(cc), cFormats[iIndex])); |
| 1489 return AFDate_FormatEx(cc, newParams, vRet, sError); | 1493 return AFDate_FormatEx(cc, newParams, vRet, sError); |
| 1490 } | 1494 } |
| 1491 | 1495 |
| 1492 // AFDate_KeystrokeEx(cFormat) | 1496 // AFDate_KeystrokeEx(cFormat) |
| 1493 FX_BOOL CJS_PublicMethods::AFDate_Keystroke(IJS_Context* cc, | 1497 FX_BOOL CJS_PublicMethods::AFDate_Keystroke( |
| 1494 const CJS_Parameters& params, | 1498 IJS_Context* cc, |
| 1495 CJS_Value& vRet, | 1499 const std::vector<CJS_Value>& params, |
| 1496 CFX_WideString& sError) { | 1500 CJS_Value& vRet, |
| 1501 CFX_WideString& sError) { |
| 1497 CJS_Context* pContext = (CJS_Context*)cc; | 1502 CJS_Context* pContext = (CJS_Context*)cc; |
| 1498 if (params.size() != 1) { | 1503 if (params.size() != 1) { |
| 1499 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1504 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1500 return FALSE; | 1505 return FALSE; |
| 1501 } | 1506 } |
| 1502 | 1507 |
| 1503 int iIndex = params[0].ToInt(); | 1508 int iIndex = params[0].ToInt(); |
| 1504 const FX_WCHAR* cFormats[] = {L"m/d", | 1509 const FX_WCHAR* cFormats[] = {L"m/d", |
| 1505 L"m/d/yy", | 1510 L"m/d/yy", |
| 1506 L"mm/dd/yy", | 1511 L"mm/dd/yy", |
| 1507 L"mm/yy", | 1512 L"mm/yy", |
| 1508 L"d-mmm", | 1513 L"d-mmm", |
| 1509 L"d-mmm-yy", | 1514 L"d-mmm-yy", |
| 1510 L"dd-mmm-yy", | 1515 L"dd-mmm-yy", |
| 1511 L"yy-mm-dd", | 1516 L"yy-mm-dd", |
| 1512 L"mmm-yy", | 1517 L"mmm-yy", |
| 1513 L"mmmm-yy", | 1518 L"mmmm-yy", |
| 1514 L"mmm d, yyyy", | 1519 L"mmm d, yyyy", |
| 1515 L"mmmm d, yyyy", | 1520 L"mmmm d, yyyy", |
| 1516 L"m/d/yy h:MM tt", | 1521 L"m/d/yy h:MM tt", |
| 1517 L"m/d/yy HH:MM"}; | 1522 L"m/d/yy HH:MM"}; |
| 1518 | 1523 |
| 1519 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) | 1524 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) |
| 1520 iIndex = 0; | 1525 iIndex = 0; |
| 1521 | 1526 |
| 1522 CJS_Parameters newParams; | 1527 std::vector<CJS_Value> newParams; |
| 1523 newParams.push_back( | 1528 newParams.push_back( |
| 1524 CJS_Value(CJS_Runtime::FromContext(cc), cFormats[iIndex])); | 1529 CJS_Value(CJS_Runtime::FromContext(cc), cFormats[iIndex])); |
| 1525 return AFDate_KeystrokeEx(cc, newParams, vRet, sError); | 1530 return AFDate_KeystrokeEx(cc, newParams, vRet, sError); |
| 1526 } | 1531 } |
| 1527 | 1532 |
| 1528 // function AFTime_Format(ptf) | 1533 // function AFTime_Format(ptf) |
| 1529 FX_BOOL CJS_PublicMethods::AFTime_Format(IJS_Context* cc, | 1534 FX_BOOL CJS_PublicMethods::AFTime_Format(IJS_Context* cc, |
| 1530 const CJS_Parameters& params, | 1535 const std::vector<CJS_Value>& params, |
| 1531 CJS_Value& vRet, | 1536 CJS_Value& vRet, |
| 1532 CFX_WideString& sError) { | 1537 CFX_WideString& sError) { |
| 1533 CJS_Context* pContext = (CJS_Context*)cc; | 1538 CJS_Context* pContext = (CJS_Context*)cc; |
| 1534 if (params.size() != 1) { | 1539 if (params.size() != 1) { |
| 1535 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1540 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1536 return FALSE; | 1541 return FALSE; |
| 1537 } | 1542 } |
| 1538 | 1543 |
| 1539 int iIndex = params[0].ToInt(); | 1544 int iIndex = params[0].ToInt(); |
| 1540 const FX_WCHAR* cFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss", | 1545 const FX_WCHAR* cFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss", |
| 1541 L"h:MM:ss tt"}; | 1546 L"h:MM:ss tt"}; |
| 1542 | 1547 |
| 1543 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) | 1548 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) |
| 1544 iIndex = 0; | 1549 iIndex = 0; |
| 1545 | 1550 |
| 1546 CJS_Parameters newParams; | 1551 std::vector<CJS_Value> newParams; |
| 1547 newParams.push_back( | 1552 newParams.push_back( |
| 1548 CJS_Value(CJS_Runtime::FromContext(cc), cFormats[iIndex])); | 1553 CJS_Value(CJS_Runtime::FromContext(cc), cFormats[iIndex])); |
| 1549 return AFDate_FormatEx(cc, newParams, vRet, sError); | 1554 return AFDate_FormatEx(cc, newParams, vRet, sError); |
| 1550 } | 1555 } |
| 1551 | 1556 |
| 1552 FX_BOOL CJS_PublicMethods::AFTime_Keystroke(IJS_Context* cc, | 1557 FX_BOOL CJS_PublicMethods::AFTime_Keystroke( |
| 1553 const CJS_Parameters& params, | 1558 IJS_Context* cc, |
| 1554 CJS_Value& vRet, | 1559 const std::vector<CJS_Value>& params, |
| 1555 CFX_WideString& sError) { | 1560 CJS_Value& vRet, |
| 1561 CFX_WideString& sError) { |
| 1556 CJS_Context* pContext = (CJS_Context*)cc; | 1562 CJS_Context* pContext = (CJS_Context*)cc; |
| 1557 if (params.size() != 1) { | 1563 if (params.size() != 1) { |
| 1558 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1564 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1559 return FALSE; | 1565 return FALSE; |
| 1560 } | 1566 } |
| 1561 | 1567 |
| 1562 int iIndex = params[0].ToInt(); | 1568 int iIndex = params[0].ToInt(); |
| 1563 const FX_WCHAR* cFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss", | 1569 const FX_WCHAR* cFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss", |
| 1564 L"h:MM:ss tt"}; | 1570 L"h:MM:ss tt"}; |
| 1565 | 1571 |
| 1566 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) | 1572 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) |
| 1567 iIndex = 0; | 1573 iIndex = 0; |
| 1568 | 1574 |
| 1569 CJS_Parameters newParams; | 1575 std::vector<CJS_Value> newParams; |
| 1570 newParams.push_back( | 1576 newParams.push_back( |
| 1571 CJS_Value(CJS_Runtime::FromContext(cc), cFormats[iIndex])); | 1577 CJS_Value(CJS_Runtime::FromContext(cc), cFormats[iIndex])); |
| 1572 return AFDate_KeystrokeEx(cc, newParams, vRet, sError); | 1578 return AFDate_KeystrokeEx(cc, newParams, vRet, sError); |
| 1573 } | 1579 } |
| 1574 | 1580 |
| 1575 FX_BOOL CJS_PublicMethods::AFTime_FormatEx(IJS_Context* cc, | 1581 FX_BOOL CJS_PublicMethods::AFTime_FormatEx(IJS_Context* cc, |
| 1576 const CJS_Parameters& params, | 1582 const std::vector<CJS_Value>& params, |
| 1577 CJS_Value& vRet, | 1583 CJS_Value& vRet, |
| 1578 CFX_WideString& sError) { | 1584 CFX_WideString& sError) { |
| 1579 return AFDate_FormatEx(cc, params, vRet, sError); | 1585 return AFDate_FormatEx(cc, params, vRet, sError); |
| 1580 } | 1586 } |
| 1581 | 1587 |
| 1582 FX_BOOL CJS_PublicMethods::AFTime_KeystrokeEx(IJS_Context* cc, | 1588 FX_BOOL CJS_PublicMethods::AFTime_KeystrokeEx( |
| 1583 const CJS_Parameters& params, | 1589 IJS_Context* cc, |
| 1584 CJS_Value& vRet, | 1590 const std::vector<CJS_Value>& params, |
| 1585 CFX_WideString& sError) { | 1591 CJS_Value& vRet, |
| 1592 CFX_WideString& sError) { |
| 1586 return AFDate_KeystrokeEx(cc, params, vRet, sError); | 1593 return AFDate_KeystrokeEx(cc, params, vRet, sError); |
| 1587 } | 1594 } |
| 1588 | 1595 |
| 1589 // function AFSpecial_Format(psf) | 1596 // function AFSpecial_Format(psf) |
| 1590 FX_BOOL CJS_PublicMethods::AFSpecial_Format(IJS_Context* cc, | 1597 FX_BOOL CJS_PublicMethods::AFSpecial_Format( |
| 1591 const CJS_Parameters& params, | 1598 IJS_Context* cc, |
| 1592 CJS_Value& vRet, | 1599 const std::vector<CJS_Value>& params, |
| 1593 CFX_WideString& sError) { | 1600 CJS_Value& vRet, |
| 1601 CFX_WideString& sError) { |
| 1594 CJS_Context* pContext = (CJS_Context*)cc; | 1602 CJS_Context* pContext = (CJS_Context*)cc; |
| 1595 ASSERT(pContext != NULL); | 1603 ASSERT(pContext != NULL); |
| 1596 | 1604 |
| 1597 if (params.size() != 1) { | 1605 if (params.size() != 1) { |
| 1598 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1606 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1599 return FALSE; | 1607 return FALSE; |
| 1600 } | 1608 } |
| 1601 | 1609 |
| 1602 std::string cFormat; | 1610 std::string cFormat; |
| 1603 int iIndex = params[0].ToInt(); | 1611 int iIndex = params[0].ToInt(); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 1631 break; | 1639 break; |
| 1632 } | 1640 } |
| 1633 | 1641 |
| 1634 std::string strDes; | 1642 std::string strDes; |
| 1635 util::printx(cFormat, strSrc, strDes); | 1643 util::printx(cFormat, strSrc, strDes); |
| 1636 Value = CFX_WideString::FromLocal(strDes.c_str()); | 1644 Value = CFX_WideString::FromLocal(strDes.c_str()); |
| 1637 return TRUE; | 1645 return TRUE; |
| 1638 } | 1646 } |
| 1639 | 1647 |
| 1640 // function AFSpecial_KeystrokeEx(mask) | 1648 // function AFSpecial_KeystrokeEx(mask) |
| 1641 FX_BOOL CJS_PublicMethods::AFSpecial_KeystrokeEx(IJS_Context* cc, | 1649 FX_BOOL CJS_PublicMethods::AFSpecial_KeystrokeEx( |
| 1642 const CJS_Parameters& params, | 1650 IJS_Context* cc, |
| 1643 CJS_Value& vRet, | 1651 const std::vector<CJS_Value>& params, |
| 1644 CFX_WideString& sError) { | 1652 CJS_Value& vRet, |
| 1653 CFX_WideString& sError) { |
| 1645 CJS_Context* pContext = (CJS_Context*)cc; | 1654 CJS_Context* pContext = (CJS_Context*)cc; |
| 1646 ASSERT(pContext != NULL); | 1655 ASSERT(pContext != NULL); |
| 1647 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 1656 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
| 1648 | 1657 |
| 1649 ASSERT(pEvent != NULL); | 1658 ASSERT(pEvent != NULL); |
| 1650 | 1659 |
| 1651 if (params.size() < 1) { | 1660 if (params.size() < 1) { |
| 1652 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1661 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1653 return FALSE; | 1662 return FALSE; |
| 1654 } | 1663 } |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1724 return TRUE; | 1733 return TRUE; |
| 1725 } | 1734 } |
| 1726 iIndexMask++; | 1735 iIndexMask++; |
| 1727 } | 1736 } |
| 1728 | 1737 |
| 1729 wideChange = wChange.c_str(); | 1738 wideChange = wChange.c_str(); |
| 1730 return TRUE; | 1739 return TRUE; |
| 1731 } | 1740 } |
| 1732 | 1741 |
| 1733 // function AFSpecial_Keystroke(psf) | 1742 // function AFSpecial_Keystroke(psf) |
| 1734 FX_BOOL CJS_PublicMethods::AFSpecial_Keystroke(IJS_Context* cc, | 1743 FX_BOOL CJS_PublicMethods::AFSpecial_Keystroke( |
| 1735 const CJS_Parameters& params, | 1744 IJS_Context* cc, |
| 1736 CJS_Value& vRet, | 1745 const std::vector<CJS_Value>& params, |
| 1737 CFX_WideString& sError) { | 1746 CJS_Value& vRet, |
| 1747 CFX_WideString& sError) { |
| 1738 CJS_Context* pContext = (CJS_Context*)cc; | 1748 CJS_Context* pContext = (CJS_Context*)cc; |
| 1739 if (params.size() != 1) { | 1749 if (params.size() != 1) { |
| 1740 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1750 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1741 return FALSE; | 1751 return FALSE; |
| 1742 } | 1752 } |
| 1743 | 1753 |
| 1744 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 1754 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
| 1745 if (!pEvent->m_pValue) | 1755 if (!pEvent->m_pValue) |
| 1746 return FALSE; | 1756 return FALSE; |
| 1747 | 1757 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 1769 // cFormat = "999-9999"; | 1779 // cFormat = "999-9999"; |
| 1770 cFormat = "9999999"; | 1780 cFormat = "9999999"; |
| 1771 break; | 1781 break; |
| 1772 } | 1782 } |
| 1773 case 3: | 1783 case 3: |
| 1774 // cFormat = "999-99-9999"; | 1784 // cFormat = "999-99-9999"; |
| 1775 cFormat = "999999999"; | 1785 cFormat = "999999999"; |
| 1776 break; | 1786 break; |
| 1777 } | 1787 } |
| 1778 | 1788 |
| 1779 CJS_Parameters params2; | 1789 std::vector<CJS_Value> params2; |
| 1780 params2.push_back(CJS_Value(CJS_Runtime::FromContext(cc), cFormat.c_str())); | 1790 params2.push_back(CJS_Value(CJS_Runtime::FromContext(cc), cFormat.c_str())); |
| 1781 return AFSpecial_KeystrokeEx(cc, params2, vRet, sError); | 1791 return AFSpecial_KeystrokeEx(cc, params2, vRet, sError); |
| 1782 } | 1792 } |
| 1783 | 1793 |
| 1784 FX_BOOL CJS_PublicMethods::AFMergeChange(IJS_Context* cc, | 1794 FX_BOOL CJS_PublicMethods::AFMergeChange(IJS_Context* cc, |
| 1785 const CJS_Parameters& params, | 1795 const std::vector<CJS_Value>& params, |
| 1786 CJS_Value& vRet, | 1796 CJS_Value& vRet, |
| 1787 CFX_WideString& sError) { | 1797 CFX_WideString& sError) { |
| 1788 CJS_Context* pContext = (CJS_Context*)cc; | 1798 CJS_Context* pContext = (CJS_Context*)cc; |
| 1789 ASSERT(pContext != NULL); | 1799 ASSERT(pContext != NULL); |
| 1790 CJS_EventHandler* pEventHandler = pContext->GetEventHandler(); | 1800 CJS_EventHandler* pEventHandler = pContext->GetEventHandler(); |
| 1791 ASSERT(pEventHandler != NULL); | 1801 ASSERT(pEventHandler != NULL); |
| 1792 | 1802 |
| 1793 if (params.size() != 1) { | 1803 if (params.size() != 1) { |
| 1794 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1804 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1795 return FALSE; | 1805 return FALSE; |
| (...skipping 21 matching lines...) Expand all Loading... |
| 1817 swValue.GetLength() - pEventHandler->SelEnd()); | 1827 swValue.GetLength() - pEventHandler->SelEnd()); |
| 1818 else | 1828 else |
| 1819 postfix = L""; | 1829 postfix = L""; |
| 1820 | 1830 |
| 1821 vRet = (prefix + pEventHandler->Change() + postfix).c_str(); | 1831 vRet = (prefix + pEventHandler->Change() + postfix).c_str(); |
| 1822 | 1832 |
| 1823 return TRUE; | 1833 return TRUE; |
| 1824 } | 1834 } |
| 1825 | 1835 |
| 1826 FX_BOOL CJS_PublicMethods::AFParseDateEx(IJS_Context* cc, | 1836 FX_BOOL CJS_PublicMethods::AFParseDateEx(IJS_Context* cc, |
| 1827 const CJS_Parameters& params, | 1837 const std::vector<CJS_Value>& params, |
| 1828 CJS_Value& vRet, | 1838 CJS_Value& vRet, |
| 1829 CFX_WideString& sError) { | 1839 CFX_WideString& sError) { |
| 1830 CJS_Context* pContext = (CJS_Context*)cc; | 1840 CJS_Context* pContext = (CJS_Context*)cc; |
| 1831 ASSERT(pContext != NULL); | 1841 ASSERT(pContext != NULL); |
| 1832 | 1842 |
| 1833 if (params.size() != 2) { | 1843 if (params.size() != 2) { |
| 1834 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1844 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1835 return FALSE; | 1845 return FALSE; |
| 1836 } | 1846 } |
| 1837 | 1847 |
| 1838 CFX_WideString sValue = params[0].ToCFXWideString(); | 1848 CFX_WideString sValue = params[0].ToCFXWideString(); |
| 1839 CFX_WideString sFormat = params[1].ToCFXWideString(); | 1849 CFX_WideString sFormat = params[1].ToCFXWideString(); |
| 1840 | 1850 |
| 1841 FX_BOOL bWrongFormat = FALSE; | 1851 FX_BOOL bWrongFormat = FALSE; |
| 1842 double dDate = MakeRegularDate(sValue, sFormat, bWrongFormat); | 1852 double dDate = MakeRegularDate(sValue, sFormat, bWrongFormat); |
| 1843 | 1853 |
| 1844 if (JS_PortIsNan(dDate)) { | 1854 if (JS_PortIsNan(dDate)) { |
| 1845 CFX_WideString swMsg; | 1855 CFX_WideString swMsg; |
| 1846 swMsg.Format(JSGetStringFromID(pContext, IDS_STRING_JSPARSEDATE).c_str(), | 1856 swMsg.Format(JSGetStringFromID(pContext, IDS_STRING_JSPARSEDATE).c_str(), |
| 1847 sFormat.c_str()); | 1857 sFormat.c_str()); |
| 1848 Alert((CJS_Context*)cc, swMsg.c_str()); | 1858 Alert((CJS_Context*)cc, swMsg.c_str()); |
| 1849 return FALSE; | 1859 return FALSE; |
| 1850 } | 1860 } |
| 1851 | 1861 |
| 1852 vRet = dDate; | 1862 vRet = dDate; |
| 1853 return TRUE; | 1863 return TRUE; |
| 1854 } | 1864 } |
| 1855 | 1865 |
| 1856 FX_BOOL CJS_PublicMethods::AFSimple(IJS_Context* cc, | 1866 FX_BOOL CJS_PublicMethods::AFSimple(IJS_Context* cc, |
| 1857 const CJS_Parameters& params, | 1867 const std::vector<CJS_Value>& params, |
| 1858 CJS_Value& vRet, | 1868 CJS_Value& vRet, |
| 1859 CFX_WideString& sError) { | 1869 CFX_WideString& sError) { |
| 1860 if (params.size() != 3) { | 1870 if (params.size() != 3) { |
| 1861 CJS_Context* pContext = (CJS_Context*)cc; | 1871 CJS_Context* pContext = (CJS_Context*)cc; |
| 1862 ASSERT(pContext != NULL); | 1872 ASSERT(pContext != NULL); |
| 1863 | 1873 |
| 1864 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1874 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1865 return FALSE; | 1875 return FALSE; |
| 1866 } | 1876 } |
| 1867 | 1877 |
| 1868 vRet = (double)AF_Simple(params[0].ToCFXWideString().c_str(), | 1878 vRet = (double)AF_Simple(params[0].ToCFXWideString().c_str(), |
| 1869 params[1].ToDouble(), params[2].ToDouble()); | 1879 params[1].ToDouble(), params[2].ToDouble()); |
| 1870 return TRUE; | 1880 return TRUE; |
| 1871 } | 1881 } |
| 1872 | 1882 |
| 1873 FX_BOOL CJS_PublicMethods::AFMakeNumber(IJS_Context* cc, | 1883 FX_BOOL CJS_PublicMethods::AFMakeNumber(IJS_Context* cc, |
| 1874 const CJS_Parameters& params, | 1884 const std::vector<CJS_Value>& params, |
| 1875 CJS_Value& vRet, | 1885 CJS_Value& vRet, |
| 1876 CFX_WideString& sError) { | 1886 CFX_WideString& sError) { |
| 1877 if (params.size() != 1) { | 1887 if (params.size() != 1) { |
| 1878 CJS_Context* pContext = (CJS_Context*)cc; | 1888 CJS_Context* pContext = (CJS_Context*)cc; |
| 1879 ASSERT(pContext != NULL); | 1889 ASSERT(pContext != NULL); |
| 1880 | 1890 |
| 1881 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1891 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1882 return FALSE; | 1892 return FALSE; |
| 1883 } | 1893 } |
| 1884 vRet = ParseStringToNumber(params[0].ToCFXWideString().c_str()); | 1894 vRet = ParseStringToNumber(params[0].ToCFXWideString().c_str()); |
| 1885 return TRUE; | 1895 return TRUE; |
| 1886 } | 1896 } |
| 1887 | 1897 |
| 1888 FX_BOOL CJS_PublicMethods::AFSimple_Calculate(IJS_Context* cc, | 1898 FX_BOOL CJS_PublicMethods::AFSimple_Calculate( |
| 1889 const CJS_Parameters& params, | 1899 IJS_Context* cc, |
| 1890 CJS_Value& vRet, | 1900 const std::vector<CJS_Value>& params, |
| 1891 CFX_WideString& sError) { | 1901 CJS_Value& vRet, |
| 1902 CFX_WideString& sError) { |
| 1892 CJS_Context* pContext = (CJS_Context*)cc; | 1903 CJS_Context* pContext = (CJS_Context*)cc; |
| 1893 if (params.size() != 2) { | 1904 if (params.size() != 2) { |
| 1894 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1905 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1895 return FALSE; | 1906 return FALSE; |
| 1896 } | 1907 } |
| 1897 | 1908 |
| 1898 CJS_Value params1 = params[1]; | 1909 CJS_Value params1 = params[1]; |
| 1899 if (!params1.IsArrayObject() && params1.GetType() != CJS_Value::VT_string) { | 1910 if (!params1.IsArrayObject() && params1.GetType() != CJS_Value::VT_string) { |
| 1900 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1911 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1901 return FALSE; | 1912 return FALSE; |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1978 CJS_Value jsValue(pRuntime, dValue); | 1989 CJS_Value jsValue(pRuntime, dValue); |
| 1979 if (pContext->GetEventHandler()->m_pValue) | 1990 if (pContext->GetEventHandler()->m_pValue) |
| 1980 pContext->GetEventHandler()->Value() = jsValue.ToCFXWideString(); | 1991 pContext->GetEventHandler()->Value() = jsValue.ToCFXWideString(); |
| 1981 | 1992 |
| 1982 return TRUE; | 1993 return TRUE; |
| 1983 } | 1994 } |
| 1984 | 1995 |
| 1985 /* This function validates the current event to ensure that its value is | 1996 /* This function validates the current event to ensure that its value is |
| 1986 ** within the specified range. */ | 1997 ** within the specified range. */ |
| 1987 | 1998 |
| 1988 FX_BOOL CJS_PublicMethods::AFRange_Validate(IJS_Context* cc, | 1999 FX_BOOL CJS_PublicMethods::AFRange_Validate( |
| 1989 const CJS_Parameters& params, | 2000 IJS_Context* cc, |
| 1990 CJS_Value& vRet, | 2001 const std::vector<CJS_Value>& params, |
| 1991 CFX_WideString& sError) { | 2002 CJS_Value& vRet, |
| 2003 CFX_WideString& sError) { |
| 1992 CJS_Context* pContext = (CJS_Context*)cc; | 2004 CJS_Context* pContext = (CJS_Context*)cc; |
| 1993 ASSERT(pContext != NULL); | 2005 ASSERT(pContext != NULL); |
| 1994 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 2006 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
| 1995 ASSERT(pEvent != NULL); | 2007 ASSERT(pEvent != NULL); |
| 1996 | 2008 |
| 1997 if (params.size() != 4) { | 2009 if (params.size() != 4) { |
| 1998 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 2010 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1999 return FALSE; | 2011 return FALSE; |
| 2000 } | 2012 } |
| 2001 | 2013 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 2026 } | 2038 } |
| 2027 | 2039 |
| 2028 if (!swMsg.IsEmpty()) { | 2040 if (!swMsg.IsEmpty()) { |
| 2029 Alert(pContext, swMsg.c_str()); | 2041 Alert(pContext, swMsg.c_str()); |
| 2030 pEvent->Rc() = FALSE; | 2042 pEvent->Rc() = FALSE; |
| 2031 } | 2043 } |
| 2032 return TRUE; | 2044 return TRUE; |
| 2033 } | 2045 } |
| 2034 | 2046 |
| 2035 FX_BOOL CJS_PublicMethods::AFExtractNums(IJS_Context* cc, | 2047 FX_BOOL CJS_PublicMethods::AFExtractNums(IJS_Context* cc, |
| 2036 const CJS_Parameters& params, | 2048 const std::vector<CJS_Value>& params, |
| 2037 CJS_Value& vRet, | 2049 CJS_Value& vRet, |
| 2038 CFX_WideString& sError) { | 2050 CFX_WideString& sError) { |
| 2039 CJS_Context* pContext = (CJS_Context*)cc; | 2051 CJS_Context* pContext = (CJS_Context*)cc; |
| 2040 if (params.size() != 1) { | 2052 if (params.size() != 1) { |
| 2041 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 2053 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 2042 return FALSE; | 2054 return FALSE; |
| 2043 } | 2055 } |
| 2044 | 2056 |
| 2045 CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); | 2057 CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); |
| 2046 CJS_Array nums(pRuntime); | 2058 CJS_Array nums(pRuntime); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 2069 nums.SetElement(nIndex, CJS_Value(pRuntime, sPart.c_str())); | 2081 nums.SetElement(nIndex, CJS_Value(pRuntime, sPart.c_str())); |
| 2070 } | 2082 } |
| 2071 | 2083 |
| 2072 if (nums.GetLength() > 0) | 2084 if (nums.GetLength() > 0) |
| 2073 vRet = nums; | 2085 vRet = nums; |
| 2074 else | 2086 else |
| 2075 vRet.SetNull(); | 2087 vRet.SetNull(); |
| 2076 | 2088 |
| 2077 return TRUE; | 2089 return TRUE; |
| 2078 } | 2090 } |
| OLD | NEW |