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 893 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
904 } | 904 } |
905 | 905 |
906 return sRet; | 906 return sRet; |
907 } | 907 } |
908 | 908 |
909 /* -------------------------------------------------------------------------- */ | 909 /* -------------------------------------------------------------------------- */ |
910 | 910 |
911 // function AFNumber_Format(nDec, sepStyle, negStyle, currStyle, strCurrency, | 911 // function AFNumber_Format(nDec, sepStyle, negStyle, currStyle, strCurrency, |
912 // bCurrencyPrepend) | 912 // bCurrencyPrepend) |
913 FX_BOOL CJS_PublicMethods::AFNumber_Format(IJS_Context* cc, | 913 FX_BOOL CJS_PublicMethods::AFNumber_Format(IJS_Context* cc, |
914 const CJS_Parameters& params, | 914 const std::vector<CJS_Value>& params, |
915 CJS_Value& vRet, | 915 CJS_Value& vRet, |
916 CFX_WideString& sError) { | 916 CFX_WideString& sError) { |
917 #if _FX_OS_ != _FX_ANDROID_ | 917 #if _FX_OS_ != _FX_ANDROID_ |
918 CJS_Context* pContext = (CJS_Context*)cc; | 918 CJS_Context* pContext = (CJS_Context*)cc; |
919 if (params.size() != 6) { | 919 if (params.size() != 6) { |
920 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 920 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
921 return FALSE; | 921 return FALSE; |
922 } | 922 } |
923 | 923 |
924 CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); | 924 CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); |
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1082 } | 1082 } |
1083 } | 1083 } |
1084 } | 1084 } |
1085 Value = strValue2.c_str(); | 1085 Value = strValue2.c_str(); |
1086 #endif | 1086 #endif |
1087 return TRUE; | 1087 return TRUE; |
1088 } | 1088 } |
1089 | 1089 |
1090 // function AFNumber_Keystroke(nDec, sepStyle, negStyle, currStyle, strCurrency, | 1090 // function AFNumber_Keystroke(nDec, sepStyle, negStyle, currStyle, strCurrency, |
1091 // bCurrencyPrepend) | 1091 // bCurrencyPrepend) |
1092 FX_BOOL CJS_PublicMethods::AFNumber_Keystroke(IJS_Context* cc, | 1092 FX_BOOL CJS_PublicMethods::AFNumber_Keystroke( |
1093 const CJS_Parameters& params, | 1093 IJS_Context* cc, |
1094 CJS_Value& vRet, | 1094 const std::vector<CJS_Value>& params, |
1095 CFX_WideString& sError) { | 1095 CJS_Value& vRet, |
| 1096 CFX_WideString& sError) { |
1096 CJS_Context* pContext = (CJS_Context*)cc; | 1097 CJS_Context* pContext = (CJS_Context*)cc; |
1097 ASSERT(pContext != NULL); | 1098 ASSERT(pContext != NULL); |
1098 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 1099 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
1099 ASSERT(pEvent != NULL); | 1100 ASSERT(pEvent != NULL); |
1100 | 1101 |
1101 if (params.size() < 2) | 1102 if (params.size() < 2) |
1102 return FALSE; | 1103 return FALSE; |
1103 int iSepStyle = params[1].ToInt(); | 1104 int iSepStyle = params[1].ToInt(); |
1104 | 1105 |
1105 if (iSepStyle < 0 || iSepStyle > 3) | 1106 if (iSepStyle < 0 || iSepStyle > 3) |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1201 std::wstring w_postfix; | 1202 std::wstring w_postfix; |
1202 if (pEvent->SelEnd() < (int)w_strValue2.length()) | 1203 if (pEvent->SelEnd() < (int)w_strValue2.length()) |
1203 w_postfix = w_strValue2.substr(pEvent->SelEnd()); | 1204 w_postfix = w_strValue2.substr(pEvent->SelEnd()); |
1204 w_strValue2 = w_prefix + w_strChange2 + w_postfix; | 1205 w_strValue2 = w_prefix + w_strChange2 + w_postfix; |
1205 w_strValue = w_strValue2.c_str(); | 1206 w_strValue = w_strValue2.c_str(); |
1206 val = w_strValue; | 1207 val = w_strValue; |
1207 return TRUE; | 1208 return TRUE; |
1208 } | 1209 } |
1209 | 1210 |
1210 // function AFPercent_Format(nDec, sepStyle) | 1211 // function AFPercent_Format(nDec, sepStyle) |
1211 FX_BOOL CJS_PublicMethods::AFPercent_Format(IJS_Context* cc, | 1212 FX_BOOL CJS_PublicMethods::AFPercent_Format( |
1212 const CJS_Parameters& params, | 1213 IJS_Context* cc, |
1213 CJS_Value& vRet, | 1214 const std::vector<CJS_Value>& params, |
1214 CFX_WideString& sError) { | 1215 CJS_Value& vRet, |
| 1216 CFX_WideString& sError) { |
1215 #if _FX_OS_ != _FX_ANDROID_ | 1217 #if _FX_OS_ != _FX_ANDROID_ |
1216 CJS_Context* pContext = (CJS_Context*)cc; | 1218 CJS_Context* pContext = (CJS_Context*)cc; |
1217 ASSERT(pContext != NULL); | 1219 ASSERT(pContext != NULL); |
1218 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 1220 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
1219 ASSERT(pEvent != NULL); | 1221 ASSERT(pEvent != NULL); |
1220 | 1222 |
1221 if (params.size() != 2) { | 1223 if (params.size() != 2) { |
1222 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1224 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
1223 return FALSE; | 1225 return FALSE; |
1224 } | 1226 } |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1295 //////////////////////////////////////////////////////////////////// | 1297 //////////////////////////////////////////////////////////////////// |
1296 // negative mark | 1298 // negative mark |
1297 if (iNegative) | 1299 if (iNegative) |
1298 strValue = "-" + strValue; | 1300 strValue = "-" + strValue; |
1299 strValue += "%"; | 1301 strValue += "%"; |
1300 Value = CFX_WideString::FromLocal(strValue); | 1302 Value = CFX_WideString::FromLocal(strValue); |
1301 #endif | 1303 #endif |
1302 return TRUE; | 1304 return TRUE; |
1303 } | 1305 } |
1304 // AFPercent_Keystroke(nDec, sepStyle) | 1306 // AFPercent_Keystroke(nDec, sepStyle) |
1305 FX_BOOL CJS_PublicMethods::AFPercent_Keystroke(IJS_Context* cc, | 1307 FX_BOOL CJS_PublicMethods::AFPercent_Keystroke( |
1306 const CJS_Parameters& params, | 1308 IJS_Context* cc, |
1307 CJS_Value& vRet, | 1309 const std::vector<CJS_Value>& params, |
1308 CFX_WideString& sError) { | 1310 CJS_Value& vRet, |
| 1311 CFX_WideString& sError) { |
1309 return AFNumber_Keystroke(cc, params, vRet, sError); | 1312 return AFNumber_Keystroke(cc, params, vRet, sError); |
1310 } | 1313 } |
1311 | 1314 |
1312 // function AFDate_FormatEx(cFormat) | 1315 // function AFDate_FormatEx(cFormat) |
1313 FX_BOOL CJS_PublicMethods::AFDate_FormatEx(IJS_Context* cc, | 1316 FX_BOOL CJS_PublicMethods::AFDate_FormatEx(IJS_Context* cc, |
1314 const CJS_Parameters& params, | 1317 const std::vector<CJS_Value>& params, |
1315 CJS_Value& vRet, | 1318 CJS_Value& vRet, |
1316 CFX_WideString& sError) { | 1319 CFX_WideString& sError) { |
1317 CJS_Context* pContext = (CJS_Context*)cc; | 1320 CJS_Context* pContext = (CJS_Context*)cc; |
1318 ASSERT(pContext != NULL); | 1321 ASSERT(pContext != NULL); |
1319 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 1322 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
1320 ASSERT(pEvent != NULL); | 1323 ASSERT(pEvent != NULL); |
1321 | 1324 |
1322 if (params.size() != 1) { | 1325 if (params.size() != 1) { |
1323 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1326 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
1324 return FALSE; | 1327 return FALSE; |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1419 JS_MakeTime(nHour, nMin, nSec, 0)); | 1422 JS_MakeTime(nHour, nMin, nSec, 0)); |
1420 | 1423 |
1421 if (JS_PortIsNan(dRet)) { | 1424 if (JS_PortIsNan(dRet)) { |
1422 dRet = JS_DateParse(strValue.c_str()); | 1425 dRet = JS_DateParse(strValue.c_str()); |
1423 } | 1426 } |
1424 | 1427 |
1425 return dRet; | 1428 return dRet; |
1426 } | 1429 } |
1427 | 1430 |
1428 // AFDate_KeystrokeEx(cFormat) | 1431 // AFDate_KeystrokeEx(cFormat) |
1429 FX_BOOL CJS_PublicMethods::AFDate_KeystrokeEx(IJS_Context* cc, | 1432 FX_BOOL CJS_PublicMethods::AFDate_KeystrokeEx( |
1430 const CJS_Parameters& params, | 1433 IJS_Context* cc, |
1431 CJS_Value& vRet, | 1434 const std::vector<CJS_Value>& params, |
1432 CFX_WideString& sError) { | 1435 CJS_Value& vRet, |
| 1436 CFX_WideString& sError) { |
1433 CJS_Context* pContext = (CJS_Context*)cc; | 1437 CJS_Context* pContext = (CJS_Context*)cc; |
1434 ASSERT(pContext != NULL); | 1438 ASSERT(pContext != NULL); |
1435 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 1439 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
1436 ASSERT(pEvent != NULL); | 1440 ASSERT(pEvent != NULL); |
1437 | 1441 |
1438 if (params.size() != 1) { | 1442 if (params.size() != 1) { |
1439 sError = L"AFDate_KeystrokeEx's parameters' size r not correct"; | 1443 sError = L"AFDate_KeystrokeEx's parameters' size r not correct"; |
1440 return FALSE; | 1444 return FALSE; |
1441 } | 1445 } |
1442 | 1446 |
(...skipping 13 matching lines...) Expand all Loading... |
1456 sFormat.c_str()); | 1460 sFormat.c_str()); |
1457 Alert(pContext, swMsg.c_str()); | 1461 Alert(pContext, swMsg.c_str()); |
1458 pEvent->Rc() = FALSE; | 1462 pEvent->Rc() = FALSE; |
1459 return TRUE; | 1463 return TRUE; |
1460 } | 1464 } |
1461 } | 1465 } |
1462 return TRUE; | 1466 return TRUE; |
1463 } | 1467 } |
1464 | 1468 |
1465 FX_BOOL CJS_PublicMethods::AFDate_Format(IJS_Context* cc, | 1469 FX_BOOL CJS_PublicMethods::AFDate_Format(IJS_Context* cc, |
1466 const CJS_Parameters& params, | 1470 const std::vector<CJS_Value>& params, |
1467 CJS_Value& vRet, | 1471 CJS_Value& vRet, |
1468 CFX_WideString& sError) { | 1472 CFX_WideString& sError) { |
1469 CJS_Context* pContext = (CJS_Context*)cc; | 1473 CJS_Context* pContext = (CJS_Context*)cc; |
1470 if (params.size() != 1) { | 1474 if (params.size() != 1) { |
1471 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1475 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
1472 return FALSE; | 1476 return FALSE; |
1473 } | 1477 } |
1474 | 1478 |
1475 int iIndex = params[0].ToInt(); | 1479 int iIndex = params[0].ToInt(); |
1476 const FX_WCHAR* cFormats[] = {L"m/d", | 1480 const FX_WCHAR* cFormats[] = {L"m/d", |
1477 L"m/d/yy", | 1481 L"m/d/yy", |
1478 L"mm/dd/yy", | 1482 L"mm/dd/yy", |
1479 L"mm/yy", | 1483 L"mm/yy", |
1480 L"d-mmm", | 1484 L"d-mmm", |
1481 L"d-mmm-yy", | 1485 L"d-mmm-yy", |
1482 L"dd-mmm-yy", | 1486 L"dd-mmm-yy", |
1483 L"yy-mm-dd", | 1487 L"yy-mm-dd", |
1484 L"mmm-yy", | 1488 L"mmm-yy", |
1485 L"mmmm-yy", | 1489 L"mmmm-yy", |
1486 L"mmm d, yyyy", | 1490 L"mmm d, yyyy", |
1487 L"mmmm d, yyyy", | 1491 L"mmmm d, yyyy", |
1488 L"m/d/yy h:MM tt", | 1492 L"m/d/yy h:MM tt", |
1489 L"m/d/yy HH:MM"}; | 1493 L"m/d/yy HH:MM"}; |
1490 | 1494 |
1491 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) | 1495 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) |
1492 iIndex = 0; | 1496 iIndex = 0; |
1493 | 1497 |
1494 CJS_Parameters newParams; | 1498 std::vector<CJS_Value> newParams; |
1495 newParams.push_back( | 1499 newParams.push_back( |
1496 CJS_Value(CJS_Runtime::FromContext(cc), cFormats[iIndex])); | 1500 CJS_Value(CJS_Runtime::FromContext(cc), cFormats[iIndex])); |
1497 return AFDate_FormatEx(cc, newParams, vRet, sError); | 1501 return AFDate_FormatEx(cc, newParams, vRet, sError); |
1498 } | 1502 } |
1499 | 1503 |
1500 // AFDate_KeystrokeEx(cFormat) | 1504 // AFDate_KeystrokeEx(cFormat) |
1501 FX_BOOL CJS_PublicMethods::AFDate_Keystroke(IJS_Context* cc, | 1505 FX_BOOL CJS_PublicMethods::AFDate_Keystroke( |
1502 const CJS_Parameters& params, | 1506 IJS_Context* cc, |
1503 CJS_Value& vRet, | 1507 const std::vector<CJS_Value>& params, |
1504 CFX_WideString& sError) { | 1508 CJS_Value& vRet, |
| 1509 CFX_WideString& sError) { |
1505 CJS_Context* pContext = (CJS_Context*)cc; | 1510 CJS_Context* pContext = (CJS_Context*)cc; |
1506 if (params.size() != 1) { | 1511 if (params.size() != 1) { |
1507 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1512 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
1508 return FALSE; | 1513 return FALSE; |
1509 } | 1514 } |
1510 | 1515 |
1511 int iIndex = params[0].ToInt(); | 1516 int iIndex = params[0].ToInt(); |
1512 const FX_WCHAR* cFormats[] = {L"m/d", | 1517 const FX_WCHAR* cFormats[] = {L"m/d", |
1513 L"m/d/yy", | 1518 L"m/d/yy", |
1514 L"mm/dd/yy", | 1519 L"mm/dd/yy", |
1515 L"mm/yy", | 1520 L"mm/yy", |
1516 L"d-mmm", | 1521 L"d-mmm", |
1517 L"d-mmm-yy", | 1522 L"d-mmm-yy", |
1518 L"dd-mmm-yy", | 1523 L"dd-mmm-yy", |
1519 L"yy-mm-dd", | 1524 L"yy-mm-dd", |
1520 L"mmm-yy", | 1525 L"mmm-yy", |
1521 L"mmmm-yy", | 1526 L"mmmm-yy", |
1522 L"mmm d, yyyy", | 1527 L"mmm d, yyyy", |
1523 L"mmmm d, yyyy", | 1528 L"mmmm d, yyyy", |
1524 L"m/d/yy h:MM tt", | 1529 L"m/d/yy h:MM tt", |
1525 L"m/d/yy HH:MM"}; | 1530 L"m/d/yy HH:MM"}; |
1526 | 1531 |
1527 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) | 1532 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) |
1528 iIndex = 0; | 1533 iIndex = 0; |
1529 | 1534 |
1530 CJS_Parameters newParams; | 1535 std::vector<CJS_Value> newParams; |
1531 newParams.push_back( | 1536 newParams.push_back( |
1532 CJS_Value(CJS_Runtime::FromContext(cc), cFormats[iIndex])); | 1537 CJS_Value(CJS_Runtime::FromContext(cc), cFormats[iIndex])); |
1533 return AFDate_KeystrokeEx(cc, newParams, vRet, sError); | 1538 return AFDate_KeystrokeEx(cc, newParams, vRet, sError); |
1534 } | 1539 } |
1535 | 1540 |
1536 // function AFTime_Format(ptf) | 1541 // function AFTime_Format(ptf) |
1537 FX_BOOL CJS_PublicMethods::AFTime_Format(IJS_Context* cc, | 1542 FX_BOOL CJS_PublicMethods::AFTime_Format(IJS_Context* cc, |
1538 const CJS_Parameters& params, | 1543 const std::vector<CJS_Value>& params, |
1539 CJS_Value& vRet, | 1544 CJS_Value& vRet, |
1540 CFX_WideString& sError) { | 1545 CFX_WideString& sError) { |
1541 CJS_Context* pContext = (CJS_Context*)cc; | 1546 CJS_Context* pContext = (CJS_Context*)cc; |
1542 if (params.size() != 1) { | 1547 if (params.size() != 1) { |
1543 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1548 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
1544 return FALSE; | 1549 return FALSE; |
1545 } | 1550 } |
1546 | 1551 |
1547 int iIndex = params[0].ToInt(); | 1552 int iIndex = params[0].ToInt(); |
1548 const FX_WCHAR* cFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss", | 1553 const FX_WCHAR* cFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss", |
1549 L"h:MM:ss tt"}; | 1554 L"h:MM:ss tt"}; |
1550 | 1555 |
1551 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) | 1556 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) |
1552 iIndex = 0; | 1557 iIndex = 0; |
1553 | 1558 |
1554 CJS_Parameters newParams; | 1559 std::vector<CJS_Value> newParams; |
1555 newParams.push_back( | 1560 newParams.push_back( |
1556 CJS_Value(CJS_Runtime::FromContext(cc), cFormats[iIndex])); | 1561 CJS_Value(CJS_Runtime::FromContext(cc), cFormats[iIndex])); |
1557 return AFDate_FormatEx(cc, newParams, vRet, sError); | 1562 return AFDate_FormatEx(cc, newParams, vRet, sError); |
1558 } | 1563 } |
1559 | 1564 |
1560 FX_BOOL CJS_PublicMethods::AFTime_Keystroke(IJS_Context* cc, | 1565 FX_BOOL CJS_PublicMethods::AFTime_Keystroke( |
1561 const CJS_Parameters& params, | 1566 IJS_Context* cc, |
1562 CJS_Value& vRet, | 1567 const std::vector<CJS_Value>& params, |
1563 CFX_WideString& sError) { | 1568 CJS_Value& vRet, |
| 1569 CFX_WideString& sError) { |
1564 CJS_Context* pContext = (CJS_Context*)cc; | 1570 CJS_Context* pContext = (CJS_Context*)cc; |
1565 if (params.size() != 1) { | 1571 if (params.size() != 1) { |
1566 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1572 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
1567 return FALSE; | 1573 return FALSE; |
1568 } | 1574 } |
1569 | 1575 |
1570 int iIndex = params[0].ToInt(); | 1576 int iIndex = params[0].ToInt(); |
1571 const FX_WCHAR* cFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss", | 1577 const FX_WCHAR* cFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss", |
1572 L"h:MM:ss tt"}; | 1578 L"h:MM:ss tt"}; |
1573 | 1579 |
1574 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) | 1580 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) |
1575 iIndex = 0; | 1581 iIndex = 0; |
1576 | 1582 |
1577 CJS_Parameters newParams; | 1583 std::vector<CJS_Value> newParams; |
1578 newParams.push_back( | 1584 newParams.push_back( |
1579 CJS_Value(CJS_Runtime::FromContext(cc), cFormats[iIndex])); | 1585 CJS_Value(CJS_Runtime::FromContext(cc), cFormats[iIndex])); |
1580 return AFDate_KeystrokeEx(cc, newParams, vRet, sError); | 1586 return AFDate_KeystrokeEx(cc, newParams, vRet, sError); |
1581 } | 1587 } |
1582 | 1588 |
1583 FX_BOOL CJS_PublicMethods::AFTime_FormatEx(IJS_Context* cc, | 1589 FX_BOOL CJS_PublicMethods::AFTime_FormatEx(IJS_Context* cc, |
1584 const CJS_Parameters& params, | 1590 const std::vector<CJS_Value>& params, |
1585 CJS_Value& vRet, | 1591 CJS_Value& vRet, |
1586 CFX_WideString& sError) { | 1592 CFX_WideString& sError) { |
1587 return AFDate_FormatEx(cc, params, vRet, sError); | 1593 return AFDate_FormatEx(cc, params, vRet, sError); |
1588 } | 1594 } |
1589 | 1595 |
1590 FX_BOOL CJS_PublicMethods::AFTime_KeystrokeEx(IJS_Context* cc, | 1596 FX_BOOL CJS_PublicMethods::AFTime_KeystrokeEx( |
1591 const CJS_Parameters& params, | 1597 IJS_Context* cc, |
1592 CJS_Value& vRet, | 1598 const std::vector<CJS_Value>& params, |
1593 CFX_WideString& sError) { | 1599 CJS_Value& vRet, |
| 1600 CFX_WideString& sError) { |
1594 return AFDate_KeystrokeEx(cc, params, vRet, sError); | 1601 return AFDate_KeystrokeEx(cc, params, vRet, sError); |
1595 } | 1602 } |
1596 | 1603 |
1597 // function AFSpecial_Format(psf) | 1604 // function AFSpecial_Format(psf) |
1598 FX_BOOL CJS_PublicMethods::AFSpecial_Format(IJS_Context* cc, | 1605 FX_BOOL CJS_PublicMethods::AFSpecial_Format( |
1599 const CJS_Parameters& params, | 1606 IJS_Context* cc, |
1600 CJS_Value& vRet, | 1607 const std::vector<CJS_Value>& params, |
1601 CFX_WideString& sError) { | 1608 CJS_Value& vRet, |
| 1609 CFX_WideString& sError) { |
1602 CJS_Context* pContext = (CJS_Context*)cc; | 1610 CJS_Context* pContext = (CJS_Context*)cc; |
1603 ASSERT(pContext != NULL); | 1611 ASSERT(pContext != NULL); |
1604 | 1612 |
1605 if (params.size() != 1) { | 1613 if (params.size() != 1) { |
1606 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1614 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
1607 return FALSE; | 1615 return FALSE; |
1608 } | 1616 } |
1609 | 1617 |
1610 std::string cFormat; | 1618 std::string cFormat; |
1611 int iIndex = params[0].ToInt(); | 1619 int iIndex = params[0].ToInt(); |
(...skipping 27 matching lines...) Expand all Loading... |
1639 break; | 1647 break; |
1640 } | 1648 } |
1641 | 1649 |
1642 std::string strDes; | 1650 std::string strDes; |
1643 util::printx(cFormat, strSrc, strDes); | 1651 util::printx(cFormat, strSrc, strDes); |
1644 Value = CFX_WideString::FromLocal(strDes.c_str()); | 1652 Value = CFX_WideString::FromLocal(strDes.c_str()); |
1645 return TRUE; | 1653 return TRUE; |
1646 } | 1654 } |
1647 | 1655 |
1648 // function AFSpecial_KeystrokeEx(mask) | 1656 // function AFSpecial_KeystrokeEx(mask) |
1649 FX_BOOL CJS_PublicMethods::AFSpecial_KeystrokeEx(IJS_Context* cc, | 1657 FX_BOOL CJS_PublicMethods::AFSpecial_KeystrokeEx( |
1650 const CJS_Parameters& params, | 1658 IJS_Context* cc, |
1651 CJS_Value& vRet, | 1659 const std::vector<CJS_Value>& params, |
1652 CFX_WideString& sError) { | 1660 CJS_Value& vRet, |
| 1661 CFX_WideString& sError) { |
1653 CJS_Context* pContext = (CJS_Context*)cc; | 1662 CJS_Context* pContext = (CJS_Context*)cc; |
1654 ASSERT(pContext != NULL); | 1663 ASSERT(pContext != NULL); |
1655 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 1664 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
1656 | 1665 |
1657 ASSERT(pEvent != NULL); | 1666 ASSERT(pEvent != NULL); |
1658 | 1667 |
1659 if (params.size() < 1) { | 1668 if (params.size() < 1) { |
1660 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1669 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
1661 return FALSE; | 1670 return FALSE; |
1662 } | 1671 } |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1732 return TRUE; | 1741 return TRUE; |
1733 } | 1742 } |
1734 iIndexMask++; | 1743 iIndexMask++; |
1735 } | 1744 } |
1736 | 1745 |
1737 wideChange = wChange.c_str(); | 1746 wideChange = wChange.c_str(); |
1738 return TRUE; | 1747 return TRUE; |
1739 } | 1748 } |
1740 | 1749 |
1741 // function AFSpecial_Keystroke(psf) | 1750 // function AFSpecial_Keystroke(psf) |
1742 FX_BOOL CJS_PublicMethods::AFSpecial_Keystroke(IJS_Context* cc, | 1751 FX_BOOL CJS_PublicMethods::AFSpecial_Keystroke( |
1743 const CJS_Parameters& params, | 1752 IJS_Context* cc, |
1744 CJS_Value& vRet, | 1753 const std::vector<CJS_Value>& params, |
1745 CFX_WideString& sError) { | 1754 CJS_Value& vRet, |
| 1755 CFX_WideString& sError) { |
1746 CJS_Context* pContext = (CJS_Context*)cc; | 1756 CJS_Context* pContext = (CJS_Context*)cc; |
1747 if (params.size() != 1) { | 1757 if (params.size() != 1) { |
1748 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1758 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
1749 return FALSE; | 1759 return FALSE; |
1750 } | 1760 } |
1751 | 1761 |
1752 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 1762 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
1753 if (!pEvent->m_pValue) | 1763 if (!pEvent->m_pValue) |
1754 return FALSE; | 1764 return FALSE; |
1755 | 1765 |
(...skipping 21 matching lines...) Expand all Loading... |
1777 // cFormat = "999-9999"; | 1787 // cFormat = "999-9999"; |
1778 cFormat = "9999999"; | 1788 cFormat = "9999999"; |
1779 break; | 1789 break; |
1780 } | 1790 } |
1781 case 3: | 1791 case 3: |
1782 // cFormat = "999-99-9999"; | 1792 // cFormat = "999-99-9999"; |
1783 cFormat = "999999999"; | 1793 cFormat = "999999999"; |
1784 break; | 1794 break; |
1785 } | 1795 } |
1786 | 1796 |
1787 CJS_Parameters params2; | 1797 std::vector<CJS_Value> params2; |
1788 params2.push_back(CJS_Value(CJS_Runtime::FromContext(cc), cFormat.c_str())); | 1798 params2.push_back(CJS_Value(CJS_Runtime::FromContext(cc), cFormat.c_str())); |
1789 return AFSpecial_KeystrokeEx(cc, params2, vRet, sError); | 1799 return AFSpecial_KeystrokeEx(cc, params2, vRet, sError); |
1790 } | 1800 } |
1791 | 1801 |
1792 FX_BOOL CJS_PublicMethods::AFMergeChange(IJS_Context* cc, | 1802 FX_BOOL CJS_PublicMethods::AFMergeChange(IJS_Context* cc, |
1793 const CJS_Parameters& params, | 1803 const std::vector<CJS_Value>& params, |
1794 CJS_Value& vRet, | 1804 CJS_Value& vRet, |
1795 CFX_WideString& sError) { | 1805 CFX_WideString& sError) { |
1796 CJS_Context* pContext = (CJS_Context*)cc; | 1806 CJS_Context* pContext = (CJS_Context*)cc; |
1797 ASSERT(pContext != NULL); | 1807 ASSERT(pContext != NULL); |
1798 CJS_EventHandler* pEventHandler = pContext->GetEventHandler(); | 1808 CJS_EventHandler* pEventHandler = pContext->GetEventHandler(); |
1799 ASSERT(pEventHandler != NULL); | 1809 ASSERT(pEventHandler != NULL); |
1800 | 1810 |
1801 if (params.size() != 1) { | 1811 if (params.size() != 1) { |
1802 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1812 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
1803 return FALSE; | 1813 return FALSE; |
(...skipping 21 matching lines...) Expand all Loading... |
1825 swValue.GetLength() - pEventHandler->SelEnd()); | 1835 swValue.GetLength() - pEventHandler->SelEnd()); |
1826 else | 1836 else |
1827 postfix = L""; | 1837 postfix = L""; |
1828 | 1838 |
1829 vRet = (prefix + pEventHandler->Change() + postfix).c_str(); | 1839 vRet = (prefix + pEventHandler->Change() + postfix).c_str(); |
1830 | 1840 |
1831 return TRUE; | 1841 return TRUE; |
1832 } | 1842 } |
1833 | 1843 |
1834 FX_BOOL CJS_PublicMethods::AFParseDateEx(IJS_Context* cc, | 1844 FX_BOOL CJS_PublicMethods::AFParseDateEx(IJS_Context* cc, |
1835 const CJS_Parameters& params, | 1845 const std::vector<CJS_Value>& params, |
1836 CJS_Value& vRet, | 1846 CJS_Value& vRet, |
1837 CFX_WideString& sError) { | 1847 CFX_WideString& sError) { |
1838 CJS_Context* pContext = (CJS_Context*)cc; | 1848 CJS_Context* pContext = (CJS_Context*)cc; |
1839 ASSERT(pContext != NULL); | 1849 ASSERT(pContext != NULL); |
1840 | 1850 |
1841 if (params.size() != 2) { | 1851 if (params.size() != 2) { |
1842 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1852 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
1843 return FALSE; | 1853 return FALSE; |
1844 } | 1854 } |
1845 | 1855 |
1846 CFX_WideString sValue = params[0].ToCFXWideString(); | 1856 CFX_WideString sValue = params[0].ToCFXWideString(); |
1847 CFX_WideString sFormat = params[1].ToCFXWideString(); | 1857 CFX_WideString sFormat = params[1].ToCFXWideString(); |
1848 | 1858 |
1849 FX_BOOL bWrongFormat = FALSE; | 1859 FX_BOOL bWrongFormat = FALSE; |
1850 double dDate = MakeRegularDate(sValue, sFormat, bWrongFormat); | 1860 double dDate = MakeRegularDate(sValue, sFormat, bWrongFormat); |
1851 | 1861 |
1852 if (JS_PortIsNan(dDate)) { | 1862 if (JS_PortIsNan(dDate)) { |
1853 CFX_WideString swMsg; | 1863 CFX_WideString swMsg; |
1854 swMsg.Format(JSGetStringFromID(pContext, IDS_STRING_JSPARSEDATE).c_str(), | 1864 swMsg.Format(JSGetStringFromID(pContext, IDS_STRING_JSPARSEDATE).c_str(), |
1855 sFormat.c_str()); | 1865 sFormat.c_str()); |
1856 Alert((CJS_Context*)cc, swMsg.c_str()); | 1866 Alert((CJS_Context*)cc, swMsg.c_str()); |
1857 return FALSE; | 1867 return FALSE; |
1858 } | 1868 } |
1859 | 1869 |
1860 vRet = dDate; | 1870 vRet = dDate; |
1861 return TRUE; | 1871 return TRUE; |
1862 } | 1872 } |
1863 | 1873 |
1864 FX_BOOL CJS_PublicMethods::AFSimple(IJS_Context* cc, | 1874 FX_BOOL CJS_PublicMethods::AFSimple(IJS_Context* cc, |
1865 const CJS_Parameters& params, | 1875 const std::vector<CJS_Value>& params, |
1866 CJS_Value& vRet, | 1876 CJS_Value& vRet, |
1867 CFX_WideString& sError) { | 1877 CFX_WideString& sError) { |
1868 if (params.size() != 3) { | 1878 if (params.size() != 3) { |
1869 CJS_Context* pContext = (CJS_Context*)cc; | 1879 CJS_Context* pContext = (CJS_Context*)cc; |
1870 ASSERT(pContext != NULL); | 1880 ASSERT(pContext != NULL); |
1871 | 1881 |
1872 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1882 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
1873 return FALSE; | 1883 return FALSE; |
1874 } | 1884 } |
1875 | 1885 |
1876 vRet = (double)AF_Simple(params[0].ToCFXWideString().c_str(), | 1886 vRet = (double)AF_Simple(params[0].ToCFXWideString().c_str(), |
1877 params[1].ToDouble(), params[2].ToDouble()); | 1887 params[1].ToDouble(), params[2].ToDouble()); |
1878 return TRUE; | 1888 return TRUE; |
1879 } | 1889 } |
1880 | 1890 |
1881 FX_BOOL CJS_PublicMethods::AFMakeNumber(IJS_Context* cc, | 1891 FX_BOOL CJS_PublicMethods::AFMakeNumber(IJS_Context* cc, |
1882 const CJS_Parameters& params, | 1892 const std::vector<CJS_Value>& params, |
1883 CJS_Value& vRet, | 1893 CJS_Value& vRet, |
1884 CFX_WideString& sError) { | 1894 CFX_WideString& sError) { |
1885 if (params.size() != 1) { | 1895 if (params.size() != 1) { |
1886 CJS_Context* pContext = (CJS_Context*)cc; | 1896 CJS_Context* pContext = (CJS_Context*)cc; |
1887 ASSERT(pContext != NULL); | 1897 ASSERT(pContext != NULL); |
1888 | 1898 |
1889 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1899 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
1890 return FALSE; | 1900 return FALSE; |
1891 } | 1901 } |
1892 vRet = ParseStringToNumber(params[0].ToCFXWideString().c_str()); | 1902 vRet = ParseStringToNumber(params[0].ToCFXWideString().c_str()); |
1893 return TRUE; | 1903 return TRUE; |
1894 } | 1904 } |
1895 | 1905 |
1896 FX_BOOL CJS_PublicMethods::AFSimple_Calculate(IJS_Context* cc, | 1906 FX_BOOL CJS_PublicMethods::AFSimple_Calculate( |
1897 const CJS_Parameters& params, | 1907 IJS_Context* cc, |
1898 CJS_Value& vRet, | 1908 const std::vector<CJS_Value>& params, |
1899 CFX_WideString& sError) { | 1909 CJS_Value& vRet, |
| 1910 CFX_WideString& sError) { |
1900 CJS_Context* pContext = (CJS_Context*)cc; | 1911 CJS_Context* pContext = (CJS_Context*)cc; |
1901 if (params.size() != 2) { | 1912 if (params.size() != 2) { |
1902 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1913 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
1903 return FALSE; | 1914 return FALSE; |
1904 } | 1915 } |
1905 | 1916 |
1906 CJS_Value params1 = params[1]; | 1917 CJS_Value params1 = params[1]; |
1907 if (!params1.IsArrayObject() && params1.GetType() != CJS_Value::VT_string) { | 1918 if (!params1.IsArrayObject() && params1.GetType() != CJS_Value::VT_string) { |
1908 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1919 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
1909 return FALSE; | 1920 return FALSE; |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1986 CJS_Value jsValue(pRuntime, dValue); | 1997 CJS_Value jsValue(pRuntime, dValue); |
1987 if (pContext->GetEventHandler()->m_pValue) | 1998 if (pContext->GetEventHandler()->m_pValue) |
1988 pContext->GetEventHandler()->Value() = jsValue.ToCFXWideString(); | 1999 pContext->GetEventHandler()->Value() = jsValue.ToCFXWideString(); |
1989 | 2000 |
1990 return TRUE; | 2001 return TRUE; |
1991 } | 2002 } |
1992 | 2003 |
1993 /* This function validates the current event to ensure that its value is | 2004 /* This function validates the current event to ensure that its value is |
1994 ** within the specified range. */ | 2005 ** within the specified range. */ |
1995 | 2006 |
1996 FX_BOOL CJS_PublicMethods::AFRange_Validate(IJS_Context* cc, | 2007 FX_BOOL CJS_PublicMethods::AFRange_Validate( |
1997 const CJS_Parameters& params, | 2008 IJS_Context* cc, |
1998 CJS_Value& vRet, | 2009 const std::vector<CJS_Value>& params, |
1999 CFX_WideString& sError) { | 2010 CJS_Value& vRet, |
| 2011 CFX_WideString& sError) { |
2000 CJS_Context* pContext = (CJS_Context*)cc; | 2012 CJS_Context* pContext = (CJS_Context*)cc; |
2001 ASSERT(pContext != NULL); | 2013 ASSERT(pContext != NULL); |
2002 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 2014 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
2003 ASSERT(pEvent != NULL); | 2015 ASSERT(pEvent != NULL); |
2004 | 2016 |
2005 if (params.size() != 4) { | 2017 if (params.size() != 4) { |
2006 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 2018 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
2007 return FALSE; | 2019 return FALSE; |
2008 } | 2020 } |
2009 | 2021 |
(...skipping 24 matching lines...) Expand all Loading... |
2034 } | 2046 } |
2035 | 2047 |
2036 if (!swMsg.IsEmpty()) { | 2048 if (!swMsg.IsEmpty()) { |
2037 Alert(pContext, swMsg.c_str()); | 2049 Alert(pContext, swMsg.c_str()); |
2038 pEvent->Rc() = FALSE; | 2050 pEvent->Rc() = FALSE; |
2039 } | 2051 } |
2040 return TRUE; | 2052 return TRUE; |
2041 } | 2053 } |
2042 | 2054 |
2043 FX_BOOL CJS_PublicMethods::AFExtractNums(IJS_Context* cc, | 2055 FX_BOOL CJS_PublicMethods::AFExtractNums(IJS_Context* cc, |
2044 const CJS_Parameters& params, | 2056 const std::vector<CJS_Value>& params, |
2045 CJS_Value& vRet, | 2057 CJS_Value& vRet, |
2046 CFX_WideString& sError) { | 2058 CFX_WideString& sError) { |
2047 CJS_Context* pContext = (CJS_Context*)cc; | 2059 CJS_Context* pContext = (CJS_Context*)cc; |
2048 if (params.size() != 1) { | 2060 if (params.size() != 1) { |
2049 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 2061 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
2050 return FALSE; | 2062 return FALSE; |
2051 } | 2063 } |
2052 | 2064 |
2053 CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); | 2065 CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); |
2054 CJS_Array nums(pRuntime); | 2066 CJS_Array nums(pRuntime); |
(...skipping 22 matching lines...) Expand all Loading... |
2077 nums.SetElement(nIndex, CJS_Value(pRuntime, sPart.c_str())); | 2089 nums.SetElement(nIndex, CJS_Value(pRuntime, sPart.c_str())); |
2078 } | 2090 } |
2079 | 2091 |
2080 if (nums.GetLength() > 0) | 2092 if (nums.GetLength() > 0) |
2081 vRet = nums; | 2093 vRet = nums; |
2082 else | 2094 else |
2083 vRet.SetNull(); | 2095 vRet.SetNull(); |
2084 | 2096 |
2085 return TRUE; | 2097 return TRUE; |
2086 } | 2098 } |
OLD | NEW |