Chromium Code Reviews| Index: fpdfsdk/src/javascript/Field.cpp |
| diff --git a/fpdfsdk/src/javascript/Field.cpp b/fpdfsdk/src/javascript/Field.cpp |
| index 021a3a6a7b4506741689374defd3410f09617213..9732f1bfde569748a973a7858216f87af5f2ffe3 100644 |
| --- a/fpdfsdk/src/javascript/Field.cpp |
| +++ b/fpdfsdk/src/javascript/Field.cpp |
| @@ -114,7 +114,7 @@ void CJS_Field::InitInstance(IJS_Runtime* pIRuntime) { |
| CJS_Runtime* pRuntime = static_cast<CJS_Runtime*>(pIRuntime); |
| Field* pField = static_cast<Field*>(GetEmbedObject()); |
| pField->SetIsolate(pRuntime->GetIsolate()); |
| -}; |
| +} |
|
Tom Sepez
2015/11/09 21:25:32
Good catch. This code is littered with stray semi
Lei Zhang
2015/11/09 22:45:28
Acknowledged.
|
| Field::Field(CJS_Object* pJSObject) |
| : CJS_EmbedObj(pJSObject), |
| @@ -193,30 +193,22 @@ FX_BOOL Field::AttachField(Document* pDocument, |
| return TRUE; |
| } |
| -void Field::GetFormFields(CPDFSDK_Document* pDocument, |
| - const CFX_WideString& csFieldName, |
| - CFX_PtrArray& FieldArray) { |
| - ASSERT(pDocument != NULL); |
| - |
| +std::vector<CPDF_FormField*> Field::GetFormFields( |
| + CPDFSDK_Document* pDocument, |
| + const CFX_WideString& csFieldName) { |
| + std::vector<CPDF_FormField*> fields; |
| CPDFSDK_InterForm* pReaderInterForm = pDocument->GetInterForm(); |
| - ASSERT(pReaderInterForm != NULL); |
| - |
| CPDF_InterForm* pInterForm = pReaderInterForm->GetInterForm(); |
| - ASSERT(pInterForm != NULL); |
| - |
| - ASSERT(FieldArray.GetSize() == 0); |
| - |
| - for (int i = 0, sz = pInterForm->CountFields(csFieldName); i < sz; i++) { |
| + for (int i = 0, sz = pInterForm->CountFields(csFieldName); i < sz; ++i) { |
| if (CPDF_FormField* pFormField = pInterForm->GetField(i, csFieldName)) |
| - FieldArray.Add((void*)pFormField); |
| + fields.push_back(pFormField); |
| } |
| + return fields; |
| } |
| -void Field::GetFormFields(const CFX_WideString& csFieldName, |
| - CFX_PtrArray& FieldArray) { |
| - ASSERT(m_pDocument != NULL); |
| - |
| - Field::GetFormFields(m_pDocument, csFieldName, FieldArray); |
| +std::vector<CPDF_FormField*> Field::GetFormFields( |
| + const CFX_WideString& csFieldName) const { |
| + return Field::GetFormFields(m_pDocument, csFieldName); |
| } |
| void Field::UpdateFormField(CPDFSDK_Document* pDocument, |
| @@ -230,43 +222,28 @@ void Field::UpdateFormField(CPDFSDK_Document* pDocument, |
| CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(); |
| ASSERT(pInterForm != NULL); |
|
Tom Sepez
2015/11/09 21:25:32
nit: segv on 226 otherwise.
Lei Zhang
2015/11/09 22:45:28
Done.
|
| - CFX_PtrArray widgets; |
| - pInterForm->GetWidgets(pFormField, widgets); |
| + std::vector<CPDFSDK_Widget*> widgets; |
| + pInterForm->GetWidgets(pFormField, &widgets); |
| if (bResetAP) { |
| int nFieldType = pFormField->GetFieldType(); |
| if (nFieldType == FIELDTYPE_COMBOBOX || nFieldType == FIELDTYPE_TEXTFIELD) { |
| - for (int i = 0, sz = widgets.GetSize(); i < sz; i++) { |
| - CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widgets.GetAt(i); |
| - ASSERT(pWidget != NULL); |
| - |
| - FX_BOOL bFormated = FALSE; |
| - CFX_WideString sValue = pWidget->OnFormat(bFormated); |
| - if (bFormated) |
| - pWidget->ResetAppearance(sValue.c_str(), FALSE); |
| - else |
| - pWidget->ResetAppearance(NULL, FALSE); |
| + for (CPDFSDK_Widget* pWidget : widgets) { |
| + FX_BOOL bFormatted = FALSE; |
| + CFX_WideString sValue = pWidget->OnFormat(bFormatted); |
| + pWidget->ResetAppearance(bFormatted ? sValue.c_str() : nullptr, FALSE); |
| } |
| } else { |
| - for (int i = 0, sz = widgets.GetSize(); i < sz; i++) { |
| - CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widgets.GetAt(i); |
| - ASSERT(pWidget != NULL); |
| - |
| - pWidget->ResetAppearance(NULL, FALSE); |
| + for (CPDFSDK_Widget* pWidget : widgets) { |
| + pWidget->ResetAppearance(nullptr, FALSE); |
| } |
| } |
| } |
| if (bRefresh) { |
| - for (int i = 0, sz = widgets.GetSize(); i < sz; i++) { |
| - CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widgets.GetAt(i); |
| - ASSERT(pWidget != NULL); |
| - |
| - CPDFSDK_InterForm* pInterForm = pWidget->GetInterForm(); |
| - CPDFSDK_Document* pDoc = pInterForm->GetDocument(); |
| - // CReader_Page* pPage = pWidget->GetPage(); |
| - ASSERT(pDoc != NULL); |
| - pDoc->UpdateAllViews(NULL, pWidget); |
| + for (CPDFSDK_Widget* pWidget : widgets) { |
| + CPDFSDK_Document* pDoc = pWidget->GetInterForm()->GetDocument(); |
| + pDoc->UpdateAllViews(nullptr, pWidget); |
| } |
| } |
| @@ -371,14 +348,11 @@ FX_BOOL Field::alignment(IJS_Context* cc, |
| alignStr); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) |
| return FALSE; |
| @@ -430,12 +404,11 @@ FX_BOOL Field::borderStyle(IJS_Context* cc, |
| strType); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (!pFormField) |
| return FALSE; |
| @@ -492,18 +465,14 @@ void Field::SetBorderStyle(CPDFSDK_Document* pDocument, |
| else |
| return; |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(pDocument, swFieldName, FieldArray); |
| - |
| - for (int i = 0, isz = FieldArray.GetSize(); i < isz; i++) { |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); |
| - ASSERT(pFormField != NULL); |
| - |
| + std::vector<CPDF_FormField*> FieldArray = |
| + GetFormFields(pDocument, swFieldName); |
| + for (CPDF_FormField* pFormField : FieldArray) { |
| if (nControlIndex < 0) { |
| FX_BOOL bSet = FALSE; |
| - for (int j = 0, jsz = pFormField->CountControls(); j < jsz; j++) { |
| + for (int i = 0, sz = pFormField->CountControls(); i < sz; ++i) { |
| if (CPDFSDK_Widget* pWidget = |
| - GetWidget(pDocument, pFormField->GetControl(j))) { |
| + GetWidget(pDocument, pFormField->GetControl(i))) { |
| if (pWidget->GetBorderStyle() != nBorderStyle) { |
| pWidget->SetBorderStyle(nBorderStyle); |
| bSet = TRUE; |
| @@ -547,14 +516,11 @@ FX_BOOL Field::buttonAlignX(IJS_Context* cc, |
| nVP); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) |
| return FALSE; |
| @@ -599,14 +565,11 @@ FX_BOOL Field::buttonAlignY(IJS_Context* cc, |
| nVP); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
|
Tom Sepez
2015/11/09 21:25:32
I think I've seen this pattern somewhere before.
Lei Zhang
2015/11/09 22:45:29
Me too. Maybe another day though.
|
| if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) |
| return FALSE; |
| @@ -651,14 +614,11 @@ FX_BOOL Field::buttonFitBounds(IJS_Context* cc, |
| bVP); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) |
| return FALSE; |
| @@ -699,14 +659,11 @@ FX_BOOL Field::buttonPosition(IJS_Context* cc, |
| nVP); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) |
| return FALSE; |
| @@ -745,14 +702,11 @@ FX_BOOL Field::buttonScaleHow(IJS_Context* cc, |
| nVP); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) |
| return FALSE; |
| @@ -796,14 +750,11 @@ FX_BOOL Field::buttonScaleWhen(IJS_Context* cc, |
| nVP); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) |
| return FALSE; |
| @@ -858,17 +809,15 @@ FX_BOOL Field::calcOrderIndex(IJS_Context* cc, |
| nVP); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX && |
| - pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) |
| + pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) { |
| return FALSE; |
| + } |
| CPDFSDK_InterForm* pRDInterForm = m_pDocument->GetInterForm(); |
| ASSERT(pRDInterForm != NULL); |
| @@ -907,14 +856,11 @@ FX_BOOL Field::charLimit(IJS_Context* cc, |
| Field::SetCharLimit(m_pDocument, m_FieldName, m_nFormControlIndex, nVP); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) |
| return FALSE; |
| @@ -948,14 +894,11 @@ FX_BOOL Field::comb(IJS_Context* cc, |
| Field::SetComb(m_pDocument, m_FieldName, m_nFormControlIndex, bVP); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) |
| return FALSE; |
| @@ -994,17 +937,15 @@ FX_BOOL Field::commitOnSelChange(IJS_Context* cc, |
| bVP); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX && |
| - pFormField->GetFieldType() != FIELDTYPE_LISTBOX) |
| + pFormField->GetFieldType() != FIELDTYPE_LISTBOX) { |
| return FALSE; |
| + } |
| if (pFormField->GetFieldFlags() & FIELDFLAG_COMMITONSELCHANGE) |
| vp << true; |
| @@ -1056,29 +997,28 @@ FX_BOOL Field::currentValueIndices(IJS_Context* cc, |
| m_nFormControlIndex, array); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX && |
| - pFormField->GetFieldType() != FIELDTYPE_LISTBOX) |
| + pFormField->GetFieldType() != FIELDTYPE_LISTBOX) { |
| return FALSE; |
| + } |
| - if (pFormField->CountSelectedItems() == 1) |
| + if (pFormField->CountSelectedItems() == 1) { |
| vp << pFormField->GetSelectedIndex(0); |
| - else if (pFormField->CountSelectedItems() > 1) { |
| + } else if (pFormField->CountSelectedItems() > 1) { |
| CJS_Array SelArray(pRuntime); |
| for (int i = 0, sz = pFormField->CountSelectedItems(); i < sz; i++) { |
| SelArray.SetElement( |
| i, CJS_Value(pRuntime, pFormField->GetSelectedIndex(i))); |
| } |
| vp << SelArray; |
| - } else |
| + } else { |
| vp << -1; |
| + } |
| } |
| return TRUE; |
| @@ -1090,13 +1030,9 @@ void Field::SetCurrentValueIndices(CPDFSDK_Document* pDocument, |
| const CFX_DWordArray& array) { |
| ASSERT(pDocument != NULL); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(pDocument, swFieldName, FieldArray); |
| - |
| - for (int i = 0, isz = FieldArray.GetSize(); i < isz; i++) { |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); |
| - ASSERT(pFormField != NULL); |
| - |
| + std::vector<CPDF_FormField*> FieldArray = |
| + GetFormFields(pDocument, swFieldName); |
| + for (CPDF_FormField* pFormField : FieldArray) { |
| int nFieldType = pFormField->GetFieldType(); |
| if (nFieldType == FIELDTYPE_COMBOBOX || nFieldType == FIELDTYPE_LISTBOX) { |
| FX_DWORD dwFieldFlags = pFormField->GetFieldFlags(); |
| @@ -1120,18 +1056,7 @@ void Field::SetCurrentValueIndices(CPDFSDK_Document* pDocument, |
| FX_BOOL Field::defaultStyle(IJS_Context* cc, |
| CJS_PropValue& vp, |
| CFX_WideString& sError) { |
| - // MQG sError = JSGetStringFromID(IDS_STRING_NOTSUPPORT); |
| return FALSE; |
| - |
| - if (vp.IsSetting()) { |
| - if (!m_bCanSet) |
| - return FALSE; |
| - |
| - ; |
| - } else { |
| - ; |
| - } |
| - return TRUE; |
| } |
| void Field::SetDefaultStyle(CPDFSDK_Document* pDocument, |
| @@ -1159,17 +1084,15 @@ FX_BOOL Field::defaultValue(IJS_Context* cc, |
| WideStr); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() == FIELDTYPE_PUSHBUTTON || |
| - pFormField->GetFieldType() == FIELDTYPE_SIGNATURE) |
| + pFormField->GetFieldType() == FIELDTYPE_SIGNATURE) { |
| return FALSE; |
| + } |
| vp << pFormField->GetDefaultValue(); |
| } |
| @@ -1201,14 +1124,11 @@ FX_BOOL Field::doNotScroll(IJS_Context* cc, |
| Field::SetDoNotScroll(m_pDocument, m_FieldName, m_nFormControlIndex, bVP); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) |
| return FALSE; |
| @@ -1240,17 +1160,15 @@ FX_BOOL Field::doNotSpellCheck(IJS_Context* cc, |
| bool bVP; |
| vp >> bVP; |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD && |
| - pFormField->GetFieldType() != FIELDTYPE_COMBOBOX) |
| + pFormField->GetFieldType() != FIELDTYPE_COMBOBOX) { |
| return FALSE; |
| + } |
| if (pFormField->GetFieldFlags() & FIELDFLAG_DONOTSPELLCHECK) |
| vp << true; |
| @@ -1305,18 +1223,14 @@ FX_BOOL Field::display(IJS_Context* cc, |
| Field::SetDisplay(m_pDocument, m_FieldName, m_nFormControlIndex, nVP); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| + ASSERT(pFormField); |
| CPDFSDK_InterForm* pInterForm = |
| (CPDFSDK_InterForm*)m_pDocument->GetInterForm(); |
| - ASSERT(pInterForm != NULL); |
| - |
| CPDFSDK_Widget* pWidget = |
| pInterForm->GetWidget(GetSmartFieldControl(pFormField)); |
| if (!pWidget) |
| @@ -1351,17 +1265,13 @@ void Field::SetDisplay(CPDFSDK_Document* pDocument, |
| CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(); |
| ASSERT(pInterForm != NULL); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(pDocument, swFieldName, FieldArray); |
| - |
| - for (int i = 0, isz = FieldArray.GetSize(); i < isz; i++) { |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); |
| - ASSERT(pFormField != NULL); |
| - |
| + std::vector<CPDF_FormField*> FieldArray = |
| + GetFormFields(pDocument, swFieldName); |
| + for (CPDF_FormField* pFormField : FieldArray) { |
| if (nControlIndex < 0) { |
| FX_BOOL bSet = FALSE; |
| - for (int j = 0, jsz = pFormField->CountControls(); j < jsz; j++) { |
| - CPDF_FormControl* pFormControl = pFormField->GetControl(j); |
| + for (int i = 0, sz = pFormField->CountControls(); i < sz; ++i) { |
| + CPDF_FormControl* pFormControl = pFormField->GetControl(i); |
| ASSERT(pFormControl != NULL); |
| if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl)) { |
| @@ -1460,14 +1370,11 @@ FX_BOOL Field::editable(IJS_Context* cc, |
| bool bVP; |
| vp >> bVP; |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX) |
| return FALSE; |
| @@ -1483,15 +1390,15 @@ FX_BOOL Field::editable(IJS_Context* cc, |
| FX_BOOL Field::exportValues(IJS_Context* cc, |
| CJS_PropValue& vp, |
| CFX_WideString& sError) { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_CHECKBOX && |
| - pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON) |
| + pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON) { |
| return FALSE; |
| + } |
| if (vp.IsSetting()) { |
| if (!m_bCanSet) |
| @@ -1530,12 +1437,11 @@ FX_BOOL Field::fileSelect(IJS_Context* cc, |
| CFX_WideString& sError) { |
| ASSERT(m_pDocument != NULL); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) |
| return FALSE; |
| @@ -1559,9 +1465,8 @@ FX_BOOL Field::fillColor(IJS_Context* cc, |
| CFX_WideString& sError) { |
| CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); |
| CJS_Array crArray(pRuntime); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| if (vp.IsSetting()) { |
| @@ -1581,9 +1486,8 @@ FX_BOOL Field::fillColor(IJS_Context* cc, |
| Field::SetFillColor(m_pDocument, m_FieldName, m_nFormControlIndex, color); |
| } |
| } else { |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| + ASSERT(pFormField); |
| CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); |
| if (!pFormControl) |
| return FALSE; |
| @@ -1608,8 +1512,9 @@ FX_BOOL Field::fillColor(IJS_Context* cc, |
| pFormControl->GetOriginalBackgroundColor(1), |
| pFormControl->GetOriginalBackgroundColor(2), |
| pFormControl->GetOriginalBackgroundColor(3)); |
| - } else |
| + } else { |
| return FALSE; |
| + } |
| color::ConvertPWLColorToArray(color, crArray); |
| vp << crArray; |
| @@ -1643,18 +1548,14 @@ FX_BOOL Field::hidden(IJS_Context* cc, |
| Field::SetHidden(m_pDocument, m_FieldName, m_nFormControlIndex, bVP); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| + ASSERT(pFormField); |
| CPDFSDK_InterForm* pInterForm = |
| (CPDFSDK_InterForm*)m_pDocument->GetInterForm(); |
| - ASSERT(pInterForm != NULL); |
| - |
| CPDFSDK_Widget* pWidget = |
| pInterForm->GetWidget(GetSmartFieldControl(pFormField)); |
| if (!pWidget) |
| @@ -1662,9 +1563,9 @@ FX_BOOL Field::hidden(IJS_Context* cc, |
| FX_DWORD dwFlags = pWidget->GetFlags(); |
| - if (ANNOTFLAG_INVISIBLE & dwFlags || ANNOTFLAG_HIDDEN & dwFlags) { |
| + if (ANNOTFLAG_INVISIBLE & dwFlags || ANNOTFLAG_HIDDEN & dwFlags) |
| vp << true; |
| - } else |
| + else |
| vp << false; |
| } |
| @@ -1680,18 +1581,14 @@ void Field::SetHidden(CPDFSDK_Document* pDocument, |
| CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(); |
| ASSERT(pInterForm != NULL); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(pDocument, swFieldName, FieldArray); |
| - |
| - for (int i = 0, isz = FieldArray.GetSize(); i < isz; i++) { |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); |
| - ASSERT(pFormField != NULL); |
| - |
| + std::vector<CPDF_FormField*> FieldArray = |
| + GetFormFields(pDocument, swFieldName); |
| + for (CPDF_FormField* pFormField : FieldArray) { |
| if (nControlIndex < 0) { |
| FX_BOOL bSet = FALSE; |
| - for (int j = 0, jsz = pFormField->CountControls(); j < jsz; j++) { |
| + for (int i = 0, sz = pFormField->CountControls(); i < sz; ++i) { |
| if (CPDFSDK_Widget* pWidget = |
| - pInterForm->GetWidget(pFormField->GetControl(j))) { |
| + pInterForm->GetWidget(pFormField->GetControl(i))) { |
| FX_DWORD dwFlags = pWidget->GetFlags(); |
| if (b) { |
| @@ -1762,14 +1659,11 @@ FX_BOOL Field::highlight(IJS_Context* cc, |
| strMode); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) |
| return FALSE; |
| @@ -1826,14 +1720,12 @@ FX_BOOL Field::lineWidth(IJS_Context* cc, |
| iWidth); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| + ASSERT(pFormField); |
| CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); |
| if (!pFormControl) |
| return FALSE; |
| @@ -1864,17 +1756,13 @@ void Field::SetLineWidth(CPDFSDK_Document* pDocument, |
| CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(); |
| ASSERT(pInterForm != NULL); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(pDocument, swFieldName, FieldArray); |
| - |
| - for (int i = 0, isz = FieldArray.GetSize(); i < isz; i++) { |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); |
| - ASSERT(pFormField != NULL); |
| - |
| + std::vector<CPDF_FormField*> FieldArray = |
| + GetFormFields(pDocument, swFieldName); |
| + for (CPDF_FormField* pFormField : FieldArray) { |
| if (nControlIndex < 0) { |
| FX_BOOL bSet = FALSE; |
| - for (int j = 0, jsz = pFormField->CountControls(); j < jsz; j++) { |
| - CPDF_FormControl* pFormControl = pFormField->GetControl(j); |
| + for (int i = 0, sz = pFormField->CountControls(); i < sz; ++i) { |
| + CPDF_FormControl* pFormControl = pFormField->GetControl(i); |
| ASSERT(pFormControl != NULL); |
| if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl)) { |
| @@ -1920,14 +1808,11 @@ FX_BOOL Field::multiline(IJS_Context* cc, |
| Field::SetMultiline(m_pDocument, m_FieldName, m_nFormControlIndex, bVP); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) |
| return FALSE; |
| @@ -1966,14 +1851,11 @@ FX_BOOL Field::multipleSelection(IJS_Context* cc, |
| bVP); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_LISTBOX) |
| return FALSE; |
| @@ -1999,9 +1881,8 @@ FX_BOOL Field::name(IJS_Context* cc, |
| if (!vp.IsGetting()) |
| return FALSE; |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| vp << m_FieldName; |
| @@ -2015,15 +1896,15 @@ FX_BOOL Field::numItems(IJS_Context* cc, |
| if (!vp.IsGetting()) |
| return FALSE; |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX && |
| - pFormField->GetFieldType() != FIELDTYPE_LISTBOX) |
| + pFormField->GetFieldType() != FIELDTYPE_LISTBOX) { |
| return FALSE; |
| + } |
| vp << (int32_t)pFormField->CountOptions(); |
| return TRUE; |
| @@ -2035,26 +1916,24 @@ FX_BOOL Field::page(IJS_Context* cc, |
| if (!vp.IsGetting()) |
| return FALSE; |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (!pFormField) |
| return FALSE; |
| - CFX_PtrArray widgetArray; |
| - CPDFSDK_InterForm* pInterForm = |
| - (CPDFSDK_InterForm*)m_pDocument->GetInterForm(); |
| - pInterForm->GetWidgets(pFormField, widgetArray); |
| + std::vector<CPDFSDK_Widget*> widgets; |
| + m_pDocument->GetInterForm()->GetWidgets(pFormField, &widgets); |
| - if (widgetArray.GetSize() > 0) { |
| + if (widgets.empty()) { |
| + vp << (int32_t)-1; |
| + } else { |
|
Tom Sepez
2015/11/09 21:25:32
nit: else considered harmful? Maybe return TRUE.
Lei Zhang
2015/11/09 22:45:28
Done.
|
| CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); |
| CJS_Array PageArray(pRuntime); |
| - for (int i = 0, sz = widgetArray.GetSize(); i < sz; i++) { |
| - CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widgetArray.GetAt(i); |
| - CPDFSDK_PageView* pPageView = pWidget->GetPageView(); |
| + for (size_t i = 0; i < widgets.size(); ++i) { |
| + CPDFSDK_PageView* pPageView = widgets[i]->GetPageView(); |
| if (!pPageView) |
| return FALSE; |
| @@ -2063,8 +1942,6 @@ FX_BOOL Field::page(IJS_Context* cc, |
| } |
| vp << PageArray; |
| - } else { |
| - vp << (int32_t)-1; |
| } |
| return TRUE; |
| @@ -2088,14 +1965,11 @@ FX_BOOL Field::password(IJS_Context* cc, |
| Field::SetPassword(m_pDocument, m_FieldName, m_nFormControlIndex, bVP); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) |
| return FALSE; |
| @@ -2124,9 +1998,8 @@ FX_BOOL Field::print(IJS_Context* cc, |
| (CPDFSDK_InterForm*)m_pDocument->GetInterForm(); |
| ASSERT(pInterForm != NULL); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| if (vp.IsSetting()) { |
| @@ -2136,15 +2009,12 @@ FX_BOOL Field::print(IJS_Context* cc, |
| bool bVP; |
| vp >> bVP; |
| - for (int i = 0, isz = FieldArray.GetSize(); i < isz; i++) { |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); |
| - ASSERT(pFormField != NULL); |
| - |
| + for (CPDF_FormField* pFormField : FieldArray) { |
| if (m_nFormControlIndex < 0) { |
| FX_BOOL bSet = FALSE; |
| - for (int j = 0, jsz = pFormField->CountControls(); j < jsz; j++) { |
| + for (int i = 0, sz = pFormField->CountControls(); i < sz; ++i) { |
| if (CPDFSDK_Widget* pWidget = |
| - pInterForm->GetWidget(pFormField->GetControl(j))) { |
| + pInterForm->GetWidget(pFormField->GetControl(i))) { |
| FX_DWORD dwFlags = pWidget->GetFlags(); |
| if (bVP) |
| dwFlags |= ANNOTFLAG_PRINT; |
| @@ -2183,9 +2053,7 @@ FX_BOOL Field::print(IJS_Context* cc, |
| } |
| } |
| } else { |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| CPDFSDK_Widget* pWidget = |
| pInterForm->GetWidget(GetSmartFieldControl(pFormField)); |
| if (!pWidget) |
| @@ -2205,9 +2073,8 @@ FX_BOOL Field::radiosInUnison(IJS_Context* cc, |
| CFX_WideString& sError) { |
| ASSERT(m_pDocument != NULL); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| if (vp.IsSetting()) { |
| @@ -2218,9 +2085,7 @@ FX_BOOL Field::radiosInUnison(IJS_Context* cc, |
| vp >> bVP; |
| } else { |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON) |
| return FALSE; |
| @@ -2238,9 +2103,8 @@ FX_BOOL Field::readonly(IJS_Context* cc, |
| CFX_WideString& sError) { |
| ASSERT(m_pDocument != NULL); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| if (vp.IsSetting()) { |
| @@ -2251,9 +2115,7 @@ FX_BOOL Field::readonly(IJS_Context* cc, |
| vp >> bVP; |
| } else { |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldFlags() & FIELDFLAG_READONLY) |
| vp << true; |
| else |
| @@ -2298,12 +2160,11 @@ FX_BOOL Field::rect(IJS_Context* cc, |
| Field::SetRect(m_pDocument, m_FieldName, m_nFormControlIndex, crRect); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| CPDFSDK_InterForm* pInterForm = |
| (CPDFSDK_InterForm*)m_pDocument->GetInterForm(); |
| CPDFSDK_Widget* pWidget = |
| @@ -2336,16 +2197,12 @@ void Field::SetRect(CPDFSDK_Document* pDocument, |
| CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(); |
| ASSERT(pInterForm != NULL); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(pDocument, swFieldName, FieldArray); |
| - |
| - for (int i = 0, isz = FieldArray.GetSize(); i < isz; i++) { |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); |
| - ASSERT(pFormField != NULL); |
| - |
| + std::vector<CPDF_FormField*> FieldArray = |
| + GetFormFields(pDocument, swFieldName); |
| + for (CPDF_FormField* pFormField : FieldArray) { |
| if (nControlIndex < 0) { |
| FX_BOOL bSet = FALSE; |
| - for (int i = 0, sz = pFormField->CountControls(); i < sz; i++) { |
| + for (int i = 0, sz = pFormField->CountControls(); i < sz; ++i) { |
| CPDF_FormControl* pFormControl = pFormField->GetControl(i); |
| ASSERT(pFormControl != NULL); |
| @@ -2353,11 +2210,6 @@ void Field::SetRect(CPDFSDK_Document* pDocument, |
| CPDF_Rect crRect = rect; |
| CPDF_Page* pPDFPage = pWidget->GetPDFPage(); |
| - ASSERT(pPDFPage != NULL); |
| - |
| - // CPDF_Page* pPDFPage = pPage->GetPage(); |
| - // ASSERT(pPDFPage != NULL); |
| - |
| crRect.Intersect(pPDFPage->GetPageBBox()); |
| if (!crRect.IsEmpty()) { |
| @@ -2408,9 +2260,8 @@ FX_BOOL Field::required(IJS_Context* cc, |
| CFX_WideString& sError) { |
| ASSERT(m_pDocument != NULL); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| if (vp.IsSetting()) { |
| @@ -2421,9 +2272,7 @@ FX_BOOL Field::required(IJS_Context* cc, |
| vp >> bVP; |
| } else { |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() == FIELDTYPE_PUSHBUTTON) |
| return FALSE; |
| @@ -2454,14 +2303,11 @@ FX_BOOL Field::richText(IJS_Context* cc, |
| Field::SetRichText(m_pDocument, m_FieldName, m_nFormControlIndex, bVP); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) |
| return FALSE; |
| @@ -2485,14 +2331,6 @@ FX_BOOL Field::richValue(IJS_Context* cc, |
| CJS_PropValue& vp, |
| CFX_WideString& sError) { |
| return TRUE; |
| - if (vp.IsSetting()) { |
| - if (!m_bCanSet) |
| - return FALSE; |
| - ; |
| - } else { |
| - ; |
| - } |
| - return TRUE; |
| } |
| void Field::SetRichValue(CPDFSDK_Document* pDocument, |
| @@ -2519,14 +2357,11 @@ FX_BOOL Field::rotation(IJS_Context* cc, |
| Field::SetRotation(m_pDocument, m_FieldName, m_nFormControlIndex, nVP); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); |
| if (!pFormControl) |
| return FALSE; |
| @@ -2569,12 +2404,11 @@ FX_BOOL Field::strokeColor(IJS_Context* cc, |
| color); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); |
| if (!pFormControl) |
| return FALSE; |
| @@ -2598,8 +2432,9 @@ FX_BOOL Field::strokeColor(IJS_Context* cc, |
| pFormControl->GetOriginalBorderColor(1), |
| pFormControl->GetOriginalBorderColor(2), |
| pFormControl->GetOriginalBorderColor(3)); |
| - } else |
| + } else { |
| return FALSE; |
| + } |
| color::ConvertPWLColorToArray(color, crArray); |
| vp << crArray; |
| @@ -2633,17 +2468,15 @@ FX_BOOL Field::style(IJS_Context* cc, |
| csBCaption); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON && |
| - pFormField->GetFieldType() != FIELDTYPE_CHECKBOX) |
| + pFormField->GetFieldType() != FIELDTYPE_CHECKBOX) { |
| return FALSE; |
| + } |
| CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); |
| if (!pFormControl) |
| @@ -2715,12 +2548,11 @@ FX_BOOL Field::textColor(IJS_Context* cc, |
| Field::SetTextColor(m_pDocument, m_FieldName, m_nFormControlIndex, color); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); |
| if (!pFormControl) |
| return FALSE; |
| @@ -2773,14 +2605,12 @@ FX_BOOL Field::textFont(IJS_Context* cc, |
| csFontName); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| + ASSERT(pFormField); |
| CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); |
| if (!pFormControl) |
| return FALSE; |
| @@ -2795,8 +2625,9 @@ FX_BOOL Field::textFont(IJS_Context* cc, |
| return FALSE; |
| vp << pFont->GetBaseFont(); |
| - } else |
| + } else { |
| return FALSE; |
| + } |
| } |
| return TRUE; |
| @@ -2827,14 +2658,12 @@ FX_BOOL Field::textSize(IJS_Context* cc, |
| Field::SetTextSize(m_pDocument, m_FieldName, m_nFormControlIndex, nVP); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| + ASSERT(pFormField); |
| CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); |
| if (!pFormControl) |
| return FALSE; |
| @@ -2867,14 +2696,11 @@ FX_BOOL Field::type(IJS_Context* cc, |
| if (!vp.IsGetting()) |
| return FALSE; |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| switch (pFormField->GetFieldType()) { |
| case FIELDTYPE_UNKNOWN: |
| vp << L"unknown"; |
| @@ -2926,14 +2752,11 @@ FX_BOOL Field::userName(IJS_Context* cc, |
| Field::SetUserName(m_pDocument, m_FieldName, m_nFormControlIndex, swName); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| vp << (CFX_WideString)pFormField->GetAlternateName(); |
| } |
| @@ -2978,12 +2801,11 @@ FX_BOOL Field::value(IJS_Context* cc, |
| Field::SetValue(m_pDocument, m_FieldName, m_nFormControlIndex, strArray); |
| } |
| } else { |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| switch (pFormField->GetFieldType()) { |
| case FIELDTYPE_PUSHBUTTON: |
| return FALSE; |
| @@ -2999,8 +2821,9 @@ FX_BOOL Field::value(IJS_Context* cc, |
| vp << dRet; |
| else |
| vp << dRet; |
| - } else |
| + } else { |
| vp << swValue; |
| + } |
| } break; |
| case FIELDTYPE_LISTBOX: { |
| if (pFormField->CountSelectedItems() > 1) { |
| @@ -3026,32 +2849,33 @@ FX_BOOL Field::value(IJS_Context* cc, |
| vp << dRet; |
| else |
| vp << dRet; |
| - } else |
| + } else { |
| vp << swValue; |
| + } |
| } |
| } break; |
| case FIELDTYPE_CHECKBOX: |
| case FIELDTYPE_RADIOBUTTON: { |
| FX_BOOL bFind = FALSE; |
| for (int i = 0, sz = pFormField->CountControls(); i < sz; i++) { |
| - if (pFormField->GetControl(i)->IsChecked()) { |
| - CFX_WideString swValue = |
| - pFormField->GetControl(i)->GetExportValue(); |
| - double dRet; |
| - FX_BOOL bDot; |
| - if (CJS_PublicMethods::ConvertStringToNumber(swValue.c_str(), dRet, |
| - bDot)) { |
| - if (bDot) |
| - vp << dRet; |
| - else |
| - vp << dRet; |
| - } else |
| - vp << swValue; |
| - |
| - bFind = TRUE; |
| - break; |
| - } else |
| + if (!pFormField->GetControl(i)->IsChecked()) |
| continue; |
| + |
| + CFX_WideString swValue = pFormField->GetControl(i)->GetExportValue(); |
| + double dRet; |
| + FX_BOOL bDot; |
| + if (CJS_PublicMethods::ConvertStringToNumber(swValue.c_str(), dRet, |
| + bDot)) { |
| + if (bDot) |
|
Tom Sepez
2015/11/09 21:25:32
huh?
Lei Zhang
2015/11/09 22:45:28
Huh! (Copy + pasted)
|
| + vp << dRet; |
| + else |
| + vp << dRet; |
| + } else { |
| + vp << swValue; |
| + } |
| + |
| + bFind = TRUE; |
| + break; |
| } |
| if (!bFind) |
| vp << L"Off"; |
| @@ -3074,13 +2898,10 @@ void Field::SetValue(CPDFSDK_Document* pDocument, |
| if (strArray.GetSize() < 1) |
| return; |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(pDocument, swFieldName, FieldArray); |
| - |
| - for (int i = 0, isz = FieldArray.GetSize(); i < isz; i++) { |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); |
| - ASSERT(pFormField != NULL); |
| + std::vector<CPDF_FormField*> FieldArray = |
| + GetFormFields(pDocument, swFieldName); |
| + for (CPDF_FormField* pFormField : FieldArray) { |
| if (pFormField->GetFullName().Compare(swFieldName) != 0) |
| continue; |
| @@ -3136,14 +2957,11 @@ FX_BOOL Field::valueAsString(IJS_Context* cc, |
| if (!vp.IsGetting()) |
| return FALSE; |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() == FIELDTYPE_PUSHBUTTON) |
| return FALSE; |
| @@ -3161,14 +2979,16 @@ FX_BOOL Field::valueAsString(IJS_Context* cc, |
| if (pFormField->GetControl(i)->IsChecked()) { |
| vp << pFormField->GetControl(i)->GetExportValue().c_str(); |
| break; |
| - } else |
| + } else { |
| vp << L"Off"; |
| + } |
| } |
| } else if (pFormField->GetFieldType() == FIELDTYPE_LISTBOX && |
| (pFormField->CountSelectedItems() > 1)) { |
| vp << L""; |
| - } else |
| + } else { |
| vp << pFormField->GetValue().c_str(); |
| + } |
| return TRUE; |
| } |
| @@ -3182,17 +3002,12 @@ FX_BOOL Field::browseForFileToSubmit(IJS_Context* cc, |
| CFX_WideString& sError) { |
| ASSERT(m_pDocument != NULL); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| CPDFDoc_Environment* pApp = m_pDocument->GetEnv(); |
| - ASSERT(pApp != NULL); |
| - |
| if ((pFormField->GetFieldFlags() & FIELDFLAG_FILESELECT) && |
| (pFormField->GetFieldType() == FIELDTYPE_TEXTFIELD)) { |
| CFX_WideString wsFileName = pApp->JS_fieldBrowse(); |
| @@ -3200,10 +3015,9 @@ FX_BOOL Field::browseForFileToSubmit(IJS_Context* cc, |
| pFormField->SetValue(wsFileName); |
| UpdateFormField(m_pDocument, pFormField, TRUE, TRUE, TRUE); |
| } |
| - } else |
| - return FALSE; |
| - |
| - return TRUE; |
| + return TRUE; |
| + } |
| + return FALSE; |
| } |
| FX_BOOL Field::buttonGetCaption(IJS_Context* cc, |
| @@ -3217,14 +3031,11 @@ FX_BOOL Field::buttonGetCaption(IJS_Context* cc, |
| if (iSize >= 1) |
| nface = params[0].ToInt(); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) |
| return FALSE; |
| @@ -3244,8 +3055,6 @@ FX_BOOL Field::buttonGetCaption(IJS_Context* cc, |
| return TRUE; |
| } |
| -//#pragma warning(disable: 4800) |
| - |
| FX_BOOL Field::buttonGetIcon(IJS_Context* cc, |
| const CJS_Parameters& params, |
| CJS_Value& vRet, |
| @@ -3257,12 +3066,11 @@ FX_BOOL Field::buttonGetIcon(IJS_Context* cc, |
| if (iSize >= 1) |
| nface = params[0].ToInt(); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) |
| return FALSE; |
| @@ -3299,44 +3107,6 @@ FX_BOOL Field::buttonImportIcon(IJS_Context* cc, |
| const CJS_Parameters& params, |
| CJS_Value& vRet, |
| CFX_WideString& sError) { |
| -#if 0 |
| - ASSERT(m_pDocument != NULL); |
| - |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName,FieldArray); |
| - if (FieldArray.GetSize() <= 0) return FALSE; |
| - |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - if (!pFormField)return FALSE; |
| - |
| - CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); |
| - ASSERT(pEnv); |
| - |
| - CFX_WideString sIconFileName = pEnv->JS_fieldBrowse(); |
| - if (sIconFileName.IsEmpty()) |
| - { |
| - vRet = 1; |
| - return TRUE; |
| - } |
| - |
| - CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterForm(); |
| - ASSERT(pInterForm != NULL); |
| - |
| - CPDF_Stream* pStream = pInterForm->LoadImageFromFile(sIconFileName); |
| - if (!pStream) |
| - { |
| - vRet = -1; |
| - return TRUE; |
| - } |
| - |
| - CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); |
| - if (!pFormControl)return FALSE; |
| - |
| - pFormControl->SetNormalIcon(pStream); |
| - UpdateFormControl(m_pDocument, pFormControl, TRUE, TRUE, TRUE); |
| - |
| - vRet = 0; |
| -#endif // 0 |
| return TRUE; |
| } |
| @@ -3373,14 +3143,11 @@ FX_BOOL Field::checkThisBox(IJS_Context* cc, |
| if (iSize >= 2) |
| bCheckit = params[1].ToBool(); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (pFormField->GetFieldType() != FIELDTYPE_CHECKBOX && |
| pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON) |
| return FALSE; |
| @@ -3417,14 +3184,11 @@ FX_BOOL Field::defaultIsChecked(IJS_Context* cc, |
| int nWidget = params[0].ToInt(); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (nWidget < 0 || nWidget >= pFormField->CountControls()) { |
| vRet = FALSE; |
| return FALSE; |
| @@ -3432,8 +3196,9 @@ FX_BOOL Field::defaultIsChecked(IJS_Context* cc, |
| if ((pFormField->GetFieldType() == FIELDTYPE_CHECKBOX) || |
| (pFormField->GetFieldType() == FIELDTYPE_RADIOBUTTON)) { |
| vRet = TRUE; |
| - } else |
| + } else { |
|
Tom Sepez
2015/11/09 21:25:32
nit: vRet = (FormField->GetFieldType() == FIELDTYP
Lei Zhang
2015/11/09 22:45:29
Done.
|
| vRet = FALSE; |
| + } |
| return TRUE; |
| } |
| @@ -3458,25 +3223,19 @@ FX_BOOL Field::getArray(IJS_Context* cc, |
| CFX_WideString& sError) { |
| ASSERT(m_pDocument != NULL); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| CGW_ArrayTemplate<CFX_WideString*> swSort; |
| - for (int i = 0, sz = FieldArray.GetSize(); i < sz; i++) { |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); |
| - ASSERT(pFormField != NULL); |
| - |
| + for (CPDF_FormField* pFormField : FieldArray) |
| swSort.Add(new CFX_WideString(pFormField->GetFullName())); |
| - } |
| swSort.Sort(JS_COMPARESTRING); |
| CJS_Context* pContext = (CJS_Context*)cc; |
| - ASSERT(pContext != NULL); |
| CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
| - ASSERT(pRuntime != NULL); |
| + ASSERT(pRuntime); |
| CJS_Array FormFieldArray(pRuntime); |
| for (int j = 0, jsz = swSort.GetSize(); j < jsz; j++) { |
| @@ -3515,14 +3274,11 @@ FX_BOOL Field::getItemAt(IJS_Context* cc, |
| if (iSize >= 2) |
| bExport = params[1].ToBool(); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if ((pFormField->GetFieldType() == FIELDTYPE_LISTBOX) || |
| (pFormField->GetFieldType() == FIELDTYPE_COMBOBOX)) { |
| if (nIdx == -1 || nIdx > pFormField->CountOptions()) |
| @@ -3533,10 +3289,12 @@ FX_BOOL Field::getItemAt(IJS_Context* cc, |
| vRet = pFormField->GetOptionLabel(nIdx).c_str(); |
| else |
| vRet = strval.c_str(); |
| - } else |
| + } else { |
| vRet = pFormField->GetOptionLabel(nIdx).c_str(); |
| - } else |
| + } |
| + } else { |
| return FALSE; |
| + } |
| return TRUE; |
| } |
| @@ -3565,14 +3323,11 @@ FX_BOOL Field::isBoxChecked(IJS_Context* cc, |
| if (params.size() >= 1) |
| nIndex = params[0].ToInt(); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (nIndex < 0 || nIndex >= pFormField->CountControls()) { |
| vRet = FALSE; |
| return FALSE; |
| @@ -3584,8 +3339,9 @@ FX_BOOL Field::isBoxChecked(IJS_Context* cc, |
| vRet = TRUE; |
| else |
| vRet = FALSE; |
| - } else |
| + } else { |
| vRet = FALSE; |
| + } |
| return TRUE; |
| } |
| @@ -3600,14 +3356,11 @@ FX_BOOL Field::isDefaultChecked(IJS_Context* cc, |
| if (params.size() >= 1) |
| nIndex = params[0].ToInt(); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| if (nIndex < 0 || nIndex >= pFormField->CountControls()) { |
| vRet = FALSE; |
| return FALSE; |
| @@ -3618,8 +3371,9 @@ FX_BOOL Field::isDefaultChecked(IJS_Context* cc, |
| vRet = TRUE; |
| else |
| vRet = FALSE; |
| - } else |
| + } else { |
| vRet = FALSE; |
| + } |
| return TRUE; |
| } |
| @@ -3637,16 +3391,12 @@ FX_BOOL Field::setFocus(IJS_Context* cc, |
| CFX_WideString& sError) { |
| ASSERT(m_pDocument != NULL); |
| - CFX_PtrArray FieldArray; |
| - GetFormFields(m_FieldName, FieldArray); |
| - if (FieldArray.GetSize() <= 0) |
| + std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName); |
| + if (FieldArray.empty()) |
| return FALSE; |
| - CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| - ASSERT(pFormField != NULL); |
| - |
| + CPDF_FormField* pFormField = FieldArray[0]; |
| int32_t nCount = pFormField->CountControls(); |
| - |
| if (nCount < 1) |
| return FALSE; |