1e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// Copyright 2014 PDFium Authors. All rights reserved.
2e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// Use of this source code is governed by a BSD-style license that can be
3e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// found in the LICENSE file.
4e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
5e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
7e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifndef FPDFSDK_INCLUDE_JAVASCRIPT_FIELD_H_
8e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#define FPDFSDK_INCLUDE_JAVASCRIPT_FIELD_H_
9e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
10e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#include <string>  // For std::wstring.
11e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
12e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// TODO(tsepez): include PWL_Wnd.h for PWL_Color after fixing its IWYU.
13e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#include "JS_Define.h"
14e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
15e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovclass Document;
16e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
17e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovenum FIELD_PROP
18e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov{
19e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_ALIGNMENT,
20e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_BORDERSTYLE,
21e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_BUTTONALIGNX,
22e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_BUTTONALIGNY,
23e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_BUTTONFITBOUNDS,
24e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_BUTTONPOSITION,
25e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_BUTTONSCALEHOW,
26e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_BUTTONSCALEWHEN,
27e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_CALCORDERINDEX,
28e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_CHARLIMIT,
29e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_COMB,
30e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_COMMITONSELCHANGE,
31e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_CURRENTVALUEINDICES,
32e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_DEFAULTVALUE,
33e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_DONOTSCROLL,
34e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_DISPLAY,
35e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_FILLCOLOR,
36e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_HIDDEN,
37e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_HIGHLIGHT,
38e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_LINEWIDTH,
39e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_MULTILINE,
40e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_MULTIPLESELECTION,
41e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_PASSWORD,
42e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_RECT,
43e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_RICHTEXT,
44e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_RICHVALUE,
45e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_ROTATION,
46e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_STROKECOLOR,
47e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_STYLE,
48e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_TEXTCOLOR,
49e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_TEXTFONT,
50e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_TEXTSIZE,
51e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_USERNAME,
52e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FP_VALUE
53e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov};
54e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
55e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovclass CJS_WideStringArray
56e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov{
57e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovpublic:
58e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	CJS_WideStringArray(){}
59e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	virtual ~CJS_WideStringArray()
60e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	{
61e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov		for (int i=0,sz=m_Data.GetSize(); i<sz; i++)
62e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov			delete m_Data.GetAt(i);
63e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov		m_Data.RemoveAll();
64e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	}
65e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
66e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	void Add(const CFX_WideString& string)
67e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	{
68e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov		m_Data.Add(new CFX_WideString(string));
69e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	}
70e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
71e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	int GetSize() const
72e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	{
73e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov		return m_Data.GetSize();
74e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	}
75e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
76e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	CFX_WideString GetAt(int i) const
77e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	{
78e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov		return *m_Data.GetAt(i);
79e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	}
80e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
81e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovprivate:
82e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	CFX_ArrayTemplate<CFX_WideString*>	m_Data;
83e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov};
84e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
85e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovstruct CJS_DelayData
86e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov{
87e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	CFX_WideString			sFieldName;
88e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	int						nControlIndex;
89e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	enum FIELD_PROP			eProp;
90e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_INT32				num;
91e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	bool					b;
92e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	CFX_ByteString			string;
93e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	CFX_WideString			widestring;
94e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	CPDF_Rect				rect;
95e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	CPWL_Color				color;
96e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	CFX_DWordArray			wordarray;
97e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	CJS_WideStringArray		widestringarray;
98e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov};
99e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
100e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovclass Field : public CJS_EmbedObj
101e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov{
102e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovpublic:
103e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	Field(CJS_Object* pJSObject);
104e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	virtual ~Field(void);
105e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
106e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    FX_BOOL alignment(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
107e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    FX_BOOL borderStyle(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
108e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL buttonAlignX(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
109e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL buttonAlignY(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
110e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL buttonFitBounds(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
111e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL buttonPosition(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
112e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL buttonScaleHow(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
113e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    FX_BOOL buttonScaleWhen(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
114e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL calcOrderIndex(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
115e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL charLimit(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
116e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL comb(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
117e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL commitOnSelChange(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
118e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL currentValueIndices(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
119e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    FX_BOOL defaultStyle(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
120e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL defaultValue(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
121e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL doNotScroll(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
122e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL doNotSpellCheck(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
123e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL delay(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
124e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL display(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
125e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    FX_BOOL doc(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
126e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL editable(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
127e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL exportValues(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
128e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL fileSelect(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
129e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL fillColor(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
130e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL hidden(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
131e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    FX_BOOL highlight(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
132e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL lineWidth(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
133e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL multiline(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
134e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL multipleSelection(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
135e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL name(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
136e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL numItems(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
137e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    FX_BOOL page(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
138e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL password(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
139e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL print(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
140e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL radiosInUnison(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
141e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL readonly(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
142e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL rect(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
143e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    FX_BOOL required(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
144e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL richText(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
145e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL richValue(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
146e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL rotation(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
147e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL strokeColor(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
148e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL style(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
149e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL submitName(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
150e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL textColor(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
151e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL textFont(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
152e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL textSize(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
153e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL type(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
154e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL userName(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
155e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL value(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
156e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL valueAsString(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
157e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL source(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
158e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
159e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL browseForFileToSubmit(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
160e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL buttonGetCaption(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
161e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL buttonGetIcon(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
162e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL buttonImportIcon(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
163e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL buttonSetCaption(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
164e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL buttonSetIcon(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
165e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL checkThisBox(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
166e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL clearItems(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
167e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL defaultIsChecked(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
168e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL deleteItemAt(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
169e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL getArray(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
170e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL getItemAt(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
171e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL getLock(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
172e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL insertItemAt(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
173e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL isBoxChecked(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
174e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL isDefaultChecked(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
175e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL setAction(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
176e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL setFocus(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
177e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL setItems(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
178e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL setLock(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
179e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL signatureGetModifications(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
180e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL signatureGetSeedValue(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
181e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL signatureInfo(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
182e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL signatureSetSeedValue(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
183e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL signatureSign(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
184e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL signatureValidate(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
185e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
186e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovpublic:
187e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetAlignment(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, const CFX_ByteString& string);
188e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    static void SetBorderStyle(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, const CFX_ByteString& string);
189e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetButtonAlignX(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number);
190e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetButtonAlignY(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number);
191e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetButtonFitBounds(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, bool b);
192e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetButtonPosition(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number);
193e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetButtonScaleHow(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number);
194e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    static void SetButtonScaleWhen(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number);
195e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetCalcOrderIndex(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number);
196e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetCharLimit(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number);
197e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetComb(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, bool b);
198e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetCommitOnSelChange(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, bool b);
199e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetCurrentValueIndices(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, const CFX_DWordArray& array);
200e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    static void SetDefaultStyle(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex);
201e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetDefaultValue(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, const CFX_WideString& string);
202e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetDoNotScroll(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, bool b);
203e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetDisplay(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number);
204e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetFillColor(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, const CPWL_Color& color);
205e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetHidden(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, bool b);
206e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    static void SetHighlight(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, const CFX_ByteString& string);
207e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetLineWidth(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number);
208e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetMultiline(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, bool b);
209e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetMultipleSelection(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, bool b);
210e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetPassword(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, bool b);
211e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetRect(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, const CPDF_Rect& rect);
212e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetRichText(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, bool b);
213e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetRichValue(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex);
214e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetRotation(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number);
215e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetStrokeColor(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, const CPWL_Color& color);
216e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetStyle(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, const CFX_ByteString& string);
217e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetTextColor(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, const CPWL_Color& color);
218e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetTextFont(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, const CFX_ByteString& string);
219e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetTextSize(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number);
220e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetUserName(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, const CFX_WideString& string);
221e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void SetValue(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, const CJS_WideStringArray& strArray);
222e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
223e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovpublic:
224e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void							AddField(CPDFSDK_Document* pDocument, int nPageIndex, int nFieldType,
225e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov											const CFX_WideString& sName, const CPDF_Rect& rcCoords);
226e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovpublic:
227e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void							UpdateFormField(CPDFSDK_Document* pDocument, CPDF_FormField* pFormField,
228e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov											FX_BOOL bChangeMark, FX_BOOL bResetAP, FX_BOOL bRefresh);
229e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void							UpdateFormControl(CPDFSDK_Document* pDocument, CPDF_FormControl* pFormControl,
230e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov											FX_BOOL bChangeMark, FX_BOOL bResetAP, FX_BOOL bRefresh);
231e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
232e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static CPDFSDK_Widget*					GetWidget(CPDFSDK_Document* pDocument, CPDF_FormControl* pFormControl);
233e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void							GetFormFields(CPDFSDK_Document* pDocument, const CFX_WideString& csFieldName, CFX_PtrArray& FieldsArray);
234e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
235e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	static void							DoDelay(CPDFSDK_Document* pDocument, CJS_DelayData* pData);
236e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
237e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovpublic:
238e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL								AttachField(Document* pDocument, const CFX_WideString& csFieldName);
239e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	void								SetDelay(FX_BOOL bDelay);
240e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	void								SetIsolate(v8::Isolate* isolate) {m_isolate = isolate;}
241e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovprotected:
242e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	void								ParseFieldName(const std::wstring &strFieldNameParsed,std::wstring &strFieldName,int & iControlNo);
243e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	void								GetFormFields(const CFX_WideString& csFieldName, CFX_PtrArray& FieldsArray);
244e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	CPDF_FormControl* 					GetSmartFieldControl(CPDF_FormField* pFormField);
245e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL								ValueIsOccur(CPDF_FormField* pFormField, CFX_WideString csOptLabel);
246e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
247e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	void								AddDelay_Int(enum FIELD_PROP prop, FX_INT32 n);
248e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	void								AddDelay_Bool(enum FIELD_PROP prop,bool b);
249e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	void								AddDelay_String(enum FIELD_PROP prop, const CFX_ByteString& string);
250e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	void								AddDelay_WideString(enum FIELD_PROP prop, const CFX_WideString& string);
251e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	void								AddDelay_Rect(enum FIELD_PROP prop, const CPDF_Rect& rect);
252e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	void								AddDelay_Color(enum FIELD_PROP prop, const CPWL_Color& color);
253e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	void								AddDelay_WordArray(enum FIELD_PROP prop, const CFX_DWordArray& array);
254e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	void								AddDelay_WideStringArray(enum FIELD_PROP prop, const CJS_WideStringArray& array);
255e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
256e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	void								DoDelay();
257e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovpublic:
258e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	Document*							m_pJSDoc;
259e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	CPDFSDK_Document*					m_pDocument;
260e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	CFX_WideString						m_FieldName;
261e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	int									m_nFormControlIndex;
262e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL								m_bCanSet;
263e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
264e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	FX_BOOL								m_bDelay;
265e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	v8::Isolate*							m_isolate;
266e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov};
267e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
268e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovclass CJS_Field : public CJS_Object
269e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov{
270e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovpublic:
271e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	CJS_Field(JSFXObject pObject) : CJS_Object(pObject) {};
272e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	virtual ~CJS_Field(void){};
273e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
274e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	virtual FX_BOOL	InitInstance(IFXJS_Context* cc);
275e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
276e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	DECLARE_JS_CLASS(CJS_Field);
277e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
278e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    JS_STATIC_PROP(alignment, Field);
279e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    JS_STATIC_PROP(borderStyle, Field);
280e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(buttonAlignX, Field);
281e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(buttonAlignY, Field);
282e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(buttonFitBounds, Field);
283e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(buttonPosition, Field);
284e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(buttonScaleHow, Field);
285e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    JS_STATIC_PROP(buttonScaleWhen, Field);
286e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(calcOrderIndex, Field);
287e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(charLimit, Field);
288e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(comb, Field);
289e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(commitOnSelChange, Field);
290e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(currentValueIndices, Field);
291e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    JS_STATIC_PROP(defaultStyle, Field);
292e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(defaultValue, Field);
293e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(doNotScroll, Field);
294e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(doNotSpellCheck, Field);
295e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(delay, Field);
296e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(display, Field);
297e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    JS_STATIC_PROP(doc, Field);
298e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(editable, Field);
299e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(exportValues, Field);
300e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(fileSelect, Field);
301e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(fillColor, Field);
302e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(hidden, Field);
303e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    JS_STATIC_PROP(highlight, Field);
304e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(lineWidth, Field);
305e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(multiline, Field);
306e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(multipleSelection, Field);
307e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(name, Field);
308e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(numItems, Field);
309e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    JS_STATIC_PROP(page, Field);
310e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(password, Field);
311e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(print, Field);
312e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(radiosInUnison, Field);
313e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(readonly, Field);
314e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(rect, Field);
315e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    JS_STATIC_PROP(required, Field);
316e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(richText, Field);
317e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(richValue, Field);
318e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(rotation, Field);
319e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(strokeColor, Field);
320e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(style, Field);
321e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(submitName, Field);
322e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(textColor, Field);
323e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(textFont, Field);
324e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(textSize, Field);
325e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(type, Field);
326e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(userName, Field);
327e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(value, Field);
328e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(valueAsString, Field);
329e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_PROP(source, Field);
330e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
331e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(browseForFileToSubmit, Field);
332e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(buttonGetCaption, Field);
333e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(buttonGetIcon, Field);
334e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(buttonImportIcon, Field);
335e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(buttonSetCaption, Field);
336e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(buttonSetIcon, Field);
337e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(checkThisBox, Field);
338e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(clearItems, Field);
339e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov 	JS_STATIC_METHOD(defaultIsChecked, Field);
340e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(deleteItemAt, Field);
341e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(getArray, Field);
342e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(getItemAt, Field);
343e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(getLock, Field);
344e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(insertItemAt, Field);
345e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(isBoxChecked, Field);
346e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(isDefaultChecked, Field);
347e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(setAction, Field);
348e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(setFocus, Field);
349e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(setItems, Field);
350e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(setLock, Field);
351e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(signatureGetModifications, Field);
352e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(signatureGetSeedValue, Field);
353e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(signatureInfo, Field);
354e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(signatureSetSeedValue, Field);
355e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(signatureSign, Field);
356e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov	JS_STATIC_METHOD(signatureValidate, Field);
357e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov};
358e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
359e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif  // FPDFSDK_INCLUDE_JAVASCRIPT_FIELD_H_
360