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

Side by Side Diff: fpdfsdk/javascript/Field.h

Issue 2400443005: Convert Field to use CPDFSDK_FormFillEnvironment (Closed)
Patch Set: Rebase to master Created 4 years, 2 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 unified diff | Download patch
« no previous file with comments | « fpdfsdk/javascript/Document.cpp ('k') | fpdfsdk/javascript/Field.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #ifndef FPDFSDK_JAVASCRIPT_FIELD_H_ 7 #ifndef FPDFSDK_JAVASCRIPT_FIELD_H_
8 #define FPDFSDK_JAVASCRIPT_FIELD_H_ 8 #define FPDFSDK_JAVASCRIPT_FIELD_H_
9 9
10 #include <string> 10 #include <string>
11 #include <vector> 11 #include <vector>
12 12
13 #include "core/fxcrt/cfx_observable.h" 13 #include "core/fxcrt/cfx_observable.h"
14 #include "fpdfsdk/cpdfsdk_document.h" 14 #include "fpdfsdk/cpdfsdk_formfillenvironment.h"
15 #include "fpdfsdk/javascript/JS_Define.h" 15 #include "fpdfsdk/javascript/JS_Define.h"
16 #include "fpdfsdk/pdfwindow/PWL_Wnd.h" // For CPWL_Color. 16 #include "fpdfsdk/pdfwindow/PWL_Wnd.h" // For CPWL_Color.
17 17
18 class CPDFSDK_Widget; 18 class CPDFSDK_Widget;
19 class Document; 19 class Document;
20 20
21 enum FIELD_PROP { 21 enum FIELD_PROP {
22 FP_ALIGNMENT, 22 FP_ALIGNMENT,
23 FP_BORDERSTYLE, 23 FP_BORDERSTYLE,
24 FP_BUTTONALIGNX, 24 FP_BUTTONALIGNX,
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 CFX_WideString& sError); 270 CFX_WideString& sError);
271 FX_BOOL signatureSign(IJS_Context* cc, 271 FX_BOOL signatureSign(IJS_Context* cc,
272 const std::vector<CJS_Value>& params, 272 const std::vector<CJS_Value>& params,
273 CJS_Value& vRet, 273 CJS_Value& vRet,
274 CFX_WideString& sError); 274 CFX_WideString& sError);
275 FX_BOOL signatureValidate(IJS_Context* cc, 275 FX_BOOL signatureValidate(IJS_Context* cc,
276 const std::vector<CJS_Value>& params, 276 const std::vector<CJS_Value>& params,
277 CJS_Value& vRet, 277 CJS_Value& vRet,
278 CFX_WideString& sError); 278 CFX_WideString& sError);
279 279
280 static void SetAlignment(CPDFSDK_Document* pDocument, 280 static void SetAlignment(CPDFSDK_FormFillEnvironment* pFormFillEnv,
281 const CFX_WideString& swFieldName, 281 const CFX_WideString& swFieldName,
282 int nControlIndex, 282 int nControlIndex,
283 const CFX_ByteString& string); 283 const CFX_ByteString& string);
284 static void SetBorderStyle(CPDFSDK_Document* pDocument, 284 static void SetBorderStyle(CPDFSDK_FormFillEnvironment* pFormFillEnv,
285 const CFX_WideString& swFieldName, 285 const CFX_WideString& swFieldName,
286 int nControlIndex, 286 int nControlIndex,
287 const CFX_ByteString& string); 287 const CFX_ByteString& string);
288 static void SetButtonAlignX(CPDFSDK_Document* pDocument, 288 static void SetButtonAlignX(CPDFSDK_FormFillEnvironment* pFormFillEnv,
289 const CFX_WideString& swFieldName, 289 const CFX_WideString& swFieldName,
290 int nControlIndex, 290 int nControlIndex,
291 int number); 291 int number);
292 static void SetButtonAlignY(CPDFSDK_Document* pDocument, 292 static void SetButtonAlignY(CPDFSDK_FormFillEnvironment* pFormFillEnv,
293 const CFX_WideString& swFieldName, 293 const CFX_WideString& swFieldName,
294 int nControlIndex, 294 int nControlIndex,
295 int number); 295 int number);
296 static void SetButtonFitBounds(CPDFSDK_Document* pDocument, 296 static void SetButtonFitBounds(CPDFSDK_FormFillEnvironment* pFormFillEnv,
297 const CFX_WideString& swFieldName, 297 const CFX_WideString& swFieldName,
298 int nControlIndex, 298 int nControlIndex,
299 bool b); 299 bool b);
300 static void SetButtonPosition(CPDFSDK_Document* pDocument, 300 static void SetButtonPosition(CPDFSDK_FormFillEnvironment* pFormFillEnv,
301 const CFX_WideString& swFieldName, 301 const CFX_WideString& swFieldName,
302 int nControlIndex, 302 int nControlIndex,
303 int number); 303 int number);
304 static void SetButtonScaleHow(CPDFSDK_Document* pDocument, 304 static void SetButtonScaleHow(CPDFSDK_FormFillEnvironment* pFormFillEnv,
305 const CFX_WideString& swFieldName, 305 const CFX_WideString& swFieldName,
306 int nControlIndex, 306 int nControlIndex,
307 int number); 307 int number);
308 static void SetButtonScaleWhen(CPDFSDK_Document* pDocument, 308 static void SetButtonScaleWhen(CPDFSDK_FormFillEnvironment* pFormFillEnv,
309 const CFX_WideString& swFieldName, 309 const CFX_WideString& swFieldName,
310 int nControlIndex, 310 int nControlIndex,
311 int number); 311 int number);
312 static void SetCalcOrderIndex(CPDFSDK_Document* pDocument, 312 static void SetCalcOrderIndex(CPDFSDK_FormFillEnvironment* pFormFillEnv,
313 const CFX_WideString& swFieldName, 313 const CFX_WideString& swFieldName,
314 int nControlIndex, 314 int nControlIndex,
315 int number); 315 int number);
316 static void SetCharLimit(CPDFSDK_Document* pDocument, 316 static void SetCharLimit(CPDFSDK_FormFillEnvironment* pFormFillEnv,
317 const CFX_WideString& swFieldName, 317 const CFX_WideString& swFieldName,
318 int nControlIndex, 318 int nControlIndex,
319 int number); 319 int number);
320 static void SetComb(CPDFSDK_Document* pDocument, 320 static void SetComb(CPDFSDK_FormFillEnvironment* pFormFillEnv,
321 const CFX_WideString& swFieldName, 321 const CFX_WideString& swFieldName,
322 int nControlIndex, 322 int nControlIndex,
323 bool b); 323 bool b);
324 static void SetCommitOnSelChange(CPDFSDK_Document* pDocument, 324 static void SetCommitOnSelChange(CPDFSDK_FormFillEnvironment* pFormFillEnv,
325 const CFX_WideString& swFieldName, 325 const CFX_WideString& swFieldName,
326 int nControlIndex, 326 int nControlIndex,
327 bool b); 327 bool b);
328 static void SetCurrentValueIndices(CPDFSDK_Document* pDocument, 328 static void SetCurrentValueIndices(CPDFSDK_FormFillEnvironment* pFormFillEnv,
329 const CFX_WideString& swFieldName, 329 const CFX_WideString& swFieldName,
330 int nControlIndex, 330 int nControlIndex,
331 const std::vector<uint32_t>& array); 331 const std::vector<uint32_t>& array);
332 static void SetDefaultStyle(CPDFSDK_Document* pDocument, 332 static void SetDefaultStyle(CPDFSDK_FormFillEnvironment* pFormFillEnv,
333 const CFX_WideString& swFieldName, 333 const CFX_WideString& swFieldName,
334 int nControlIndex); 334 int nControlIndex);
335 static void SetDefaultValue(CPDFSDK_Document* pDocument, 335 static void SetDefaultValue(CPDFSDK_FormFillEnvironment* pFormFillEnv,
336 const CFX_WideString& swFieldName, 336 const CFX_WideString& swFieldName,
337 int nControlIndex, 337 int nControlIndex,
338 const CFX_WideString& string); 338 const CFX_WideString& string);
339 static void SetDoNotScroll(CPDFSDK_Document* pDocument, 339 static void SetDoNotScroll(CPDFSDK_FormFillEnvironment* pFormFillEnv,
340 const CFX_WideString& swFieldName, 340 const CFX_WideString& swFieldName,
341 int nControlIndex, 341 int nControlIndex,
342 bool b); 342 bool b);
343 static void SetDisplay(CPDFSDK_Document* pDocument, 343 static void SetDisplay(CPDFSDK_FormFillEnvironment* pFormFillEnv,
344 const CFX_WideString& swFieldName, 344 const CFX_WideString& swFieldName,
345 int nControlIndex, 345 int nControlIndex,
346 int number); 346 int number);
347 static void SetFillColor(CPDFSDK_Document* pDocument, 347 static void SetFillColor(CPDFSDK_FormFillEnvironment* pFormFillEnv,
348 const CFX_WideString& swFieldName, 348 const CFX_WideString& swFieldName,
349 int nControlIndex, 349 int nControlIndex,
350 const CPWL_Color& color); 350 const CPWL_Color& color);
351 static void SetHidden(CPDFSDK_Document* pDocument, 351 static void SetHidden(CPDFSDK_FormFillEnvironment* pFormFillEnv,
352 const CFX_WideString& swFieldName, 352 const CFX_WideString& swFieldName,
353 int nControlIndex, 353 int nControlIndex,
354 bool b); 354 bool b);
355 static void SetHighlight(CPDFSDK_Document* pDocument, 355 static void SetHighlight(CPDFSDK_FormFillEnvironment* pFormFillEnv,
356 const CFX_WideString& swFieldName, 356 const CFX_WideString& swFieldName,
357 int nControlIndex, 357 int nControlIndex,
358 const CFX_ByteString& string); 358 const CFX_ByteString& string);
359 static void SetLineWidth(CPDFSDK_Document* pDocument, 359 static void SetLineWidth(CPDFSDK_FormFillEnvironment* pFormFillEnv,
360 const CFX_WideString& swFieldName, 360 const CFX_WideString& swFieldName,
361 int nControlIndex, 361 int nControlIndex,
362 int number); 362 int number);
363 static void SetMultiline(CPDFSDK_Document* pDocument, 363 static void SetMultiline(CPDFSDK_FormFillEnvironment* pFormFillEnv,
364 const CFX_WideString& swFieldName, 364 const CFX_WideString& swFieldName,
365 int nControlIndex, 365 int nControlIndex,
366 bool b); 366 bool b);
367 static void SetMultipleSelection(CPDFSDK_Document* pDocument, 367 static void SetMultipleSelection(CPDFSDK_FormFillEnvironment* pFormFillEnv,
368 const CFX_WideString& swFieldName, 368 const CFX_WideString& swFieldName,
369 int nControlIndex, 369 int nControlIndex,
370 bool b); 370 bool b);
371 static void SetPassword(CPDFSDK_Document* pDocument, 371 static void SetPassword(CPDFSDK_FormFillEnvironment* pFormFillEnv,
372 const CFX_WideString& swFieldName, 372 const CFX_WideString& swFieldName,
373 int nControlIndex, 373 int nControlIndex,
374 bool b); 374 bool b);
375 static void SetRect(CPDFSDK_Document* pDocument, 375 static void SetRect(CPDFSDK_FormFillEnvironment* pFormFillEnv,
376 const CFX_WideString& swFieldName, 376 const CFX_WideString& swFieldName,
377 int nControlIndex, 377 int nControlIndex,
378 const CFX_FloatRect& rect); 378 const CFX_FloatRect& rect);
379 static void SetRotation(CPDFSDK_Document* pDocument, 379 static void SetRotation(CPDFSDK_FormFillEnvironment* pFormFillEnv,
380 const CFX_WideString& swFieldName, 380 const CFX_WideString& swFieldName,
381 int nControlIndex, 381 int nControlIndex,
382 int number); 382 int number);
383 static void SetStrokeColor(CPDFSDK_Document* pDocument, 383 static void SetStrokeColor(CPDFSDK_FormFillEnvironment* pFormFillEnv,
384 const CFX_WideString& swFieldName, 384 const CFX_WideString& swFieldName,
385 int nControlIndex, 385 int nControlIndex,
386 const CPWL_Color& color); 386 const CPWL_Color& color);
387 static void SetStyle(CPDFSDK_Document* pDocument, 387 static void SetStyle(CPDFSDK_FormFillEnvironment* pFormFillEnv,
388 const CFX_WideString& swFieldName, 388 const CFX_WideString& swFieldName,
389 int nControlIndex, 389 int nControlIndex,
390 const CFX_ByteString& string); 390 const CFX_ByteString& string);
391 static void SetTextColor(CPDFSDK_Document* pDocument, 391 static void SetTextColor(CPDFSDK_FormFillEnvironment* pFormFillEnv,
392 const CFX_WideString& swFieldName, 392 const CFX_WideString& swFieldName,
393 int nControlIndex, 393 int nControlIndex,
394 const CPWL_Color& color); 394 const CPWL_Color& color);
395 static void SetTextFont(CPDFSDK_Document* pDocument, 395 static void SetTextFont(CPDFSDK_FormFillEnvironment* pFormFillEnv,
396 const CFX_WideString& swFieldName, 396 const CFX_WideString& swFieldName,
397 int nControlIndex, 397 int nControlIndex,
398 const CFX_ByteString& string); 398 const CFX_ByteString& string);
399 static void SetTextSize(CPDFSDK_Document* pDocument, 399 static void SetTextSize(CPDFSDK_FormFillEnvironment* pFormFillEnv,
400 const CFX_WideString& swFieldName, 400 const CFX_WideString& swFieldName,
401 int nControlIndex, 401 int nControlIndex,
402 int number); 402 int number);
403 static void SetUserName(CPDFSDK_Document* pDocument, 403 static void SetUserName(CPDFSDK_FormFillEnvironment* pFormFillEnv,
404 const CFX_WideString& swFieldName, 404 const CFX_WideString& swFieldName,
405 int nControlIndex, 405 int nControlIndex,
406 const CFX_WideString& string); 406 const CFX_WideString& string);
407 static void SetValue(CPDFSDK_Document* pDocument, 407 static void SetValue(CPDFSDK_FormFillEnvironment* pFormFillEnv,
408 const CFX_WideString& swFieldName, 408 const CFX_WideString& swFieldName,
409 int nControlIndex, 409 int nControlIndex,
410 const std::vector<CFX_WideString>& strArray); 410 const std::vector<CFX_WideString>& strArray);
411 411
412 static void AddField(CPDFSDK_Document* pDocument, 412 static void AddField(CPDFSDK_FormFillEnvironment* pFormFillEnv,
413 int nPageIndex, 413 int nPageIndex,
414 int nFieldType, 414 int nFieldType,
415 const CFX_WideString& sName, 415 const CFX_WideString& sName,
416 const CFX_FloatRect& rcCoords); 416 const CFX_FloatRect& rcCoords);
417 417
418 static void UpdateFormField(CPDFSDK_Document* pDocument, 418 static void UpdateFormField(CPDFSDK_FormFillEnvironment* pFormFillEnv,
419 CPDF_FormField* pFormField, 419 CPDF_FormField* pFormField,
420 FX_BOOL bChangeMark, 420 FX_BOOL bChangeMark,
421 FX_BOOL bResetAP, 421 FX_BOOL bResetAP,
422 FX_BOOL bRefresh); 422 FX_BOOL bRefresh);
423 static void UpdateFormControl(CPDFSDK_Document* pDocument, 423 static void UpdateFormControl(CPDFSDK_FormFillEnvironment* pFormFillEnv,
424 CPDF_FormControl* pFormControl, 424 CPDF_FormControl* pFormControl,
425 FX_BOOL bChangeMark, 425 FX_BOOL bChangeMark,
426 FX_BOOL bResetAP, 426 FX_BOOL bResetAP,
427 FX_BOOL bRefresh); 427 FX_BOOL bRefresh);
428 428
429 static CPDFSDK_Widget* GetWidget(CPDFSDK_Document* pDocument, 429 static CPDFSDK_Widget* GetWidget(CPDFSDK_FormFillEnvironment* pFormFillEnv,
430 CPDF_FormControl* pFormControl, 430 CPDF_FormControl* pFormControl,
431 bool createIfNeeded); 431 bool createIfNeeded);
432 static std::vector<CPDF_FormField*> GetFormFields( 432 static std::vector<CPDF_FormField*> GetFormFields(
433 CPDFSDK_Document* pDocument, 433 CPDFSDK_FormFillEnvironment* pFormFillEnv,
434 const CFX_WideString& csFieldName); 434 const CFX_WideString& csFieldName);
435 435
436 static void DoDelay(CPDFSDK_Document* pDocument, CJS_DelayData* pData); 436 static void DoDelay(CPDFSDK_FormFillEnvironment* pFormFillEnv,
437 CJS_DelayData* pData);
437 438
438 FX_BOOL AttachField(Document* pDocument, const CFX_WideString& csFieldName); 439 FX_BOOL AttachField(Document* pDocument, const CFX_WideString& csFieldName);
439 void SetDelay(FX_BOOL bDelay); 440 void SetDelay(FX_BOOL bDelay);
440 441
441 protected: 442 protected:
442 void ParseFieldName(const std::wstring& strFieldNameParsed, 443 void ParseFieldName(const std::wstring& strFieldNameParsed,
443 std::wstring& strFieldName, 444 std::wstring& strFieldName,
444 int& iControlNo); 445 int& iControlNo);
445 std::vector<CPDF_FormField*> GetFormFields( 446 std::vector<CPDF_FormField*> GetFormFields(
446 const CFX_WideString& csFieldName) const; 447 const CFX_WideString& csFieldName) const;
447 CPDF_FormControl* GetSmartFieldControl(CPDF_FormField* pFormField); 448 CPDF_FormControl* GetSmartFieldControl(CPDF_FormField* pFormField);
448 FX_BOOL ValueIsOccur(CPDF_FormField* pFormField, CFX_WideString csOptLabel); 449 FX_BOOL ValueIsOccur(CPDF_FormField* pFormField, CFX_WideString csOptLabel);
449 450
450 void AddDelay_Int(FIELD_PROP prop, int32_t n); 451 void AddDelay_Int(FIELD_PROP prop, int32_t n);
451 void AddDelay_Bool(FIELD_PROP prop, bool b); 452 void AddDelay_Bool(FIELD_PROP prop, bool b);
452 void AddDelay_String(FIELD_PROP prop, const CFX_ByteString& string); 453 void AddDelay_String(FIELD_PROP prop, const CFX_ByteString& string);
453 void AddDelay_WideString(FIELD_PROP prop, const CFX_WideString& string); 454 void AddDelay_WideString(FIELD_PROP prop, const CFX_WideString& string);
454 void AddDelay_Rect(FIELD_PROP prop, const CFX_FloatRect& rect); 455 void AddDelay_Rect(FIELD_PROP prop, const CFX_FloatRect& rect);
455 void AddDelay_Color(FIELD_PROP prop, const CPWL_Color& color); 456 void AddDelay_Color(FIELD_PROP prop, const CPWL_Color& color);
456 void AddDelay_WordArray(FIELD_PROP prop, const std::vector<uint32_t>& array); 457 void AddDelay_WordArray(FIELD_PROP prop, const std::vector<uint32_t>& array);
457 void AddDelay_WideStringArray(FIELD_PROP prop, 458 void AddDelay_WideStringArray(FIELD_PROP prop,
458 const std::vector<CFX_WideString>& array); 459 const std::vector<CFX_WideString>& array);
459 460
460 void DoDelay(); 461 void DoDelay();
461 462
462 public: 463 public:
463 Document* m_pJSDoc; 464 Document* m_pJSDoc;
464 CPDFSDK_Document::ObservedPtr m_pDocument; 465 CPDFSDK_FormFillEnvironment::ObservedPtr m_pFormFillEnv;
465 CFX_WideString m_FieldName; 466 CFX_WideString m_FieldName;
466 int m_nFormControlIndex; 467 int m_nFormControlIndex;
467 FX_BOOL m_bCanSet; 468 FX_BOOL m_bCanSet;
468 FX_BOOL m_bDelay; 469 FX_BOOL m_bDelay;
469 }; 470 };
470 471
471 class CJS_Field : public CJS_Object { 472 class CJS_Field : public CJS_Object {
472 public: 473 public:
473 explicit CJS_Field(v8::Local<v8::Object> pObject) : CJS_Object(pObject) {} 474 explicit CJS_Field(v8::Local<v8::Object> pObject) : CJS_Object(pObject) {}
474 ~CJS_Field() override {} 475 ~CJS_Field() override {}
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 JS_STATIC_METHOD(setLock, Field); 552 JS_STATIC_METHOD(setLock, Field);
552 JS_STATIC_METHOD(signatureGetModifications, Field); 553 JS_STATIC_METHOD(signatureGetModifications, Field);
553 JS_STATIC_METHOD(signatureGetSeedValue, Field); 554 JS_STATIC_METHOD(signatureGetSeedValue, Field);
554 JS_STATIC_METHOD(signatureInfo, Field); 555 JS_STATIC_METHOD(signatureInfo, Field);
555 JS_STATIC_METHOD(signatureSetSeedValue, Field); 556 JS_STATIC_METHOD(signatureSetSeedValue, Field);
556 JS_STATIC_METHOD(signatureSign, Field); 557 JS_STATIC_METHOD(signatureSign, Field);
557 JS_STATIC_METHOD(signatureValidate, Field); 558 JS_STATIC_METHOD(signatureValidate, Field);
558 }; 559 };
559 560
560 #endif // FPDFSDK_JAVASCRIPT_FIELD_H_ 561 #endif // FPDFSDK_JAVASCRIPT_FIELD_H_
OLDNEW
« no previous file with comments | « fpdfsdk/javascript/Document.cpp ('k') | fpdfsdk/javascript/Field.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698