Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(201)

Unified Diff: core/fpdfdoc/doc_formfield.cpp

Issue 1841643002: Code change to avoid signed/unsigned mismatch warnings (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: rebase Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « core/fpdfapi/fpdf_render/fpdf_render_pattern.cpp ('k') | core/fpdftext/fpdf_text_int_unittest.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: core/fpdfdoc/doc_formfield.cpp
diff --git a/core/fpdfdoc/doc_formfield.cpp b/core/fpdfdoc/doc_formfield.cpp
index cc34a9d297393f8df970f52c574dbfc374434d5f..4ebf2d3020b1bd410e66d57619e2fb82ce3573b9 100644
--- a/core/fpdfdoc/doc_formfield.cpp
+++ b/core/fpdfdoc/doc_formfield.cpp
@@ -458,11 +458,9 @@ int CPDF_FormField::GetSelectedIndex(int index) {
return iOptIndex;
}
}
- int nOpts = CountOptions();
- for (int i = 0; i < nOpts; i++) {
- if (sel_value == GetOptionValue(i)) {
+ for (int i = 0; i < CountOptions(); i++) {
+ if (sel_value == GetOptionValue(i))
return i;
- }
}
return -1;
}
@@ -500,6 +498,7 @@ FX_BOOL CPDF_FormField::ClearSelection(FX_BOOL bNotify) {
m_pForm->m_bUpdated = TRUE;
return TRUE;
}
+
FX_BOOL CPDF_FormField::IsItemSelected(int index) {
ASSERT(GetType() == ComboBox || GetType() == ListBox);
if (index < 0 || index >= CountOptions()) {
@@ -544,6 +543,7 @@ FX_BOOL CPDF_FormField::IsItemSelected(int index) {
}
return FALSE;
}
+
FX_BOOL CPDF_FormField::SetItemSelection(int index,
FX_BOOL bSelected,
FX_BOOL bNotify) {
@@ -575,20 +575,16 @@ FX_BOOL CPDF_FormField::SetItemSelection(int index,
}
} else if (pValue->IsArray()) {
CPDF_Array* pArray = new CPDF_Array;
- int iCount = CountOptions();
- for (int i = 0; i < iCount; i++) {
- if (i != index) {
- if (IsItemSelected(i)) {
- opt_value = GetOptionValue(i);
- pArray->AddString(PDF_EncodeText(opt_value));
- }
+ for (int i = 0; i < CountOptions(); i++) {
+ if (i != index && IsItemSelected(i)) {
+ opt_value = GetOptionValue(i);
+ pArray->AddString(PDF_EncodeText(opt_value));
}
}
- if (pArray->GetCount() < 1) {
+ if (pArray->GetCount() < 1)
pArray->Release();
- } else {
+ else
m_pDict->SetAt("V", pArray);
- }
}
} else if (m_Type == ComboBox) {
m_pDict->RemoveAt("V");
@@ -602,15 +598,8 @@ FX_BOOL CPDF_FormField::SetItemSelection(int index,
m_pDict->SetAtString("V", PDF_EncodeText(opt_value));
} else {
CPDF_Array* pArray = new CPDF_Array;
- int iCount = CountOptions();
- for (int i = 0; i < iCount; i++) {
- FX_BOOL bSelected;
- if (i != index) {
- bSelected = IsItemSelected(i);
- } else {
- bSelected = TRUE;
- }
- if (bSelected) {
+ for (int i = 0; i < CountOptions(); i++) {
+ if (i == index || IsItemSelected(i)) {
opt_value = GetOptionValue(i);
pArray->AddString(PDF_EncodeText(opt_value));
}
@@ -638,54 +627,46 @@ FX_BOOL CPDF_FormField::SetItemSelection(int index,
m_pForm->m_bUpdated = TRUE;
return TRUE;
}
+
FX_BOOL CPDF_FormField::IsItemDefaultSelected(int index) {
ASSERT(GetType() == ComboBox || GetType() == ListBox);
- if (index < 0 || index >= CountOptions()) {
+ if (index < 0 || index >= CountOptions())
return FALSE;
- }
int iDVIndex = GetDefaultSelectedItem();
- if (iDVIndex < 0) {
- return FALSE;
- }
- return (iDVIndex == index);
+ return iDVIndex >= 0 && iDVIndex == index;
}
+
int CPDF_FormField::GetDefaultSelectedItem() {
ASSERT(GetType() == ComboBox || GetType() == ListBox);
CPDF_Object* pValue = FPDF_GetFieldAttr(m_pDict, "DV");
- if (!pValue) {
+ if (!pValue)
return -1;
- }
CFX_WideString csDV = pValue->GetUnicodeText();
- if (csDV.IsEmpty()) {
+ if (csDV.IsEmpty())
return -1;
- }
- int iCount = CountOptions();
- for (int i = 0; i < iCount; i++) {
- if (csDV == GetOptionValue(i)) {
+ for (int i = 0; i < CountOptions(); i++) {
+ if (csDV == GetOptionValue(i))
return i;
- }
}
return -1;
}
+
void CPDF_FormField::UpdateAP(CPDF_FormControl* pControl) {
- if (m_Type == PushButton) {
- return;
- }
- if (m_Type == RadioButton || m_Type == CheckBox) {
+ if (m_Type == PushButton || m_Type == RadioButton || m_Type == CheckBox)
return;
- }
- if (!m_pForm->m_bGenerateAP) {
+ if (!m_pForm->m_bGenerateAP)
return;
- }
for (int i = 0; i < CountControls(); i++) {
CPDF_FormControl* pControl = GetControl(i);
FPDF_GenerateAP(m_pForm->m_pDocument, pControl->m_pWidgetDict);
}
}
+
int CPDF_FormField::CountOptions() {
CPDF_Array* pArray = ToArray(FPDF_GetFieldAttr(m_pDict, "Opt"));
return pArray ? pArray->GetCount() : 0;
}
+
CFX_WideString CPDF_FormField::GetOptionText(int index, int sub_index) {
CPDF_Array* pArray = ToArray(FPDF_GetFieldAttr(m_pDict, "Opt"));
if (!pArray)
@@ -706,30 +687,23 @@ CFX_WideString CPDF_FormField::GetOptionLabel(int index) {
CFX_WideString CPDF_FormField::GetOptionValue(int index) {
return GetOptionText(index, 0);
}
+
int CPDF_FormField::FindOption(CFX_WideString csOptLabel) {
- int iCount = CountOptions();
- for (int i = 0; i < iCount; i++) {
- CFX_WideString csValue = GetOptionValue(i);
- if (csValue == csOptLabel) {
+ for (int i = 0; i < CountOptions(); i++) {
+ if (GetOptionValue(i) == csOptLabel)
return i;
- }
}
return -1;
}
-int CPDF_FormField::FindOptionValue(const CFX_WideString& csOptValue,
- int iStartIndex) {
- if (iStartIndex < 0) {
- iStartIndex = 0;
- }
- int iCount = CountOptions();
- for (; iStartIndex < iCount; iStartIndex++) {
- CFX_WideString csValue = GetOptionValue(iStartIndex);
- if (csValue == csOptValue) {
- return iStartIndex;
- }
+
+int CPDF_FormField::FindOptionValue(const CFX_WideString& csOptValue) {
+ for (int i = 0; i < CountOptions(); i++) {
+ if (GetOptionValue(i) == csOptValue)
+ return i;
}
return -1;
}
+
#ifdef PDF_ENABLE_XFA
int CPDF_FormField::InsertOption(CFX_WideString csOptLabel,
int index,
« no previous file with comments | « core/fpdfapi/fpdf_render/fpdf_render_pattern.cpp ('k') | core/fpdftext/fpdf_text_int_unittest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698