| 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" |
| 11 #include "Field.h" | 11 #include "Field.h" |
| 12 #include "JS_Context.h" | 12 #include "JS_Context.h" |
| 13 #include "JS_Define.h" | 13 #include "JS_Define.h" |
| 14 #include "JS_EventHandler.h" | 14 #include "JS_EventHandler.h" |
| 15 #include "JS_Object.h" | 15 #include "JS_Object.h" |
| 16 #include "JS_Runtime.h" | 16 #include "JS_Runtime.h" |
| 17 #include "JS_Value.h" | 17 #include "JS_Value.h" |
| 18 #include "color.h" | 18 #include "color.h" |
| 19 #include "resource.h" | 19 #include "resource.h" |
| 20 #include "util.h" | 20 #include "util.h" |
| 21 | 21 |
| 22 static v8::Isolate* GetIsolate(IFXJS_Context* cc) { | 22 static v8::Isolate* GetIsolate(IJS_Context* cc) { |
| 23 CJS_Context* pContext = (CJS_Context*)cc; | 23 CJS_Context* pContext = (CJS_Context*)cc; |
| 24 ASSERT(pContext != NULL); | 24 ASSERT(pContext != NULL); |
| 25 | 25 |
| 26 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 26 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
| 27 ASSERT(pRuntime != NULL); | 27 ASSERT(pRuntime != NULL); |
| 28 | 28 |
| 29 return pRuntime->GetIsolate(); | 29 return pRuntime->GetIsolate(); |
| 30 } | 30 } |
| 31 | 31 |
| 32 /* -------------------------------- CJS_PublicMethods | 32 /* -------------------------------- CJS_PublicMethods |
| (...skipping 866 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 899 sRet += sPart; | 899 sRet += sPart; |
| 900 } | 900 } |
| 901 | 901 |
| 902 return sRet; | 902 return sRet; |
| 903 } | 903 } |
| 904 | 904 |
| 905 /* -------------------------------------------------------------------------- */ | 905 /* -------------------------------------------------------------------------- */ |
| 906 | 906 |
| 907 // function AFNumber_Format(nDec, sepStyle, negStyle, currStyle, strCurrency, | 907 // function AFNumber_Format(nDec, sepStyle, negStyle, currStyle, strCurrency, |
| 908 // bCurrencyPrepend) | 908 // bCurrencyPrepend) |
| 909 FX_BOOL CJS_PublicMethods::AFNumber_Format(IFXJS_Context* cc, | 909 FX_BOOL CJS_PublicMethods::AFNumber_Format(IJS_Context* cc, |
| 910 const CJS_Parameters& params, | 910 const CJS_Parameters& params, |
| 911 CJS_Value& vRet, | 911 CJS_Value& vRet, |
| 912 CFX_WideString& sError) { | 912 CFX_WideString& sError) { |
| 913 #if _FX_OS_ != _FX_ANDROID_ | 913 #if _FX_OS_ != _FX_ANDROID_ |
| 914 v8::Isolate* isolate = ::GetIsolate(cc); | 914 v8::Isolate* isolate = ::GetIsolate(cc); |
| 915 CJS_Context* pContext = (CJS_Context*)cc; | 915 CJS_Context* pContext = (CJS_Context*)cc; |
| 916 ASSERT(pContext != NULL); | 916 ASSERT(pContext != NULL); |
| 917 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 917 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
| 918 ASSERT(pEvent != NULL); | 918 ASSERT(pEvent != NULL); |
| 919 | 919 |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1084 } | 1084 } |
| 1085 } | 1085 } |
| 1086 } | 1086 } |
| 1087 Value = strValue2.c_str(); | 1087 Value = strValue2.c_str(); |
| 1088 #endif | 1088 #endif |
| 1089 return TRUE; | 1089 return TRUE; |
| 1090 } | 1090 } |
| 1091 | 1091 |
| 1092 // function AFNumber_Keystroke(nDec, sepStyle, negStyle, currStyle, strCurrency, | 1092 // function AFNumber_Keystroke(nDec, sepStyle, negStyle, currStyle, strCurrency, |
| 1093 // bCurrencyPrepend) | 1093 // bCurrencyPrepend) |
| 1094 FX_BOOL CJS_PublicMethods::AFNumber_Keystroke(IFXJS_Context* cc, | 1094 FX_BOOL CJS_PublicMethods::AFNumber_Keystroke(IJS_Context* cc, |
| 1095 const CJS_Parameters& params, | 1095 const CJS_Parameters& params, |
| 1096 CJS_Value& vRet, | 1096 CJS_Value& vRet, |
| 1097 CFX_WideString& sError) { | 1097 CFX_WideString& sError) { |
| 1098 CJS_Context* pContext = (CJS_Context*)cc; | 1098 CJS_Context* pContext = (CJS_Context*)cc; |
| 1099 ASSERT(pContext != NULL); | 1099 ASSERT(pContext != NULL); |
| 1100 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 1100 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
| 1101 ASSERT(pEvent != NULL); | 1101 ASSERT(pEvent != NULL); |
| 1102 | 1102 |
| 1103 if (params.size() < 2) | 1103 if (params.size() < 2) |
| 1104 return FALSE; | 1104 return FALSE; |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1203 std::wstring w_postfix; | 1203 std::wstring w_postfix; |
| 1204 if (pEvent->SelEnd() < (int)w_strValue2.length()) | 1204 if (pEvent->SelEnd() < (int)w_strValue2.length()) |
| 1205 w_postfix = w_strValue2.substr(pEvent->SelEnd()); | 1205 w_postfix = w_strValue2.substr(pEvent->SelEnd()); |
| 1206 w_strValue2 = w_prefix + w_strChange2 + w_postfix; | 1206 w_strValue2 = w_prefix + w_strChange2 + w_postfix; |
| 1207 w_strValue = w_strValue2.c_str(); | 1207 w_strValue = w_strValue2.c_str(); |
| 1208 val = w_strValue; | 1208 val = w_strValue; |
| 1209 return TRUE; | 1209 return TRUE; |
| 1210 } | 1210 } |
| 1211 | 1211 |
| 1212 // function AFPercent_Format(nDec, sepStyle) | 1212 // function AFPercent_Format(nDec, sepStyle) |
| 1213 FX_BOOL CJS_PublicMethods::AFPercent_Format(IFXJS_Context* cc, | 1213 FX_BOOL CJS_PublicMethods::AFPercent_Format(IJS_Context* cc, |
| 1214 const CJS_Parameters& params, | 1214 const CJS_Parameters& params, |
| 1215 CJS_Value& vRet, | 1215 CJS_Value& vRet, |
| 1216 CFX_WideString& sError) { | 1216 CFX_WideString& sError) { |
| 1217 #if _FX_OS_ != _FX_ANDROID_ | 1217 #if _FX_OS_ != _FX_ANDROID_ |
| 1218 CJS_Context* pContext = (CJS_Context*)cc; | 1218 CJS_Context* pContext = (CJS_Context*)cc; |
| 1219 ASSERT(pContext != NULL); | 1219 ASSERT(pContext != NULL); |
| 1220 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 1220 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
| 1221 ASSERT(pEvent != NULL); | 1221 ASSERT(pEvent != NULL); |
| 1222 | 1222 |
| 1223 if (params.size() != 2) { | 1223 if (params.size() != 2) { |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1301 //////////////////////////////////////////////////////////////////// | 1301 //////////////////////////////////////////////////////////////////// |
| 1302 // negative mark | 1302 // negative mark |
| 1303 if (iNegative) | 1303 if (iNegative) |
| 1304 strValue = "-" + strValue; | 1304 strValue = "-" + strValue; |
| 1305 strValue += "%"; | 1305 strValue += "%"; |
| 1306 Value = CFX_WideString::FromLocal(strValue); | 1306 Value = CFX_WideString::FromLocal(strValue); |
| 1307 #endif | 1307 #endif |
| 1308 return TRUE; | 1308 return TRUE; |
| 1309 } | 1309 } |
| 1310 // AFPercent_Keystroke(nDec, sepStyle) | 1310 // AFPercent_Keystroke(nDec, sepStyle) |
| 1311 FX_BOOL CJS_PublicMethods::AFPercent_Keystroke(IFXJS_Context* cc, | 1311 FX_BOOL CJS_PublicMethods::AFPercent_Keystroke(IJS_Context* cc, |
| 1312 const CJS_Parameters& params, | 1312 const CJS_Parameters& params, |
| 1313 CJS_Value& vRet, | 1313 CJS_Value& vRet, |
| 1314 CFX_WideString& sError) { | 1314 CFX_WideString& sError) { |
| 1315 return AFNumber_Keystroke(cc, params, vRet, sError); | 1315 return AFNumber_Keystroke(cc, params, vRet, sError); |
| 1316 } | 1316 } |
| 1317 | 1317 |
| 1318 // function AFDate_FormatEx(cFormat) | 1318 // function AFDate_FormatEx(cFormat) |
| 1319 FX_BOOL CJS_PublicMethods::AFDate_FormatEx(IFXJS_Context* cc, | 1319 FX_BOOL CJS_PublicMethods::AFDate_FormatEx(IJS_Context* cc, |
| 1320 const CJS_Parameters& params, | 1320 const CJS_Parameters& params, |
| 1321 CJS_Value& vRet, | 1321 CJS_Value& vRet, |
| 1322 CFX_WideString& sError) { | 1322 CFX_WideString& sError) { |
| 1323 CJS_Context* pContext = (CJS_Context*)cc; | 1323 CJS_Context* pContext = (CJS_Context*)cc; |
| 1324 ASSERT(pContext != NULL); | 1324 ASSERT(pContext != NULL); |
| 1325 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 1325 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
| 1326 ASSERT(pEvent != NULL); | 1326 ASSERT(pEvent != NULL); |
| 1327 | 1327 |
| 1328 if (params.size() != 1) { | 1328 if (params.size() != 1) { |
| 1329 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1329 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1425 JS_MakeTime(nHour, nMin, nSec, 0)); | 1425 JS_MakeTime(nHour, nMin, nSec, 0)); |
| 1426 | 1426 |
| 1427 if (JS_PortIsNan(dRet)) { | 1427 if (JS_PortIsNan(dRet)) { |
| 1428 dRet = JS_DateParse(strValue.c_str()); | 1428 dRet = JS_DateParse(strValue.c_str()); |
| 1429 } | 1429 } |
| 1430 | 1430 |
| 1431 return dRet; | 1431 return dRet; |
| 1432 } | 1432 } |
| 1433 | 1433 |
| 1434 // AFDate_KeystrokeEx(cFormat) | 1434 // AFDate_KeystrokeEx(cFormat) |
| 1435 FX_BOOL CJS_PublicMethods::AFDate_KeystrokeEx(IFXJS_Context* cc, | 1435 FX_BOOL CJS_PublicMethods::AFDate_KeystrokeEx(IJS_Context* cc, |
| 1436 const CJS_Parameters& params, | 1436 const CJS_Parameters& params, |
| 1437 CJS_Value& vRet, | 1437 CJS_Value& vRet, |
| 1438 CFX_WideString& sError) { | 1438 CFX_WideString& sError) { |
| 1439 CJS_Context* pContext = (CJS_Context*)cc; | 1439 CJS_Context* pContext = (CJS_Context*)cc; |
| 1440 ASSERT(pContext != NULL); | 1440 ASSERT(pContext != NULL); |
| 1441 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 1441 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
| 1442 ASSERT(pEvent != NULL); | 1442 ASSERT(pEvent != NULL); |
| 1443 | 1443 |
| 1444 if (params.size() != 1) { | 1444 if (params.size() != 1) { |
| 1445 sError = L"AFDate_KeystrokeEx's parameters' size r not correct"; | 1445 sError = L"AFDate_KeystrokeEx's parameters' size r not correct"; |
| (...skipping 15 matching lines...) Expand all Loading... |
| 1461 swMsg.Format(JSGetStringFromID(pContext, IDS_STRING_JSPARSEDATE).c_str(), | 1461 swMsg.Format(JSGetStringFromID(pContext, IDS_STRING_JSPARSEDATE).c_str(), |
| 1462 sFormat.c_str()); | 1462 sFormat.c_str()); |
| 1463 Alert(pContext, swMsg.c_str()); | 1463 Alert(pContext, swMsg.c_str()); |
| 1464 pEvent->Rc() = FALSE; | 1464 pEvent->Rc() = FALSE; |
| 1465 return TRUE; | 1465 return TRUE; |
| 1466 } | 1466 } |
| 1467 } | 1467 } |
| 1468 return TRUE; | 1468 return TRUE; |
| 1469 } | 1469 } |
| 1470 | 1470 |
| 1471 FX_BOOL CJS_PublicMethods::AFDate_Format(IFXJS_Context* cc, | 1471 FX_BOOL CJS_PublicMethods::AFDate_Format(IJS_Context* cc, |
| 1472 const CJS_Parameters& params, | 1472 const CJS_Parameters& params, |
| 1473 CJS_Value& vRet, | 1473 CJS_Value& vRet, |
| 1474 CFX_WideString& sError) { | 1474 CFX_WideString& sError) { |
| 1475 v8::Isolate* isolate = ::GetIsolate(cc); | 1475 v8::Isolate* isolate = ::GetIsolate(cc); |
| 1476 | 1476 |
| 1477 if (params.size() != 1) { | 1477 if (params.size() != 1) { |
| 1478 CJS_Context* pContext = (CJS_Context*)cc; | 1478 CJS_Context* pContext = (CJS_Context*)cc; |
| 1479 ASSERT(pContext != NULL); | 1479 ASSERT(pContext != NULL); |
| 1480 | 1480 |
| 1481 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1481 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 1501 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) | 1501 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) |
| 1502 iIndex = 0; | 1502 iIndex = 0; |
| 1503 | 1503 |
| 1504 CJS_Parameters newParams; | 1504 CJS_Parameters newParams; |
| 1505 CJS_Value val(isolate, cFormats[iIndex]); | 1505 CJS_Value val(isolate, cFormats[iIndex]); |
| 1506 newParams.push_back(val); | 1506 newParams.push_back(val); |
| 1507 return AFDate_FormatEx(cc, newParams, vRet, sError); | 1507 return AFDate_FormatEx(cc, newParams, vRet, sError); |
| 1508 } | 1508 } |
| 1509 | 1509 |
| 1510 // AFDate_KeystrokeEx(cFormat) | 1510 // AFDate_KeystrokeEx(cFormat) |
| 1511 FX_BOOL CJS_PublicMethods::AFDate_Keystroke(IFXJS_Context* cc, | 1511 FX_BOOL CJS_PublicMethods::AFDate_Keystroke(IJS_Context* cc, |
| 1512 const CJS_Parameters& params, | 1512 const CJS_Parameters& params, |
| 1513 CJS_Value& vRet, | 1513 CJS_Value& vRet, |
| 1514 CFX_WideString& sError) { | 1514 CFX_WideString& sError) { |
| 1515 v8::Isolate* isolate = ::GetIsolate(cc); | 1515 v8::Isolate* isolate = ::GetIsolate(cc); |
| 1516 | 1516 |
| 1517 if (params.size() != 1) { | 1517 if (params.size() != 1) { |
| 1518 CJS_Context* pContext = (CJS_Context*)cc; | 1518 CJS_Context* pContext = (CJS_Context*)cc; |
| 1519 ASSERT(pContext != NULL); | 1519 ASSERT(pContext != NULL); |
| 1520 | 1520 |
| 1521 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1521 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 1541 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) | 1541 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) |
| 1542 iIndex = 0; | 1542 iIndex = 0; |
| 1543 | 1543 |
| 1544 CJS_Parameters newParams; | 1544 CJS_Parameters newParams; |
| 1545 CJS_Value val(isolate, cFormats[iIndex]); | 1545 CJS_Value val(isolate, cFormats[iIndex]); |
| 1546 newParams.push_back(val); | 1546 newParams.push_back(val); |
| 1547 return AFDate_KeystrokeEx(cc, newParams, vRet, sError); | 1547 return AFDate_KeystrokeEx(cc, newParams, vRet, sError); |
| 1548 } | 1548 } |
| 1549 | 1549 |
| 1550 // function AFTime_Format(ptf) | 1550 // function AFTime_Format(ptf) |
| 1551 FX_BOOL CJS_PublicMethods::AFTime_Format(IFXJS_Context* cc, | 1551 FX_BOOL CJS_PublicMethods::AFTime_Format(IJS_Context* cc, |
| 1552 const CJS_Parameters& params, | 1552 const CJS_Parameters& params, |
| 1553 CJS_Value& vRet, | 1553 CJS_Value& vRet, |
| 1554 CFX_WideString& sError) { | 1554 CFX_WideString& sError) { |
| 1555 v8::Isolate* isolate = ::GetIsolate(cc); | 1555 v8::Isolate* isolate = ::GetIsolate(cc); |
| 1556 | 1556 |
| 1557 if (params.size() != 1) { | 1557 if (params.size() != 1) { |
| 1558 CJS_Context* pContext = (CJS_Context*)cc; | 1558 CJS_Context* pContext = (CJS_Context*)cc; |
| 1559 ASSERT(pContext != NULL); | 1559 ASSERT(pContext != NULL); |
| 1560 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1560 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1561 return FALSE; | 1561 return FALSE; |
| 1562 } | 1562 } |
| 1563 | 1563 |
| 1564 int iIndex = params[0].ToInt(); | 1564 int iIndex = params[0].ToInt(); |
| 1565 const FX_WCHAR* cFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss", | 1565 const FX_WCHAR* cFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss", |
| 1566 L"h:MM:ss tt"}; | 1566 L"h:MM:ss tt"}; |
| 1567 | 1567 |
| 1568 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) | 1568 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) |
| 1569 iIndex = 0; | 1569 iIndex = 0; |
| 1570 | 1570 |
| 1571 CJS_Parameters newParams; | 1571 CJS_Parameters newParams; |
| 1572 CJS_Value val(isolate, cFormats[iIndex]); | 1572 CJS_Value val(isolate, cFormats[iIndex]); |
| 1573 newParams.push_back(val); | 1573 newParams.push_back(val); |
| 1574 return AFDate_FormatEx(cc, newParams, vRet, sError); | 1574 return AFDate_FormatEx(cc, newParams, vRet, sError); |
| 1575 } | 1575 } |
| 1576 | 1576 |
| 1577 FX_BOOL CJS_PublicMethods::AFTime_Keystroke(IFXJS_Context* cc, | 1577 FX_BOOL CJS_PublicMethods::AFTime_Keystroke(IJS_Context* cc, |
| 1578 const CJS_Parameters& params, | 1578 const CJS_Parameters& params, |
| 1579 CJS_Value& vRet, | 1579 CJS_Value& vRet, |
| 1580 CFX_WideString& sError) { | 1580 CFX_WideString& sError) { |
| 1581 v8::Isolate* isolate = ::GetIsolate(cc); | 1581 v8::Isolate* isolate = ::GetIsolate(cc); |
| 1582 if (params.size() != 1) { | 1582 if (params.size() != 1) { |
| 1583 CJS_Context* pContext = (CJS_Context*)cc; | 1583 CJS_Context* pContext = (CJS_Context*)cc; |
| 1584 ASSERT(pContext != NULL); | 1584 ASSERT(pContext != NULL); |
| 1585 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1585 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1586 return FALSE; | 1586 return FALSE; |
| 1587 } | 1587 } |
| 1588 | 1588 |
| 1589 int iIndex = params[0].ToInt(); | 1589 int iIndex = params[0].ToInt(); |
| 1590 const FX_WCHAR* cFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss", | 1590 const FX_WCHAR* cFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss", |
| 1591 L"h:MM:ss tt"}; | 1591 L"h:MM:ss tt"}; |
| 1592 | 1592 |
| 1593 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) | 1593 if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats))) |
| 1594 iIndex = 0; | 1594 iIndex = 0; |
| 1595 | 1595 |
| 1596 CJS_Parameters newParams; | 1596 CJS_Parameters newParams; |
| 1597 CJS_Value val(isolate, cFormats[iIndex]); | 1597 CJS_Value val(isolate, cFormats[iIndex]); |
| 1598 newParams.push_back(val); | 1598 newParams.push_back(val); |
| 1599 return AFDate_KeystrokeEx(cc, newParams, vRet, sError); | 1599 return AFDate_KeystrokeEx(cc, newParams, vRet, sError); |
| 1600 } | 1600 } |
| 1601 | 1601 |
| 1602 FX_BOOL CJS_PublicMethods::AFTime_FormatEx(IFXJS_Context* cc, | 1602 FX_BOOL CJS_PublicMethods::AFTime_FormatEx(IJS_Context* cc, |
| 1603 const CJS_Parameters& params, | 1603 const CJS_Parameters& params, |
| 1604 CJS_Value& vRet, | 1604 CJS_Value& vRet, |
| 1605 CFX_WideString& sError) { | 1605 CFX_WideString& sError) { |
| 1606 return AFDate_FormatEx(cc, params, vRet, sError); | 1606 return AFDate_FormatEx(cc, params, vRet, sError); |
| 1607 } | 1607 } |
| 1608 | 1608 |
| 1609 FX_BOOL CJS_PublicMethods::AFTime_KeystrokeEx(IFXJS_Context* cc, | 1609 FX_BOOL CJS_PublicMethods::AFTime_KeystrokeEx(IJS_Context* cc, |
| 1610 const CJS_Parameters& params, | 1610 const CJS_Parameters& params, |
| 1611 CJS_Value& vRet, | 1611 CJS_Value& vRet, |
| 1612 CFX_WideString& sError) { | 1612 CFX_WideString& sError) { |
| 1613 return AFDate_KeystrokeEx(cc, params, vRet, sError); | 1613 return AFDate_KeystrokeEx(cc, params, vRet, sError); |
| 1614 } | 1614 } |
| 1615 | 1615 |
| 1616 // function AFSpecial_Format(psf) | 1616 // function AFSpecial_Format(psf) |
| 1617 FX_BOOL CJS_PublicMethods::AFSpecial_Format(IFXJS_Context* cc, | 1617 FX_BOOL CJS_PublicMethods::AFSpecial_Format(IJS_Context* cc, |
| 1618 const CJS_Parameters& params, | 1618 const CJS_Parameters& params, |
| 1619 CJS_Value& vRet, | 1619 CJS_Value& vRet, |
| 1620 CFX_WideString& sError) { | 1620 CFX_WideString& sError) { |
| 1621 CJS_Context* pContext = (CJS_Context*)cc; | 1621 CJS_Context* pContext = (CJS_Context*)cc; |
| 1622 ASSERT(pContext != NULL); | 1622 ASSERT(pContext != NULL); |
| 1623 | 1623 |
| 1624 if (params.size() != 1) { | 1624 if (params.size() != 1) { |
| 1625 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1625 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1626 return FALSE; | 1626 return FALSE; |
| 1627 } | 1627 } |
| (...skipping 30 matching lines...) Expand all Loading... |
| 1658 break; | 1658 break; |
| 1659 } | 1659 } |
| 1660 | 1660 |
| 1661 std::string strDes; | 1661 std::string strDes; |
| 1662 util::printx(cFormat, strSrc, strDes); | 1662 util::printx(cFormat, strSrc, strDes); |
| 1663 Value = CFX_WideString::FromLocal(strDes.c_str()); | 1663 Value = CFX_WideString::FromLocal(strDes.c_str()); |
| 1664 return TRUE; | 1664 return TRUE; |
| 1665 } | 1665 } |
| 1666 | 1666 |
| 1667 // function AFSpecial_KeystrokeEx(mask) | 1667 // function AFSpecial_KeystrokeEx(mask) |
| 1668 FX_BOOL CJS_PublicMethods::AFSpecial_KeystrokeEx(IFXJS_Context* cc, | 1668 FX_BOOL CJS_PublicMethods::AFSpecial_KeystrokeEx(IJS_Context* cc, |
| 1669 const CJS_Parameters& params, | 1669 const CJS_Parameters& params, |
| 1670 CJS_Value& vRet, | 1670 CJS_Value& vRet, |
| 1671 CFX_WideString& sError) { | 1671 CFX_WideString& sError) { |
| 1672 CJS_Context* pContext = (CJS_Context*)cc; | 1672 CJS_Context* pContext = (CJS_Context*)cc; |
| 1673 ASSERT(pContext != NULL); | 1673 ASSERT(pContext != NULL); |
| 1674 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 1674 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
| 1675 | 1675 |
| 1676 ASSERT(pEvent != NULL); | 1676 ASSERT(pEvent != NULL); |
| 1677 | 1677 |
| 1678 if (params.size() < 1) { | 1678 if (params.size() < 1) { |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1751 return TRUE; | 1751 return TRUE; |
| 1752 } | 1752 } |
| 1753 iIndexMask++; | 1753 iIndexMask++; |
| 1754 } | 1754 } |
| 1755 | 1755 |
| 1756 wideChange = wChange.c_str(); | 1756 wideChange = wChange.c_str(); |
| 1757 return TRUE; | 1757 return TRUE; |
| 1758 } | 1758 } |
| 1759 | 1759 |
| 1760 // function AFSpecial_Keystroke(psf) | 1760 // function AFSpecial_Keystroke(psf) |
| 1761 FX_BOOL CJS_PublicMethods::AFSpecial_Keystroke(IFXJS_Context* cc, | 1761 FX_BOOL CJS_PublicMethods::AFSpecial_Keystroke(IJS_Context* cc, |
| 1762 const CJS_Parameters& params, | 1762 const CJS_Parameters& params, |
| 1763 CJS_Value& vRet, | 1763 CJS_Value& vRet, |
| 1764 CFX_WideString& sError) { | 1764 CFX_WideString& sError) { |
| 1765 v8::Isolate* isolate = ::GetIsolate(cc); | 1765 v8::Isolate* isolate = ::GetIsolate(cc); |
| 1766 | 1766 |
| 1767 CJS_Context* pContext = (CJS_Context*)cc; | 1767 CJS_Context* pContext = (CJS_Context*)cc; |
| 1768 ASSERT(pContext != NULL); | 1768 ASSERT(pContext != NULL); |
| 1769 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 1769 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
| 1770 ASSERT(pEvent != NULL); | 1770 ASSERT(pEvent != NULL); |
| 1771 | 1771 |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1809 break; | 1809 break; |
| 1810 } | 1810 } |
| 1811 | 1811 |
| 1812 CJS_Parameters params2; | 1812 CJS_Parameters params2; |
| 1813 CJS_Value vMask(isolate, cFormat.c_str()); | 1813 CJS_Value vMask(isolate, cFormat.c_str()); |
| 1814 params2.push_back(vMask); | 1814 params2.push_back(vMask); |
| 1815 | 1815 |
| 1816 return AFSpecial_KeystrokeEx(cc, params2, vRet, sError); | 1816 return AFSpecial_KeystrokeEx(cc, params2, vRet, sError); |
| 1817 } | 1817 } |
| 1818 | 1818 |
| 1819 FX_BOOL CJS_PublicMethods::AFMergeChange(IFXJS_Context* cc, | 1819 FX_BOOL CJS_PublicMethods::AFMergeChange(IJS_Context* cc, |
| 1820 const CJS_Parameters& params, | 1820 const CJS_Parameters& params, |
| 1821 CJS_Value& vRet, | 1821 CJS_Value& vRet, |
| 1822 CFX_WideString& sError) { | 1822 CFX_WideString& sError) { |
| 1823 CJS_Context* pContext = (CJS_Context*)cc; | 1823 CJS_Context* pContext = (CJS_Context*)cc; |
| 1824 ASSERT(pContext != NULL); | 1824 ASSERT(pContext != NULL); |
| 1825 CJS_EventHandler* pEventHandler = pContext->GetEventHandler(); | 1825 CJS_EventHandler* pEventHandler = pContext->GetEventHandler(); |
| 1826 ASSERT(pEventHandler != NULL); | 1826 ASSERT(pEventHandler != NULL); |
| 1827 | 1827 |
| 1828 if (params.size() != 1) { | 1828 if (params.size() != 1) { |
| 1829 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1829 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 1851 postfix = swValue.Mid(pEventHandler->SelEnd(), | 1851 postfix = swValue.Mid(pEventHandler->SelEnd(), |
| 1852 swValue.GetLength() - pEventHandler->SelEnd()); | 1852 swValue.GetLength() - pEventHandler->SelEnd()); |
| 1853 else | 1853 else |
| 1854 postfix = L""; | 1854 postfix = L""; |
| 1855 | 1855 |
| 1856 vRet = (prefix + pEventHandler->Change() + postfix).c_str(); | 1856 vRet = (prefix + pEventHandler->Change() + postfix).c_str(); |
| 1857 | 1857 |
| 1858 return TRUE; | 1858 return TRUE; |
| 1859 } | 1859 } |
| 1860 | 1860 |
| 1861 FX_BOOL CJS_PublicMethods::AFParseDateEx(IFXJS_Context* cc, | 1861 FX_BOOL CJS_PublicMethods::AFParseDateEx(IJS_Context* cc, |
| 1862 const CJS_Parameters& params, | 1862 const CJS_Parameters& params, |
| 1863 CJS_Value& vRet, | 1863 CJS_Value& vRet, |
| 1864 CFX_WideString& sError) { | 1864 CFX_WideString& sError) { |
| 1865 CJS_Context* pContext = (CJS_Context*)cc; | 1865 CJS_Context* pContext = (CJS_Context*)cc; |
| 1866 ASSERT(pContext != NULL); | 1866 ASSERT(pContext != NULL); |
| 1867 | 1867 |
| 1868 if (params.size() != 2) { | 1868 if (params.size() != 2) { |
| 1869 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1869 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1870 return FALSE; | 1870 return FALSE; |
| 1871 } | 1871 } |
| 1872 | 1872 |
| 1873 CFX_WideString sValue = params[0].ToCFXWideString(); | 1873 CFX_WideString sValue = params[0].ToCFXWideString(); |
| 1874 CFX_WideString sFormat = params[1].ToCFXWideString(); | 1874 CFX_WideString sFormat = params[1].ToCFXWideString(); |
| 1875 | 1875 |
| 1876 FX_BOOL bWrongFormat = FALSE; | 1876 FX_BOOL bWrongFormat = FALSE; |
| 1877 double dDate = MakeRegularDate(sValue, sFormat, bWrongFormat); | 1877 double dDate = MakeRegularDate(sValue, sFormat, bWrongFormat); |
| 1878 | 1878 |
| 1879 if (JS_PortIsNan(dDate)) { | 1879 if (JS_PortIsNan(dDate)) { |
| 1880 CFX_WideString swMsg; | 1880 CFX_WideString swMsg; |
| 1881 swMsg.Format(JSGetStringFromID(pContext, IDS_STRING_JSPARSEDATE).c_str(), | 1881 swMsg.Format(JSGetStringFromID(pContext, IDS_STRING_JSPARSEDATE).c_str(), |
| 1882 sFormat.c_str()); | 1882 sFormat.c_str()); |
| 1883 Alert((CJS_Context*)cc, swMsg.c_str()); | 1883 Alert((CJS_Context*)cc, swMsg.c_str()); |
| 1884 return FALSE; | 1884 return FALSE; |
| 1885 } | 1885 } |
| 1886 | 1886 |
| 1887 vRet = dDate; | 1887 vRet = dDate; |
| 1888 return TRUE; | 1888 return TRUE; |
| 1889 } | 1889 } |
| 1890 | 1890 |
| 1891 FX_BOOL CJS_PublicMethods::AFSimple(IFXJS_Context* cc, | 1891 FX_BOOL CJS_PublicMethods::AFSimple(IJS_Context* cc, |
| 1892 const CJS_Parameters& params, | 1892 const CJS_Parameters& params, |
| 1893 CJS_Value& vRet, | 1893 CJS_Value& vRet, |
| 1894 CFX_WideString& sError) { | 1894 CFX_WideString& sError) { |
| 1895 if (params.size() != 3) { | 1895 if (params.size() != 3) { |
| 1896 CJS_Context* pContext = (CJS_Context*)cc; | 1896 CJS_Context* pContext = (CJS_Context*)cc; |
| 1897 ASSERT(pContext != NULL); | 1897 ASSERT(pContext != NULL); |
| 1898 | 1898 |
| 1899 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1899 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1900 return FALSE; | 1900 return FALSE; |
| 1901 } | 1901 } |
| 1902 | 1902 |
| 1903 vRet = (double)AF_Simple(params[0].ToCFXWideString().c_str(), | 1903 vRet = (double)AF_Simple(params[0].ToCFXWideString().c_str(), |
| 1904 params[1].ToDouble(), params[2].ToDouble()); | 1904 params[1].ToDouble(), params[2].ToDouble()); |
| 1905 return TRUE; | 1905 return TRUE; |
| 1906 } | 1906 } |
| 1907 | 1907 |
| 1908 FX_BOOL CJS_PublicMethods::AFMakeNumber(IFXJS_Context* cc, | 1908 FX_BOOL CJS_PublicMethods::AFMakeNumber(IJS_Context* cc, |
| 1909 const CJS_Parameters& params, | 1909 const CJS_Parameters& params, |
| 1910 CJS_Value& vRet, | 1910 CJS_Value& vRet, |
| 1911 CFX_WideString& sError) { | 1911 CFX_WideString& sError) { |
| 1912 if (params.size() != 1) { | 1912 if (params.size() != 1) { |
| 1913 CJS_Context* pContext = (CJS_Context*)cc; | 1913 CJS_Context* pContext = (CJS_Context*)cc; |
| 1914 ASSERT(pContext != NULL); | 1914 ASSERT(pContext != NULL); |
| 1915 | 1915 |
| 1916 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1916 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1917 return FALSE; | 1917 return FALSE; |
| 1918 } | 1918 } |
| 1919 vRet = ParseStringToNumber(params[0].ToCFXWideString().c_str()); | 1919 vRet = ParseStringToNumber(params[0].ToCFXWideString().c_str()); |
| 1920 return TRUE; | 1920 return TRUE; |
| 1921 } | 1921 } |
| 1922 | 1922 |
| 1923 FX_BOOL CJS_PublicMethods::AFSimple_Calculate(IFXJS_Context* cc, | 1923 FX_BOOL CJS_PublicMethods::AFSimple_Calculate(IJS_Context* cc, |
| 1924 const CJS_Parameters& params, | 1924 const CJS_Parameters& params, |
| 1925 CJS_Value& vRet, | 1925 CJS_Value& vRet, |
| 1926 CFX_WideString& sError) { | 1926 CFX_WideString& sError) { |
| 1927 v8::Isolate* isolate = ::GetIsolate(cc); | 1927 v8::Isolate* isolate = ::GetIsolate(cc); |
| 1928 | 1928 |
| 1929 CJS_Context* pContext = (CJS_Context*)cc; | 1929 CJS_Context* pContext = (CJS_Context*)cc; |
| 1930 ASSERT(pContext != NULL); | 1930 ASSERT(pContext != NULL); |
| 1931 | 1931 |
| 1932 if (params.size() != 2) { | 1932 if (params.size() != 2) { |
| 1933 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1933 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2027 CJS_Value jsValue(isolate, dValue); | 2027 CJS_Value jsValue(isolate, dValue); |
| 2028 if (pContext->GetEventHandler()->m_pValue) | 2028 if (pContext->GetEventHandler()->m_pValue) |
| 2029 pContext->GetEventHandler()->Value() = jsValue.ToCFXWideString(); | 2029 pContext->GetEventHandler()->Value() = jsValue.ToCFXWideString(); |
| 2030 | 2030 |
| 2031 return TRUE; | 2031 return TRUE; |
| 2032 } | 2032 } |
| 2033 | 2033 |
| 2034 /* This function validates the current event to ensure that its value is | 2034 /* This function validates the current event to ensure that its value is |
| 2035 ** within the specified range. */ | 2035 ** within the specified range. */ |
| 2036 | 2036 |
| 2037 FX_BOOL CJS_PublicMethods::AFRange_Validate(IFXJS_Context* cc, | 2037 FX_BOOL CJS_PublicMethods::AFRange_Validate(IJS_Context* cc, |
| 2038 const CJS_Parameters& params, | 2038 const CJS_Parameters& params, |
| 2039 CJS_Value& vRet, | 2039 CJS_Value& vRet, |
| 2040 CFX_WideString& sError) { | 2040 CFX_WideString& sError) { |
| 2041 CJS_Context* pContext = (CJS_Context*)cc; | 2041 CJS_Context* pContext = (CJS_Context*)cc; |
| 2042 ASSERT(pContext != NULL); | 2042 ASSERT(pContext != NULL); |
| 2043 CJS_EventHandler* pEvent = pContext->GetEventHandler(); | 2043 CJS_EventHandler* pEvent = pContext->GetEventHandler(); |
| 2044 ASSERT(pEvent != NULL); | 2044 ASSERT(pEvent != NULL); |
| 2045 | 2045 |
| 2046 if (params.size() != 4) { | 2046 if (params.size() != 4) { |
| 2047 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 2047 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 2074 params[3].ToCFXWideString().c_str()); | 2074 params[3].ToCFXWideString().c_str()); |
| 2075 } | 2075 } |
| 2076 | 2076 |
| 2077 if (!swMsg.IsEmpty()) { | 2077 if (!swMsg.IsEmpty()) { |
| 2078 Alert(pContext, swMsg.c_str()); | 2078 Alert(pContext, swMsg.c_str()); |
| 2079 pEvent->Rc() = FALSE; | 2079 pEvent->Rc() = FALSE; |
| 2080 } | 2080 } |
| 2081 return TRUE; | 2081 return TRUE; |
| 2082 } | 2082 } |
| 2083 | 2083 |
| 2084 FX_BOOL CJS_PublicMethods::AFExtractNums(IFXJS_Context* cc, | 2084 FX_BOOL CJS_PublicMethods::AFExtractNums(IJS_Context* cc, |
| 2085 const CJS_Parameters& params, | 2085 const CJS_Parameters& params, |
| 2086 CJS_Value& vRet, | 2086 CJS_Value& vRet, |
| 2087 CFX_WideString& sError) { | 2087 CFX_WideString& sError) { |
| 2088 v8::Isolate* isolate = ::GetIsolate(cc); | 2088 v8::Isolate* isolate = ::GetIsolate(cc); |
| 2089 CJS_Context* pContext = (CJS_Context*)cc; | 2089 CJS_Context* pContext = (CJS_Context*)cc; |
| 2090 ASSERT(pContext != NULL); | 2090 ASSERT(pContext != NULL); |
| 2091 | 2091 |
| 2092 if (params.size() != 1) { | 2092 if (params.size() != 1) { |
| 2093 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 2093 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 2094 return FALSE; | 2094 return FALSE; |
| (...skipping 25 matching lines...) Expand all Loading... |
| 2120 nums.SetElement(nIndex, CJS_Value(isolate, sPart.c_str())); | 2120 nums.SetElement(nIndex, CJS_Value(isolate, sPart.c_str())); |
| 2121 } | 2121 } |
| 2122 | 2122 |
| 2123 if (nums.GetLength() > 0) | 2123 if (nums.GetLength() > 0) |
| 2124 vRet = nums; | 2124 vRet = nums; |
| 2125 else | 2125 else |
| 2126 vRet.SetNull(); | 2126 vRet.SetNull(); |
| 2127 | 2127 |
| 2128 return TRUE; | 2128 return TRUE; |
| 2129 } | 2129 } |
| OLD | NEW |