OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include "../../third_party/base/nonstd_unique_ptr.h" | 7 #include "../../third_party/base/nonstd_unique_ptr.h" |
8 #include "../include/fsdk_define.h" | 8 #include "../include/fsdk_define.h" |
9 #include "../include/fsdk_mgr.h" | 9 #include "../include/fsdk_mgr.h" |
10 #include "../include/fsdk_baseannot.h" | 10 #include "../include/fsdk_baseannot.h" |
(...skipping 19 matching lines...) Expand all Loading... |
30 m_nValueAge(0) | 30 m_nValueAge(0) |
31 { | 31 { |
32 ASSERT(m_pInterForm != NULL); | 32 ASSERT(m_pInterForm != NULL); |
33 } | 33 } |
34 | 34 |
35 CPDFSDK_Widget::~CPDFSDK_Widget() | 35 CPDFSDK_Widget::~CPDFSDK_Widget() |
36 { | 36 { |
37 | 37 |
38 } | 38 } |
39 | 39 |
40 FX_BOOL»» CPDFSDK_Widget::IsWidgetAppearanceValid(CPDF_Annot::AppearanceMo
de mode) | 40 bool» » CPDFSDK_Widget::IsWidgetAppearanceValid(CPDF_Annot::AppearanceMo
de mode) |
41 { | 41 { |
42 CPDF_Dictionary* pAP = m_pAnnot->GetAnnotDict()->GetDict("AP"); | 42 CPDF_Dictionary* pAP = m_pAnnot->GetAnnotDict()->GetDict("AP"); |
43 » if (pAP == NULL) return FALSE; | 43 » if (pAP == NULL) return false; |
44 | 44 |
45 // Choose the right sub-ap | 45 // Choose the right sub-ap |
46 const FX_CHAR* ap_entry = "N"; | 46 const FX_CHAR* ap_entry = "N"; |
47 if (mode == CPDF_Annot::Down) | 47 if (mode == CPDF_Annot::Down) |
48 ap_entry = "D"; | 48 ap_entry = "D"; |
49 else if (mode == CPDF_Annot::Rollover) | 49 else if (mode == CPDF_Annot::Rollover) |
50 ap_entry = "R"; | 50 ap_entry = "R"; |
51 if (!pAP->KeyExist(ap_entry)) | 51 if (!pAP->KeyExist(ap_entry)) |
52 ap_entry = "N"; | 52 ap_entry = "N"; |
53 | 53 |
54 // Get the AP stream or subdirectory | 54 // Get the AP stream or subdirectory |
55 CPDF_Object* psub = pAP->GetElementValue(ap_entry); | 55 CPDF_Object* psub = pAP->GetElementValue(ap_entry); |
56 » if (psub == NULL) return FALSE; | 56 » if (psub == NULL) return false; |
57 | 57 |
58 int nFieldType = GetFieldType(); | 58 int nFieldType = GetFieldType(); |
59 switch (nFieldType) | 59 switch (nFieldType) |
60 { | 60 { |
61 case FIELDTYPE_PUSHBUTTON: | 61 case FIELDTYPE_PUSHBUTTON: |
62 case FIELDTYPE_COMBOBOX: | 62 case FIELDTYPE_COMBOBOX: |
63 case FIELDTYPE_LISTBOX: | 63 case FIELDTYPE_LISTBOX: |
64 case FIELDTYPE_TEXTFIELD: | 64 case FIELDTYPE_TEXTFIELD: |
65 case FIELDTYPE_SIGNATURE: | 65 case FIELDTYPE_SIGNATURE: |
66 return psub->GetType() == PDFOBJ_STREAM; | 66 return psub->GetType() == PDFOBJ_STREAM; |
67 case FIELDTYPE_CHECKBOX: | 67 case FIELDTYPE_CHECKBOX: |
68 case FIELDTYPE_RADIOBUTTON: | 68 case FIELDTYPE_RADIOBUTTON: |
69 if (psub->GetType() == PDFOBJ_DICTIONARY) | 69 if (psub->GetType() == PDFOBJ_DICTIONARY) |
70 { | 70 { |
71 CPDF_Dictionary* pSubDict = (CPDF_Dictionary*)psub; | 71 CPDF_Dictionary* pSubDict = (CPDF_Dictionary*)psub; |
72 | 72 |
73 return pSubDict->GetStream(GetAppState()) != NULL; | 73 return pSubDict->GetStream(GetAppState()) != NULL; |
74 } | 74 } |
75 else | 75 else |
76 » » » return FALSE; | 76 » » » return false; |
77 break; | 77 break; |
78 } | 78 } |
79 | 79 |
80 » return TRUE; | 80 » return true; |
81 } | 81 } |
82 | 82 |
83 int CPDFSDK_Widget::GetFieldType() const | 83 int CPDFSDK_Widget::GetFieldType() const |
84 { | 84 { |
85 CPDF_FormField* pField = GetFormField(); | 85 CPDF_FormField* pField = GetFormField(); |
86 ASSERT(pField != NULL); | 86 ASSERT(pField != NULL); |
87 | 87 |
88 return pField->GetFieldType(); | 88 return pField->GetFieldType(); |
89 } | 89 } |
90 | 90 |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 } | 138 } |
139 | 139 |
140 int CPDFSDK_Widget::GetRotate() const | 140 int CPDFSDK_Widget::GetRotate() const |
141 { | 141 { |
142 CPDF_FormControl* pCtrl = GetFormControl(); | 142 CPDF_FormControl* pCtrl = GetFormControl(); |
143 ASSERT(pCtrl != NULL); | 143 ASSERT(pCtrl != NULL); |
144 | 144 |
145 return pCtrl->GetRotation() % 360; | 145 return pCtrl->GetRotation() % 360; |
146 } | 146 } |
147 | 147 |
148 FX_BOOL»CPDFSDK_Widget::GetFillColor(FX_COLORREF& color) const | 148 bool» CPDFSDK_Widget::GetFillColor(FX_COLORREF& color) const |
149 { | 149 { |
150 CPDF_FormControl* pFormCtrl = GetFormControl(); | 150 CPDF_FormControl* pFormCtrl = GetFormControl(); |
151 ASSERT(pFormCtrl != NULL); | 151 ASSERT(pFormCtrl != NULL); |
152 | 152 |
153 int iColorType = 0; | 153 int iColorType = 0; |
154 color = FX_ARGBTOCOLORREF(pFormCtrl->GetBackgroundColor(iColorType)); | 154 color = FX_ARGBTOCOLORREF(pFormCtrl->GetBackgroundColor(iColorType)); |
155 | 155 |
156 return iColorType != COLORTYPE_TRANSPARENT; | 156 return iColorType != COLORTYPE_TRANSPARENT; |
157 } | 157 } |
158 | 158 |
159 FX_BOOL»CPDFSDK_Widget::GetBorderColor(FX_COLORREF& color) const | 159 bool» CPDFSDK_Widget::GetBorderColor(FX_COLORREF& color) const |
160 { | 160 { |
161 CPDF_FormControl* pFormCtrl = GetFormControl(); | 161 CPDF_FormControl* pFormCtrl = GetFormControl(); |
162 ASSERT(pFormCtrl != NULL); | 162 ASSERT(pFormCtrl != NULL); |
163 | 163 |
164 int iColorType = 0; | 164 int iColorType = 0; |
165 color = FX_ARGBTOCOLORREF(pFormCtrl->GetBorderColor(iColorType)); | 165 color = FX_ARGBTOCOLORREF(pFormCtrl->GetBorderColor(iColorType)); |
166 | 166 |
167 return iColorType != COLORTYPE_TRANSPARENT; | 167 return iColorType != COLORTYPE_TRANSPARENT; |
168 } | 168 } |
169 | 169 |
170 FX_BOOL»CPDFSDK_Widget::GetTextColor(FX_COLORREF& color) const | 170 bool» CPDFSDK_Widget::GetTextColor(FX_COLORREF& color) const |
171 { | 171 { |
172 CPDF_FormControl* pFormCtrl = GetFormControl(); | 172 CPDF_FormControl* pFormCtrl = GetFormControl(); |
173 ASSERT(pFormCtrl != NULL); | 173 ASSERT(pFormCtrl != NULL); |
174 | 174 |
175 CPDF_DefaultAppearance da = pFormCtrl->GetDefaultAppearance(); | 175 CPDF_DefaultAppearance da = pFormCtrl->GetDefaultAppearance(); |
176 if (da.HasColor()) | 176 if (da.HasColor()) |
177 { | 177 { |
178 FX_ARGB argb; | 178 FX_ARGB argb; |
179 int iColorType = COLORTYPE_TRANSPARENT; | 179 int iColorType = COLORTYPE_TRANSPARENT; |
180 da.GetColor(argb, iColorType); | 180 da.GetColor(argb, iColorType); |
181 color = FX_ARGBTOCOLORREF(argb); | 181 color = FX_ARGBTOCOLORREF(argb); |
182 | 182 |
183 return iColorType != COLORTYPE_TRANSPARENT; | 183 return iColorType != COLORTYPE_TRANSPARENT; |
184 } | 184 } |
185 | 185 |
186 » return FALSE; | 186 » return false; |
187 } | 187 } |
188 | 188 |
189 FX_FLOAT CPDFSDK_Widget::GetFontSize() const | 189 FX_FLOAT CPDFSDK_Widget::GetFontSize() const |
190 { | 190 { |
191 CPDF_FormControl* pFormCtrl = GetFormControl(); | 191 CPDF_FormControl* pFormCtrl = GetFormControl(); |
192 ASSERT(pFormCtrl != NULL); | 192 ASSERT(pFormCtrl != NULL); |
193 | 193 |
194 CPDF_DefaultAppearance pDa = pFormCtrl->GetDefaultAppearance(); | 194 CPDF_DefaultAppearance pDa = pFormCtrl->GetDefaultAppearance(); |
195 CFX_ByteString csFont = ""; | 195 CFX_ByteString csFont = ""; |
196 FX_FLOAT fFontSize = 0.0f; | 196 FX_FLOAT fFontSize = 0.0f; |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
232 } | 232 } |
233 | 233 |
234 int CPDFSDK_Widget::CountOptions() const | 234 int CPDFSDK_Widget::CountOptions() const |
235 { | 235 { |
236 CPDF_FormField* pFormField = GetFormField(); | 236 CPDF_FormField* pFormField = GetFormField(); |
237 ASSERT(pFormField != NULL); | 237 ASSERT(pFormField != NULL); |
238 | 238 |
239 return pFormField->CountOptions(); | 239 return pFormField->CountOptions(); |
240 } | 240 } |
241 | 241 |
242 FX_BOOL»CPDFSDK_Widget::IsOptionSelected(int nIndex) const | 242 bool» CPDFSDK_Widget::IsOptionSelected(int nIndex) const |
243 { | 243 { |
244 CPDF_FormField* pFormField = GetFormField(); | 244 CPDF_FormField* pFormField = GetFormField(); |
245 ASSERT(pFormField != NULL); | 245 ASSERT(pFormField != NULL); |
246 | 246 |
247 return pFormField->IsItemSelected(nIndex); | 247 return pFormField->IsItemSelected(nIndex); |
248 } | 248 } |
249 | 249 |
250 int CPDFSDK_Widget::GetTopVisibleIndex() const | 250 int CPDFSDK_Widget::GetTopVisibleIndex() const |
251 { | 251 { |
252 CPDF_FormField* pFormField = GetFormField(); | 252 CPDF_FormField* pFormField = GetFormField(); |
253 ASSERT(pFormField != NULL); | 253 ASSERT(pFormField != NULL); |
254 | 254 |
255 return pFormField->GetTopVisibleIndex(); | 255 return pFormField->GetTopVisibleIndex(); |
256 } | 256 } |
257 | 257 |
258 FX_BOOL»CPDFSDK_Widget::IsChecked() const | 258 bool» CPDFSDK_Widget::IsChecked() const |
259 { | 259 { |
260 CPDF_FormControl* pFormCtrl = GetFormControl(); | 260 CPDF_FormControl* pFormCtrl = GetFormControl(); |
261 ASSERT(pFormCtrl != NULL); | 261 ASSERT(pFormCtrl != NULL); |
262 | 262 |
263 return pFormCtrl->IsChecked(); | 263 return pFormCtrl->IsChecked(); |
264 } | 264 } |
265 | 265 |
266 int CPDFSDK_Widget::GetAlignment() const | 266 int CPDFSDK_Widget::GetAlignment() const |
267 { | 267 { |
268 CPDF_FormControl* pFormCtrl = GetFormControl(); | 268 CPDF_FormControl* pFormCtrl = GetFormControl(); |
269 ASSERT(pFormCtrl != NULL); | 269 ASSERT(pFormCtrl != NULL); |
270 | 270 |
271 return pFormCtrl->GetControlAlignment(); | 271 return pFormCtrl->GetControlAlignment(); |
272 } | 272 } |
273 | 273 |
274 int CPDFSDK_Widget::GetMaxLen() const | 274 int CPDFSDK_Widget::GetMaxLen() const |
275 { | 275 { |
276 CPDF_FormField* pFormField = GetFormField(); | 276 CPDF_FormField* pFormField = GetFormField(); |
277 ASSERT(pFormField != NULL); | 277 ASSERT(pFormField != NULL); |
278 | 278 |
279 return pFormField->GetMaxLen(); | 279 return pFormField->GetMaxLen(); |
280 } | 280 } |
281 | 281 |
282 void CPDFSDK_Widget::SetCheck(FX_BOOL bChecked, FX_BOOL bNotify) | 282 void CPDFSDK_Widget::SetCheck(bool bChecked, bool bNotify) |
283 { | 283 { |
284 CPDF_FormControl* pFormCtrl = GetFormControl(); | 284 CPDF_FormControl* pFormCtrl = GetFormControl(); |
285 ASSERT(pFormCtrl != NULL); | 285 ASSERT(pFormCtrl != NULL); |
286 | 286 |
287 CPDF_FormField* pFormField = pFormCtrl->GetField(); | 287 CPDF_FormField* pFormField = pFormCtrl->GetField(); |
288 ASSERT(pFormField != NULL); | 288 ASSERT(pFormField != NULL); |
289 | 289 |
290 pFormField->CheckControl(pFormField->GetControlIndex(pFormCtrl), bChecke
d, bNotify); | 290 pFormField->CheckControl(pFormField->GetControlIndex(pFormCtrl), bChecke
d, bNotify); |
291 } | 291 } |
292 | 292 |
293 void CPDFSDK_Widget::SetValue(const CFX_WideString& sValue, FX_BOOL bNotify) | 293 void CPDFSDK_Widget::SetValue(const CFX_WideString& sValue, bool bNotify) |
294 { | 294 { |
295 CPDF_FormField* pFormField = GetFormField(); | 295 CPDF_FormField* pFormField = GetFormField(); |
296 ASSERT(pFormField != NULL); | 296 ASSERT(pFormField != NULL); |
297 | 297 |
298 pFormField->SetValue(sValue, bNotify); | 298 pFormField->SetValue(sValue, bNotify); |
299 } | 299 } |
300 | 300 |
301 void CPDFSDK_Widget::SetDefaultValue(const CFX_WideString& sValue) | 301 void CPDFSDK_Widget::SetDefaultValue(const CFX_WideString& sValue) |
302 { | 302 { |
303 } | 303 } |
304 void CPDFSDK_Widget::SetOptionSelection(int index, FX_BOOL bSelected, FX_BOOL bN
otify) | 304 void CPDFSDK_Widget::SetOptionSelection(int index, bool bSelected, bool bNotify) |
305 { | 305 { |
306 CPDF_FormField* pFormField = GetFormField(); | 306 CPDF_FormField* pFormField = GetFormField(); |
307 ASSERT(pFormField != NULL); | 307 ASSERT(pFormField != NULL); |
308 | 308 |
309 pFormField->SetItemSelection(index, bSelected, bNotify); | 309 pFormField->SetItemSelection(index, bSelected, bNotify); |
310 } | 310 } |
311 | 311 |
312 void CPDFSDK_Widget::ClearSelection(FX_BOOL bNotify) | 312 void CPDFSDK_Widget::ClearSelection(bool bNotify) |
313 { | 313 { |
314 CPDF_FormField* pFormField = GetFormField(); | 314 CPDF_FormField* pFormField = GetFormField(); |
315 ASSERT(pFormField != NULL); | 315 ASSERT(pFormField != NULL); |
316 | 316 |
317 pFormField->ClearSelection(bNotify); | 317 pFormField->ClearSelection(bNotify); |
318 } | 318 } |
319 | 319 |
320 void CPDFSDK_Widget::SetTopVisibleIndex(int index) | 320 void CPDFSDK_Widget::SetTopVisibleIndex(int index) |
321 { | 321 { |
322 } | 322 } |
323 | 323 |
324 void CPDFSDK_Widget::SetAppModified() | 324 void CPDFSDK_Widget::SetAppModified() |
325 { | 325 { |
326 » m_bAppModified = TRUE; | 326 » m_bAppModified = true; |
327 } | 327 } |
328 | 328 |
329 void CPDFSDK_Widget::ClearAppModified() | 329 void CPDFSDK_Widget::ClearAppModified() |
330 { | 330 { |
331 » m_bAppModified = FALSE; | 331 » m_bAppModified = false; |
332 } | 332 } |
333 | 333 |
334 FX_BOOL CPDFSDK_Widget::IsAppModified() const | 334 bool CPDFSDK_Widget::IsAppModified() const |
335 { | 335 { |
336 return m_bAppModified; | 336 return m_bAppModified; |
337 } | 337 } |
338 | 338 |
339 void CPDFSDK_Widget::ResetAppearance(const FX_WCHAR* sValue, FX_BOOL bValueChang
ed) | 339 void CPDFSDK_Widget::ResetAppearance(const FX_WCHAR* sValue, bool bValueChanged) |
340 { | 340 { |
341 SetAppModified(); | 341 SetAppModified(); |
342 | 342 |
343 m_nAppAge++; | 343 m_nAppAge++; |
344 if (m_nAppAge > 999999) | 344 if (m_nAppAge > 999999) |
345 m_nAppAge = 0; | 345 m_nAppAge = 0; |
346 if (bValueChanged) | 346 if (bValueChanged) |
347 m_nValueAge++; | 347 m_nValueAge++; |
348 | 348 |
349 int nFieldType = GetFieldType(); | 349 int nFieldType = GetFieldType(); |
(...skipping 17 matching lines...) Expand all Loading... |
367 break; | 367 break; |
368 case FIELDTYPE_TEXTFIELD: | 368 case FIELDTYPE_TEXTFIELD: |
369 ResetAppearance_TextField(sValue); | 369 ResetAppearance_TextField(sValue); |
370 break; | 370 break; |
371 } | 371 } |
372 | 372 |
373 ASSERT(m_pAnnot != NULL); | 373 ASSERT(m_pAnnot != NULL); |
374 m_pAnnot->ClearCachedAP(); | 374 m_pAnnot->ClearCachedAP(); |
375 } | 375 } |
376 | 376 |
377 CFX_WideString CPDFSDK_Widget::OnFormat(FX_BOOL& bFormated) | 377 CFX_WideString CPDFSDK_Widget::OnFormat(bool& bFormated) |
378 { | 378 { |
379 CPDF_FormField* pFormField = GetFormField(); | 379 CPDF_FormField* pFormField = GetFormField(); |
380 ASSERT(pFormField != NULL); | 380 ASSERT(pFormField != NULL); |
381 return m_pInterForm->OnFormat(pFormField, bFormated); | 381 return m_pInterForm->OnFormat(pFormField, bFormated); |
382 } | 382 } |
383 | 383 |
384 void CPDFSDK_Widget::ResetFieldAppearance(FX_BOOL bValueChanged) | 384 void CPDFSDK_Widget::ResetFieldAppearance(bool bValueChanged) |
385 { | 385 { |
386 CPDF_FormField* pFormField = GetFormField(); | 386 CPDF_FormField* pFormField = GetFormField(); |
387 ASSERT(pFormField != NULL); | 387 ASSERT(pFormField != NULL); |
388 | 388 |
389 ASSERT(m_pInterForm != NULL); | 389 ASSERT(m_pInterForm != NULL); |
390 | 390 |
391 m_pInterForm->ResetFieldAppearance(pFormField, NULL, bValueChanged); | 391 m_pInterForm->ResetFieldAppearance(pFormField, NULL, bValueChanged); |
392 } | 392 } |
393 | 393 |
394 void CPDFSDK_Widget::DrawAppearance(CFX_RenderDevice* pDevice, const CPDF_Mat
rix* pUser2Device, | 394 void CPDFSDK_Widget::DrawAppearance(CFX_RenderDevice* pDevice, const CPDF_Mat
rix* pUser2Device, |
(...skipping 619 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1014 | 1014 |
1015 CFX_ByteTextBuf sBody, sLines; | 1015 CFX_ByteTextBuf sBody, sLines; |
1016 | 1016 |
1017 CPDF_Rect rcClient = GetClientRect(); | 1017 CPDF_Rect rcClient = GetClientRect(); |
1018 CPDF_Rect rcButton = rcClient; | 1018 CPDF_Rect rcButton = rcClient; |
1019 rcButton.left = rcButton.right - 13; | 1019 rcButton.left = rcButton.right - 13; |
1020 rcButton.Normalize(); | 1020 rcButton.Normalize(); |
1021 | 1021 |
1022 if (IFX_Edit * pEdit = IFX_Edit::NewEdit()) | 1022 if (IFX_Edit * pEdit = IFX_Edit::NewEdit()) |
1023 { | 1023 { |
1024 » » pEdit->EnableRefresh(FALSE); | 1024 » » pEdit->EnableRefresh(false); |
1025 | 1025 |
1026 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument(); | 1026 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument(); |
1027 ASSERT(pDoc != NULL); | 1027 ASSERT(pDoc != NULL); |
1028 CPDFDoc_Environment* pEnv = pDoc->GetEnv(); | 1028 CPDFDoc_Environment* pEnv = pDoc->GetEnv(); |
1029 CBA_FontMap FontMap(this,pEnv->GetSysHandler()); | 1029 CBA_FontMap FontMap(this,pEnv->GetSysHandler()); |
1030 FontMap.Initial(); | 1030 FontMap.Initial(); |
1031 pEdit->SetFontMap(&FontMap); | 1031 pEdit->SetFontMap(&FontMap); |
1032 | 1032 |
1033 CPDF_Rect rcEdit = rcClient; | 1033 CPDF_Rect rcEdit = rcClient; |
1034 rcEdit.right = rcButton.left; | 1034 rcEdit.right = rcButton.left; |
1035 rcEdit.Normalize(); | 1035 rcEdit.Normalize(); |
1036 | 1036 |
1037 pEdit->SetPlateRect(rcEdit); | 1037 pEdit->SetPlateRect(rcEdit); |
1038 pEdit->SetAlignmentV(1); | 1038 pEdit->SetAlignmentV(1); |
1039 | 1039 |
1040 FX_FLOAT fFontSize = GetFontSize(); | 1040 FX_FLOAT fFontSize = GetFontSize(); |
1041 if (IsFloatZero(fFontSize)) | 1041 if (IsFloatZero(fFontSize)) |
1042 » » » pEdit->SetAutoFontSize(TRUE); | 1042 » » » pEdit->SetAutoFontSize(true); |
1043 else | 1043 else |
1044 pEdit->SetFontSize(fFontSize); | 1044 pEdit->SetFontSize(fFontSize); |
1045 | 1045 |
1046 pEdit->Initialize(); | 1046 pEdit->Initialize(); |
1047 | 1047 |
1048 if (sValue) | 1048 if (sValue) |
1049 pEdit->SetText(sValue); | 1049 pEdit->SetText(sValue); |
1050 else | 1050 else |
1051 { | 1051 { |
1052 int32_t nCurSel = pField->GetSelectedIndex(0); | 1052 int32_t nCurSel = pField->GetSelectedIndex(0); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1090 ASSERT(pControl != NULL); | 1090 ASSERT(pControl != NULL); |
1091 CPDF_FormField* pField = pControl->GetField(); | 1091 CPDF_FormField* pField = pControl->GetField(); |
1092 ASSERT(pField != NULL); | 1092 ASSERT(pField != NULL); |
1093 | 1093 |
1094 CPDF_Rect rcClient = GetClientRect(); | 1094 CPDF_Rect rcClient = GetClientRect(); |
1095 | 1095 |
1096 CFX_ByteTextBuf sBody, sLines; | 1096 CFX_ByteTextBuf sBody, sLines; |
1097 | 1097 |
1098 if (IFX_Edit * pEdit = IFX_Edit::NewEdit()) | 1098 if (IFX_Edit * pEdit = IFX_Edit::NewEdit()) |
1099 { | 1099 { |
1100 » » pEdit->EnableRefresh(FALSE); | 1100 » » pEdit->EnableRefresh(false); |
1101 | 1101 |
1102 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument(); | 1102 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument(); |
1103 ASSERT(pDoc != NULL); | 1103 ASSERT(pDoc != NULL); |
1104 CPDFDoc_Environment* pEnv = pDoc->GetEnv(); | 1104 CPDFDoc_Environment* pEnv = pDoc->GetEnv(); |
1105 | 1105 |
1106 CBA_FontMap FontMap(this,pEnv->GetSysHandler()); | 1106 CBA_FontMap FontMap(this,pEnv->GetSysHandler()); |
1107 FontMap.Initial(); | 1107 FontMap.Initial(); |
1108 pEdit->SetFontMap(&FontMap); | 1108 pEdit->SetFontMap(&FontMap); |
1109 | 1109 |
1110 pEdit->SetPlateRect(CPDF_Rect(rcClient.left,0.0f,rcClient.right,
0.0f)); | 1110 pEdit->SetPlateRect(CPDF_Rect(rcClient.left,0.0f,rcClient.right,
0.0f)); |
1111 | 1111 |
1112 FX_FLOAT fFontSize = GetFontSize(); | 1112 FX_FLOAT fFontSize = GetFontSize(); |
1113 | 1113 |
1114 if (IsFloatZero(fFontSize)) | 1114 if (IsFloatZero(fFontSize)) |
1115 pEdit->SetFontSize(12.0f); | 1115 pEdit->SetFontSize(12.0f); |
1116 else | 1116 else |
1117 pEdit->SetFontSize(fFontSize); | 1117 pEdit->SetFontSize(fFontSize); |
1118 | 1118 |
1119 pEdit->Initialize(); | 1119 pEdit->Initialize(); |
1120 | 1120 |
1121 CFX_ByteTextBuf sList; | 1121 CFX_ByteTextBuf sList; |
1122 FX_FLOAT fy = rcClient.top; | 1122 FX_FLOAT fy = rcClient.top; |
1123 | 1123 |
1124 int32_t nTop = pField->GetTopVisibleIndex(); | 1124 int32_t nTop = pField->GetTopVisibleIndex(); |
1125 int32_t nCount = pField->CountOptions(); | 1125 int32_t nCount = pField->CountOptions(); |
1126 int32_t nSelCount = pField->CountSelectedItems(); | 1126 int32_t nSelCount = pField->CountSelectedItems(); |
1127 | 1127 |
1128 for (int32_t i=nTop; i<nCount; i++) | 1128 for (int32_t i=nTop; i<nCount; i++) |
1129 { | 1129 { |
1130 » » » FX_BOOL bSelected = FALSE; | 1130 » » » bool bSelected = false; |
1131 for (int32_t j=0; j<nSelCount; j++) | 1131 for (int32_t j=0; j<nSelCount; j++) |
1132 { | 1132 { |
1133 if (pField->GetSelectedIndex(j) == i) | 1133 if (pField->GetSelectedIndex(j) == i) |
1134 { | 1134 { |
1135 » » » » » bSelected = TRUE; | 1135 » » » » » bSelected = true; |
1136 break; | 1136 break; |
1137 } | 1137 } |
1138 } | 1138 } |
1139 | 1139 |
1140 pEdit->SetText(pField->GetOptionLabel(i).c_str()); | 1140 pEdit->SetText(pField->GetOptionLabel(i).c_str()); |
1141 | 1141 |
1142 CPDF_Rect rcContent = pEdit->GetContentRect(); | 1142 CPDF_Rect rcContent = pEdit->GetContentRect(); |
1143 FX_FLOAT fItemHeight = rcContent.Height(); | 1143 FX_FLOAT fItemHeight = rcContent.Height(); |
1144 | 1144 |
1145 if (bSelected) | 1145 if (bSelected) |
1146 { | 1146 { |
1147 CPDF_Rect rcItem = CPDF_Rect(rcClient.left,fy-fI
temHeight,rcClient.right,fy); | 1147 CPDF_Rect rcItem = CPDF_Rect(rcClient.left,fy-fI
temHeight,rcClient.right,fy); |
1148 » » » » sList << "q\n" << CPWL_Utils::GetColorAppStream(
CPWL_Color(COLORTYPE_RGB,0,51.0f/255.0f,113.0f/255.0f),TRUE) | 1148 » » » » sList << "q\n" << CPWL_Utils::GetColorAppStream(
CPWL_Color(COLORTYPE_RGB,0,51.0f/255.0f,113.0f/255.0f),true) |
1149 << rcItem.left << " " << rcItem.bottom <
< " " << rcItem.Width() << " " << rcItem.Height() << " re f\n" << "Q\n"; | 1149 << rcItem.left << " " << rcItem.bottom <
< " " << rcItem.Width() << " " << rcItem.Height() << " re f\n" << "Q\n"; |
1150 | 1150 |
1151 » » » » sList << "BT\n" << CPWL_Utils::GetColorAppStream
(CPWL_Color(COLORTYPE_GRAY,1),TRUE) << | 1151 » » » » sList << "BT\n" << CPWL_Utils::GetColorAppStream
(CPWL_Color(COLORTYPE_GRAY,1),true) << |
1152 CPWL_Utils::GetEditAppStream(pEdit,CPDF_
Point(0.0f,fy)) << "ET\n"; | 1152 CPWL_Utils::GetEditAppStream(pEdit,CPDF_
Point(0.0f,fy)) << "ET\n"; |
1153 } | 1153 } |
1154 else | 1154 else |
1155 { | 1155 { |
1156 CPWL_Color crText = GetTextPWLColor(); | 1156 CPWL_Color crText = GetTextPWLColor(); |
1157 » » » » sList << "BT\n" << CPWL_Utils::GetColorAppStream
(crText,TRUE) << | 1157 » » » » sList << "BT\n" << CPWL_Utils::GetColorAppStream
(crText,true) << |
1158 CPWL_Utils::GetEditAppStream(pEdit,CPDF_Point(0.
0f,fy)) << "ET\n"; | 1158 CPWL_Utils::GetEditAppStream(pEdit,CPDF_Point(0.
0f,fy)) << "ET\n"; |
1159 } | 1159 } |
1160 | 1160 |
1161 fy -= fItemHeight; | 1161 fy -= fItemHeight; |
1162 } | 1162 } |
1163 | 1163 |
1164 if (sList.GetSize() > 0) | 1164 if (sList.GetSize() > 0) |
1165 { | 1165 { |
1166 sBody << "/Tx BMC\n" << "q\n" << rcClient.left << " " <<
rcClient.bottom << " " | 1166 sBody << "/Tx BMC\n" << "q\n" << rcClient.left << " " <<
rcClient.bottom << " " |
1167 << rcClient.Width() << " " << rcClient.H
eight() << " re\nW\nn\n"; | 1167 << rcClient.Width() << " " << rcClient.H
eight() << " re\nW\nn\n"; |
(...skipping 12 matching lines...) Expand all Loading... |
1180 { | 1180 { |
1181 CPDF_FormControl* pControl = GetFormControl(); | 1181 CPDF_FormControl* pControl = GetFormControl(); |
1182 ASSERT(pControl != NULL); | 1182 ASSERT(pControl != NULL); |
1183 CPDF_FormField* pField = pControl->GetField(); | 1183 CPDF_FormField* pField = pControl->GetField(); |
1184 ASSERT(pField != NULL); | 1184 ASSERT(pField != NULL); |
1185 | 1185 |
1186 CFX_ByteTextBuf sBody, sLines; | 1186 CFX_ByteTextBuf sBody, sLines; |
1187 | 1187 |
1188 if (IFX_Edit * pEdit = IFX_Edit::NewEdit()) | 1188 if (IFX_Edit * pEdit = IFX_Edit::NewEdit()) |
1189 { | 1189 { |
1190 » » pEdit->EnableRefresh(FALSE); | 1190 » » pEdit->EnableRefresh(false); |
1191 | 1191 |
1192 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument(); | 1192 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument(); |
1193 ASSERT(pDoc != NULL); | 1193 ASSERT(pDoc != NULL); |
1194 CPDFDoc_Environment* pEnv = pDoc->GetEnv(); | 1194 CPDFDoc_Environment* pEnv = pDoc->GetEnv(); |
1195 | 1195 |
1196 CBA_FontMap FontMap(this,pEnv->GetSysHandler());//, ISystemHandl
e::GetSystemHandler(m_pBaseForm->GetEnv())); | 1196 CBA_FontMap FontMap(this,pEnv->GetSysHandler());//, ISystemHandl
e::GetSystemHandler(m_pBaseForm->GetEnv())); |
1197 FontMap.Initial(); | 1197 FontMap.Initial(); |
1198 pEdit->SetFontMap(&FontMap); | 1198 pEdit->SetFontMap(&FontMap); |
1199 | 1199 |
1200 CPDF_Rect rcClient = GetClientRect(); | 1200 CPDF_Rect rcClient = GetClientRect(); |
1201 pEdit->SetPlateRect(rcClient); | 1201 pEdit->SetPlateRect(rcClient); |
1202 pEdit->SetAlignmentH(pControl->GetControlAlignment()); | 1202 pEdit->SetAlignmentH(pControl->GetControlAlignment()); |
1203 | 1203 |
1204 FX_DWORD dwFieldFlags = pField->GetFieldFlags(); | 1204 FX_DWORD dwFieldFlags = pField->GetFieldFlags(); |
1205 » » FX_BOOL bMultiLine = (dwFieldFlags >> 12) & 1; | 1205 » » bool bMultiLine = (dwFieldFlags >> 12) & 1; |
1206 | 1206 |
1207 if (bMultiLine) | 1207 if (bMultiLine) |
1208 { | 1208 { |
1209 » » » pEdit->SetMultiLine(TRUE); | 1209 » » » pEdit->SetMultiLine(true); |
1210 » » » pEdit->SetAutoReturn(TRUE); | 1210 » » » pEdit->SetAutoReturn(true); |
1211 } | 1211 } |
1212 else | 1212 else |
1213 { | 1213 { |
1214 pEdit->SetAlignmentV(1); | 1214 pEdit->SetAlignmentV(1); |
1215 } | 1215 } |
1216 | 1216 |
1217 FX_WORD subWord = 0; | 1217 FX_WORD subWord = 0; |
1218 if ((dwFieldFlags >> 13) & 1) | 1218 if ((dwFieldFlags >> 13) & 1) |
1219 { | 1219 { |
1220 subWord = '*'; | 1220 subWord = '*'; |
1221 pEdit->SetPasswordChar(subWord); | 1221 pEdit->SetPasswordChar(subWord); |
1222 } | 1222 } |
1223 | 1223 |
1224 int nMaxLen = pField->GetMaxLen(); | 1224 int nMaxLen = pField->GetMaxLen(); |
1225 » » FX_BOOL bCharArray = (dwFieldFlags >> 24) & 1; | 1225 » » bool bCharArray = (dwFieldFlags >> 24) & 1; |
1226 FX_FLOAT fFontSize = GetFontSize(); | 1226 FX_FLOAT fFontSize = GetFontSize(); |
1227 | 1227 |
1228 if (nMaxLen > 0) | 1228 if (nMaxLen > 0) |
1229 { | 1229 { |
1230 if (bCharArray) | 1230 if (bCharArray) |
1231 { | 1231 { |
1232 pEdit->SetCharArray(nMaxLen); | 1232 pEdit->SetCharArray(nMaxLen); |
1233 | 1233 |
1234 if (IsFloatZero(fFontSize)) | 1234 if (IsFloatZero(fFontSize)) |
1235 { | 1235 { |
1236 fFontSize = CPWL_Edit::GetCharArrayAutoF
ontSize(FontMap.GetPDFFont(0),rcClient,nMaxLen); | 1236 fFontSize = CPWL_Edit::GetCharArrayAutoF
ontSize(FontMap.GetPDFFont(0),rcClient,nMaxLen); |
1237 } | 1237 } |
1238 } | 1238 } |
1239 else | 1239 else |
1240 { | 1240 { |
1241 if (sValue) | 1241 if (sValue) |
1242 nMaxLen = wcslen((const wchar_t*)sValue)
; | 1242 nMaxLen = wcslen((const wchar_t*)sValue)
; |
1243 pEdit->SetLimitChar(nMaxLen); | 1243 pEdit->SetLimitChar(nMaxLen); |
1244 } | 1244 } |
1245 } | 1245 } |
1246 | 1246 |
1247 if (IsFloatZero(fFontSize)) | 1247 if (IsFloatZero(fFontSize)) |
1248 » » » pEdit->SetAutoFontSize(TRUE); | 1248 » » » pEdit->SetAutoFontSize(true); |
1249 else | 1249 else |
1250 pEdit->SetFontSize(fFontSize); | 1250 pEdit->SetFontSize(fFontSize); |
1251 | 1251 |
1252 pEdit->Initialize(); | 1252 pEdit->Initialize(); |
1253 | 1253 |
1254 if (sValue) | 1254 if (sValue) |
1255 pEdit->SetText(sValue); | 1255 pEdit->SetText(sValue); |
1256 else | 1256 else |
1257 pEdit->SetText(pField->GetValue().c_str()); | 1257 pEdit->SetText(pField->GetValue().c_str()); |
1258 | 1258 |
(...skipping 14 matching lines...) Expand all Loading... |
1273 CPWL_Color crText = GetTextPWLColor(); | 1273 CPWL_Color crText = GetTextPWLColor(); |
1274 sBody << "BT\n" << CPWL_Utils::GetColorAppStream(crText)
<< sEdit << "ET\n" << "Q\nEMC\n"; | 1274 sBody << "BT\n" << CPWL_Utils::GetColorAppStream(crText)
<< sEdit << "ET\n" << "Q\nEMC\n"; |
1275 } | 1275 } |
1276 | 1276 |
1277 if (bCharArray) | 1277 if (bCharArray) |
1278 { | 1278 { |
1279 switch (GetBorderStyle()) | 1279 switch (GetBorderStyle()) |
1280 { | 1280 { |
1281 case BBS_SOLID: | 1281 case BBS_SOLID: |
1282 { | 1282 { |
1283 » » » » » CFX_ByteString sColor = CPWL_Utils::GetC
olorAppStream(GetBorderPWLColor(),FALSE); | 1283 » » » » » CFX_ByteString sColor = CPWL_Utils::GetC
olorAppStream(GetBorderPWLColor(),false); |
1284 if (sColor.GetLength() > 0) | 1284 if (sColor.GetLength() > 0) |
1285 { | 1285 { |
1286 sLines << "q\n" << GetBorderWidt
h() << " w\n" | 1286 sLines << "q\n" << GetBorderWidt
h() << " w\n" |
1287 » » » » » » » << CPWL_Utils::GetColorA
ppStream(GetBorderPWLColor(),FALSE) << " 2 J 0 j\n"; | 1287 » » » » » » » << CPWL_Utils::GetColorA
ppStream(GetBorderPWLColor(),false) << " 2 J 0 j\n"; |
1288 | 1288 |
1289 for (int32_t i=1;i<nMaxLen;i++) | 1289 for (int32_t i=1;i<nMaxLen;i++) |
1290 { | 1290 { |
1291 sLines << rcClient.left
+ ((rcClient.right - rcClient.left)/nMaxLen)*i << " " | 1291 sLines << rcClient.left
+ ((rcClient.right - rcClient.left)/nMaxLen)*i << " " |
1292 << rcClient.bott
om << " m\n" | 1292 << rcClient.bott
om << " m\n" |
1293 << rcClient.left
+ ((rcClient.right - rcClient.left)/nMaxLen)*i << " " | 1293 << rcClient.left
+ ((rcClient.right - rcClient.left)/nMaxLen)*i << " " |
1294 << rcClient.top
<< " l S\n"; | 1294 << rcClient.top
<< " l S\n"; |
1295 } | 1295 } |
1296 | 1296 |
1297 sLines << "Q\n"; | 1297 sLines << "Q\n"; |
1298 } | 1298 } |
1299 } | 1299 } |
1300 break; | 1300 break; |
1301 case BBS_DASH: | 1301 case BBS_DASH: |
1302 { | 1302 { |
1303 » » » » » CFX_ByteString sColor = CPWL_Utils::GetC
olorAppStream(GetBorderPWLColor(),FALSE); | 1303 » » » » » CFX_ByteString sColor = CPWL_Utils::GetC
olorAppStream(GetBorderPWLColor(),false); |
1304 if (sColor.GetLength() > 0) | 1304 if (sColor.GetLength() > 0) |
1305 { | 1305 { |
1306 CPWL_Dash dsBorder = CPWL_Dash(3
, 3, 0); | 1306 CPWL_Dash dsBorder = CPWL_Dash(3
, 3, 0); |
1307 | 1307 |
1308 sLines << "q\n" << GetBorderWidt
h() << " w\n" | 1308 sLines << "q\n" << GetBorderWidt
h() << " w\n" |
1309 » » » » » » » << CPWL_Utils::GetColorA
ppStream(GetBorderPWLColor(),FALSE) | 1309 » » » » » » » << CPWL_Utils::GetColorA
ppStream(GetBorderPWLColor(),false) |
1310 << "[" << dsBorder.nDash
<< " " | 1310 << "[" << dsBorder.nDash
<< " " |
1311 << dsBorder.nGap << "] " | 1311 << dsBorder.nGap << "] " |
1312 << dsBorder.nPhase << "
d\n"; | 1312 << dsBorder.nPhase << "
d\n"; |
1313 | 1313 |
1314 for (int32_t i=1;i<nMaxLen;i++) | 1314 for (int32_t i=1;i<nMaxLen;i++) |
1315 { | 1315 { |
1316 sLines << rcClient.left
+ ((rcClient.right - rcClient.left)/nMaxLen)*i << " " | 1316 sLines << rcClient.left
+ ((rcClient.right - rcClient.left)/nMaxLen)*i << " " |
1317 << rcClient.bott
om << " m\n" | 1317 << rcClient.bott
om << " m\n" |
1318 << rcClient.left
+ ((rcClient.right - rcClient.left)/nMaxLen)*i << " " | 1318 << rcClient.left
+ ((rcClient.right - rcClient.left)/nMaxLen)*i << " " |
1319 << rcClient.top
<< " l S\n"; | 1319 << rcClient.top
<< " l S\n"; |
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1548 } | 1548 } |
1549 | 1549 |
1550 void CPDFSDK_Widget::RemoveAppearance(const CFX_ByteString& sAPType) | 1550 void CPDFSDK_Widget::RemoveAppearance(const CFX_ByteString& sAPType) |
1551 { | 1551 { |
1552 if (CPDF_Dictionary* pAPDict = m_pAnnot->GetAnnotDict()->GetDict("AP")) | 1552 if (CPDF_Dictionary* pAPDict = m_pAnnot->GetAnnotDict()->GetDict("AP")) |
1553 { | 1553 { |
1554 pAPDict->RemoveAt(sAPType); | 1554 pAPDict->RemoveAt(sAPType); |
1555 } | 1555 } |
1556 } | 1556 } |
1557 | 1557 |
1558 FX_BOOL CPDFSDK_Widget::OnAAction(CPDF_AAction::AActionType type, PDFSDK_FieldAc
tion& data, CPDFSDK_PageView* pPageView) | 1558 bool CPDFSDK_Widget::OnAAction(CPDF_AAction::AActionType type, PDFSDK_FieldActio
n& data, CPDFSDK_PageView* pPageView) |
1559 { | 1559 { |
1560 CPDF_Action action = GetAAction(type); | 1560 CPDF_Action action = GetAAction(type); |
1561 | 1561 |
1562 if (action && action.GetType() != CPDF_Action::Unknown) | 1562 if (action && action.GetType() != CPDF_Action::Unknown) |
1563 { | 1563 { |
1564 CPDFSDK_Document* pDocument = pPageView->GetSDKDocument(); | 1564 CPDFSDK_Document* pDocument = pPageView->GetSDKDocument(); |
1565 ASSERT(pDocument != NULL); | 1565 ASSERT(pDocument != NULL); |
1566 | 1566 |
1567 CPDFDoc_Environment* pEnv = pDocument->GetEnv(); | 1567 CPDFDoc_Environment* pEnv = pDocument->GetEnv(); |
1568 ASSERT(pEnv != NULL); | 1568 ASSERT(pEnv != NULL); |
1569 | 1569 |
1570 CPDFSDK_ActionHandler* pActionHandler = pEnv->GetActionHander();
/*(CPDFSDK_ActionHandler*)pApp->GetActionHandler();*/ | 1570 CPDFSDK_ActionHandler* pActionHandler = pEnv->GetActionHander();
/*(CPDFSDK_ActionHandler*)pApp->GetActionHandler();*/ |
1571 ASSERT(pActionHandler != NULL); | 1571 ASSERT(pActionHandler != NULL); |
1572 | 1572 |
1573 return pActionHandler->DoAction_Field(action, type, pDocument, G
etFormField(), data); | 1573 return pActionHandler->DoAction_Field(action, type, pDocument, G
etFormField(), data); |
1574 } | 1574 } |
1575 | 1575 |
1576 » return FALSE; | 1576 » return false; |
1577 } | 1577 } |
1578 | 1578 |
1579 CPDF_Action CPDFSDK_Widget::GetAAction(CPDF_AAction::AActionType eAAT) | 1579 CPDF_Action CPDFSDK_Widget::GetAAction(CPDF_AAction::AActionType eAAT) |
1580 { | 1580 { |
1581 switch (eAAT) | 1581 switch (eAAT) |
1582 { | 1582 { |
1583 case CPDF_AAction::CursorEnter: | 1583 case CPDF_AAction::CursorEnter: |
1584 case CPDF_AAction::CursorExit: | 1584 case CPDF_AAction::CursorExit: |
1585 case CPDF_AAction::ButtonDown: | 1585 case CPDF_AAction::ButtonDown: |
1586 case CPDF_AAction::ButtonUp: | 1586 case CPDF_AAction::ButtonUp: |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1623 { | 1623 { |
1624 return m_nAppAge; | 1624 return m_nAppAge; |
1625 } | 1625 } |
1626 | 1626 |
1627 int32_t CPDFSDK_Widget::GetValueAge() const | 1627 int32_t CPDFSDK_Widget::GetValueAge() const |
1628 { | 1628 { |
1629 return m_nValueAge; | 1629 return m_nValueAge; |
1630 } | 1630 } |
1631 | 1631 |
1632 | 1632 |
1633 FX_BOOL»CPDFSDK_Widget::HitTest(FX_FLOAT pageX, FX_FLOAT pageY) | 1633 bool» CPDFSDK_Widget::HitTest(FX_FLOAT pageX, FX_FLOAT pageY) |
1634 { | 1634 { |
1635 CPDF_Annot* pAnnot = GetPDFAnnot(); | 1635 CPDF_Annot* pAnnot = GetPDFAnnot(); |
1636 CFX_FloatRect annotRect; | 1636 CFX_FloatRect annotRect; |
1637 pAnnot->GetRect(annotRect); | 1637 pAnnot->GetRect(annotRect); |
1638 if(annotRect.Contains(pageX, pageY)) | 1638 if(annotRect.Contains(pageX, pageY)) |
1639 { | 1639 { |
1640 » » if (!IsVisible()) return FALSE; | 1640 » » if (!IsVisible()) return false; |
1641 | 1641 |
1642 int nFieldFlags = GetFieldFlags(); | 1642 int nFieldFlags = GetFieldFlags(); |
1643 if ((nFieldFlags & FIELDFLAG_READONLY) == FIELDFLAG_READONLY) | 1643 if ((nFieldFlags & FIELDFLAG_READONLY) == FIELDFLAG_READONLY) |
1644 » » » return FALSE; | 1644 » » » return false; |
1645 | 1645 |
1646 » » return TRUE; | 1646 » » return true; |
1647 } | 1647 } |
1648 » return FALSE; | 1648 » return false; |
1649 } | 1649 } |
1650 | 1650 |
1651 CPDFSDK_InterForm::CPDFSDK_InterForm(CPDFSDK_Document* pDocument) | 1651 CPDFSDK_InterForm::CPDFSDK_InterForm(CPDFSDK_Document* pDocument) |
1652 :m_pDocument(pDocument), | 1652 :m_pDocument(pDocument), |
1653 m_pInterForm(NULL), | 1653 m_pInterForm(NULL), |
1654 » m_bCalculate(TRUE), | 1654 » m_bCalculate(true), |
1655 » m_bBusy(FALSE) | 1655 » m_bBusy(false) |
1656 { | 1656 { |
1657 ASSERT(m_pDocument != NULL); | 1657 ASSERT(m_pDocument != NULL); |
1658 » m_pInterForm = new CPDF_InterForm(m_pDocument->GetDocument(), FALSE); | 1658 » m_pInterForm = new CPDF_InterForm(m_pDocument->GetDocument(), false); |
1659 ASSERT(m_pInterForm != NULL); | 1659 ASSERT(m_pInterForm != NULL); |
1660 m_pInterForm->SetFormNotify(this); | 1660 m_pInterForm->SetFormNotify(this); |
1661 | 1661 |
1662 for(int i=0; i<6; i++) | 1662 for(int i=0; i<6; i++) |
1663 » » m_bNeedHightlight[i] = FALSE; | 1663 » » m_bNeedHightlight[i] = false; |
1664 m_iHighlightAlpha = 0; | 1664 m_iHighlightAlpha = 0; |
1665 } | 1665 } |
1666 | 1666 |
1667 CPDFSDK_InterForm::~CPDFSDK_InterForm() | 1667 CPDFSDK_InterForm::~CPDFSDK_InterForm() |
1668 { | 1668 { |
1669 delete m_pInterForm; | 1669 delete m_pInterForm; |
1670 m_pInterForm = nullptr; | 1670 m_pInterForm = nullptr; |
1671 m_Map.clear(); | 1671 m_Map.clear(); |
1672 } | 1672 } |
1673 | 1673 |
1674 FX_BOOL CPDFSDK_InterForm::HighlightWidgets() | 1674 bool CPDFSDK_InterForm::HighlightWidgets() |
1675 { | 1675 { |
1676 » return FALSE; | 1676 » return false; |
1677 } | 1677 } |
1678 | 1678 |
1679 CPDFSDK_Widget* CPDFSDK_InterForm::GetSibling(CPDFSDK_Widget* pWidget, FX_BOOL b
Next) const | 1679 CPDFSDK_Widget* CPDFSDK_InterForm::GetSibling(CPDFSDK_Widget* pWidget, bool bNex
t) const |
1680 { | 1680 { |
1681 nonstd::unique_ptr<CBA_AnnotIterator> pIterator( | 1681 nonstd::unique_ptr<CBA_AnnotIterator> pIterator( |
1682 new CBA_AnnotIterator(pWidget->GetPageView(), "Widget", "")); | 1682 new CBA_AnnotIterator(pWidget->GetPageView(), "Widget", "")); |
1683 | 1683 |
1684 if (bNext) { | 1684 if (bNext) { |
1685 return (CPDFSDK_Widget*)pIterator->GetNextAnnot(pWidget); | 1685 return (CPDFSDK_Widget*)pIterator->GetNextAnnot(pWidget); |
1686 } | 1686 } |
1687 return (CPDFSDK_Widget*)pIterator->GetPrevAnnot(pWidget); | 1687 return (CPDFSDK_Widget*)pIterator->GetPrevAnnot(pWidget); |
1688 } | 1688 } |
1689 | 1689 |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1781 void CPDFSDK_InterForm::AddMap(CPDF_FormControl* pControl, CPDFSDK_Widget* pWidg
et) | 1781 void CPDFSDK_InterForm::AddMap(CPDF_FormControl* pControl, CPDFSDK_Widget* pWidg
et) |
1782 { | 1782 { |
1783 m_Map[pControl] = pWidget; | 1783 m_Map[pControl] = pWidget; |
1784 } | 1784 } |
1785 | 1785 |
1786 void CPDFSDK_InterForm::RemoveMap(CPDF_FormControl* pControl) | 1786 void CPDFSDK_InterForm::RemoveMap(CPDF_FormControl* pControl) |
1787 { | 1787 { |
1788 m_Map.erase(pControl); | 1788 m_Map.erase(pControl); |
1789 } | 1789 } |
1790 | 1790 |
1791 void CPDFSDK_InterForm::EnableCalculate(FX_BOOL bEnabled) | 1791 void CPDFSDK_InterForm::EnableCalculate(bool bEnabled) |
1792 { | 1792 { |
1793 m_bCalculate = bEnabled; | 1793 m_bCalculate = bEnabled; |
1794 } | 1794 } |
1795 | 1795 |
1796 FX_BOOL CPDFSDK_InterForm::IsCalculateEnabled() const | 1796 bool CPDFSDK_InterForm::IsCalculateEnabled() const |
1797 { | 1797 { |
1798 return m_bCalculate; | 1798 return m_bCalculate; |
1799 } | 1799 } |
1800 | 1800 |
1801 #ifdef _WIN32 | 1801 #ifdef _WIN32 |
1802 CPDF_Stream* CPDFSDK_InterForm::LoadImageFromFile(const CFX_WideString& sFile) | 1802 CPDF_Stream* CPDFSDK_InterForm::LoadImageFromFile(const CFX_WideString& sFile) |
1803 { | 1803 { |
1804 ASSERT(m_pDocument != NULL); | 1804 ASSERT(m_pDocument != NULL); |
1805 CPDF_Document* pDocument = m_pDocument->GetDocument(); | 1805 CPDF_Document* pDocument = m_pDocument->GetDocument(); |
1806 ASSERT(pDocument != NULL); | 1806 ASSERT(pDocument != NULL); |
1807 | 1807 |
1808 CPDF_Stream* pRetStream = NULL; | 1808 CPDF_Stream* pRetStream = NULL; |
1809 | 1809 |
1810 if (CFX_DIBitmap* pBmp = CFX_WindowsDIB::LoadFromFile(sFile.c_str())) | 1810 if (CFX_DIBitmap* pBmp = CFX_WindowsDIB::LoadFromFile(sFile.c_str())) |
1811 { | 1811 { |
1812 int nWidth = pBmp->GetWidth(); | 1812 int nWidth = pBmp->GetWidth(); |
1813 int nHeight = pBmp->GetHeight(); | 1813 int nHeight = pBmp->GetHeight(); |
1814 | 1814 |
1815 CPDF_Image Image(pDocument); | 1815 CPDF_Image Image(pDocument); |
1816 » » Image.SetImage(pBmp, FALSE); | 1816 » » Image.SetImage(pBmp, false); |
1817 CPDF_Stream* pImageStream = Image.GetStream(); | 1817 CPDF_Stream* pImageStream = Image.GetStream(); |
1818 if (pImageStream) | 1818 if (pImageStream) |
1819 { | 1819 { |
1820 if (pImageStream->GetObjNum() == 0) | 1820 if (pImageStream->GetObjNum() == 0) |
1821 pDocument->AddIndirectObject(pImageStream); | 1821 pDocument->AddIndirectObject(pImageStream); |
1822 | 1822 |
1823 CPDF_Dictionary* pStreamDict = new CPDF_Dictionary(); | 1823 CPDF_Dictionary* pStreamDict = new CPDF_Dictionary(); |
1824 pStreamDict->SetAtName("Subtype", "Form"); | 1824 pStreamDict->SetAtName("Subtype", "Form"); |
1825 pStreamDict->SetAtName("Name", "IMG"); | 1825 pStreamDict->SetAtName("Name", "IMG"); |
1826 CPDF_Array* pMatrix = new CPDF_Array(); | 1826 CPDF_Array* pMatrix = new CPDF_Array(); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1866 void CPDFSDK_InterForm::OnCalculate(CPDF_FormField* pFormField) | 1866 void CPDFSDK_InterForm::OnCalculate(CPDF_FormField* pFormField) |
1867 { | 1867 { |
1868 ASSERT(m_pDocument != NULL); | 1868 ASSERT(m_pDocument != NULL); |
1869 CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); | 1869 CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); |
1870 ASSERT(pEnv); | 1870 ASSERT(pEnv); |
1871 if(!pEnv->IsJSInitiated()) | 1871 if(!pEnv->IsJSInitiated()) |
1872 return; | 1872 return; |
1873 | 1873 |
1874 if (m_bBusy) return; | 1874 if (m_bBusy) return; |
1875 | 1875 |
1876 » m_bBusy = TRUE; | 1876 » m_bBusy = true; |
1877 | 1877 |
1878 if (IsCalculateEnabled()) | 1878 if (IsCalculateEnabled()) |
1879 { | 1879 { |
1880 IFXJS_Runtime* pRuntime = m_pDocument->GetJsRuntime(); | 1880 IFXJS_Runtime* pRuntime = m_pDocument->GetJsRuntime(); |
1881 ASSERT(pRuntime != NULL); | 1881 ASSERT(pRuntime != NULL); |
1882 | 1882 |
1883 pRuntime->SetReaderDocument(m_pDocument); | 1883 pRuntime->SetReaderDocument(m_pDocument); |
1884 | 1884 |
1885 int nSize = m_pInterForm->CountFieldsInCalculationOrder(); | 1885 int nSize = m_pInterForm->CountFieldsInCalculationOrder(); |
1886 for (int i=0; i<nSize; i++) | 1886 for (int i=0; i<nSize; i++) |
(...skipping 11 matching lines...) Expand all Loading... |
1898 if (action) | 1898 if (action) |
1899 { | 1899 { |
1900 CFX_WideString csJS = ac
tion.GetJavaScript(); | 1900 CFX_WideString csJS = ac
tion.GetJavaScript(); |
1901 if (!csJS.IsEmpty()) | 1901 if (!csJS.IsEmpty()) |
1902 { | 1902 { |
1903 IFXJS_Context* p
Context = pRuntime->NewContext(); | 1903 IFXJS_Context* p
Context = pRuntime->NewContext(); |
1904 ASSERT(pContext
!= NULL); | 1904 ASSERT(pContext
!= NULL); |
1905 | 1905 |
1906 CFX_WideString s
OldValue = pField->GetValue(); | 1906 CFX_WideString s
OldValue = pField->GetValue(); |
1907 CFX_WideString s
Value = sOldValue; | 1907 CFX_WideString s
Value = sOldValue; |
1908 » » » » » » » » FX_BOOL bRC = TR
UE; | 1908 » » » » » » » » bool bRC = true; |
1909 pContext->OnFiel
d_Calculate(pFormField, pField, sValue, bRC); | 1909 pContext->OnFiel
d_Calculate(pFormField, pField, sValue, bRC); |
1910 | 1910 |
1911 CFX_WideString s
Info; | 1911 CFX_WideString s
Info; |
1912 » » » » » » » » FX_BOOL bRet = p
Context->RunScript(csJS, sInfo); | 1912 » » » » » » » » bool bRet = pCon
text->RunScript(csJS, sInfo); |
1913 pRuntime->Releas
eContext(pContext); | 1913 pRuntime->Releas
eContext(pContext); |
1914 | 1914 |
1915 if (bRet) | 1915 if (bRet) |
1916 { | 1916 { |
1917 if (bRC) | 1917 if (bRC) |
1918 { | 1918 { |
1919
if (sValue.Compare(sOldValue) != 0) | 1919
if (sValue.Compare(sOldValue) != 0) |
1920 » » » » » » » » » »
» pField->SetValue(sValue, TRUE); | 1920 » » » » » » » » » »
» pField->SetValue(sValue, true); |
1921 } | 1921 } |
1922 } | 1922 } |
1923 } | 1923 } |
1924 } | 1924 } |
1925 } | 1925 } |
1926 } | 1926 } |
1927 } | 1927 } |
1928 } | 1928 } |
1929 | 1929 |
1930 | 1930 |
1931 } | 1931 } |
1932 | 1932 |
1933 » m_bBusy = FALSE; | 1933 » m_bBusy = false; |
1934 } | 1934 } |
1935 | 1935 |
1936 CFX_WideString CPDFSDK_InterForm::OnFormat(CPDF_FormField* pFormField, FX_BOOL&
bFormated) | 1936 CFX_WideString CPDFSDK_InterForm::OnFormat(CPDF_FormField* pFormField, bool& bFo
rmated) |
1937 { | 1937 { |
1938 ASSERT(m_pDocument != NULL); | 1938 ASSERT(m_pDocument != NULL); |
1939 ASSERT(pFormField != NULL); | 1939 ASSERT(pFormField != NULL); |
1940 | 1940 |
1941 CFX_WideString sValue = pFormField->GetValue(); | 1941 CFX_WideString sValue = pFormField->GetValue(); |
1942 CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); | 1942 CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); |
1943 ASSERT(pEnv); | 1943 ASSERT(pEnv); |
1944 if(!pEnv->IsJSInitiated()) | 1944 if(!pEnv->IsJSInitiated()) |
1945 { | 1945 { |
1946 » » bFormated = FALSE; | 1946 » » bFormated = false; |
1947 return sValue; | 1947 return sValue; |
1948 } | 1948 } |
1949 | 1949 |
1950 IFXJS_Runtime* pRuntime = m_pDocument->GetJsRuntime(); | 1950 IFXJS_Runtime* pRuntime = m_pDocument->GetJsRuntime(); |
1951 ASSERT(pRuntime != NULL); | 1951 ASSERT(pRuntime != NULL); |
1952 | 1952 |
1953 pRuntime->SetReaderDocument(m_pDocument); | 1953 pRuntime->SetReaderDocument(m_pDocument); |
1954 | 1954 |
1955 if (pFormField->GetFieldType() == FIELDTYPE_COMBOBOX) | 1955 if (pFormField->GetFieldType() == FIELDTYPE_COMBOBOX) |
1956 { | 1956 { |
1957 if (pFormField->CountSelectedItems() > 0) | 1957 if (pFormField->CountSelectedItems() > 0) |
1958 { | 1958 { |
1959 int index = pFormField->GetSelectedIndex(0); | 1959 int index = pFormField->GetSelectedIndex(0); |
1960 if (index >= 0) | 1960 if (index >= 0) |
1961 sValue = pFormField->GetOptionLabel(index); | 1961 sValue = pFormField->GetOptionLabel(index); |
1962 } | 1962 } |
1963 } | 1963 } |
1964 | 1964 |
1965 » bFormated = FALSE; | 1965 » bFormated = false; |
1966 | 1966 |
1967 CPDF_AAction aAction = pFormField->GetAdditionalAction(); | 1967 CPDF_AAction aAction = pFormField->GetAdditionalAction(); |
1968 if (aAction != NULL && aAction.ActionExist(CPDF_AAction::Format)) | 1968 if (aAction != NULL && aAction.ActionExist(CPDF_AAction::Format)) |
1969 { | 1969 { |
1970 CPDF_Action action = aAction.GetAction(CPDF_AAction::Format); | 1970 CPDF_Action action = aAction.GetAction(CPDF_AAction::Format); |
1971 if (action) | 1971 if (action) |
1972 { | 1972 { |
1973 CFX_WideString script = action.GetJavaScript(); | 1973 CFX_WideString script = action.GetJavaScript(); |
1974 if (!script.IsEmpty()) | 1974 if (!script.IsEmpty()) |
1975 { | 1975 { |
1976 CFX_WideString Value = sValue; | 1976 CFX_WideString Value = sValue; |
1977 | 1977 |
1978 IFXJS_Context* pContext = pRuntime->NewContext()
; | 1978 IFXJS_Context* pContext = pRuntime->NewContext()
; |
1979 ASSERT(pContext != NULL); | 1979 ASSERT(pContext != NULL); |
1980 | 1980 |
1981 » » » » pContext->OnField_Format(pFormField, Value, TRUE
); | 1981 » » » » pContext->OnField_Format(pFormField, Value, true
); |
1982 | 1982 |
1983 CFX_WideString sInfo; | 1983 CFX_WideString sInfo; |
1984 » » » » FX_BOOL bRet = pContext->RunScript(script, sInfo
); | 1984 » » » » bool bRet = pContext->RunScript(script, sInfo); |
1985 pRuntime->ReleaseContext(pContext); | 1985 pRuntime->ReleaseContext(pContext); |
1986 | 1986 |
1987 if (bRet) | 1987 if (bRet) |
1988 { | 1988 { |
1989 sValue = Value; | 1989 sValue = Value; |
1990 » » » » » bFormated = TRUE; | 1990 » » » » » bFormated = true; |
1991 } | 1991 } |
1992 } | 1992 } |
1993 } | 1993 } |
1994 } | 1994 } |
1995 | 1995 |
1996 return sValue; | 1996 return sValue; |
1997 } | 1997 } |
1998 | 1998 |
1999 void CPDFSDK_InterForm::ResetFieldAppearance(CPDF_FormField* pFormField, const F
X_WCHAR* sValue, FX_BOOL bValueChanged) | 1999 void CPDFSDK_InterForm::ResetFieldAppearance(CPDF_FormField* pFormField, const F
X_WCHAR* sValue, bool bValueChanged) |
2000 { | 2000 { |
2001 ASSERT(pFormField != NULL); | 2001 ASSERT(pFormField != NULL); |
2002 | 2002 |
2003 for (int i=0,sz=pFormField->CountControls(); i<sz; i++) | 2003 for (int i=0,sz=pFormField->CountControls(); i<sz; i++) |
2004 { | 2004 { |
2005 CPDF_FormControl* pFormCtrl = pFormField->GetControl(i); | 2005 CPDF_FormControl* pFormCtrl = pFormField->GetControl(i); |
2006 ASSERT(pFormCtrl != NULL); | 2006 ASSERT(pFormCtrl != NULL); |
2007 | 2007 |
2008 ASSERT(m_pInterForm != NULL); | 2008 ASSERT(m_pInterForm != NULL); |
2009 if(CPDFSDK_Widget* pWidget = GetWidget(pFormCtrl)) | 2009 if(CPDFSDK_Widget* pWidget = GetWidget(pFormCtrl)) |
2010 pWidget->ResetAppearance(sValue, bValueChanged); | 2010 pWidget->ResetAppearance(sValue, bValueChanged); |
2011 } | 2011 } |
2012 } | 2012 } |
2013 | 2013 |
2014 void CPDFSDK_InterForm::UpdateField(CPDF_FormField* pFormField) | 2014 void CPDFSDK_InterForm::UpdateField(CPDF_FormField* pFormField) |
2015 { | 2015 { |
2016 ASSERT(pFormField != NULL); | 2016 ASSERT(pFormField != NULL); |
2017 | 2017 |
2018 for (int i=0,sz=pFormField->CountControls(); i<sz; i++) | 2018 for (int i=0,sz=pFormField->CountControls(); i<sz; i++) |
2019 { | 2019 { |
2020 CPDF_FormControl* pFormCtrl = pFormField->GetControl(i); | 2020 CPDF_FormControl* pFormCtrl = pFormField->GetControl(i); |
2021 ASSERT(pFormCtrl != NULL); | 2021 ASSERT(pFormCtrl != NULL); |
2022 | 2022 |
2023 if(CPDFSDK_Widget* pWidget = GetWidget(pFormCtrl)) | 2023 if(CPDFSDK_Widget* pWidget = GetWidget(pFormCtrl)) |
2024 { | 2024 { |
2025 CPDFDoc_Environment * pEnv = m_pDocument->GetEnv(); | 2025 CPDFDoc_Environment * pEnv = m_pDocument->GetEnv(); |
2026 CFFL_IFormFiller* pIFormFiller = pEnv->GetIFormFiller(); | 2026 CFFL_IFormFiller* pIFormFiller = pEnv->GetIFormFiller(); |
2027 | 2027 |
2028 CPDF_Page * pPage = pWidget->GetPDFPage(); | 2028 CPDF_Page * pPage = pWidget->GetPDFPage(); |
2029 » » » CPDFSDK_PageView * pPageView = m_pDocument->GetPageView(
pPage,FALSE); | 2029 » » » CPDFSDK_PageView * pPageView = m_pDocument->GetPageView(
pPage,false); |
2030 | 2030 |
2031 FX_RECT rcBBox = pIFormFiller->GetViewBBox(pPageView, pW
idget); | 2031 FX_RECT rcBBox = pIFormFiller->GetViewBBox(pPageView, pW
idget); |
2032 | 2032 |
2033 pEnv->FFI_Invalidate(pPage,rcBBox.left, rcBBox.top, rcBB
ox.right, rcBBox.bottom); | 2033 pEnv->FFI_Invalidate(pPage,rcBBox.left, rcBBox.top, rcBB
ox.right, rcBBox.bottom); |
2034 } | 2034 } |
2035 } | 2035 } |
2036 } | 2036 } |
2037 | 2037 |
2038 void CPDFSDK_InterForm::OnKeyStrokeCommit(CPDF_FormField* pFormField, CFX_WideSt
ring& csValue, FX_BOOL& bRC) | 2038 void CPDFSDK_InterForm::OnKeyStrokeCommit(CPDF_FormField* pFormField, CFX_WideSt
ring& csValue, bool& bRC) |
2039 { | 2039 { |
2040 ASSERT(pFormField != NULL); | 2040 ASSERT(pFormField != NULL); |
2041 | 2041 |
2042 CPDF_AAction aAction = pFormField->GetAdditionalAction(); | 2042 CPDF_AAction aAction = pFormField->GetAdditionalAction(); |
2043 if (aAction != NULL && aAction.ActionExist(CPDF_AAction::KeyStroke)) | 2043 if (aAction != NULL && aAction.ActionExist(CPDF_AAction::KeyStroke)) |
2044 { | 2044 { |
2045 CPDF_Action action = aAction.GetAction(CPDF_AAction::KeyStroke); | 2045 CPDF_Action action = aAction.GetAction(CPDF_AAction::KeyStroke); |
2046 if (action) | 2046 if (action) |
2047 { | 2047 { |
2048 ASSERT(m_pDocument != NULL); | 2048 ASSERT(m_pDocument != NULL); |
2049 CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); | 2049 CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); |
2050 ASSERT(pEnv != NULL); | 2050 ASSERT(pEnv != NULL); |
2051 | 2051 |
2052 CPDFSDK_ActionHandler* pActionHandler = pEnv->GetActionH
ander(); | 2052 CPDFSDK_ActionHandler* pActionHandler = pEnv->GetActionH
ander(); |
2053 ASSERT(pActionHandler != NULL); | 2053 ASSERT(pActionHandler != NULL); |
2054 | 2054 |
2055 PDFSDK_FieldAction fa; | 2055 PDFSDK_FieldAction fa; |
2056 fa.bModifier = pEnv->FFI_IsCTRLKeyDown(0); | 2056 fa.bModifier = pEnv->FFI_IsCTRLKeyDown(0); |
2057 fa.bShift = pEnv->FFI_IsSHIFTKeyDown(0); | 2057 fa.bShift = pEnv->FFI_IsSHIFTKeyDown(0); |
2058 fa.sValue = csValue; | 2058 fa.sValue = csValue; |
2059 | 2059 |
2060 pActionHandler->DoAction_FieldJavaScript(action, CPDF_AA
ction::KeyStroke, | 2060 pActionHandler->DoAction_FieldJavaScript(action, CPDF_AA
ction::KeyStroke, |
2061 m_pDocument, pFormField, fa); | 2061 m_pDocument, pFormField, fa); |
2062 bRC = fa.bRC; | 2062 bRC = fa.bRC; |
2063 } | 2063 } |
2064 } | 2064 } |
2065 } | 2065 } |
2066 | 2066 |
2067 void CPDFSDK_InterForm::OnValidate(CPDF_FormField* pFormField, CFX_WideString& c
sValue, FX_BOOL& bRC) | 2067 void CPDFSDK_InterForm::OnValidate(CPDF_FormField* pFormField, CFX_WideString& c
sValue, bool& bRC) |
2068 { | 2068 { |
2069 ASSERT(pFormField != NULL); | 2069 ASSERT(pFormField != NULL); |
2070 | 2070 |
2071 CPDF_AAction aAction = pFormField->GetAdditionalAction(); | 2071 CPDF_AAction aAction = pFormField->GetAdditionalAction(); |
2072 if (aAction != NULL && aAction.ActionExist(CPDF_AAction::Validate)) | 2072 if (aAction != NULL && aAction.ActionExist(CPDF_AAction::Validate)) |
2073 { | 2073 { |
2074 CPDF_Action action = aAction.GetAction(CPDF_AAction::Validate); | 2074 CPDF_Action action = aAction.GetAction(CPDF_AAction::Validate); |
2075 if (action) | 2075 if (action) |
2076 { | 2076 { |
2077 ASSERT(m_pDocument != NULL); | 2077 ASSERT(m_pDocument != NULL); |
(...skipping 10 matching lines...) Expand all Loading... |
2088 | 2088 |
2089 pActionHandler->DoAction_FieldJavaScript(action, CPDF_AA
ction::Validate, m_pDocument, pFormField, fa); | 2089 pActionHandler->DoAction_FieldJavaScript(action, CPDF_AA
ction::Validate, m_pDocument, pFormField, fa); |
2090 bRC = fa.bRC; | 2090 bRC = fa.bRC; |
2091 | 2091 |
2092 } | 2092 } |
2093 } | 2093 } |
2094 } | 2094 } |
2095 | 2095 |
2096 /* ----------------------------- action ----------------------------- */ | 2096 /* ----------------------------- action ----------------------------- */ |
2097 | 2097 |
2098 FX_BOOL CPDFSDK_InterForm::DoAction_Hide(const CPDF_Action& action) | 2098 bool CPDFSDK_InterForm::DoAction_Hide(const CPDF_Action& action) |
2099 { | 2099 { |
2100 ASSERT(action); | 2100 ASSERT(action); |
2101 | 2101 |
2102 CPDF_ActionFields af = action.GetWidgets(); | 2102 CPDF_ActionFields af = action.GetWidgets(); |
2103 CFX_PtrArray fieldObjects; | 2103 CFX_PtrArray fieldObjects; |
2104 af.GetAllFields(fieldObjects); | 2104 af.GetAllFields(fieldObjects); |
2105 CFX_PtrArray widgetArray; | 2105 CFX_PtrArray widgetArray; |
2106 CFX_PtrArray fields; | 2106 CFX_PtrArray fields; |
2107 GetFieldFromObjects(fieldObjects, fields); | 2107 GetFieldFromObjects(fieldObjects, fields); |
2108 | 2108 |
2109 » FX_BOOL bHide = action.GetHideStatus(); | 2109 » bool bHide = action.GetHideStatus(); |
2110 | 2110 |
2111 » FX_BOOL bChanged = FALSE; | 2111 » bool bChanged = false; |
2112 | 2112 |
2113 for (int i=0, sz=fields.GetSize(); i<sz; i++) | 2113 for (int i=0, sz=fields.GetSize(); i<sz; i++) |
2114 { | 2114 { |
2115 CPDF_FormField* pField = (CPDF_FormField*)fields[i]; | 2115 CPDF_FormField* pField = (CPDF_FormField*)fields[i]; |
2116 ASSERT(pField != NULL); | 2116 ASSERT(pField != NULL); |
2117 | 2117 |
2118 | 2118 |
2119 for (int j=0,jsz=pField->CountControls(); j<jsz; j++) | 2119 for (int j=0,jsz=pField->CountControls(); j<jsz; j++) |
2120 { | 2120 { |
2121 CPDF_FormControl* pControl = pField->GetControl(j); | 2121 CPDF_FormControl* pControl = pField->GetControl(j); |
(...skipping 14 matching lines...) Expand all Loading... |
2136 nFlags &= (~ANNOTFLAG_HIDDEN); | 2136 nFlags &= (~ANNOTFLAG_HIDDEN); |
2137 nFlags &= (~ANNOTFLAG_NOVIEW); | 2137 nFlags &= (~ANNOTFLAG_NOVIEW); |
2138 } | 2138 } |
2139 pWidget->SetFlags(nFlags); | 2139 pWidget->SetFlags(nFlags); |
2140 | 2140 |
2141 CPDFSDK_PageView* pPageView = pWidget->GetPageVi
ew(); | 2141 CPDFSDK_PageView* pPageView = pWidget->GetPageVi
ew(); |
2142 ASSERT(pPageView != NULL); | 2142 ASSERT(pPageView != NULL); |
2143 | 2143 |
2144 pPageView->UpdateView(pWidget); | 2144 pPageView->UpdateView(pWidget); |
2145 | 2145 |
2146 » » » » bChanged = TRUE; | 2146 » » » » bChanged = true; |
2147 } | 2147 } |
2148 } | 2148 } |
2149 } | 2149 } |
2150 | 2150 |
2151 return bChanged; | 2151 return bChanged; |
2152 } | 2152 } |
2153 | 2153 |
2154 FX_BOOL CPDFSDK_InterForm::DoAction_SubmitForm(const CPDF_Action& action) | 2154 bool CPDFSDK_InterForm::DoAction_SubmitForm(const CPDF_Action& action) |
2155 { | 2155 { |
2156 ASSERT(action); | 2156 ASSERT(action); |
2157 ASSERT(m_pInterForm != NULL); | 2157 ASSERT(m_pInterForm != NULL); |
2158 | 2158 |
2159 CFX_WideString sDestination = action.GetFilePath(); | 2159 CFX_WideString sDestination = action.GetFilePath(); |
2160 » if (sDestination.IsEmpty()) return FALSE; | 2160 » if (sDestination.IsEmpty()) return false; |
2161 | 2161 |
2162 CPDF_Dictionary* pActionDict = action.GetDict(); | 2162 CPDF_Dictionary* pActionDict = action.GetDict(); |
2163 if (pActionDict->KeyExist("Fields")) | 2163 if (pActionDict->KeyExist("Fields")) |
2164 { | 2164 { |
2165 CPDF_ActionFields af = action.GetWidgets(); | 2165 CPDF_ActionFields af = action.GetWidgets(); |
2166 FX_DWORD dwFlags = action.GetFlags(); | 2166 FX_DWORD dwFlags = action.GetFlags(); |
2167 | 2167 |
2168 CFX_PtrArray fieldObjects; | 2168 CFX_PtrArray fieldObjects; |
2169 af.GetAllFields(fieldObjects); | 2169 af.GetAllFields(fieldObjects); |
2170 CFX_PtrArray fields; | 2170 CFX_PtrArray fields; |
2171 GetFieldFromObjects(fieldObjects, fields); | 2171 GetFieldFromObjects(fieldObjects, fields); |
2172 | 2172 |
2173 if (fields.GetSize() != 0) | 2173 if (fields.GetSize() != 0) |
2174 { | 2174 { |
2175 » » » FX_BOOL bIncludeOrExclude = !(dwFlags & 0x01); | 2175 » » » bool bIncludeOrExclude = !(dwFlags & 0x01); |
2176 if (m_pInterForm->CheckRequiredFields(&fields, bIncludeO
rExclude)) | 2176 if (m_pInterForm->CheckRequiredFields(&fields, bIncludeO
rExclude)) |
2177 { | 2177 { |
2178 » » » » return FALSE; | 2178 » » » » return false; |
2179 } | 2179 } |
2180 » » » return SubmitFields(sDestination, fields, bIncludeOrExcl
ude, FALSE); | 2180 » » » return SubmitFields(sDestination, fields, bIncludeOrExcl
ude, false); |
2181 } | 2181 } |
2182 else | 2182 else |
2183 { | 2183 { |
2184 if ( m_pInterForm->CheckRequiredFields()) | 2184 if ( m_pInterForm->CheckRequiredFields()) |
2185 { | 2185 { |
2186 » » » » return FALSE; | 2186 » » » » return false; |
2187 } | 2187 } |
2188 | 2188 |
2189 » » » return SubmitForm(sDestination, FALSE); | 2189 » » » return SubmitForm(sDestination, false); |
2190 } | 2190 } |
2191 } | 2191 } |
2192 else | 2192 else |
2193 { | 2193 { |
2194 if ( m_pInterForm->CheckRequiredFields()) | 2194 if ( m_pInterForm->CheckRequiredFields()) |
2195 { | 2195 { |
2196 » » » return FALSE; | 2196 » » » return false; |
2197 } | 2197 } |
2198 | 2198 |
2199 » » return SubmitForm(sDestination, FALSE); | 2199 » » return SubmitForm(sDestination, false); |
2200 } | 2200 } |
2201 } | 2201 } |
2202 | 2202 |
2203 FX_BOOL CPDFSDK_InterForm::SubmitFields(const CFX_WideString& csDestination, con
st CFX_PtrArray& fields, | 2203 bool CPDFSDK_InterForm::SubmitFields(const CFX_WideString& csDestination, const
CFX_PtrArray& fields, |
2204 » » » » » » » » » FX_BOOL
bIncludeOrExclude, FX_BOOL bUrlEncoded) | 2204 » » » » » » » » » bool bIn
cludeOrExclude, bool bUrlEncoded) |
2205 { | 2205 { |
2206 CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); | 2206 CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); |
2207 ASSERT(pEnv != NULL); | 2207 ASSERT(pEnv != NULL); |
2208 | 2208 |
2209 CFX_ByteTextBuf textBuf; | 2209 CFX_ByteTextBuf textBuf; |
2210 ExportFieldsToFDFTextBuf(fields, bIncludeOrExclude, textBuf); | 2210 ExportFieldsToFDFTextBuf(fields, bIncludeOrExclude, textBuf); |
2211 | 2211 |
2212 uint8_t* pBuffer = textBuf.GetBuffer(); | 2212 uint8_t* pBuffer = textBuf.GetBuffer(); |
2213 FX_STRSIZE nBufSize = textBuf.GetLength(); | 2213 FX_STRSIZE nBufSize = textBuf.GetLength(); |
2214 | 2214 |
2215 if (bUrlEncoded) | 2215 if (bUrlEncoded) |
2216 { | 2216 { |
2217 if(!FDFToURLEncodedData(pBuffer, nBufSize)) | 2217 if(!FDFToURLEncodedData(pBuffer, nBufSize)) |
2218 » » » return FALSE; | 2218 » » » return false; |
2219 } | 2219 } |
2220 | 2220 |
2221 pEnv->JS_docSubmitForm(pBuffer, nBufSize, csDestination.c_str()); | 2221 pEnv->JS_docSubmitForm(pBuffer, nBufSize, csDestination.c_str()); |
2222 | 2222 |
2223 » return TRUE; | 2223 » return true; |
2224 } | 2224 } |
2225 | 2225 |
2226 void CPDFSDK_InterForm::DoFDFBuffer(CFX_ByteString sBuffer) | 2226 void CPDFSDK_InterForm::DoFDFBuffer(CFX_ByteString sBuffer) |
2227 { | 2227 { |
2228 ASSERT(m_pDocument != NULL); | 2228 ASSERT(m_pDocument != NULL); |
2229 | 2229 |
2230 if (CFDF_Document *pFDFDocument = CFDF_Document::ParseMemory((const unsi
gned char *)sBuffer.GetBuffer(sBuffer.GetLength()), sBuffer.GetLength())) | 2230 if (CFDF_Document *pFDFDocument = CFDF_Document::ParseMemory((const unsi
gned char *)sBuffer.GetBuffer(sBuffer.GetLength()), sBuffer.GetLength())) |
2231 { | 2231 { |
2232 CPDF_Dictionary* pRootDic = pFDFDocument->GetRoot(); | 2232 CPDF_Dictionary* pRootDic = pFDFDocument->GetRoot(); |
2233 if(pRootDic) | 2233 if(pRootDic) |
(...skipping 18 matching lines...) Expand all Loading... |
2252 | 2252 |
2253 } | 2253 } |
2254 } | 2254 } |
2255 } | 2255 } |
2256 delete pFDFDocument; | 2256 delete pFDFDocument; |
2257 } | 2257 } |
2258 | 2258 |
2259 sBuffer.ReleaseBuffer(); | 2259 sBuffer.ReleaseBuffer(); |
2260 } | 2260 } |
2261 | 2261 |
2262 FX_BOOL CPDFSDK_InterForm::FDFToURLEncodedData(CFX_WideString csFDFFile, CFX_Wid
eString csTxtFile) | 2262 bool CPDFSDK_InterForm::FDFToURLEncodedData(CFX_WideString csFDFFile, CFX_WideSt
ring csTxtFile) |
2263 { | 2263 { |
2264 » return TRUE; | 2264 » return true; |
2265 } | 2265 } |
2266 | 2266 |
2267 FX_BOOL CPDFSDK_InterForm::FDFToURLEncodedData(uint8_t*& pBuf, FX_STRSIZE& nBufS
ize) | 2267 bool CPDFSDK_InterForm::FDFToURLEncodedData(uint8_t*& pBuf, FX_STRSIZE& nBufSize
) |
2268 { | 2268 { |
2269 CFDF_Document* pFDF = CFDF_Document::ParseMemory(pBuf, nBufSize); | 2269 CFDF_Document* pFDF = CFDF_Document::ParseMemory(pBuf, nBufSize); |
2270 if (pFDF) | 2270 if (pFDF) |
2271 { | 2271 { |
2272 CPDF_Dictionary* pMainDict = pFDF->GetRoot()->GetDict("FDF"); | 2272 CPDF_Dictionary* pMainDict = pFDF->GetRoot()->GetDict("FDF"); |
2273 » » if (pMainDict == NULL) return FALSE; | 2273 » » if (pMainDict == NULL) return false; |
2274 | 2274 |
2275 // Get fields | 2275 // Get fields |
2276 CPDF_Array* pFields = pMainDict->GetArray("Fields"); | 2276 CPDF_Array* pFields = pMainDict->GetArray("Fields"); |
2277 » » if (pFields == NULL) return FALSE; | 2277 » » if (pFields == NULL) return false; |
2278 | 2278 |
2279 CFX_ByteTextBuf fdfEncodedData; | 2279 CFX_ByteTextBuf fdfEncodedData; |
2280 | 2280 |
2281 for (FX_DWORD i = 0; i < pFields->GetCount(); i ++) | 2281 for (FX_DWORD i = 0; i < pFields->GetCount(); i ++) |
2282 { | 2282 { |
2283 CPDF_Dictionary* pField = pFields->GetDict(i); | 2283 CPDF_Dictionary* pField = pFields->GetDict(i); |
2284 if (pField == NULL) continue; | 2284 if (pField == NULL) continue; |
2285 CFX_WideString name; | 2285 CFX_WideString name; |
2286 name = pField->GetUnicodeText("T"); | 2286 name = pField->GetUnicodeText("T"); |
2287 CFX_ByteString name_b = CFX_ByteString::FromUnicode(name
); | 2287 CFX_ByteString name_b = CFX_ByteString::FromUnicode(name
); |
2288 CFX_ByteString csBValue = pField->GetString("V"); | 2288 CFX_ByteString csBValue = pField->GetString("V"); |
2289 CFX_WideString csWValue = PDF_DecodeText(csBValue); | 2289 CFX_WideString csWValue = PDF_DecodeText(csBValue); |
2290 CFX_ByteString csValue_b = CFX_ByteString::FromUnicode(c
sWValue); | 2290 CFX_ByteString csValue_b = CFX_ByteString::FromUnicode(c
sWValue); |
2291 | 2291 |
2292 fdfEncodedData = fdfEncodedData<<name_b.GetBuffer(name_b
.GetLength()); | 2292 fdfEncodedData = fdfEncodedData<<name_b.GetBuffer(name_b
.GetLength()); |
2293 name_b.ReleaseBuffer(); | 2293 name_b.ReleaseBuffer(); |
2294 fdfEncodedData = fdfEncodedData<<"="; | 2294 fdfEncodedData = fdfEncodedData<<"="; |
2295 fdfEncodedData = fdfEncodedData<<csValue_b.GetBuffer(csV
alue_b.GetLength()); | 2295 fdfEncodedData = fdfEncodedData<<csValue_b.GetBuffer(csV
alue_b.GetLength()); |
2296 csValue_b.ReleaseBuffer(); | 2296 csValue_b.ReleaseBuffer(); |
2297 if(i != pFields->GetCount()-1) | 2297 if(i != pFields->GetCount()-1) |
2298 fdfEncodedData = fdfEncodedData<<"&"; | 2298 fdfEncodedData = fdfEncodedData<<"&"; |
2299 } | 2299 } |
2300 | 2300 |
2301 nBufSize = fdfEncodedData.GetLength(); | 2301 nBufSize = fdfEncodedData.GetLength(); |
2302 pBuf = FX_Alloc(uint8_t, nBufSize); | 2302 pBuf = FX_Alloc(uint8_t, nBufSize); |
2303 FXSYS_memcpy(pBuf, fdfEncodedData.GetBuffer(), nBufSize); | 2303 FXSYS_memcpy(pBuf, fdfEncodedData.GetBuffer(), nBufSize); |
2304 } | 2304 } |
2305 » return TRUE; | 2305 » return true; |
2306 } | 2306 } |
2307 | 2307 |
2308 FX_BOOL CPDFSDK_InterForm::ExportFieldsToFDFTextBuf(const CFX_PtrArray& fields,F
X_BOOL bIncludeOrExclude, CFX_ByteTextBuf& textBuf) | 2308 bool CPDFSDK_InterForm::ExportFieldsToFDFTextBuf(const CFX_PtrArray& fields,bool
bIncludeOrExclude, CFX_ByteTextBuf& textBuf) |
2309 { | 2309 { |
2310 ASSERT(m_pDocument != NULL); | 2310 ASSERT(m_pDocument != NULL); |
2311 ASSERT(m_pInterForm != NULL); | 2311 ASSERT(m_pInterForm != NULL); |
2312 | 2312 |
2313 CFDF_Document* pFDF = m_pInterForm->ExportToFDF(m_pDocument->GetPath(),(
CFX_PtrArray&)fields, bIncludeOrExclude); | 2313 CFDF_Document* pFDF = m_pInterForm->ExportToFDF(m_pDocument->GetPath(),(
CFX_PtrArray&)fields, bIncludeOrExclude); |
2314 » if (!pFDF) return FALSE; | 2314 » if (!pFDF) return false; |
2315 » FX_BOOL bRet = pFDF->WriteBuf(textBuf); // = FALSE;// | 2315 » bool bRet = pFDF->WriteBuf(textBuf); // = false;// |
2316 delete pFDF; | 2316 delete pFDF; |
2317 | 2317 |
2318 return bRet; | 2318 return bRet; |
2319 } | 2319 } |
2320 | 2320 |
2321 CFX_WideString CPDFSDK_InterForm::GetTemporaryFileName(const CFX_WideString& sFi
leExt) | 2321 CFX_WideString CPDFSDK_InterForm::GetTemporaryFileName(const CFX_WideString& sFi
leExt) |
2322 { | 2322 { |
2323 CFX_WideString sFileName; | 2323 CFX_WideString sFileName; |
2324 return L""; | 2324 return L""; |
2325 } | 2325 } |
2326 | 2326 |
2327 FX_BOOL CPDFSDK_InterForm::SubmitForm(const CFX_WideString& sDestination, FX_BOO
L bUrlEncoded) | 2327 bool CPDFSDK_InterForm::SubmitForm(const CFX_WideString& sDestination, bool bUrl
Encoded) |
2328 { | 2328 { |
2329 » if (sDestination.IsEmpty()) return FALSE; | 2329 » if (sDestination.IsEmpty()) return false; |
2330 | 2330 |
2331 CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); | 2331 CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); |
2332 ASSERT(pEnv != NULL); | 2332 ASSERT(pEnv != NULL); |
2333 | 2333 |
2334 » if(NULL == m_pDocument) return FALSE; | 2334 » if(NULL == m_pDocument) return false; |
2335 CFX_WideString wsPDFFilePath = m_pDocument->GetPath(); | 2335 CFX_WideString wsPDFFilePath = m_pDocument->GetPath(); |
2336 | 2336 |
2337 » if(NULL == m_pInterForm) return FALSE; | 2337 » if(NULL == m_pInterForm) return false; |
2338 CFDF_Document* pFDFDoc = m_pInterForm->ExportToFDF(wsPDFFilePath); | 2338 CFDF_Document* pFDFDoc = m_pInterForm->ExportToFDF(wsPDFFilePath); |
2339 » if (NULL == pFDFDoc) return FALSE; | 2339 » if (NULL == pFDFDoc) return false; |
2340 | 2340 |
2341 CFX_ByteTextBuf FdfBuffer; | 2341 CFX_ByteTextBuf FdfBuffer; |
2342 » FX_BOOL bRet = pFDFDoc->WriteBuf(FdfBuffer); | 2342 » bool bRet = pFDFDoc->WriteBuf(FdfBuffer); |
2343 delete pFDFDoc; | 2343 delete pFDFDoc; |
2344 » if (!bRet) return FALSE; | 2344 » if (!bRet) return false; |
2345 | 2345 |
2346 uint8_t* pBuffer = FdfBuffer.GetBuffer(); | 2346 uint8_t* pBuffer = FdfBuffer.GetBuffer(); |
2347 FX_STRSIZE nBufSize = FdfBuffer.GetLength(); | 2347 FX_STRSIZE nBufSize = FdfBuffer.GetLength(); |
2348 | 2348 |
2349 if (bUrlEncoded) | 2349 if (bUrlEncoded) |
2350 { | 2350 { |
2351 if(!FDFToURLEncodedData(pBuffer, nBufSize)) | 2351 if(!FDFToURLEncodedData(pBuffer, nBufSize)) |
2352 » » » return FALSE; | 2352 » » » return false; |
2353 } | 2353 } |
2354 | 2354 |
2355 pEnv->JS_docSubmitForm(pBuffer, nBufSize, sDestination.c_str()); | 2355 pEnv->JS_docSubmitForm(pBuffer, nBufSize, sDestination.c_str()); |
2356 | 2356 |
2357 if (bUrlEncoded && pBuffer) | 2357 if (bUrlEncoded && pBuffer) |
2358 { | 2358 { |
2359 FX_Free(pBuffer); | 2359 FX_Free(pBuffer); |
2360 pBuffer = NULL; | 2360 pBuffer = NULL; |
2361 } | 2361 } |
2362 | 2362 |
2363 » return TRUE; | 2363 » return true; |
2364 } | 2364 } |
2365 | 2365 |
2366 FX_BOOL CPDFSDK_InterForm::ExportFormToFDFTextBuf(CFX_ByteTextBuf& textBuf) | 2366 bool CPDFSDK_InterForm::ExportFormToFDFTextBuf(CFX_ByteTextBuf& textBuf) |
2367 { | 2367 { |
2368 | 2368 |
2369 ASSERT(m_pInterForm != NULL); | 2369 ASSERT(m_pInterForm != NULL); |
2370 ASSERT(m_pDocument != NULL); | 2370 ASSERT(m_pDocument != NULL); |
2371 | 2371 |
2372 CFDF_Document* pFDF = m_pInterForm->ExportToFDF(m_pDocument->GetPath()); | 2372 CFDF_Document* pFDF = m_pInterForm->ExportToFDF(m_pDocument->GetPath()); |
2373 » if (!pFDF) return FALSE; | 2373 » if (!pFDF) return false; |
2374 | 2374 |
2375 » FX_BOOL bRet = pFDF->WriteBuf(textBuf); | 2375 » bool bRet = pFDF->WriteBuf(textBuf); |
2376 delete pFDF; | 2376 delete pFDF; |
2377 | 2377 |
2378 return bRet; | 2378 return bRet; |
2379 } | 2379 } |
2380 | 2380 |
2381 | 2381 |
2382 FX_BOOL CPDFSDK_InterForm::DoAction_ResetForm(const CPDF_Action& action) | 2382 bool CPDFSDK_InterForm::DoAction_ResetForm(const CPDF_Action& action) |
2383 { | 2383 { |
2384 ASSERT(action); | 2384 ASSERT(action); |
2385 | 2385 |
2386 CPDF_Dictionary* pActionDict = action.GetDict(); | 2386 CPDF_Dictionary* pActionDict = action.GetDict(); |
2387 if (pActionDict->KeyExist("Fields")) | 2387 if (pActionDict->KeyExist("Fields")) |
2388 { | 2388 { |
2389 CPDF_ActionFields af = action.GetWidgets(); | 2389 CPDF_ActionFields af = action.GetWidgets(); |
2390 FX_DWORD dwFlags = action.GetFlags(); | 2390 FX_DWORD dwFlags = action.GetFlags(); |
2391 | 2391 |
2392 CFX_PtrArray fieldObjects; | 2392 CFX_PtrArray fieldObjects; |
2393 af.GetAllFields(fieldObjects); | 2393 af.GetAllFields(fieldObjects); |
2394 CFX_PtrArray fields; | 2394 CFX_PtrArray fields; |
2395 GetFieldFromObjects(fieldObjects, fields); | 2395 GetFieldFromObjects(fieldObjects, fields); |
2396 » » return m_pInterForm->ResetForm(fields, !(dwFlags & 0x01), TRUE); | 2396 » » return m_pInterForm->ResetForm(fields, !(dwFlags & 0x01), true); |
2397 } | 2397 } |
2398 | 2398 |
2399 » return m_pInterForm->ResetForm(TRUE); | 2399 » return m_pInterForm->ResetForm(true); |
2400 } | 2400 } |
2401 | 2401 |
2402 FX_BOOL CPDFSDK_InterForm::DoAction_ImportData(const CPDF_Action& action) | 2402 bool CPDFSDK_InterForm::DoAction_ImportData(const CPDF_Action& action) |
2403 { | 2403 { |
2404 » return FALSE; | 2404 » return false; |
2405 } | 2405 } |
2406 | 2406 |
2407 void CPDFSDK_InterForm::GetFieldFromObjects(const CFX_PtrArray& objects, CFX_Ptr
Array& fields) | 2407 void CPDFSDK_InterForm::GetFieldFromObjects(const CFX_PtrArray& objects, CFX_Ptr
Array& fields) |
2408 { | 2408 { |
2409 ASSERT(m_pInterForm != NULL); | 2409 ASSERT(m_pInterForm != NULL); |
2410 | 2410 |
2411 int iCount = objects.GetSize(); | 2411 int iCount = objects.GetSize(); |
2412 for (int i = 0; i < iCount; i ++) | 2412 for (int i = 0; i < iCount; i ++) |
2413 { | 2413 { |
2414 CPDF_Object* pObject = (CPDF_Object*)objects[i]; | 2414 CPDF_Object* pObject = (CPDF_Object*)objects[i]; |
(...skipping 19 matching lines...) Expand all Loading... |
2434 | 2434 |
2435 int CPDFSDK_InterForm::BeforeValueChange(const CPDF_FormField* pField, CFX_W
ideString& csValue) | 2435 int CPDFSDK_InterForm::BeforeValueChange(const CPDF_FormField* pField, CFX_W
ideString& csValue) |
2436 { | 2436 { |
2437 ASSERT(pField != NULL); | 2437 ASSERT(pField != NULL); |
2438 | 2438 |
2439 CPDF_FormField* pFormField = (CPDF_FormField*)pField; | 2439 CPDF_FormField* pFormField = (CPDF_FormField*)pField; |
2440 | 2440 |
2441 int nType = pFormField->GetFieldType(); | 2441 int nType = pFormField->GetFieldType(); |
2442 if (nType == FIELDTYPE_COMBOBOX || nType == FIELDTYPE_TEXTFIELD) | 2442 if (nType == FIELDTYPE_COMBOBOX || nType == FIELDTYPE_TEXTFIELD) |
2443 { | 2443 { |
2444 » » FX_BOOL bRC = TRUE; | 2444 » » bool bRC = true; |
2445 OnKeyStrokeCommit(pFormField, csValue, bRC); | 2445 OnKeyStrokeCommit(pFormField, csValue, bRC); |
2446 if (bRC) | 2446 if (bRC) |
2447 { | 2447 { |
2448 OnValidate(pFormField, csValue, bRC); | 2448 OnValidate(pFormField, csValue, bRC); |
2449 if (bRC) | 2449 if (bRC) |
2450 return 1; | 2450 return 1; |
2451 else | 2451 else |
2452 return -1; | 2452 return -1; |
2453 } | 2453 } |
2454 else | 2454 else |
2455 return -1; | 2455 return -1; |
2456 } | 2456 } |
2457 else | 2457 else |
2458 return 0; | 2458 return 0; |
2459 } | 2459 } |
2460 | 2460 |
2461 int CPDFSDK_InterForm::AfterValueChange(const CPDF_FormField* pField) | 2461 int CPDFSDK_InterForm::AfterValueChange(const CPDF_FormField* pField) |
2462 { | 2462 { |
2463 ASSERT(pField != NULL); | 2463 ASSERT(pField != NULL); |
2464 | 2464 |
2465 CPDF_FormField* pFormField = (CPDF_FormField*)pField; | 2465 CPDF_FormField* pFormField = (CPDF_FormField*)pField; |
2466 int nType = pFormField->GetFieldType(); | 2466 int nType = pFormField->GetFieldType(); |
2467 | 2467 |
2468 if (nType == FIELDTYPE_COMBOBOX || nType == FIELDTYPE_TEXTFIELD) | 2468 if (nType == FIELDTYPE_COMBOBOX || nType == FIELDTYPE_TEXTFIELD) |
2469 { | 2469 { |
2470 OnCalculate(pFormField); | 2470 OnCalculate(pFormField); |
2471 » » FX_BOOL bFormated = FALSE; | 2471 » » bool bFormated = false; |
2472 CFX_WideString sValue = OnFormat(pFormField, bFormated); | 2472 CFX_WideString sValue = OnFormat(pFormField, bFormated); |
2473 if (bFormated) | 2473 if (bFormated) |
2474 » » » ResetFieldAppearance(pFormField, sValue.c_str(), TRUE); | 2474 » » » ResetFieldAppearance(pFormField, sValue.c_str(), true); |
2475 else | 2475 else |
2476 » » » ResetFieldAppearance(pFormField, NULL, TRUE); | 2476 » » » ResetFieldAppearance(pFormField, NULL, true); |
2477 UpdateField(pFormField); | 2477 UpdateField(pFormField); |
2478 } | 2478 } |
2479 | 2479 |
2480 return 0; | 2480 return 0; |
2481 } | 2481 } |
2482 | 2482 |
2483 int CPDFSDK_InterForm::BeforeSelectionChange(const CPDF_FormField* pField, C
FX_WideString& csValue) | 2483 int CPDFSDK_InterForm::BeforeSelectionChange(const CPDF_FormField* pField, C
FX_WideString& csValue) |
2484 { | 2484 { |
2485 ASSERT(pField != NULL); | 2485 ASSERT(pField != NULL); |
2486 | 2486 |
2487 CPDF_FormField* pFormField = (CPDF_FormField*)pField; | 2487 CPDF_FormField* pFormField = (CPDF_FormField*)pField; |
2488 | 2488 |
2489 int nType = pFormField->GetFieldType(); | 2489 int nType = pFormField->GetFieldType(); |
2490 if (nType == FIELDTYPE_LISTBOX) | 2490 if (nType == FIELDTYPE_LISTBOX) |
2491 { | 2491 { |
2492 » » FX_BOOL bRC = TRUE; | 2492 » » bool bRC = true; |
2493 OnKeyStrokeCommit(pFormField, csValue, bRC); | 2493 OnKeyStrokeCommit(pFormField, csValue, bRC); |
2494 if (bRC) | 2494 if (bRC) |
2495 { | 2495 { |
2496 OnValidate(pFormField, csValue, bRC); | 2496 OnValidate(pFormField, csValue, bRC); |
2497 if (bRC) | 2497 if (bRC) |
2498 return 1; | 2498 return 1; |
2499 else | 2499 else |
2500 return -1; | 2500 return -1; |
2501 } | 2501 } |
2502 else | 2502 else |
2503 return -1; | 2503 return -1; |
2504 } | 2504 } |
2505 else | 2505 else |
2506 return 0; | 2506 return 0; |
2507 } | 2507 } |
2508 | 2508 |
2509 int CPDFSDK_InterForm::AfterSelectionChange(const CPDF_FormField* pField) | 2509 int CPDFSDK_InterForm::AfterSelectionChange(const CPDF_FormField* pField) |
2510 { | 2510 { |
2511 ASSERT(pField != NULL); | 2511 ASSERT(pField != NULL); |
2512 | 2512 |
2513 CPDF_FormField* pFormField = (CPDF_FormField*)pField; | 2513 CPDF_FormField* pFormField = (CPDF_FormField*)pField; |
2514 int nType = pFormField->GetFieldType(); | 2514 int nType = pFormField->GetFieldType(); |
2515 | 2515 |
2516 if (nType == FIELDTYPE_LISTBOX) | 2516 if (nType == FIELDTYPE_LISTBOX) |
2517 { | 2517 { |
2518 OnCalculate(pFormField); | 2518 OnCalculate(pFormField); |
2519 » » ResetFieldAppearance(pFormField, NULL, TRUE); | 2519 » » ResetFieldAppearance(pFormField, NULL, true); |
2520 UpdateField(pFormField); | 2520 UpdateField(pFormField); |
2521 } | 2521 } |
2522 | 2522 |
2523 return 0; | 2523 return 0; |
2524 } | 2524 } |
2525 | 2525 |
2526 int CPDFSDK_InterForm::AfterCheckedStatusChange(const CPDF_FormField* pField
, const CFX_ByteArray& statusArray) | 2526 int CPDFSDK_InterForm::AfterCheckedStatusChange(const CPDF_FormField* pField
, const CFX_ByteArray& statusArray) |
2527 { | 2527 { |
2528 ASSERT(pField != NULL); | 2528 ASSERT(pField != NULL); |
2529 | 2529 |
(...skipping 24 matching lines...) Expand all Loading... |
2554 { | 2554 { |
2555 return 0; | 2555 return 0; |
2556 } | 2556 } |
2557 | 2557 |
2558 int CPDFSDK_InterForm::AfterFormImportData(const CPDF_InterForm* pForm) | 2558 int CPDFSDK_InterForm::AfterFormImportData(const CPDF_InterForm* pForm) |
2559 { | 2559 { |
2560 OnCalculate(nullptr); | 2560 OnCalculate(nullptr); |
2561 return 0; | 2561 return 0; |
2562 } | 2562 } |
2563 | 2563 |
2564 FX_BOOL CPDFSDK_InterForm::IsNeedHighLight(int nFieldType) | 2564 bool CPDFSDK_InterForm::IsNeedHighLight(int nFieldType) |
2565 { | 2565 { |
2566 if(nFieldType <1 || nFieldType > 6) | 2566 if(nFieldType <1 || nFieldType > 6) |
2567 » » return FALSE; | 2567 » » return false; |
2568 return m_bNeedHightlight[nFieldType-1]; | 2568 return m_bNeedHightlight[nFieldType-1]; |
2569 } | 2569 } |
2570 | 2570 |
2571 void CPDFSDK_InterForm::RemoveAllHighLight() | 2571 void CPDFSDK_InterForm::RemoveAllHighLight() |
2572 { | 2572 { |
2573 » memset((void*)m_bNeedHightlight, 0, 6*sizeof(FX_BOOL)); | 2573 » memset((void*)m_bNeedHightlight, 0, 6*sizeof(bool)); |
2574 } | 2574 } |
2575 void CPDFSDK_InterForm::SetHighlightColor(FX_COLORREF clr, int nFieldType) | 2575 void CPDFSDK_InterForm::SetHighlightColor(FX_COLORREF clr, int nFieldType) |
2576 { | 2576 { |
2577 if(nFieldType <0 || nFieldType > 6) return; | 2577 if(nFieldType <0 || nFieldType > 6) return; |
2578 switch(nFieldType) | 2578 switch(nFieldType) |
2579 { | 2579 { |
2580 case 0: | 2580 case 0: |
2581 { | 2581 { |
2582 for(int i=0; i<6; i++) | 2582 for(int i=0; i<6; i++) |
2583 { | 2583 { |
2584 m_aHighlightColor[i] = clr; | 2584 m_aHighlightColor[i] = clr; |
2585 » » » » m_bNeedHightlight[i] = TRUE; | 2585 » » » » m_bNeedHightlight[i] = true; |
2586 } | 2586 } |
2587 break; | 2587 break; |
2588 } | 2588 } |
2589 default: | 2589 default: |
2590 { | 2590 { |
2591 m_aHighlightColor[nFieldType-1] = clr; | 2591 m_aHighlightColor[nFieldType-1] = clr; |
2592 » » » m_bNeedHightlight[nFieldType-1] = TRUE; | 2592 » » » m_bNeedHightlight[nFieldType-1] = true; |
2593 break; | 2593 break; |
2594 } | 2594 } |
2595 } | 2595 } |
2596 | 2596 |
2597 } | 2597 } |
2598 | 2598 |
2599 FX_COLORREF CPDFSDK_InterForm::GetHighlightColor(int nFieldType) | 2599 FX_COLORREF CPDFSDK_InterForm::GetHighlightColor(int nFieldType) |
2600 { | 2600 { |
2601 if(nFieldType <0 || nFieldType >6) return FXSYS_RGB(255,255,255); | 2601 if(nFieldType <0 || nFieldType >6) return FXSYS_RGB(255,255,255); |
2602 if(nFieldType == 0) | 2602 if(nFieldType == 0) |
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2842 ASSERT(pAnnot != NULL); | 2842 ASSERT(pAnnot != NULL); |
2843 | 2843 |
2844 if (pAnnot->GetType() == m_sType | 2844 if (pAnnot->GetType() == m_sType |
2845 && pAnnot->GetSubType() == m_sSu
bType) | 2845 && pAnnot->GetSubType() == m_sSu
bType) |
2846 sa.Add(pAnnot); | 2846 sa.Add(pAnnot); |
2847 } | 2847 } |
2848 } | 2848 } |
2849 | 2849 |
2850 if (sa.GetSize() > 0) | 2850 if (sa.GetSize() > 0) |
2851 { | 2851 { |
2852 » » » » sa.Sort(CBA_AnnotIterator::CompareByTop, FALSE); | 2852 » » » » sa.Sort(CBA_AnnotIterator::CompareByTop, false); |
2853 } | 2853 } |
2854 | 2854 |
2855 while (sa.GetSize() > 0) | 2855 while (sa.GetSize() > 0) |
2856 { | 2856 { |
2857 int nLeftTopIndex = -1; | 2857 int nLeftTopIndex = -1; |
2858 | 2858 |
2859 { | 2859 { |
2860 FX_FLOAT fLeft = -1.0f; | 2860 FX_FLOAT fLeft = -1.0f; |
2861 | 2861 |
2862 for (int i=sa.GetSize()-1; i>=0; i--) | 2862 for (int i=sa.GetSize()-1; i>=0; i--) |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2935 | 2935 |
2936 CPDF_Annot* pPDFAnnot = pAnnot->GetPDFAnnot(); | 2936 CPDF_Annot* pPDFAnnot = pAnnot->GetPDFAnnot(); |
2937 ASSERT(pPDFAnnot != NULL); | 2937 ASSERT(pPDFAnnot != NULL); |
2938 | 2938 |
2939 CPDF_Rect rcAnnot; | 2939 CPDF_Rect rcAnnot; |
2940 pPDFAnnot->GetRect(rcAnnot); | 2940 pPDFAnnot->GetRect(rcAnnot); |
2941 | 2941 |
2942 return rcAnnot; | 2942 return rcAnnot; |
2943 } | 2943 } |
2944 | 2944 |
OLD | NEW |