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