Merge to XFA: Kill overloaded cast operators in CJS_Value.
authorTom Sepez <tsepez@chromium.org>
Thu, 23 Apr 2015 18:31:31 +0000 (11:31 -0700)
committerTom Sepez <tsepez@chromium.org>
Thu, 23 Apr 2015 18:31:31 +0000 (11:31 -0700)
Original Review URL: https://codereview.chromium.org/1096813008
TBR=thestig@chromium.org

Review URL: https://codereview.chromium.org/1106663002

fpdfsdk/include/javascript/JS_Define.h
fpdfsdk/include/javascript/JS_Value.h
fpdfsdk/src/javascript/Document.cpp
fpdfsdk/src/javascript/Field.cpp
fpdfsdk/src/javascript/JS_Value.cpp
fpdfsdk/src/javascript/PublicMethods.cpp
fpdfsdk/src/javascript/app.cpp
fpdfsdk/src/javascript/color.cpp
fpdfsdk/src/javascript/event.cpp
fpdfsdk/src/javascript/global.cpp
fpdfsdk/src/javascript/util.cpp

index 7175ece..0c2574d 100644 (file)
@@ -128,7 +128,7 @@ void JSMethod(const char* method_name_string,
     JS_Error(isolate, JSFormatErrorString(class_name_string, method_name_string, sError));
     return;
   }
-  info.GetReturnValue().Set(valueRes.ToJSValue());
+  info.GetReturnValue().Set(valueRes.ToV8Value());
 }
 
 #define JS_STATIC_METHOD(method_name, class_name) \
@@ -385,7 +385,7 @@ void JSGlobalFunc(const char *func_name_string,
     JS_Error(isolate, JSFormatErrorString(func_name_string, nullptr, sError));
     return;
   }
-  info.GetReturnValue().Set(valueRes.ToJSValue());
+  info.GetReturnValue().Set(valueRes.ToV8Value());
 }
 
 #define JS_STATIC_GLOBAL_FUN(fun_name) \
@@ -433,7 +433,7 @@ for (int i=0; i<size; i++) array.SetElement(i,CJS_Value(pRuntime,ArrayContent[i]
 \
 CJS_PropValue prop(pRuntime);\
 prop << array;\
-if (JS_DefineGlobalConst(pRuntime, (const wchar_t*)ArrayName, prop.ToJSValue()) < 0)\
+if (JS_DefineGlobalConst(pRuntime, (const wchar_t*)ArrayName, prop.ToV8Value()) < 0)\
        return -1
 
 /* ============================================================ */
index 1431349..ecd0f83 100644 (file)
@@ -39,16 +39,16 @@ public:
        void Detach();
 
 
-       operator int() const;
-       operator bool() const;
-       operator double() const;
-       operator float() const;
-       operator CJS_Object*() const;
-       operator v8::Handle<v8::Object>() const;
-       operator v8::Handle<v8::Array>() const;
-       operator CFX_WideString() const;
-       operator CFX_ByteString() const;
-       v8::Handle<v8::Value> ToJSValue();
+       int ToInt() const;
+       bool ToBool() const;
+       double ToDouble() const;
+       float  ToFloat() const;
+       CJS_Object* ToCJSObject() const;
+       CFX_WideString ToCFXWideString() const;
+       CFX_ByteString ToCFXByteString() const;
+       v8::Handle<v8::Object> ToV8Object() const;
+       v8::Handle<v8::Array> ToV8Array() const;
+       v8::Handle<v8::Value> ToV8Value() const;
 
        void operator = (int iValue);
        void operator = (bool bValue);
index bf9f07c..2bf4f5e 100644 (file)
@@ -326,7 +326,7 @@ FX_BOOL Document::getField(IFXJS_Context* cc, const CJS_Parameters& params, CJS_
 
        if (params.size() < 1) return FALSE;
 
-       CFX_WideString wideName = params[0].operator CFX_WideString();
+       CFX_WideString wideName = params[0].ToCFXWideString();
 
        CPDFSDK_InterForm* pInterForm = m_pDocument->GetInterForm();
        ASSERT(pInterForm != NULL);
@@ -364,7 +364,7 @@ FX_BOOL Document::getNthFieldName(IFXJS_Context* cc, const CJS_Parameters& param
 {
        ASSERT(m_pDocument != NULL);
 
-       int nIndex = params.size() > 0 ? (int)params[0] : -1;
+       int nIndex = params.size() > 0 ? params[0].ToInt() : -1;
        if (nIndex == -1) return FALSE;
 
        CPDFSDK_InterForm* pInterForm = m_pDocument->GetInterForm();
@@ -412,12 +412,12 @@ FX_BOOL Document::mailForm(IFXJS_Context* cc, const CJS_Parameters& params, CJS_
 
        int iLength = params.size();
 
-       FX_BOOL bUI = iLength > 0 ? (FX_BOOL)params[0] : TRUE;
-       CFX_WideString cTo = iLength > 1 ? (FX_LPCWSTR)params[1].operator CFX_WideString() : L"";
-       CFX_WideString cCc = iLength > 2 ? (FX_LPCWSTR)params[2].operator CFX_WideString() : L"";
-       CFX_WideString cBcc = iLength > 3 ? (FX_LPCWSTR)params[3].operator CFX_WideString() : L"";
-       CFX_WideString cSubject = iLength > 4 ? (FX_LPCWSTR)params[4].operator CFX_WideString() : L"";
-       CFX_WideString cMsg = iLength > 5 ? (FX_LPCWSTR)params[5].operator CFX_WideString() : L"";
+       FX_BOOL bUI = iLength > 0 ? params[0].ToBool() : TRUE;
+       CFX_WideString cTo = iLength > 1 ? params[1].ToCFXWideString() : L"";
+       CFX_WideString cCc = iLength > 2 ? params[2].ToCFXWideString() : L"";
+       CFX_WideString cBcc = iLength > 3 ? params[3].ToCFXWideString() : L"";
+       CFX_WideString cSubject = iLength > 4 ? params[4].ToCFXWideString() : L"";
+       CFX_WideString cMsg = iLength > 5 ? params[5].ToCFXWideString() : L"";
 
        CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterForm();
        ASSERT(pInterForm != NULL);
@@ -460,11 +460,11 @@ FX_BOOL Document::print(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Val
        {
                if (params[8].GetType() == VT_fxobject)
                {
-                       JSFXObject pObj = (JSFXObject)params[8];
+                       JSFXObject pObj = params[8].ToV8Object();
                        {
                                if (JS_GetObjDefnID(pObj) == JS_GetObjDefnID(*pRuntime, L"PrintParamsObj"))
                                {
-                                       if (CJS_Object* pJSObj = (CJS_Object*)params[8])
+                                       if (CJS_Object* pJSObj = params[8].ToCJSObject())
                                        {
                                                        if (PrintParamsObj* pprintparamsObj = (PrintParamsObj*)pJSObj->GetEmbedObject())
                                                        {
@@ -485,21 +485,21 @@ FX_BOOL Document::print(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Val
        else
        {
                if(nlength >= 1)
-                        bUI = params[0];
+                       bUI = params[0].ToBool();
                if(nlength >= 2)
-                        nStart = (int)params[1];
+                       nStart = params[1].ToInt();
                if(nlength >= 3)
-                       nEnd = (int)params[2];
+                       nEnd = params[2].ToInt();
                if(nlength >= 4)
-                       bSilent = params[3];
+                       bSilent = params[3].ToBool();
                if(nlength >= 5)
-                       bShrinkToFit = params[4];
+                       bShrinkToFit = params[4].ToBool();
                if(nlength >= 6)
-                       bPrintAsImage = params[5];
+                       bPrintAsImage = params[5].ToBool();
                if(nlength >= 7)
-                       bReverse = params[6];
+                       bReverse = params[6].ToBool();
                if(nlength >= 8)
-                       bAnnotations = params[7];
+                       bAnnotations = params[7].ToBool();
        }
 
        ASSERT(m_pDocument != NULL);
@@ -526,7 +526,7 @@ FX_BOOL Document::removeField(IFXJS_Context* cc, const CJS_Parameters& params, C
        if (params.size() < 1)
                return TRUE;
 
-       CFX_WideString sFieldName = params[0].operator CFX_WideString();
+       CFX_WideString sFieldName = params[0].ToCFXWideString();
 
        CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterForm();
        ASSERT(pInterForm != NULL);
@@ -592,7 +592,7 @@ FX_BOOL Document::resetForm(IFXJS_Context* cc, const CJS_Parameters& params, CJS
                switch (params[0].GetType())
                {
                default:
-                       aName.Attach(params[0]);
+                       aName.Attach(params[0].ToV8Array());
                        break;
                case VT_string:
                        aName.SetElement(0,params[0]);
@@ -605,7 +605,7 @@ FX_BOOL Document::resetForm(IFXJS_Context* cc, const CJS_Parameters& params, CJS
                {
                        CJS_Value valElement(isolate);
                        aName.GetElement(i,valElement);
-                       CFX_WideString swVal = valElement.operator CFX_WideString();
+                       CFX_WideString swVal = valElement.ToCFXWideString();
 
                        for (int j=0,jsz=pPDFForm->CountFields(swVal); j<jsz; j++)
                        {
@@ -656,26 +656,26 @@ FX_BOOL Document::submitForm(IFXJS_Context* cc, const CJS_Parameters& params, CJ
        CJS_Value v = params[0];
        if (v.GetType() == VT_string)
        {
-               strURL = params[0].operator CFX_WideString();
+               strURL = params[0].ToCFXWideString();
                if (nSize > 1)
-                       bFDF = params[1];
+                       bFDF = params[1].ToBool();
                if (nSize > 2)
-                       bEmpty = params[2];
+                       bEmpty = params[2].ToBool();
                if (nSize > 3)
-                       aFields.Attach(params[3]);
+                       aFields.Attach(params[3].ToV8Array());
        }
        else if (v.GetType() == VT_object)
        {
-               JSObject pObj = (JSObject)params[0];
-               v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate,pObj, L"cURL");
+               JSObject pObj = params[0].ToV8Object();
+               v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate, pObj, L"cURL");
                if (!pValue.IsEmpty())
-                       strURL = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue));
-               pValue = JS_GetObjectElement(isolate,pObj, L"bFDF");
-                       bFDF = CJS_Value(isolate,pValue, GET_VALUE_TYPE(pValue));
-               pValue = JS_GetObjectElement(isolate,pObj, L"bEmpty");
-                       bEmpty = CJS_Value(isolate,pValue, GET_VALUE_TYPE(pValue));
-               pValue = JS_GetObjectElement(isolate,pObj,L"aFields");
-                       aFields.Attach(CJS_Value(isolate,pValue, GET_VALUE_TYPE(pValue)));
+                       strURL = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToCFXWideString();
+               pValue = JS_GetObjectElement(isolate, pObj, L"bFDF");
+               bFDF = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToBool();
+               pValue = JS_GetObjectElement(isolate, pObj, L"bEmpty");
+               bEmpty = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToBool();
+               pValue = JS_GetObjectElement(isolate, pObj,L"aFields");
+               aFields.Attach(CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToV8Array());
        }
 
        CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterForm();
@@ -710,7 +710,7 @@ FX_BOOL Document::submitForm(IFXJS_Context* cc, const CJS_Parameters& params, CJ
                {
                        CJS_Value valName(isolate);
                        aFields.GetElement(i, valName);
-                       CFX_WideString sName = valName.operator CFX_WideString();
+                       CFX_WideString sName = valName.ToCFXWideString();
 
                        CPDF_InterForm* pPDFForm = pInterForm->GetInterForm();
                        ASSERT(pPDFForm != NULL);
@@ -781,37 +781,42 @@ FX_BOOL Document::mailDoc(IFXJS_Context* cc, const CJS_Parameters& params, CJS_V
        CFX_WideString cSubject = L"";
        CFX_WideString cMsg = L"";
 
-
-       bUI = params.size()>=1?static_cast<FX_BOOL>(params[0]):TRUE;
-       cTo = params.size()>=2?(const wchar_t*)params[1].operator CFX_WideString():L"";
-       cCc = params.size()>=3?(const wchar_t*)params[2].operator CFX_WideString():L"";
-       cBcc = params.size()>=4?(const wchar_t*)params[3].operator CFX_WideString():L"";
-       cSubject = params.size()>=5?(const wchar_t*)params[4].operator CFX_WideString():L"";
-       cMsg = params.size()>=6?(const wchar_t*)params[5].operator CFX_WideString():L"";
+       if (params.size() >= 1)
+               bUI = params[0].ToBool();
+       if (params.size() >= 2)
+               cTo = params[1].ToCFXWideString();
+       if (params.size() >= 3)
+               cCc = params[2].ToCFXWideString();
+       if (params.size() >= 4)
+               cBcc = params[3].ToCFXWideString();
+       if (params.size() >= 5)
+               cSubject = params[4].ToCFXWideString();
+       if (params.size() >= 6)
+               cMsg = params[5].ToCFXWideString();
 
        v8::Isolate* isolate = GetIsolate(cc);
 
-       if(params.size()>=1 && params[0].GetType() == VT_object)
+       if(params.size() >= 1 && params[0].GetType() == VT_object)
        {
-               JSObject  pObj = (JSObject )params[0];
+               JSObject pObj = params[0].ToV8Object();
 
                v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate,pObj, L"bUI");
-                       bUI = (int)CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue));
+               bUI = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).ToInt();
 
                pValue = JS_GetObjectElement(isolate,pObj, L"cTo");
-                       cTo = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).operator CFX_WideString();
+               cTo = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).ToCFXWideString();
 
                pValue = JS_GetObjectElement(isolate,pObj, L"cCc");
-                       cCc = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).operator CFX_WideString();
+               cCc = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).ToCFXWideString();
 
                pValue = JS_GetObjectElement(isolate,pObj, L"cBcc");
-                       cBcc = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).operator CFX_WideString();
+               cBcc = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).ToCFXWideString();
 
                pValue = JS_GetObjectElement(isolate,pObj, L"cSubject");
-                       cSubject = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).operator CFX_WideString();
+               cSubject = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).ToCFXWideString();
 
                pValue = JS_GetObjectElement(isolate,pObj, L"cMsg");
-                       cMsg = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).operator CFX_WideString();
+               cMsg = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).ToCFXWideString();
 
        }
 
@@ -1459,12 +1464,12 @@ FX_BOOL Document::addIcon(IFXJS_Context* cc, const CJS_Parameters& params, CJS_V
        CJS_Runtime* pRuntime = pContext->GetJSRuntime();
        ASSERT(pRuntime != NULL);
 
-       CFX_WideString swIconName = params[0].operator CFX_WideString();
+       CFX_WideString swIconName = params[0].ToCFXWideString();
 
-       JSFXObject pJSIcon = (JSFXObject)params[1];
+       JSFXObject pJSIcon = params[1].ToV8Object();
        if (JS_GetObjDefnID(pJSIcon) != JS_GetObjDefnID(*pRuntime, L"Icon")) return FALSE;
 
-       CJS_EmbedObj* pEmbedObj = ((CJS_Object*)params[1])->GetEmbedObject();
+       CJS_EmbedObj* pEmbedObj = params[1].ToCJSObject()->GetEmbedObject();
        if (!pEmbedObj)return FALSE;
        Icon* pIcon = (Icon*)pEmbedObj;
 
@@ -1527,7 +1532,7 @@ FX_BOOL Document::getIcon(IFXJS_Context* cc, const CJS_Parameters& params, CJS_V
        if (params.size() != 1)return FALSE;
        if(!m_pIconTree)
                return FALSE;
-       CFX_WideString swIconName = params[0].operator CFX_WideString();
+       CFX_WideString swIconName = params[0].ToCFXWideString();
        int iIconCounts = m_pIconTree->GetLength();
 
        CJS_Context* pContext = (CJS_Context *)cc;
@@ -1563,7 +1568,7 @@ FX_BOOL Document::removeIcon(IFXJS_Context* cc, const CJS_Parameters& params, CJ
        if (params.size() != 1)return FALSE;
        if(!m_pIconTree)
                return FALSE;
-       CFX_WideString swIconName = params[0].operator CFX_WideString();
+       CFX_WideString swIconName = params[0].ToCFXWideString();
        return TRUE;
 }
 
@@ -1603,9 +1608,9 @@ FX_BOOL Document::getPageNthWord(IFXJS_Context* cc, const CJS_Parameters& params
 
        if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return FALSE;
 
-       int nPageNo = params.GetSize() > 0 ? (int)params[0] : 0;
-       int nWordNo = params.GetSize() > 1 ? (int)params[1] : 0;
-       bool bStrip = params.GetSize() > 2 ? (bool)params[2] : true;
+       int nPageNo = params.GetSize() > 0 ? params[0].ToInt() : 0;
+       int nWordNo = params.GetSize() > 1 ? params[1].ToInt() : 0;
+       bool bStrip = params.GetSize() > 2 ? params[2].ToBool() : true;
 
        CPDF_Document* pDocument = m_pDocument->GetDocument()->GetPDFDoc();
        if (!pDocument) return FALSE;
@@ -1675,7 +1680,7 @@ FX_BOOL Document::getPageNumWords(IFXJS_Context* cc, const CJS_Parameters& param
 
        if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return FALSE;
 
-       int nPageNo = params.GetSize() > 0 ? (int)params[0] : 0;
+       int nPageNo = params.GetSize() > 0 ? params[0].ToInt() : 0;
 
        CPDF_Document* pDocument = m_pDocument->GetDocument()->GetPDFDoc();
        ASSERT(pDocument != NULL);
@@ -1847,22 +1852,22 @@ FX_BOOL Document::deletePages(IFXJS_Context* cc, const CJS_Parameters& params, C
        {
                if (params[0].GetType() == VT_object)
                {
-                       JSObject  pObj = (JSObject )params[0];
-                       v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate,pObj, L"nStart");
-                               nStart = (int)CJS_Value(m_isolate,pValue,GET_VALUE_TYPE(pValue));
+                       JSObject pObj = params[0].ToV8Object();
+                       v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate, pObj, L"nStart");
+            nStart = CJS_Value(m_isolate, pValue, GET_VALUE_TYPE(pValue)).ToInt();
 
-                       pValue = JS_GetObjectElement(isolate,pObj, L"nEnd");
-                               nEnd = (int)CJS_Value(m_isolate,pValue,GET_VALUE_TYPE(pValue));
+                       pValue = JS_GetObjectElement(isolate, pObj, L"nEnd");
+                       nEnd = CJS_Value(m_isolate, pValue, GET_VALUE_TYPE(pValue)).ToInt();
                }
                else
                {
-                       nStart = (int)params[0];
+                       nStart = params[0].ToInt();
                }
        }
        else
        {
-               nStart = (int)params[0];
-               nEnd = (int)params[1];
+               nStart = params[0].ToInt();
+               nEnd = params[1].ToInt();
        }
 
        int nTotal = m_pDocument->GetPageCount();
index 94c5439..8f20ec8 100644 (file)
@@ -1072,7 +1072,7 @@ FX_BOOL Field::currentValueIndices(IFXJS_Context* cc, CJS_PropValue& vp, CFX_Wid
                        for (int i=0,sz=SelArray.GetLength(); i<sz; i++)
                        {
                                SelArray.GetElement(i,SelValue);
-                               iSelecting = (FX_INT32)SelValue;
+                               iSelecting = SelValue.ToInt();
                                array.Add(iSelecting);
                        }
                }
@@ -2375,10 +2375,10 @@ FX_BOOL Field::rect(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError
                rcArray.GetElement(3, Lower_Righty);
 
                FX_FLOAT pArray[4] = {0.0f,0.0f,0.0f,0.0f};
-               pArray[0] = (FX_FLOAT)(FX_INT32)Upper_Leftx;
-               pArray[1] = (FX_FLOAT)(FX_INT32)Lower_Righty;
-               pArray[2] = (FX_FLOAT)(FX_INT32)Lower_Rightx;
-               pArray[3] = (FX_FLOAT)(FX_INT32)Upper_Lefty;
+               pArray[0] = (FX_FLOAT)Upper_Leftx.ToInt();
+               pArray[1] = (FX_FLOAT)Lower_Righty.ToInt();
+               pArray[2] = (FX_FLOAT)Lower_Rightx.ToInt();
+               pArray[3] = (FX_FLOAT)Upper_Lefty.ToInt();
 
                CPDF_Rect crRect(pArray);
 
@@ -3085,7 +3085,7 @@ FX_BOOL Field::value(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
                        {
                                CJS_Value ElementValue(m_isolate);
                                ValueArray.GetElement(i, ElementValue);
-                               strArray.Add(ElementValue.operator CFX_WideString());
+                               strArray.Add(ElementValue.ToCFXWideString());
                        }
                }
                else
@@ -3149,7 +3149,7 @@ FX_BOOL Field::value(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
                                        {
                                                iIndex = pFormField->GetSelectedIndex(i);
                                                ElementValue = pFormField->GetOptionValue(iIndex);
-                                               if (FXSYS_wcslen((FX_LPCWSTR)ElementValue.operator CFX_WideString()) == 0)
+                                               if (FXSYS_wcslen(ElementValue.ToCFXWideString().c_str()) == 0)
                                                        ElementValue = pFormField->GetOptionLabel(iIndex);
                                                ValueArray.SetElement(i, ElementValue);
                                        }
@@ -3374,8 +3374,8 @@ FX_BOOL Field::buttonGetCaption(IFXJS_Context* cc, const CJS_Parameters& params,
 
        int nface = 0;
        int iSize = params.size();
-       if ( iSize >= 1)
-               nface = (FX_INT32) params[0];
+       if (iSize >= 1)
+               nface = params[0].ToInt();
 
        CFX_PtrArray FieldArray;
        GetFormFields(m_FieldName,FieldArray);
@@ -3410,8 +3410,8 @@ FX_BOOL Field::buttonGetIcon(IFXJS_Context* cc, const CJS_Parameters& params, CJ
 
        int nface = 0;
        int iSize = params.size();
-       if ( iSize >= 1)
-               nface = (FX_INT32) params[0];
+       if (iSize >= 1)
+               nface = params[0].ToInt();
        
        CFX_PtrArray FieldArray;
        GetFormFields(m_FieldName,FieldArray);
@@ -3519,15 +3519,14 @@ FX_BOOL Field::checkThisBox(IFXJS_Context* cc, const CJS_Parameters& params, CJS
        if (!m_bCanSet) return FALSE;
 
        int iSize = params.size();
-       int nWidget = -1;
-       if ( iSize >= 1)
-               nWidget= (FX_INT32) params[0];
-       else
+       if (iSize < 1)
                return FALSE;
-       FX_BOOL bCheckit = TRUE;
-       if ( iSize >= 2)
-               bCheckit = params[1];
 
+       int nWidget = params[0].ToInt();
+
+       FX_BOOL bCheckit = TRUE;
+       if (iSize >= 2)
+               bCheckit = params[1].ToBool();
 
        CFX_PtrArray FieldArray;
        GetFormFields(m_FieldName,FieldArray);
@@ -3535,9 +3534,9 @@ FX_BOOL Field::checkThisBox(IFXJS_Context* cc, const CJS_Parameters& params, CJS
 
        CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0);
        ASSERT(pFormField != NULL);
-       
+
        if (pFormField->GetFieldType() != FIELDTYPE_CHECKBOX && pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON)
-               return FALSE;   
+               return FALSE;
        if(nWidget <0 || nWidget >= pFormField->CountControls())
                return FALSE;
        if (pFormField->GetFieldType() == FIELDTYPE_RADIOBUTTON)
@@ -3546,7 +3545,6 @@ FX_BOOL Field::checkThisBox(IFXJS_Context* cc, const CJS_Parameters& params, CJS
                pFormField->CheckControl(nWidget, bCheckit, TRUE);
 
        UpdateFormField(m_pDocument, pFormField, TRUE, TRUE, TRUE);
-
        return TRUE;
 }
 
@@ -3562,14 +3560,10 @@ FX_BOOL Field::defaultIsChecked(IFXJS_Context* cc, const CJS_Parameters& params,
        if (!m_bCanSet) return FALSE;
 
        int iSize = params.size();
-       int nWidget = -1;
-       if ( iSize >= 1)
-               nWidget= (FX_INT32) params[0];
-       else
+       if (iSize < 1)
                return FALSE;
-       //FX_BOOL bIsDefaultChecked = TRUE;
-       //if ( iSize >= 2)
-       //      bIsDefaultChecked =  params[1];
+
+       int nWidget = params[0].ToInt();
 
        CFX_PtrArray FieldArray;
        GetFormFields(m_FieldName,FieldArray);
@@ -3665,16 +3659,15 @@ FX_BOOL Field::getArray(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Val
 FX_BOOL Field::getItemAt(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError)
 {
        ASSERT(m_pDocument != NULL);
+       int iSize = params.size();
 
        int nIdx = -1;
-       if (params.size() >=1)
-               nIdx = (FX_INT32) params[0];
+       if (iSize >= 1)
+               nIdx = params[0].ToInt();
+
        FX_BOOL bExport = TRUE;
-       int iSize = params.size();
-       if ( iSize >= 2)
-       {
-               bExport =(FX_BOOL) params[1];
-       }
+       if (iSize >= 2)
+               bExport = params[1].ToBool();
 
        CFX_PtrArray FieldArray;
        GetFormFields(m_FieldName,FieldArray);
@@ -3720,8 +3713,8 @@ FX_BOOL Field::isBoxChecked(IFXJS_Context* cc, const CJS_Parameters& params, CJS
        ASSERT(m_pDocument != NULL);
 
        int nIndex = -1;
-       if (params.size() >=1)
-               nIndex = (FX_INT32) params[0];
+       if (params.size() >= 1)
+               nIndex = params[0].ToInt();
 
        CFX_PtrArray FieldArray;
        GetFormFields(m_FieldName,FieldArray);
@@ -3755,8 +3748,8 @@ FX_BOOL Field::isDefaultChecked(IFXJS_Context* cc, const CJS_Parameters& params,
        ASSERT(m_pDocument != NULL);
 
        int nIndex = -1;
-       if (params.size() >=1)
-               nIndex = (FX_INT32) params[0];
+       if (params.size() >= 1)
+               nIndex = params[0].ToInt();
 
        CFX_PtrArray FieldArray;
        GetFormFields(m_FieldName,FieldArray);
index 6743daa..be37489 100644 (file)
@@ -85,7 +85,7 @@ void CJS_Value::Attach(v8::Handle<v8::Value> pValue,FXJSVALUETYPE t)
 void CJS_Value::Attach(CJS_Value *pValue)
 {
        if (pValue)
-               Attach(pValue->ToJSValue(),pValue->GetType());
+               Attach(pValue->ToV8Value(), pValue->GetType());
 }
 
 void CJS_Value::Detach()
@@ -96,63 +96,53 @@ void CJS_Value::Detach()
 
 /* ---------------------------------------------------------------------------------------- */
 
-CJS_Value::operator int() const
+int CJS_Value::ToInt() const
 {
-
        return JS_ToInt32(m_pValue);
-
 }
 
-CJS_Value::operator bool() const
+bool CJS_Value::ToBool() const
 {
-
        return JS_ToBoolean(m_pValue);
-       
 }
 
-CJS_Value::operator double() const
+double CJS_Value::ToDouble() const
 {
-
        return JS_ToNumber(m_pValue);
-       
 }
 
-CJS_Value::operator float() const
+float CJS_Value::ToFloat() const
 {
-
-       return (float)JS_ToNumber(m_pValue);
-
+       return (float)ToDouble();
 }
 
-CJS_Value::operator CJS_Object *() const
+CJS_Object* CJS_Value::ToCJSObject() const
 {
-
        v8::Handle<v8::Object>  pObj = JS_ToObject(m_pValue);
        return (CJS_Object*)JS_GetPrivate(m_isolate, pObj);
 }
 
-CJS_Value::operator v8::Handle<v8::Object>() const
+v8::Handle<v8::Object> CJS_Value::ToV8Object() const
 {
        return JS_ToObject(m_pValue);
 }
 
-CJS_Value::operator CFX_WideString() const
+CFX_WideString CJS_Value::ToCFXWideString() const
 {
        return JS_ToString(m_pValue);
 }
 
-CJS_Value::operator CFX_ByteString() const
+CFX_ByteString CJS_Value::ToCFXByteString() const
 {
-       return CFX_ByteString::FromUnicode(operator CFX_WideString());
+       return CFX_ByteString::FromUnicode(ToCFXWideString());
 }
 
-v8::Handle<v8::Value> CJS_Value::ToJSValue()
+v8::Handle<v8::Value> CJS_Value::ToV8Value() const
 {
        return m_pValue;
 }
 
-
-CJS_Value::operator v8::Handle<v8::Array>() const
+v8::Handle<v8::Array>CJS_Value::ToV8Array() const
 {
        if (IsArrayObject())
                return v8::Handle<v8::Array>::Cast(JS_ToObject(m_pValue));
@@ -245,7 +235,7 @@ void CJS_Value::operator = (CJS_Date & date)
 
 void CJS_Value::operator = (CJS_Value value)
 {
-       m_pValue = value.ToJSValue();
+       m_pValue = value.ToV8Value();
 
        m_eType = value.m_eType;
 }
@@ -342,7 +332,7 @@ void CJS_PropValue::operator <<(int iValue)
 void CJS_PropValue::operator >>(int & iValue) const
 {
        ASSERT(m_bIsSetting);
-       iValue = CJS_Value::operator int();
+       iValue = CJS_Value::ToInt();
 }
 
 
@@ -355,8 +345,7 @@ void CJS_PropValue::operator <<(bool bValue)
 void CJS_PropValue::operator >>(bool& bValue) const
 {
        ASSERT(m_bIsSetting);
-       bValue = CJS_Value::operator bool();
-
+       bValue = CJS_Value::ToBool();
 }
 
 void CJS_PropValue::operator <<(double dValue)
@@ -368,7 +357,7 @@ void CJS_PropValue::operator <<(double dValue)
 void CJS_PropValue::operator >>(double& dValue) const
 {
        ASSERT(m_bIsSetting);
-       dValue = CJS_Value::operator double();
+       dValue = CJS_Value::ToDouble();
 }
 
 void CJS_PropValue::operator <<(CJS_Object* pObj)
@@ -380,7 +369,7 @@ void CJS_PropValue::operator <<(CJS_Object* pObj)
 void CJS_PropValue::operator >>(CJS_Object*& ppObj) const
 {
        ASSERT(m_bIsSetting);
-       ppObj = CJS_Value::operator CJS_Object *();
+       ppObj = CJS_Value::ToCJSObject();
 }
 
 void CJS_PropValue::operator <<(CJS_Document* pJsDoc)
@@ -392,7 +381,7 @@ void CJS_PropValue::operator <<(CJS_Document* pJsDoc)
 void CJS_PropValue::operator >>(CJS_Document*& ppJsDoc) const
 {
        ASSERT(m_bIsSetting);
-       ppJsDoc = static_cast<CJS_Document*>(CJS_Value::operator CJS_Object *());
+       ppJsDoc = static_cast<CJS_Document*>(CJS_Value::ToCJSObject());
 }
 
 void CJS_PropValue::operator<<(JSFXObject pObj)
@@ -404,7 +393,7 @@ void CJS_PropValue::operator<<(JSFXObject pObj)
 void CJS_PropValue::operator>>(JSFXObject &ppObj) const
 {
        ASSERT(m_bIsSetting);
-       ppObj = CJS_Value::operator JSFXObject ();
+       ppObj = CJS_Value::ToV8Object();
 }
 
 
@@ -426,7 +415,7 @@ void CJS_PropValue::operator <<(CFX_ByteString string)
 void CJS_PropValue::operator >>(CFX_ByteString &string) const
 {
        ASSERT(m_bIsSetting);
-       string = CJS_Value::operator CFX_ByteString();
+       string = CJS_Value::ToCFXByteString();
 }
 
 void CJS_PropValue::operator <<(FX_LPCWSTR c_string)
@@ -438,7 +427,7 @@ void CJS_PropValue::operator <<(FX_LPCWSTR c_string)
 void CJS_PropValue::operator >>(CFX_WideString &wide_string) const
 {
        ASSERT(m_bIsSetting);
-       wide_string = CJS_Value::operator CFX_WideString();
+       wide_string = CJS_Value::ToCFXWideString();
 }
 
 void CJS_PropValue::operator <<(CFX_WideString wide_string)
@@ -508,7 +497,7 @@ void CJS_Array::SetElement(unsigned index,CJS_Value value)
        if (m_pArray.IsEmpty())
                m_pArray = JS_NewArray(m_isolate);
 
-       JS_PutArrayElement(m_pArray,index,value.ToJSValue(),value.GetType());
+       JS_PutArrayElement(m_pArray, index, value.ToV8Value(), value.GetType());
 }
 
 int CJS_Array::GetLength()
index e3479f1..ff5b9a7 100644 (file)
@@ -430,7 +430,7 @@ CJS_Array CJS_PublicMethods::AF_MakeArrayFromList(v8::Isolate* isolate, CJS_Valu
                val.ConvertToArray(StrArray);
                return StrArray;
        }
-       CFX_WideString wsStr = val.operator CFX_WideString();
+       CFX_WideString wsStr = val.ToCFXWideString();
        CFX_ByteString t = CFX_ByteString::FromUnicode(wsStr);
        const char * p = (const char *)t;
 
@@ -1071,12 +1071,12 @@ FX_BOOL CJS_PublicMethods::AFNumber_Format(IFXJS_Context* cc, const CJS_Paramete
        
        if (strValue.IsEmpty()) return TRUE;
        
-       int iDec = params[0];
-       int iSepStyle = params[1];
-       int iNegStyle = params[2];
+       int iDec = params[0].ToInt();
+       int iSepStyle = params[1].ToInt();
+       int iNegStyle = params[2].ToInt();
        // params[3] is iCurrStyle, it's not used.
-       std::wstring wstrCurrency(params[4].operator CFX_WideString());
-       FX_BOOL bCurrencyPrepend = params[5];
+       std::wstring wstrCurrency(params[4].ToCFXWideString());
+       FX_BOOL bCurrencyPrepend = params[5].ToBool();
        
        if (iDec < 0) iDec = -iDec;
        
@@ -1268,7 +1268,7 @@ FX_BOOL CJS_PublicMethods::AFNumber_Keystroke(IFXJS_Context* cc, const CJS_Param
        
        if(params.size() < 2)
                return FALSE;
-       int iSepStyle = params[1];
+       int iSepStyle = params[1].ToInt();
        
        if (iSepStyle < 0 || iSepStyle > 3)
                iSepStyle = 0;
@@ -1406,30 +1406,20 @@ FX_BOOL CJS_PublicMethods::AFPercent_Format(IFXJS_Context* cc, const CJS_Paramet
        }
        if(!pEvent->m_pValue)
                return FALSE;
+
        CFX_WideString& Value = pEvent->Value();
-       
-//     HWND hMainFrame = NULL;
-//     
-//     CPDFSDK_FormFillApp *pApp = pContext->GetReaderApp();
-//     ASSERT(pApp);
-//     hMainFrame = pApp->GetMainFrameWnd();
-               
        CFX_ByteString strValue = StrTrim(CFX_ByteString::FromUnicode(Value));
-       
        if (strValue.IsEmpty())
                return TRUE;
-       
-       int iDec = params[0];
-       int iSepStyle = params[1];
-       
-       //ASSERT(iDec > 0);
+
+       int iDec = params[0].ToInt();
        if (iDec < 0)
                iDec = -iDec;
-       
+
+       int iSepStyle = params[1].ToInt();
        if (iSepStyle < 0 || iSepStyle > 3)
                iSepStyle = 0;
-       
-       
+
        //////////////////////////////////////////////////////
        //for processing decimal places
        double dValue = atof(strValue);
@@ -1527,16 +1517,16 @@ FX_BOOL CJS_PublicMethods::AFDate_FormatEx(IFXJS_Context* cc, const CJS_Paramete
        {
                sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR);
                return FALSE;
-       }       
+       }
        if(!pEvent->m_pValue)
                return FALSE;
-       CFX_WideString& val = pEvent->Value();
-       
-       CFX_WideString strValue = val;  
-       if (strValue.IsEmpty()) return TRUE;            
 
-       CFX_WideString sFormat = params[0].operator CFX_WideString();
+       CFX_WideString& val = pEvent->Value();
+       CFX_WideString strValue = val;
+       if (strValue.IsEmpty())
+               return TRUE;
 
+       CFX_WideString sFormat = params[0].ToCFXWideString();
        FX_BOOL bWrongFormat = FALSE;
        double dDate = 0.0f;
 
@@ -1558,9 +1548,8 @@ FX_BOOL CJS_PublicMethods::AFDate_FormatEx(IFXJS_Context* cc, const CJS_Paramete
                Alert(pContext, swMsg);
                return FALSE;
        }
-       
-       val =  MakeFormatDate(dDate,sFormat);
 
+       val =  MakeFormatDate(dDate,sFormat);
        return TRUE;
 }
 
@@ -1636,17 +1625,17 @@ FX_BOOL CJS_PublicMethods::AFDate_KeystrokeEx(IFXJS_Context* cc, const CJS_Param
        {
                sError = L"AFDate_KeystrokeEx's parameters' size r not correct";
                return FALSE;
-       }       
-       
+       }
+
        if (pEvent->WillCommit())
        {
                if(!pEvent->m_pValue)
                        return FALSE;
                CFX_WideString strValue = pEvent->Value();
-               if (strValue.IsEmpty()) return TRUE;
-
-               CFX_WideString sFormat = params[0].operator CFX_WideString();
+               if (strValue.IsEmpty())
+                       return TRUE;
 
+               CFX_WideString sFormat = params[0].ToCFXWideString();
                FX_BOOL bWrongFormat = FALSE;
                double dRet = MakeRegularDate(strValue,sFormat,bWrongFormat);
                if (bWrongFormat || JS_PortIsNan(dRet))
@@ -1674,7 +1663,7 @@ FX_BOOL CJS_PublicMethods::AFDate_Format(IFXJS_Context* cc, const CJS_Parameters
                return FALSE;
        }
 
-       int iIndex = params[0];
+       int iIndex = params[0].ToInt();
        FX_LPCWSTR cFormats[] =  {L"m/d", L"m/d/yy", L"mm/dd/yy", L"mm/yy", L"d-mmm", L"d-mmm-yy", L"dd-mmm-yy",
                L"yy-mm-dd", L"mmm-yy", L"mmmm-yy", L"mmm d, yyyy", L"mmmm d, yyyy",
                L"m/d/yy h:MM tt", L"m/d/yy HH:MM" };
@@ -1705,7 +1694,7 @@ FX_BOOL CJS_PublicMethods::AFDate_Keystroke(IFXJS_Context* cc, const CJS_Paramet
                return FALSE;
        }
 
-       int iIndex = params[0];
+       int iIndex = params[0].ToInt();
        FX_LPCWSTR cFormats[] =  {L"m/d", L"m/d/yy", L"mm/dd/yy", L"mm/yy", L"d-mmm", L"d-mmm-yy", L"dd-mmm-yy",
                L"yy-mm-dd", L"mmm-yy", L"mmmm-yy", L"mmm d, yyyy", L"mmmm d, yyyy",
                L"m/d/yy h:MM tt", L"m/d/yy HH:MM" };
@@ -1735,7 +1724,7 @@ FX_BOOL CJS_PublicMethods::AFTime_Format(IFXJS_Context* cc, const CJS_Parameters
                return FALSE;
        }
 
-       int iIndex = params[0];
+       int iIndex = params[0].ToInt();
        FX_LPCWSTR cFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss", L"h:MM:ss tt"};
 
        ASSERT(iIndex<FX_ArraySize(cFormats));
@@ -1761,7 +1750,7 @@ FX_BOOL CJS_PublicMethods::AFTime_Keystroke(IFXJS_Context* cc, const CJS_Paramet
                return FALSE;
        }
 
-       int iIndex = params[0];
+       int iIndex = params[0].ToInt();
        FX_LPCWSTR cFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss", L"h:MM:ss tt"};
 
        ASSERT(iIndex<FX_ArraySize(cFormats));
@@ -1799,7 +1788,7 @@ FX_BOOL CJS_PublicMethods::AFSpecial_Format(IFXJS_Context* cc, const CJS_Paramet
        }
 
        std::string cFormat;
-       int iIndex = params[0];
+       int iIndex = params[0].ToInt();
 
        CJS_EventHandler* pEvent = pContext->GetEventHandler();
        ASSERT(pEvent != NULL);
@@ -1858,11 +1847,12 @@ FX_BOOL CJS_PublicMethods::AFSpecial_KeystrokeEx(IFXJS_Context* cc, const CJS_Pa
                return FALSE;
        CFX_WideString& valEvent = pEvent->Value();
 
-       CFX_WideString wstrMask = params[0].operator CFX_WideString();
-       if (wstrMask.IsEmpty()) return TRUE;
-       
+       CFX_WideString wstrMask = params[0].ToCFXWideString();
+       if (wstrMask.IsEmpty())
+               return TRUE;
+
        std::wstring wstrValue(valEvent);
-       
+
        if (pEvent->WillCommit())
        {
                if (wstrValue.empty())
@@ -1871,7 +1861,7 @@ FX_BOOL CJS_PublicMethods::AFSpecial_KeystrokeEx(IFXJS_Context* cc, const CJS_Pa
                for (std::wstring::iterator it = wstrValue.begin(); it != wstrValue.end(); it++)
                {
                        wchar_t w_Value = *it;
-            if (!maskSatisfied(w_Value,wstrMask[iIndexMask]))
+                       if (!maskSatisfied(w_Value,wstrMask[iIndexMask]))
                                break;
                        iIndexMask++;
                }
@@ -1884,31 +1874,27 @@ FX_BOOL CJS_PublicMethods::AFSpecial_KeystrokeEx(IFXJS_Context* cc, const CJS_Pa
                return TRUE;
        }
 
-       
        CFX_WideString &wideChange = pEvent->Change();
        std::wstring wChange(wideChange);
-       
        if (wChange.empty())
                return TRUE;
-    int iIndexMask = pEvent->SelStart();
-       //iIndexMask++;
-       
-       
+
+       int iIndexMask = pEvent->SelStart();
+
        if (wstrValue.length() - (pEvent->SelEnd()-pEvent->SelStart()) + wChange.length() > (FX_DWORD)wstrMask.GetLength())
        {
                Alert(pContext, JSGetStringFromID(pContext, IDS_STRING_JSPARAM_TOOLONG));
                pEvent->Rc() = FALSE;
                return TRUE;
        }
-       
-       
+
        if (iIndexMask >= wstrMask.GetLength() && (!wChange.empty()))
        {
                Alert(pContext, JSGetStringFromID(pContext, IDS_STRING_JSPARAM_TOOLONG));
                pEvent->Rc() = FALSE;
                return TRUE;
        }
-       
+
        for (std::wstring::iterator it = wChange.begin(); it != wChange.end(); it++)
        {
                if (iIndexMask >= wstrMask.GetLength())
@@ -1920,21 +1906,18 @@ FX_BOOL CJS_PublicMethods::AFSpecial_KeystrokeEx(IFXJS_Context* cc, const CJS_Pa
                wchar_t w_Mask = wstrMask[iIndexMask];
                if (!isReservedMaskChar(w_Mask))
                {
-                       //wChange.insert(it,w_Mask);                            
                        *it = w_Mask;
                }
                wchar_t w_Change = *it;
-               
-        if (!maskSatisfied(w_Change,w_Mask))
+               if (!maskSatisfied(w_Change,w_Mask))
                {
                        pEvent->Rc() = FALSE;
                        return TRUE;
                }
                iIndexMask++;
        }
-       
-       wideChange = wChange.c_str();   
-       
+
+       wideChange = wChange.c_str();
        return TRUE;
 }
 
@@ -1956,7 +1939,7 @@ FX_BOOL CJS_PublicMethods::AFSpecial_Keystroke(IFXJS_Context* cc, const CJS_Para
        }
 
        std::string cFormat;
-       int iIndex = (int)params[0];    
+       int iIndex = params[0].ToInt();
 
        if(!pEvent->m_pValue)
                return FALSE;
@@ -2050,8 +2033,8 @@ FX_BOOL CJS_PublicMethods::AFParseDateEx(IFXJS_Context* cc, const CJS_Parameters
                return FALSE;
        }
 
-       CFX_WideString sValue = params[0].operator CFX_WideString();
-       CFX_WideString sFormat = params[1].operator CFX_WideString();
+       CFX_WideString sValue = params[0].ToCFXWideString();
+       CFX_WideString sFormat = params[1].ToCFXWideString();
 
        FX_BOOL bWrongFormat = FALSE;
        double dDate = MakeRegularDate(sValue,sFormat,bWrongFormat);
@@ -2063,9 +2046,8 @@ FX_BOOL CJS_PublicMethods::AFParseDateEx(IFXJS_Context* cc, const CJS_Parameters
                Alert((CJS_Context *)cc, swMsg);
                return FALSE;
        }
-       
-       vRet = dDate;
 
+       vRet = dDate;
        return TRUE;
 }
 
@@ -2080,7 +2062,7 @@ FX_BOOL CJS_PublicMethods::AFSimple(IFXJS_Context* cc, const CJS_Parameters& par
                return FALSE;
        }
 
-       vRet = (double)AF_Simple(params[0].operator CFX_WideString(), (double)params[1], (double)params[2]);
+       vRet = (double)AF_Simple(params[0].ToCFXWideString(), params[1].ToDouble(), params[2].ToDouble());
        return TRUE;
 }
 
@@ -2094,7 +2076,7 @@ FX_BOOL CJS_PublicMethods::AFMakeNumber(IFXJS_Context* cc, const CJS_Parameters&
                sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR);
                return FALSE;
        }
-    vRet = ParseStringToNumber(params[0].operator CFX_WideString());
+       vRet = ParseStringToNumber(params[0].ToCFXWideString());
        return TRUE;
 }
 
@@ -2118,7 +2100,7 @@ FX_BOOL CJS_PublicMethods::AFSimple_Calculate(IFXJS_Context* cc, const CJS_Param
                sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR);
                return FALSE;
        }
-       
+
        CPDFSDK_Document* pReaderDoc = pContext->GetReaderDocument();
     ASSERT(pReaderDoc != NULL);
 
@@ -2129,7 +2111,7 @@ FX_BOOL CJS_PublicMethods::AFSimple_Calculate(IFXJS_Context* cc, const CJS_Param
        ASSERT(pInterForm != NULL);
 
        double dValue;
-       CFX_WideString sFunction = params[0].operator CFX_WideString();
+       CFX_WideString sFunction = params[0].ToCFXWideString();
        if (wcscmp(sFunction, L"PRD") == 0)
        dValue = 1.0;
        else
@@ -2143,7 +2125,7 @@ FX_BOOL CJS_PublicMethods::AFSimple_Calculate(IFXJS_Context* cc, const CJS_Param
        {
                CJS_Value jsValue(isolate);
                FieldNameArray.GetElement(i,jsValue);
-        CFX_WideString wsFieldName = jsValue.operator CFX_WideString();
+               CFX_WideString wsFieldName = jsValue.ToCFXWideString();
 
         for (int j=0,jsz=pInterForm->CountFields(wsFieldName); j<jsz; j++)
                {
@@ -2214,7 +2196,7 @@ FX_BOOL CJS_PublicMethods::AFSimple_Calculate(IFXJS_Context* cc, const CJS_Param
        dValue = (double)floor(dValue * FXSYS_pow((double)10,(double)6) + 0.49) / FXSYS_pow((double)10,(double)6);
        CJS_Value jsValue(isolate,dValue);
        if((CJS_EventHandler*)pContext->GetEventHandler()->m_pValue)
-               ((CJS_EventHandler*)pContext->GetEventHandler())->Value() = jsValue;
+               ((CJS_EventHandler*)pContext->GetEventHandler())->Value() = jsValue.ToCFXWideString();
 
        return TRUE;
 }
@@ -2240,28 +2222,30 @@ FX_BOOL CJS_PublicMethods::AFRange_Validate(IFXJS_Context* cc, const CJS_Paramet
        if (pEvent->Value().IsEmpty() )
                return TRUE;
        double dEentValue = atof(CFX_ByteString::FromUnicode(pEvent->Value()));
-       FX_BOOL bGreaterThan, bLessThan;
-       double  dGreaterThan, dLessThan;
-    bGreaterThan = (FX_BOOL)params[0];
+       FX_BOOL bGreaterThan = params[0].ToBool();
+       double dGreaterThan = params[1].ToDouble();
+       FX_BOOL bLessThan = params[2].ToBool();
+       double dLessThan = params[3].ToDouble();
        CFX_WideString swMsg;
-       dGreaterThan = (double)params[1];
-       bLessThan = (FX_BOOL)params[2];
-       dLessThan = (double)params[3];
 
        if (bGreaterThan && bLessThan)
        {
                if (dEentValue < dGreaterThan || dEentValue > dLessThan)
-                       swMsg.Format(JSGetStringFromID(pContext, IDS_STRING_JSRANGE1),(FX_LPCWSTR)params[1].operator CFX_WideString(), (FX_LPCWSTR)params[3].operator CFX_WideString());
+                       swMsg.Format(JSGetStringFromID(pContext, IDS_STRING_JSRANGE1),
+                                                params[1].ToCFXWideString().c_str(),
+                                                params[3].ToCFXWideString().c_str());
        }
        else if (bGreaterThan)
        {
                if (dEentValue < dGreaterThan)
-                       swMsg.Format(JSGetStringFromID(pContext, IDS_STRING_JSRANGE2), (FX_LPCWSTR)params[1].operator CFX_WideString());
+                       swMsg.Format(JSGetStringFromID(pContext, IDS_STRING_JSRANGE2),
+                                                params[1].ToCFXWideString().c_str());
        }
        else if (bLessThan)
        {
                if (dEentValue > dLessThan)
-                       swMsg.Format(JSGetStringFromID(pContext, IDS_STRING_JSRANGE3), (FX_LPCWSTR)params[3].operator CFX_WideString());
+                       swMsg.Format(JSGetStringFromID(pContext, IDS_STRING_JSRANGE3),
+                                                params[3].ToCFXWideString().c_str());
        }
 
        if (!swMsg.IsEmpty())
@@ -2286,7 +2270,7 @@ FX_BOOL CJS_PublicMethods::AFExtractNums(IFXJS_Context* cc, const CJS_Parameters
 
        CJS_Array nums(isolate);
 
-       CFX_WideString str = params[0].operator CFX_WideString();
+       CFX_WideString str = params[0].ToCFXWideString();
        CFX_WideString sPart;
 
        if (str.GetAt(0) == L'.' || str.GetAt(0) == L',')
index ec910e8..45998b0 100644 (file)
@@ -338,19 +338,19 @@ FX_BOOL app::alert(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& v
        {
                if (params[0].GetType() == VT_object)
                {
-                       JSObject pObj = params[0];
+                       JSObject pObj = params[0].ToV8Object();
                        {
                                v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate, pObj, L"cMsg");
-                               swMsg = CJS_Value(isolate,pValue,VT_unknown).operator CFX_WideString();
+                               swMsg = CJS_Value(isolate, pValue, VT_unknown).ToCFXWideString();
 
-                               pValue = JS_GetObjectElement(isolate,pObj,L"cTitle");
-                               swTitle = CJS_Value(isolate, pValue,VT_unknown).operator CFX_WideString();
+                               pValue = JS_GetObjectElement(isolate, pObj, L"cTitle");
+                               swTitle = CJS_Value(isolate, pValue, VT_unknown).ToCFXWideString();
 
-                               pValue = JS_GetObjectElement(isolate,pObj,L"nIcon");
-                               iIcon = (int)CJS_Value(isolate,pValue,VT_unknown);
+                               pValue = JS_GetObjectElement(isolate, pObj, L"nIcon");
+                               iIcon = CJS_Value(isolate, pValue, VT_unknown).ToInt();
 
-                               pValue = JS_GetObjectElement(isolate,pObj,L"nType");
-                               iType = (int)CJS_Value(isolate,pValue,VT_unknown);
+                               pValue = JS_GetObjectElement(isolate, pObj, L"nType");
+                               iType = CJS_Value(isolate, pValue, VT_unknown).ToInt();
                        }
 
                        if (swMsg == L"")
@@ -368,22 +368,12 @@ FX_BOOL app::alert(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& v
                                        for(int i = 0; i < iLenth; i++)
                                        {
                                                carray.GetElement(i, *pValue);
-                                               swMsg += (*pValue).operator CFX_WideString();
+                                               swMsg += (*pValue).ToCFXWideString();
                                                if (i < iLenth - 1)
                                                        swMsg += L",  ";
                                        }
 
                                        if(pValue) delete pValue;
-//                                     if ((iLenth > 1) && pValue)
-//                                     {
-//                                             delete[]pValue;
-//                                             pValue = NULL;
-//                                     }
-//                                     else if ((iLenth == 1) && pValue)
-//                                     {
-//                                             delete pValue;
-//                                             pValue = NULL;
-//                                     }
                                }
                        }
 
@@ -392,7 +382,7 @@ FX_BOOL app::alert(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& v
                }
                else if (params[0].GetType() == VT_boolean)
                {
-                       FX_BOOL bGet = (FX_BOOL)params[0];
+                       FX_BOOL bGet = params[0].ToBool();
                        if (bGet)
                                swMsg = L"true";
                        else
@@ -402,7 +392,7 @@ FX_BOOL app::alert(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& v
                }
                else
                {
-                       swMsg = params[0];
+                       swMsg = params[0].ToCFXWideString();
                        swTitle = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSALERT);
                }
        }
@@ -410,7 +400,7 @@ FX_BOOL app::alert(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& v
        {
                if (params[0].GetType() == VT_boolean)
                {
-                       FX_BOOL bGet = (FX_BOOL)params[0];
+                       FX_BOOL bGet = params[0].ToBool();
                        if (bGet)
                                swMsg = L"true";
                        else
@@ -418,18 +408,18 @@ FX_BOOL app::alert(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& v
                }
                else
                {
-                       swMsg = params[0];
+                       swMsg = params[0].ToCFXWideString();
                }
                swTitle = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSALERT);
 
                for(int i = 1;i<iSize;i++)
                {
                        if (i == 1)
-                               iIcon = int(params[i]);
+                               iIcon = params[i].ToInt();
                        if (i == 2)
-                               iType = int(params[i]);
+                               iType = params[i].ToInt();
                        if (i == 3)
-                               swTitle = params[i];
+                               swTitle = params[i].ToCFXWideString();
                }
        }
 
@@ -453,15 +443,12 @@ FX_BOOL app::beep(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vR
                CJS_Context* pContext = (CJS_Context*)cc;
                CJS_Runtime* pRuntime = pContext->GetJSRuntime();
                CPDFDoc_Environment * pEnv = pRuntime->GetReaderApp();
-               pEnv->JS_appBeep((int)params[0]);
-
+               pEnv->JS_appBeep(params[0].ToInt());
                return TRUE;
        }
-       else
-       {
-               sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAMERROR);
-               return FALSE;
-       }
+
+       sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAMERROR);
+       return FALSE;
 }
 
 FX_BOOL app::findComponent(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError)
@@ -492,14 +479,14 @@ FX_BOOL app::setInterval(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Va
        CJS_Runtime* pRuntime = pContext->GetJSRuntime();
        ASSERT(pRuntime != NULL);
 
-       CFX_WideString script = params.size() > 0 ?  (FX_LPCWSTR)(params[0].operator CFX_WideString()) : L"";
+       CFX_WideString script = params.size() > 0 ?  (FX_LPCWSTR)(params[0].ToCFXWideString()) : L"";
        if (script.IsEmpty())
        {
                sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSAFNUMBER_KEYSTROKE);
                return TRUE;
        }
 
-       FX_DWORD dwInterval = params.size() > 1 ? (int)params[1] : 1000;
+       FX_DWORD dwInterval = params.size() > 1 ? params[1].ToInt() : 1000;
 
        CPDFDoc_Environment* pApp = pRuntime->GetReaderApp();
        ASSERT(pApp);
@@ -541,17 +528,18 @@ FX_BOOL app::setTimeOut(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Val
        CJS_Runtime* pRuntime = pContext->GetJSRuntime();
        ASSERT(pRuntime != NULL);
 
-       CFX_WideString script = params.size() > 0 ?  (FX_LPCWSTR)(params[0].operator CFX_WideString()) : L"";
+       CFX_WideString script = params.size() > 0 ?  (FX_LPCWSTR)(params[0].ToCFXWideString()) : L"";
        if (script.IsEmpty())
        {
                sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSAFNUMBER_KEYSTROKE);
                return TRUE;
        }
 
-       FX_DWORD dwTimeOut = params.size() > 1 ? (int)params[1] : 1000;
+       FX_DWORD dwTimeOut = params.size() > 1 ? params[1].ToInt() : 1000;
 
        CPDFDoc_Environment* pApp = pRuntime->GetReaderApp();
        ASSERT(pApp);
+
        CJS_Timer* pTimer = new CJS_Timer(this, pApp);
        m_aTimer.Add(pTimer);
 
@@ -559,12 +547,9 @@ FX_BOOL app::setTimeOut(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Val
        pTimer->SetRuntime(pRuntime);
        pTimer->SetJScript(script);
        pTimer->SetTimeOut(dwTimeOut);
-//     pTimer->SetStartTime(GetTickCount());
-//     pTimer->SetJSTimer(1000);
        pTimer->SetJSTimer(dwTimeOut);
 
        JSFXObject pRetObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDefnID(*pRuntime, L"TimerObj"));
-//     ASSERT(pRetObj != NULL);
 
        CJS_TimerObj* pJS_TimerObj = (CJS_TimerObj*)JS_GetPrivate(pRuntime->GetIsolate(),pRetObj);
        ASSERT(pJS_TimerObj != NULL);
@@ -594,11 +579,11 @@ FX_BOOL app::clearTimeOut(IFXJS_Context* cc, const CJS_Parameters& params, CJS_V
 
        if (params[0].GetType() == VT_fxobject)
        {
-               JSFXObject pObj = (JSFXObject)params[0];
+               JSFXObject pObj = params[0].ToV8Object();
                {
                        if (JS_GetObjDefnID(pObj) == JS_GetObjDefnID(*pRuntime, L"TimerObj"))
                        {
-                               if (CJS_Object* pJSObj = (CJS_Object*)params[0])
+                               if (CJS_Object* pJSObj = params[0].ToCJSObject())
                                {
                                        if (TimerObj* pTimerObj = (TimerObj*)pJSObj->GetEmbedObject())
                                        {
@@ -642,11 +627,11 @@ FX_BOOL app::clearInterval(IFXJS_Context* cc, const CJS_Parameters& params, CJS_
 
        if (params[0].GetType() == VT_fxobject)
        {
-               JSFXObject pObj = (JSFXObject)params[0];
+               JSFXObject pObj = params[0].ToV8Object();
                {
                        if (JS_GetObjDefnID(pObj) == JS_GetObjDefnID(*pRuntime, L"TimerObj"))
                        {
-                               if (CJS_Object* pJSObj = (CJS_Object*)params[0])
+                               if (CJS_Object* pJSObj = params[0].ToCJSObject())
                                {
                                        if (TimerObj* pTimerObj = (TimerObj*)pJSObj->GetEmbedObject())
                                        {
@@ -730,8 +715,6 @@ FX_BOOL app::goForward(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Valu
 FX_BOOL app::mailMsg(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError)
 {
        CJS_Context* pContext = (CJS_Context*)cc;
-       ASSERT(pContext != NULL);
-
        v8::Isolate* isolate = GetIsolate(cc);
 
        FX_BOOL bUI = TRUE;
@@ -740,42 +723,48 @@ FX_BOOL app::mailMsg(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value&
        CFX_WideString cBcc = L"";
        CFX_WideString cSubject = L"";
        CFX_WideString cMsg = L"";
-       if(params.size() < 2)
-               return FALSE;
-
-       bUI = params.size()>=1?(int)params[0]:TRUE;
-       cTo = params.size()>=2?(const wchar_t*)(FX_LPCWSTR)params[1].operator CFX_WideString():L"";
-       cCc = params.size()>=3?(const wchar_t*)(FX_LPCWSTR)params[2].operator CFX_WideString():L"";
-       cBcc = params.size()>=4?(const wchar_t*)(FX_LPCWSTR)params[3].operator CFX_WideString():L"";
-       cSubject = params.size()>=5?(const wchar_t*)(FX_LPCWSTR)params[4].operator CFX_WideString():L"";
-       cMsg = params.size()>=6?(const wchar_t*)(FX_LPCWSTR)params[5].operator CFX_WideString():L"";
 
+       if (params.size() < 1)
+               return FALSE;
 
        if (params[0].GetType() == VT_object)
        {
-               JSObject pObj = (JSObject)params[0];
+               JSObject pObj = params[0].ToV8Object();
 
-               v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate,pObj, L"bUI");
-                       bUI = (int)CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue));
+               v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate, pObj, L"bUI");
+               bUI = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToBool();
 
                pValue = JS_GetObjectElement(isolate, pObj, L"cTo");
-                       cTo = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).operator CFX_WideString();
-
-               pValue = JS_GetObjectElement(isolate,pObj, L"cCc");
-                       cCc = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).operator CFX_WideString();
-
-               pValue = JS_GetObjectElement(isolate,pObj, L"cBcc");
-                       cBcc = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).operator CFX_WideString();
-
-               pValue = JS_GetObjectElement(isolate,pObj, L"cSubject");
-                       cSubject = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).operator CFX_WideString();
-
-               pValue = JS_GetObjectElement(isolate,pObj, L"cMsg");
-                       cMsg = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).operator CFX_WideString();
+               cTo = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToCFXWideString();
+
+               pValue = JS_GetObjectElement(isolate, pObj, L"cCc");
+               cCc = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToCFXWideString();
+
+               pValue = JS_GetObjectElement(isolate, pObj, L"cBcc");
+               cBcc = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToCFXWideString();
+
+               pValue = JS_GetObjectElement(isolate, pObj, L"cSubject");
+               cSubject = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToCFXWideString();
+
+               pValue = JS_GetObjectElement(isolate, pObj, L"cMsg");
+               cMsg = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToCFXWideString();
+       } else {
+               if (params.size() < 2)
+                       return FALSE;
+
+               bUI = params[0].ToBool();
+               cTo = params[1].ToCFXWideString();
+
+               if (params.size() >= 3)
+                       cCc = params[2].ToCFXWideString();
+               if (params.size() >= 4)
+                       cBcc = params[3].ToCFXWideString();
+               if (params.size() >= 5)
+                       cSubject = params[4].ToCFXWideString();
+               if (params.size() >= 6)
+                       cMsg = params[5].ToCFXWideString();
        }
 
-
-
        CJS_Runtime* pRuntime = pContext->GetJSRuntime();
        ASSERT(pRuntime != NULL);
 
@@ -784,10 +773,8 @@ FX_BOOL app::mailMsg(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value&
 
        pRuntime->BeginBlock();
        pApp->JS_docmailForm(NULL, 0, bUI, cTo.c_str(), cSubject.c_str(), cCc.c_str(), cBcc.c_str(), cMsg.c_str());
-       ///////////////////////////////////////////////////////////////////////////////////////////////
        pRuntime->EndBlock();
 
-       //return bRet;
        return FALSE;
 }
 
@@ -877,40 +864,40 @@ FX_BOOL app::response(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value
        int iLength = params.size();
        if (iLength > 0 && params[0].GetType() == VT_object)
        {
-               JSObject pObj = (JSObject )params[0];
+               JSObject pObj = params[0].ToV8Object();
                v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate,pObj,L"cQuestion");
-               swQuestion = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).operator CFX_WideString();
+               swQuestion = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).ToCFXWideString();
 
                pValue = JS_GetObjectElement(isolate,pObj,L"cTitle");
-               swTitle = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).operator CFX_WideString();
+               swTitle = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).ToCFXWideString();
 
                pValue = JS_GetObjectElement(isolate,pObj,L"cDefault");
-               swDefault = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).operator CFX_WideString();
+               swDefault = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).ToCFXWideString();
 
                pValue = JS_GetObjectElement(isolate,pObj,L"cLabel");
-               swLabel = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).operator CFX_WideString();
+               swLabel = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).ToCFXWideString();
 
                pValue = JS_GetObjectElement(isolate,pObj,L"bPassword");
-               bPassWord = (bool)CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue));
+               bPassWord = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).ToBool();
        }
        else
        {
                switch(iLength)
                {
                case 5:
-                       swLabel = params[4];
+                       swLabel = params[4].ToCFXWideString();
                        // FALLTHROUGH
                case 4:
-                       bPassWord = params[3];
+                       bPassWord = params[3].ToBool();
                        // FALLTHROUGH
                case 3:
-                       swDefault = params[2];
+                       swDefault = params[2].ToCFXWideString();
                        // FALLTHROUGH
                case 2:
-                       swTitle = params[1];
+                       swTitle = params[1].ToCFXWideString();
                        // FALLTHROUGH
                case 1:
-                       swQuestion = params[0];
+                       swQuestion = params[0].ToCFXWideString();
                        // FALLTHROUGH
                default:
                        break;
index a338624..ddf6ed4 100644 (file)
@@ -104,9 +104,8 @@ void color::ConvertArrayToPWLColor(CJS_Array& array, CPWL_Color& color)
        if (nArrayLen < 1) return;
 
        CJS_Value value(array.GetIsolate());
-       CFX_ByteString sSpace;
        array.GetElement(0, value);
-       sSpace = value;
+       CFX_ByteString sSpace = value.ToCFXByteString();
 
        double d1 = 0;
        double d2 = 0;
@@ -116,25 +115,25 @@ void color::ConvertArrayToPWLColor(CJS_Array& array, CPWL_Color& color)
        if (nArrayLen > 1)
        {
                array.GetElement(1, value);
-               d1 = value;
+               d1 = value.ToDouble();
        }
 
        if (nArrayLen > 2)
        {
                array.GetElement(2, value);
-               d2 = value;
+               d2 = value.ToDouble();
        }
 
        if (nArrayLen > 3)
        {
                array.GetElement(3, value);
-               d3 = value;
+               d3 = value.ToDouble();
        }
 
        if (nArrayLen > 4)
        {
                array.GetElement(4, value);
-               d4 = value;
+               d4 = value.ToDouble();
        }
 
        if (sSpace == "T")
@@ -199,10 +198,9 @@ FX_BOOL color::convert(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Valu
        CPWL_Color crSource;
        ConvertArrayToPWLColor(aSource, crSource);
 
-       CFX_ByteString sDestSpace = params[1];
-
+       CFX_ByteString sDestSpace = params[1].ToCFXByteString();
        int nColorType = COLORTYPE_TRANSPARENT;
-       
+
        if (sDestSpace == "T")
        {
                nColorType = COLORTYPE_TRANSPARENT;
index 620b43e..fb57e74 100644 (file)
@@ -352,7 +352,7 @@ FX_BOOL event::value(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
        CFX_WideString & val = pEvent->Value();
        if (vp.IsSetting())
        {
-               val = vp;
+               vp >> val;
        }
        else
        {
index 1a59e25..b778239 100644 (file)
@@ -175,7 +175,7 @@ FX_BOOL global_alternate::DoProperty(IFXJS_Context* cc, FX_LPCWSTR propname, CJS
                        {
                                bool bData;
                                vp >> bData;
-                               return SetGlobalVariables(sPropName, JS_GLOBALDATA_TYPE_BOOLEAN, 0, (bool)vp, "", v8::Handle<v8::Object>(), FALSE);
+                               return SetGlobalVariables(sPropName, JS_GLOBALDATA_TYPE_BOOLEAN, 0, bData, "", v8::Handle<v8::Object>(), FALSE);
                        }
                case VT_string:
                        {
@@ -185,20 +185,9 @@ FX_BOOL global_alternate::DoProperty(IFXJS_Context* cc, FX_LPCWSTR propname, CJS
                        }
                case VT_object:
                        {
-                               JSObject pData = (JSObject)vp;
+                               JSObject pData;
+                               vp >> pData;
                                return SetGlobalVariables(sPropName, JS_GLOBALDATA_TYPE_OBJECT, 0, false, "", pData, FALSE);
-//                             else
-//                             {
-//                                     if (vp.IsArrayObject())
-//                                     {
-//                                             CJS_Array array;
-//                                             vp.ConvertToArray(array);
-//                                             return SetGlobalVariables(sPropName, JS_GLOBALDATA_TYPE_OBJECT, 0, false, "", 
-//                                                     (Dobject*)(Darray*)array, FALSE);
-//                                     }
-//                                     else
-//                                             return FALSE;
-//                             }
                        }
                case VT_null:
                        {
@@ -279,14 +268,14 @@ FX_BOOL global_alternate::setPersistent(IFXJS_Context* cc, const CJS_Parameters&
                return FALSE;
        }
 
-       CFX_ByteString sName = params[0];
+       CFX_ByteString sName = params[0].ToCFXByteString();
 
        js_global_data* pData = NULL;
        if (m_mapGlobal.Lookup(sName, (FX_LPVOID&)pData))
        {
                if (pData && !pData->bDeleted)
                {
-                       pData->bPersistent = (bool)params[1];
+                       pData->bPersistent = params[1].ToBool();
                        return TRUE;
                }
        }
@@ -435,7 +424,7 @@ void global_alternate::ObjectToArray(v8::Handle<v8::Object> pObj, CJS_GlobalVari
                        break;
                case VT_string:
                        {
-                               CFX_ByteString sValue = CJS_Value(isolate, v, VT_string);
+                               CFX_ByteString sValue = CJS_Value(isolate, v, VT_string).ToCFXByteString();
                                CJS_KeyValue* pObjElement = new CJS_KeyValue;
                                pObjElement->nType = JS_GLOBALDATA_TYPE_STRING;
                                pObjElement->sKey = sKey;
index 0ac98dd..6898d0c 100644 (file)
@@ -142,7 +142,7 @@ FX_BOOL util::printf(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value&
        int iSize = params.size();
        if (iSize < 1)
                return FALSE;
-       std::wstring  c_ConvChar((const wchar_t*)(FX_LPCWSTR)params[0].operator CFX_WideString());
+       std::wstring c_ConvChar(params[0].ToCFXWideString().c_str());
        std::vector<std::wstring> c_strConvers;
        int iOffset = 0;
        int iOffend = 0;
@@ -182,13 +182,13 @@ FX_BOOL util::printf(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value&
                switch (ParstDataType(&c_strFormat))
                {
                        case UTIL_INT:
-                               strSegment.Format(c_strFormat.c_str(),(int)params[iIndex]);
+                               strSegment.Format(c_strFormat.c_str(), params[iIndex].ToInt());
                                break;
                        case UTIL_DOUBLE:
-                               strSegment.Format(c_strFormat.c_str(),(double)params[iIndex]);
+                               strSegment.Format(c_strFormat.c_str(), params[iIndex].ToDouble());
                                break;
                        case UTIL_STRING:
-                               strSegment.Format(c_strFormat.c_str(),(FX_LPCWSTR)params[iIndex].operator CFX_WideString());
+                               strSegment.Format(c_strFormat.c_str(), params[iIndex].ToCFXWideString().c_str());
                                break;
                        default:
                                strSegment.Format(L"%S", c_strFormat.c_str());
@@ -229,8 +229,7 @@ FX_BOOL util::printd(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value&
 
        if (p1.GetType() == VT_number)
        {
-               int nFormat = p1;
-
+               int nFormat = p1.ToInt();
                CFX_WideString swResult;
 
                switch (nFormat)
@@ -271,13 +270,12 @@ FX_BOOL util::printd(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value&
        }
        else if (p1.GetType() == VT_string)
        {
-               std::basic_string<wchar_t> cFormat = (FX_LPCWSTR)p1.operator CFX_WideString();          
+               std::basic_string<wchar_t> cFormat = p1.ToCFXWideString().c_str();
 
                bool bXFAPicture = false;
                if (iSize > 2)
                {
-                       //CJS_Value value;
-                       bXFAPicture = params[2];
+                       bXFAPicture = params[2].ToBool();
                }
 
                if (bXFAPicture)
@@ -467,8 +465,8 @@ FX_BOOL util::printx(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value&
        int iSize = params.size();
        if (iSize<2)
                return FALSE;
-       CFX_WideString sFormat = params[0].operator CFX_WideString();
-       CFX_WideString sSource = params[1].operator CFX_WideString();
+       CFX_WideString sFormat = params[0].ToCFXWideString();
+       CFX_WideString sSource = params[1].ToCFXWideString();
        std::string cFormat = CFX_ByteString::FromUnicode(sFormat).c_str();
        std::string cSource = CFX_ByteString::FromUnicode(sSource).c_str();
        std::string cDest;
@@ -582,9 +580,9 @@ FX_BOOL util::scand(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value&
        int iSize = params.size();
        if (iSize < 2)
                return FALSE;
-       CFX_WideString sFormat = params[0].operator CFX_WideString();
-       CFX_WideString sDate = params[1].operator CFX_WideString();
 
+       CFX_WideString sFormat = params[0].ToCFXWideString();
+       CFX_WideString sDate = params[1].ToCFXWideString();
        double dDate = JS_GetDateTime();
        if (sDate.GetLength() > 0)
        {
@@ -638,7 +636,7 @@ FX_BOOL util::byteToChar(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Va
        int iSize = params.size();
        if (iSize == 0)
                return FALSE;
-       int nByte = (int)params[0];
+       int nByte = params[0].ToInt();
        unsigned char cByte = (unsigned char)nByte;
        CFX_WideString csValue;
        csValue.Format(L"%c", cByte);