diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-12-14 19:45:53 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-12-14 19:45:53 +0000 |
commit | fe9d640ea90cfccac39b6475dad9df62072542fc (patch) | |
tree | 653ac8e2ad76ae2fc4030b63d7625bd40ca07875 | |
parent | 604f5b9e042267cffd8949f309a86c370a3d01d4 (diff) | |
download | pdfium-fe9d640ea90cfccac39b6475dad9df62072542fc.tar.xz |
Create classes for XFA JS objects
This CL creates classes for the various XFA JS objects. The method
calls from xfa_basic_data_element_script have been modified to call
these methods instead of methods in CJX_Object.
Change-Id: Idb2de38656f7e8edc559d44921eba25073e6c806
Reviewed-on: https://pdfium-review.googlesource.com/21110
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
414 files changed, 11806 insertions, 2277 deletions
@@ -1306,60 +1306,306 @@ static_library("fxjs") { "fxjs/cfxjse_value.cpp", "fxjs/cfxjse_value.h", "fxjs/fxjse.h", + "fxjs/xfa/cjx_arc.cpp", + "fxjs/xfa/cjx_arc.h", + "fxjs/xfa/cjx_area.cpp", + "fxjs/xfa/cjx_area.h", + "fxjs/xfa/cjx_assist.cpp", + "fxjs/xfa/cjx_assist.h", + "fxjs/xfa/cjx_barcode.cpp", + "fxjs/xfa/cjx_barcode.h", + "fxjs/xfa/cjx_bind.cpp", + "fxjs/xfa/cjx_bind.h", + "fxjs/xfa/cjx_binditems.cpp", + "fxjs/xfa/cjx_binditems.h", + "fxjs/xfa/cjx_bookend.cpp", + "fxjs/xfa/cjx_bookend.h", + "fxjs/xfa/cjx_boolean.cpp", + "fxjs/xfa/cjx_boolean.h", + "fxjs/xfa/cjx_border.cpp", + "fxjs/xfa/cjx_border.h", + "fxjs/xfa/cjx_break.cpp", + "fxjs/xfa/cjx_break.h", + "fxjs/xfa/cjx_breakafter.cpp", + "fxjs/xfa/cjx_breakafter.h", + "fxjs/xfa/cjx_breakbefore.cpp", + "fxjs/xfa/cjx_breakbefore.h", + "fxjs/xfa/cjx_button.cpp", + "fxjs/xfa/cjx_button.h", + "fxjs/xfa/cjx_calculate.cpp", + "fxjs/xfa/cjx_calculate.h", + "fxjs/xfa/cjx_caption.cpp", + "fxjs/xfa/cjx_caption.h", + "fxjs/xfa/cjx_certificate.cpp", + "fxjs/xfa/cjx_certificate.h", + "fxjs/xfa/cjx_certificates.cpp", + "fxjs/xfa/cjx_certificates.h", + "fxjs/xfa/cjx_checkbutton.cpp", + "fxjs/xfa/cjx_checkbutton.h", + "fxjs/xfa/cjx_choicelist.cpp", + "fxjs/xfa/cjx_choicelist.h", + "fxjs/xfa/cjx_color.cpp", + "fxjs/xfa/cjx_color.h", + "fxjs/xfa/cjx_comb.cpp", + "fxjs/xfa/cjx_comb.h", + "fxjs/xfa/cjx_command.cpp", + "fxjs/xfa/cjx_command.h", + "fxjs/xfa/cjx_connect.cpp", + "fxjs/xfa/cjx_connect.h", + "fxjs/xfa/cjx_connectstring.cpp", + "fxjs/xfa/cjx_connectstring.h", "fxjs/xfa/cjx_container.cpp", "fxjs/xfa/cjx_container.h", "fxjs/xfa/cjx_content.cpp", "fxjs/xfa/cjx_content.h", + "fxjs/xfa/cjx_contentarea.cpp", + "fxjs/xfa/cjx_contentarea.h", + "fxjs/xfa/cjx_corner.cpp", + "fxjs/xfa/cjx_corner.h", + "fxjs/xfa/cjx_datavalue.cpp", + "fxjs/xfa/cjx_datavalue.h", "fxjs/xfa/cjx_datawindow.cpp", "fxjs/xfa/cjx_datawindow.h", + "fxjs/xfa/cjx_date.cpp", + "fxjs/xfa/cjx_date.h", + "fxjs/xfa/cjx_datetime.cpp", + "fxjs/xfa/cjx_datetime.h", + "fxjs/xfa/cjx_datetimeedit.cpp", + "fxjs/xfa/cjx_datetimeedit.h", + "fxjs/xfa/cjx_decimal.cpp", + "fxjs/xfa/cjx_decimal.h", + "fxjs/xfa/cjx_defaultui.cpp", + "fxjs/xfa/cjx_defaultui.h", + "fxjs/xfa/cjx_delete.cpp", + "fxjs/xfa/cjx_delete.h", "fxjs/xfa/cjx_delta.cpp", "fxjs/xfa/cjx_delta.h", + "fxjs/xfa/cjx_deltas.cpp", + "fxjs/xfa/cjx_deltas.h", "fxjs/xfa/cjx_desc.cpp", "fxjs/xfa/cjx_desc.h", + "fxjs/xfa/cjx_digestmethod.cpp", + "fxjs/xfa/cjx_digestmethod.h", + "fxjs/xfa/cjx_digestmethods.cpp", + "fxjs/xfa/cjx_digestmethods.h", + "fxjs/xfa/cjx_draw.cpp", + "fxjs/xfa/cjx_draw.h", + "fxjs/xfa/cjx_edge.cpp", + "fxjs/xfa/cjx_edge.h", + "fxjs/xfa/cjx_encoding.cpp", + "fxjs/xfa/cjx_encoding.h", + "fxjs/xfa/cjx_encodings.cpp", + "fxjs/xfa/cjx_encodings.h", + "fxjs/xfa/cjx_encrypt.cpp", + "fxjs/xfa/cjx_encrypt.h", + "fxjs/xfa/cjx_event.cpp", + "fxjs/xfa/cjx_event.h", "fxjs/xfa/cjx_eventpseudomodel.cpp", "fxjs/xfa/cjx_eventpseudomodel.h", "fxjs/xfa/cjx_exclgroup.cpp", "fxjs/xfa/cjx_exclgroup.h", + "fxjs/xfa/cjx_exdata.cpp", + "fxjs/xfa/cjx_exdata.h", + "fxjs/xfa/cjx_execute.cpp", + "fxjs/xfa/cjx_execute.h", + "fxjs/xfa/cjx_exobject.cpp", + "fxjs/xfa/cjx_exobject.h", + "fxjs/xfa/cjx_extras.cpp", + "fxjs/xfa/cjx_extras.h", "fxjs/xfa/cjx_field.cpp", "fxjs/xfa/cjx_field.h", + "fxjs/xfa/cjx_fill.cpp", + "fxjs/xfa/cjx_fill.h", + "fxjs/xfa/cjx_filter.cpp", + "fxjs/xfa/cjx_filter.h", + "fxjs/xfa/cjx_float.cpp", + "fxjs/xfa/cjx_float.h", + "fxjs/xfa/cjx_font.cpp", + "fxjs/xfa/cjx_font.h", "fxjs/xfa/cjx_form.cpp", "fxjs/xfa/cjx_form.h", + "fxjs/xfa/cjx_format.cpp", + "fxjs/xfa/cjx_format.h", + "fxjs/xfa/cjx_handler.cpp", + "fxjs/xfa/cjx_handler.h", "fxjs/xfa/cjx_hostpseudomodel.cpp", "fxjs/xfa/cjx_hostpseudomodel.h", + "fxjs/xfa/cjx_image.cpp", + "fxjs/xfa/cjx_image.h", + "fxjs/xfa/cjx_imageedit.cpp", + "fxjs/xfa/cjx_imageedit.h", + "fxjs/xfa/cjx_insert.cpp", + "fxjs/xfa/cjx_insert.h", "fxjs/xfa/cjx_instancemanager.cpp", "fxjs/xfa/cjx_instancemanager.h", + "fxjs/xfa/cjx_integer.cpp", + "fxjs/xfa/cjx_integer.h", + "fxjs/xfa/cjx_issuers.cpp", + "fxjs/xfa/cjx_issuers.h", + "fxjs/xfa/cjx_items.cpp", + "fxjs/xfa/cjx_items.h", + "fxjs/xfa/cjx_keep.cpp", + "fxjs/xfa/cjx_keep.h", + "fxjs/xfa/cjx_keyusage.cpp", + "fxjs/xfa/cjx_keyusage.h", "fxjs/xfa/cjx_layoutpseudomodel.cpp", "fxjs/xfa/cjx_layoutpseudomodel.h", + "fxjs/xfa/cjx_line.cpp", + "fxjs/xfa/cjx_line.h", + "fxjs/xfa/cjx_linear.cpp", + "fxjs/xfa/cjx_linear.h", "fxjs/xfa/cjx_list.cpp", "fxjs/xfa/cjx_list.h", "fxjs/xfa/cjx_logpseudomodel.cpp", "fxjs/xfa/cjx_logpseudomodel.h", "fxjs/xfa/cjx_manifest.cpp", "fxjs/xfa/cjx_manifest.h", + "fxjs/xfa/cjx_map.cpp", + "fxjs/xfa/cjx_map.h", + "fxjs/xfa/cjx_margin.cpp", + "fxjs/xfa/cjx_margin.h", + "fxjs/xfa/cjx_mdp.cpp", + "fxjs/xfa/cjx_mdp.h", + "fxjs/xfa/cjx_medium.cpp", + "fxjs/xfa/cjx_medium.h", + "fxjs/xfa/cjx_message.cpp", + "fxjs/xfa/cjx_message.h", "fxjs/xfa/cjx_model.cpp", "fxjs/xfa/cjx_model.h", "fxjs/xfa/cjx_node.cpp", "fxjs/xfa/cjx_node.h", + "fxjs/xfa/cjx_numericedit.cpp", + "fxjs/xfa/cjx_numericedit.h", "fxjs/xfa/cjx_object.cpp", "fxjs/xfa/cjx_object.h", + "fxjs/xfa/cjx_occur.cpp", + "fxjs/xfa/cjx_occur.h", + "fxjs/xfa/cjx_oid.cpp", + "fxjs/xfa/cjx_oid.h", + "fxjs/xfa/cjx_oids.cpp", + "fxjs/xfa/cjx_oids.h", + "fxjs/xfa/cjx_operation.cpp", + "fxjs/xfa/cjx_operation.h", + "fxjs/xfa/cjx_overflow.cpp", + "fxjs/xfa/cjx_overflow.h", "fxjs/xfa/cjx_packet.cpp", "fxjs/xfa/cjx_packet.h", + "fxjs/xfa/cjx_pagearea.cpp", + "fxjs/xfa/cjx_pagearea.h", + "fxjs/xfa/cjx_pageset.cpp", + "fxjs/xfa/cjx_pageset.h", + "fxjs/xfa/cjx_para.cpp", + "fxjs/xfa/cjx_para.h", + "fxjs/xfa/cjx_password.cpp", + "fxjs/xfa/cjx_password.h", + "fxjs/xfa/cjx_passwordedit.cpp", + "fxjs/xfa/cjx_passwordedit.h", + "fxjs/xfa/cjx_pattern.cpp", + "fxjs/xfa/cjx_pattern.h", + "fxjs/xfa/cjx_picture.cpp", + "fxjs/xfa/cjx_picture.h", + "fxjs/xfa/cjx_query.cpp", + "fxjs/xfa/cjx_query.h", + "fxjs/xfa/cjx_radial.cpp", + "fxjs/xfa/cjx_radial.h", + "fxjs/xfa/cjx_reason.cpp", + "fxjs/xfa/cjx_reason.h", + "fxjs/xfa/cjx_reasons.cpp", + "fxjs/xfa/cjx_reasons.h", + "fxjs/xfa/cjx_recordset.cpp", + "fxjs/xfa/cjx_recordset.h", + "fxjs/xfa/cjx_rectangle.cpp", + "fxjs/xfa/cjx_rectangle.h", + "fxjs/xfa/cjx_ref.cpp", + "fxjs/xfa/cjx_ref.h", + "fxjs/xfa/cjx_rootelement.cpp", + "fxjs/xfa/cjx_rootelement.h", + "fxjs/xfa/cjx_script.cpp", + "fxjs/xfa/cjx_script.h", + "fxjs/xfa/cjx_select.cpp", + "fxjs/xfa/cjx_select.h", + "fxjs/xfa/cjx_setproperty.cpp", + "fxjs/xfa/cjx_setproperty.h", + "fxjs/xfa/cjx_signature.cpp", + "fxjs/xfa/cjx_signature.h", + "fxjs/xfa/cjx_signatureproperties.cpp", + "fxjs/xfa/cjx_signatureproperties.h", "fxjs/xfa/cjx_signaturepseudomodel.cpp", "fxjs/xfa/cjx_signaturepseudomodel.h", + "fxjs/xfa/cjx_signdata.cpp", + "fxjs/xfa/cjx_signdata.h", + "fxjs/xfa/cjx_signing.cpp", + "fxjs/xfa/cjx_signing.h", + "fxjs/xfa/cjx_soapaction.cpp", + "fxjs/xfa/cjx_soapaction.h", + "fxjs/xfa/cjx_soapaddress.cpp", + "fxjs/xfa/cjx_soapaddress.h", + "fxjs/xfa/cjx_solid.cpp", + "fxjs/xfa/cjx_solid.h", "fxjs/xfa/cjx_source.cpp", "fxjs/xfa/cjx_source.h", + "fxjs/xfa/cjx_sourceset.cpp", + "fxjs/xfa/cjx_sourceset.h", + "fxjs/xfa/cjx_speak.cpp", + "fxjs/xfa/cjx_speak.h", + "fxjs/xfa/cjx_stipple.cpp", + "fxjs/xfa/cjx_stipple.h", "fxjs/xfa/cjx_subform.cpp", "fxjs/xfa/cjx_subform.h", + "fxjs/xfa/cjx_subformset.cpp", + "fxjs/xfa/cjx_subformset.h", + "fxjs/xfa/cjx_subjectdn.cpp", + "fxjs/xfa/cjx_subjectdn.h", + "fxjs/xfa/cjx_subjectdns.cpp", + "fxjs/xfa/cjx_subjectdns.h", + "fxjs/xfa/cjx_submit.cpp", + "fxjs/xfa/cjx_submit.h", "fxjs/xfa/cjx_template.cpp", "fxjs/xfa/cjx_template.h", + "fxjs/xfa/cjx_text.cpp", + "fxjs/xfa/cjx_text.h", + "fxjs/xfa/cjx_textedit.cpp", + "fxjs/xfa/cjx_textedit.h", "fxjs/xfa/cjx_textnode.cpp", "fxjs/xfa/cjx_textnode.h", + "fxjs/xfa/cjx_time.cpp", + "fxjs/xfa/cjx_time.h", + "fxjs/xfa/cjx_timestamp.cpp", + "fxjs/xfa/cjx_timestamp.h", + "fxjs/xfa/cjx_tooltip.cpp", + "fxjs/xfa/cjx_tooltip.h", + "fxjs/xfa/cjx_traversal.cpp", + "fxjs/xfa/cjx_traversal.h", + "fxjs/xfa/cjx_traverse.cpp", + "fxjs/xfa/cjx_traverse.h", "fxjs/xfa/cjx_tree.cpp", "fxjs/xfa/cjx_tree.h", "fxjs/xfa/cjx_treelist.cpp", "fxjs/xfa/cjx_treelist.h", + "fxjs/xfa/cjx_ui.cpp", + "fxjs/xfa/cjx_ui.h", + "fxjs/xfa/cjx_update.cpp", + "fxjs/xfa/cjx_update.h", + "fxjs/xfa/cjx_uri.cpp", + "fxjs/xfa/cjx_uri.h", + "fxjs/xfa/cjx_user.cpp", + "fxjs/xfa/cjx_user.h", + "fxjs/xfa/cjx_validate.cpp", + "fxjs/xfa/cjx_validate.h", + "fxjs/xfa/cjx_value.cpp", + "fxjs/xfa/cjx_value.h", + "fxjs/xfa/cjx_variables.cpp", + "fxjs/xfa/cjx_variables.h", + "fxjs/xfa/cjx_wsdladdress.cpp", + "fxjs/xfa/cjx_wsdladdress.h", "fxjs/xfa/cjx_wsdlconnection.cpp", "fxjs/xfa/cjx_wsdlconnection.h", + "fxjs/xfa/cjx_xfa.cpp", + "fxjs/xfa/cjx_xfa.h", + "fxjs/xfa/cjx_xmlconnection.cpp", + "fxjs/xfa/cjx_xmlconnection.h", + "fxjs/xfa/cjx_xsdconnection.cpp", + "fxjs/xfa/cjx_xsdconnection.h", ] } } else { diff --git a/fxjs/CJX_Define.h b/fxjs/CJX_Define.h index 070e7d7557..4a26fd4d23 100644 --- a/fxjs/CJX_Define.h +++ b/fxjs/CJX_Define.h @@ -31,4 +31,7 @@ CJS_Return JSMethod(C* node, CJS_Return method_name(CJS_V8* runtime, \ const std::vector<v8::Local<v8::Value>>& params) +#define JS_PROP(prop_name) \ + void prop_name(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) + #endif // FXJS_CJX_DEFINE_H_ diff --git a/fxjs/xfa/cjx_arc.cpp b/fxjs/xfa/cjx_arc.cpp new file mode 100644 index 0000000000..92b626dff7 --- /dev/null +++ b/fxjs/xfa/cjx_arc.cpp @@ -0,0 +1,49 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_arc.h" + +#include "xfa/fxfa/parser/cxfa_arc.h" + +CJX_Arc::CJX_Arc(CXFA_Arc* node) : CJX_Node(node) {} + +CJX_Arc::~CJX_Arc() = default; + +void CJX_Arc::circular(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Arc::hand(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Arc::startAngle(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Arc::sweepAngle(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Arc::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Arc::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_arc.h b/fxjs/xfa/cjx_arc.h new file mode 100644 index 0000000000..a9a6bb6733 --- /dev/null +++ b/fxjs/xfa/cjx_arc.h @@ -0,0 +1,27 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_ARC_H_ +#define FXJS_XFA_CJX_ARC_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Arc; + +class CJX_Arc : public CJX_Node { + public: + explicit CJX_Arc(CXFA_Arc* node); + ~CJX_Arc() override; + + JS_PROP(circular); + JS_PROP(hand); + JS_PROP(startAngle); + JS_PROP(sweepAngle); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_ARC_H_ diff --git a/fxjs/xfa/cjx_area.cpp b/fxjs/xfa/cjx_area.cpp new file mode 100644 index 0000000000..ee621943b6 --- /dev/null +++ b/fxjs/xfa/cjx_area.cpp @@ -0,0 +1,49 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_area.h" + +#include "xfa/fxfa/parser/cxfa_area.h" + +CJX_Area::CJX_Area(CXFA_Area* node) : CJX_Container(node) {} + +CJX_Area::~CJX_Area() = default; + +void CJX_Area::colSpan(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Area::relevant(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Area::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Area::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Area::x(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Area::y(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_area.h b/fxjs/xfa/cjx_area.h new file mode 100644 index 0000000000..94083b351a --- /dev/null +++ b/fxjs/xfa/cjx_area.h @@ -0,0 +1,27 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_AREA_H_ +#define FXJS_XFA_CJX_AREA_H_ + +#include "fxjs/xfa/cjx_container.h" + +class CXFA_Area; + +class CJX_Area : public CJX_Container { + public: + explicit CJX_Area(CXFA_Area* node); + ~CJX_Area() override; + + JS_PROP(colSpan); + JS_PROP(relevant); + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(x); + JS_PROP(y); +}; + +#endif // FXJS_XFA_CJX_AREA_H_ diff --git a/fxjs/xfa/cjx_assist.cpp b/fxjs/xfa/cjx_assist.cpp new file mode 100644 index 0000000000..fcd7f37d08 --- /dev/null +++ b/fxjs/xfa/cjx_assist.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_assist.h" + +#include "xfa/fxfa/parser/cxfa_assist.h" + +CJX_Assist::CJX_Assist(CXFA_Assist* node) : CJX_Node(node) {} + +CJX_Assist::~CJX_Assist() = default; + +void CJX_Assist::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Assist::role(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Assist::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_assist.h b/fxjs/xfa/cjx_assist.h new file mode 100644 index 0000000000..9e7c9c55e3 --- /dev/null +++ b/fxjs/xfa/cjx_assist.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_ASSIST_H_ +#define FXJS_XFA_CJX_ASSIST_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Assist; + +class CJX_Assist : public CJX_Node { + public: + explicit CJX_Assist(CXFA_Assist* node); + ~CJX_Assist() override; + + JS_PROP(role); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_ASSIST_H_ diff --git a/fxjs/xfa/cjx_barcode.cpp b/fxjs/xfa/cjx_barcode.cpp new file mode 100644 index 0000000000..7520cc3571 --- /dev/null +++ b/fxjs/xfa/cjx_barcode.cpp @@ -0,0 +1,133 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_barcode.h" + +#include "xfa/fxfa/parser/cxfa_barcode.h" + +CJX_Barcode::CJX_Barcode(CXFA_Barcode* node) : CJX_Node(node) {} + +CJX_Barcode::~CJX_Barcode() = default; + +void CJX_Barcode::charEncoding(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Barcode::checksum(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Barcode::dataColumnCount(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Barcode::dataLength(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Barcode::dataPrep(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Barcode::dataRowCount(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Barcode::endChar(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Barcode::errorCorrectionLevel(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Barcode::moduleHeight(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Barcode::moduleWidth(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Barcode::printCheckDigit(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Barcode::rowColumnRatio(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Barcode::startChar(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Barcode::textLocation(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Barcode::truncate(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Barcode::type(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Barcode::upsMode(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Barcode::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Barcode::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Barcode::wideNarrowRatio(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_barcode.h b/fxjs/xfa/cjx_barcode.h new file mode 100644 index 0000000000..f5d88816bd --- /dev/null +++ b/fxjs/xfa/cjx_barcode.h @@ -0,0 +1,41 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_BARCODE_H_ +#define FXJS_XFA_CJX_BARCODE_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Barcode; + +class CJX_Barcode : public CJX_Node { + public: + explicit CJX_Barcode(CXFA_Barcode* arc); + ~CJX_Barcode() override; + + JS_PROP(charEncoding); + JS_PROP(checksum); + JS_PROP(dataColumnCount); + JS_PROP(dataLength); + JS_PROP(dataPrep); + JS_PROP(dataRowCount); + JS_PROP(endChar); + JS_PROP(errorCorrectionLevel); + JS_PROP(moduleHeight); + JS_PROP(moduleWidth); + JS_PROP(printCheckDigit); + JS_PROP(rowColumnRatio); + JS_PROP(startChar); + JS_PROP(textLocation); + JS_PROP(truncate); + JS_PROP(type); + JS_PROP(upsMode); + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(wideNarrowRatio); +}; + +#endif // FXJS_XFA_CJX_BARCODE_H_ diff --git a/fxjs/xfa/cjx_bind.cpp b/fxjs/xfa/cjx_bind.cpp new file mode 100644 index 0000000000..a73312dfd1 --- /dev/null +++ b/fxjs/xfa/cjx_bind.cpp @@ -0,0 +1,49 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_bind.h" + +#include "xfa/fxfa/parser/cxfa_bind.h" + +CJX_Bind::CJX_Bind(CXFA_Bind* node) : CJX_Node(node) {} + +CJX_Bind::~CJX_Bind() = default; + +void CJX_Bind::contentType(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Bind::match(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Bind::ref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Bind::transferEncoding(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Bind::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Bind::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_bind.h b/fxjs/xfa/cjx_bind.h new file mode 100644 index 0000000000..9fc8ab8071 --- /dev/null +++ b/fxjs/xfa/cjx_bind.h @@ -0,0 +1,27 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_BIND_H_ +#define FXJS_XFA_CJX_BIND_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Bind; + +class CJX_Bind : public CJX_Node { + public: + explicit CJX_Bind(CXFA_Bind* node); + ~CJX_Bind() override; + + JS_PROP(contentType); + JS_PROP(match); + JS_PROP(ref); + JS_PROP(transferEncoding); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_BIND_H_ diff --git a/fxjs/xfa/cjx_binditems.cpp b/fxjs/xfa/cjx_binditems.cpp new file mode 100644 index 0000000000..dd1f30d814 --- /dev/null +++ b/fxjs/xfa/cjx_binditems.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_binditems.h" + +#include "xfa/fxfa/parser/cxfa_binditems.h" + +CJX_BindItems::CJX_BindItems(CXFA_BindItems* node) : CJX_Node(node) {} + +CJX_BindItems::~CJX_BindItems() = default; + +void CJX_BindItems::connection(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_BindItems::labelRef(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_BindItems::valueRef(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_binditems.h b/fxjs/xfa/cjx_binditems.h new file mode 100644 index 0000000000..e47b3faea5 --- /dev/null +++ b/fxjs/xfa/cjx_binditems.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_BINDITEMS_H_ +#define FXJS_XFA_CJX_BINDITEMS_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_BindItems; + +class CJX_BindItems : public CJX_Node { + public: + explicit CJX_BindItems(CXFA_BindItems* node); + ~CJX_BindItems() override; + + JS_PROP(connection); + JS_PROP(labelRef); + JS_PROP(valueRef); +}; + +#endif // FXJS_XFA_CJX_BINDITEMS_H_ diff --git a/fxjs/xfa/cjx_bookend.cpp b/fxjs/xfa/cjx_bookend.cpp new file mode 100644 index 0000000000..2399e26f58 --- /dev/null +++ b/fxjs/xfa/cjx_bookend.cpp @@ -0,0 +1,37 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_bookend.h" + +#include "xfa/fxfa/parser/cxfa_bookend.h" + +CJX_Bookend::CJX_Bookend(CXFA_Bookend* node) : CJX_Node(node) {} + +CJX_Bookend::~CJX_Bookend() = default; + +void CJX_Bookend::leader(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Bookend::trailer(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Bookend::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Bookend::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_bookend.h b/fxjs/xfa/cjx_bookend.h new file mode 100644 index 0000000000..0165091f06 --- /dev/null +++ b/fxjs/xfa/cjx_bookend.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_BOOKEND_H_ +#define FXJS_XFA_CJX_BOOKEND_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Bookend; + +class CJX_Bookend : public CJX_Node { + public: + explicit CJX_Bookend(CXFA_Bookend* node); + ~CJX_Bookend() override; + + JS_PROP(leader); + JS_PROP(trailer); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_BOOKEND_H_ diff --git a/fxjs/xfa/cjx_boolean.cpp b/fxjs/xfa/cjx_boolean.cpp new file mode 100644 index 0000000000..f5af9547a7 --- /dev/null +++ b/fxjs/xfa/cjx_boolean.cpp @@ -0,0 +1,56 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_boolean.h" + +#include "fxjs/cfxjse_value.h" +#include "xfa/fxfa/parser/cxfa_boolean.h" + +CJX_Boolean::CJX_Boolean(CXFA_Boolean* node) : CJX_Content(node) {} + +CJX_Boolean::~CJX_Boolean() = default; + +void CJX_Boolean::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Boolean::defaultValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + if (!bSetting) { + WideString wsValue = GetContent(true); + pValue->SetBoolean(wsValue == L"1"); + return; + } + + ByteString newValue; + if (pValue && !(pValue->IsNull() || pValue->IsUndefined())) + newValue = pValue->ToString(); + + int32_t iValue = FXSYS_atoi(newValue.c_str()); + WideString wsNewValue(iValue == 0 ? L"0" : L"1"); + WideString wsFormatValue(wsNewValue); + CXFA_WidgetData* pContainerWidgetData = + ToNode(GetXFAObject())->GetContainerWidgetData(); + if (pContainerWidgetData) + wsFormatValue = pContainerWidgetData->GetFormatDataValue(wsNewValue); + + SetContent(wsNewValue, wsFormatValue, true, true, true); +} + +void CJX_Boolean::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Boolean::value(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + defaultValue(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_boolean.h b/fxjs/xfa/cjx_boolean.h new file mode 100644 index 0000000000..c90291aa8a --- /dev/null +++ b/fxjs/xfa/cjx_boolean.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_BOOLEAN_H_ +#define FXJS_XFA_CJX_BOOLEAN_H_ + +#include "fxjs/xfa/cjx_content.h" + +class CXFA_Boolean; + +class CJX_Boolean : public CJX_Content { + public: + explicit CJX_Boolean(CXFA_Boolean* node); + ~CJX_Boolean() override; + + JS_PROP(use); + JS_PROP(defaultValue); /* {default} */ + JS_PROP(usehref); + JS_PROP(value); +}; + +#endif // FXJS_XFA_CJX_BOOLEAN_H_ diff --git a/fxjs/xfa/cjx_border.cpp b/fxjs/xfa/cjx_border.cpp new file mode 100644 index 0000000000..92355a85c1 --- /dev/null +++ b/fxjs/xfa/cjx_border.cpp @@ -0,0 +1,49 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_border.h" + +#include "xfa/fxfa/parser/cxfa_border.h" + +CJX_Border::CJX_Border(CXFA_Border* node) : CJX_Node(node) {} + +CJX_Border::~CJX_Border() = default; + +void CJX_Border::breakValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Border::hand(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Border::presence(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Border::relevant(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Border::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Border::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_border.h b/fxjs/xfa/cjx_border.h new file mode 100644 index 0000000000..b95ca4c311 --- /dev/null +++ b/fxjs/xfa/cjx_border.h @@ -0,0 +1,27 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_BORDER_H_ +#define FXJS_XFA_CJX_BORDER_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Border; + +class CJX_Border : public CJX_Node { + public: + explicit CJX_Border(CXFA_Border* node); + ~CJX_Border() override; + + JS_PROP(breakValue); /* break */ + JS_PROP(hand); + JS_PROP(presence); + JS_PROP(relevant); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_BORDER_H_ diff --git a/fxjs/xfa/cjx_break.cpp b/fxjs/xfa/cjx_break.cpp new file mode 100644 index 0000000000..d04a05f189 --- /dev/null +++ b/fxjs/xfa/cjx_break.cpp @@ -0,0 +1,85 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_break.h" + +#include "xfa/fxfa/parser/cxfa_break.h" + +CJX_Break::CJX_Break(CXFA_Break* node) : CJX_Node(node) {} + +CJX_Break::~CJX_Break() = default; + +void CJX_Break::after(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Break::afterTarget(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Break::before(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Break::beforeTarget(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Break::bookendLeader(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Break::bookendTrailer(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Break::overflowLeader(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Break::overflowTarget(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Break::overflowTrailer(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Break::startNew(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Break::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Break::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_break.h b/fxjs/xfa/cjx_break.h new file mode 100644 index 0000000000..86cb249bf7 --- /dev/null +++ b/fxjs/xfa/cjx_break.h @@ -0,0 +1,33 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_BREAK_H_ +#define FXJS_XFA_CJX_BREAK_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Break; + +class CJX_Break : public CJX_Node { + public: + explicit CJX_Break(CXFA_Break* node); + ~CJX_Break() override; + + JS_PROP(after); + JS_PROP(afterTarget); + JS_PROP(before); + JS_PROP(beforeTarget); + JS_PROP(bookendLeader); + JS_PROP(bookendTrailer); + JS_PROP(overflowLeader); + JS_PROP(overflowTarget); + JS_PROP(overflowTrailer); + JS_PROP(startNew); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_BREAK_H_ diff --git a/fxjs/xfa/cjx_breakafter.cpp b/fxjs/xfa/cjx_breakafter.cpp new file mode 100644 index 0000000000..76a5a3bc45 --- /dev/null +++ b/fxjs/xfa/cjx_breakafter.cpp @@ -0,0 +1,55 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_breakafter.h" + +#include "xfa/fxfa/parser/cxfa_breakafter.h" + +CJX_BreakAfter::CJX_BreakAfter(CXFA_BreakAfter* node) : CJX_Node(node) {} + +CJX_BreakAfter::~CJX_BreakAfter() = default; + +void CJX_BreakAfter::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_BreakAfter::startNew(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_BreakAfter::trailer(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_BreakAfter::targetType(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_BreakAfter::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_BreakAfter::target(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_BreakAfter::leader(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_breakafter.h b/fxjs/xfa/cjx_breakafter.h new file mode 100644 index 0000000000..aa1eccc084 --- /dev/null +++ b/fxjs/xfa/cjx_breakafter.h @@ -0,0 +1,28 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_BREAKAFTER_H_ +#define FXJS_XFA_CJX_BREAKAFTER_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_BreakAfter; + +class CJX_BreakAfter : public CJX_Node { + public: + explicit CJX_BreakAfter(CXFA_BreakAfter* node); + ~CJX_BreakAfter() override; + + JS_PROP(leader); + JS_PROP(startNew); + JS_PROP(target); + JS_PROP(targetType); + JS_PROP(trailer); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_BREAKAFTER_H_ diff --git a/fxjs/xfa/cjx_breakbefore.cpp b/fxjs/xfa/cjx_breakbefore.cpp new file mode 100644 index 0000000000..83fa01e7cb --- /dev/null +++ b/fxjs/xfa/cjx_breakbefore.cpp @@ -0,0 +1,55 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_breakbefore.h" + +#include "xfa/fxfa/parser/cxfa_breakbefore.h" + +CJX_BreakBefore::CJX_BreakBefore(CXFA_BreakBefore* node) : CJX_Node(node) {} + +CJX_BreakBefore::~CJX_BreakBefore() = default; + +void CJX_BreakBefore::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_BreakBefore::startNew(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_BreakBefore::trailer(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_BreakBefore::targetType(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_BreakBefore::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_BreakBefore::target(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_BreakBefore::leader(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_breakbefore.h b/fxjs/xfa/cjx_breakbefore.h new file mode 100644 index 0000000000..3f8dbbb3c6 --- /dev/null +++ b/fxjs/xfa/cjx_breakbefore.h @@ -0,0 +1,28 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_BREAKBEFORE_H_ +#define FXJS_XFA_CJX_BREAKBEFORE_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_BreakBefore; + +class CJX_BreakBefore : public CJX_Node { + public: + explicit CJX_BreakBefore(CXFA_BreakBefore* node); + ~CJX_BreakBefore() override; + + JS_PROP(leader); + JS_PROP(startNew); + JS_PROP(target); + JS_PROP(targetType); + JS_PROP(trailer); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_BREAKBEFORE_H_ diff --git a/fxjs/xfa/cjx_button.cpp b/fxjs/xfa/cjx_button.cpp new file mode 100644 index 0000000000..b5bd6eb01e --- /dev/null +++ b/fxjs/xfa/cjx_button.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_button.h" + +#include "xfa/fxfa/parser/cxfa_button.h" + +CJX_Button::CJX_Button(CXFA_Button* node) : CJX_Node(node) {} + +CJX_Button::~CJX_Button() = default; + +void CJX_Button::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Button::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Button::highlight(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_button.h b/fxjs/xfa/cjx_button.h new file mode 100644 index 0000000000..3732aae674 --- /dev/null +++ b/fxjs/xfa/cjx_button.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_BUTTON_H_ +#define FXJS_XFA_CJX_BUTTON_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Button; + +class CJX_Button : public CJX_Node { + public: + explicit CJX_Button(CXFA_Button* node); + ~CJX_Button() override; + + JS_PROP(highlight); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_BUTTON_H_ diff --git a/fxjs/xfa/cjx_calculate.cpp b/fxjs/xfa/cjx_calculate.cpp new file mode 100644 index 0000000000..e5db4dffad --- /dev/null +++ b/fxjs/xfa/cjx_calculate.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_calculate.h" + +#include "xfa/fxfa/parser/cxfa_calculate.h" + +CJX_Calculate::CJX_Calculate(CXFA_Calculate* node) : CJX_Node(node) {} + +CJX_Calculate::~CJX_Calculate() = default; + +void CJX_Calculate::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Calculate::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Calculate::override(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_calculate.h b/fxjs/xfa/cjx_calculate.h new file mode 100644 index 0000000000..2410f1bf45 --- /dev/null +++ b/fxjs/xfa/cjx_calculate.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_CALCULATE_H_ +#define FXJS_XFA_CJX_CALCULATE_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Calculate; + +class CJX_Calculate : public CJX_Node { + public: + explicit CJX_Calculate(CXFA_Calculate* node); + ~CJX_Calculate() override; + + JS_PROP(override); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_CALCULATE_H_ diff --git a/fxjs/xfa/cjx_caption.cpp b/fxjs/xfa/cjx_caption.cpp new file mode 100644 index 0000000000..5c7f6a8d04 --- /dev/null +++ b/fxjs/xfa/cjx_caption.cpp @@ -0,0 +1,43 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_caption.h" + +#include "xfa/fxfa/parser/cxfa_caption.h" + +CJX_Caption::CJX_Caption(CXFA_Caption* node) : CJX_Node(node) {} + +CJX_Caption::~CJX_Caption() = default; + +void CJX_Caption::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Caption::reserve(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Caption::presence(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Caption::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Caption::placement(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_caption.h b/fxjs/xfa/cjx_caption.h new file mode 100644 index 0000000000..9af6915f35 --- /dev/null +++ b/fxjs/xfa/cjx_caption.h @@ -0,0 +1,26 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_CAPTION_H_ +#define FXJS_XFA_CJX_CAPTION_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Caption; + +class CJX_Caption : public CJX_Node { + public: + explicit CJX_Caption(CXFA_Caption* node); + ~CJX_Caption() override; + + JS_PROP(placement); + JS_PROP(presence); + JS_PROP(reserve); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_CAPTION_H_ diff --git a/fxjs/xfa/cjx_certificate.cpp b/fxjs/xfa/cjx_certificate.cpp new file mode 100644 index 0000000000..1d10565135 --- /dev/null +++ b/fxjs/xfa/cjx_certificate.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_certificate.h" + +#include "xfa/fxfa/parser/cxfa_certificate.h" + +CJX_Certificate::CJX_Certificate(CXFA_Certificate* node) : CJX_TextNode(node) {} + +CJX_Certificate::~CJX_Certificate() = default; + +void CJX_Certificate::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Certificate::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_certificate.h b/fxjs/xfa/cjx_certificate.h new file mode 100644 index 0000000000..af62b9135f --- /dev/null +++ b/fxjs/xfa/cjx_certificate.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_CERTIFICATE_H_ +#define FXJS_XFA_CJX_CERTIFICATE_H_ + +#include "fxjs/xfa/cjx_textnode.h" + +class CXFA_Certificate; + +class CJX_Certificate : public CJX_TextNode { + public: + explicit CJX_Certificate(CXFA_Certificate* node); + ~CJX_Certificate() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_CERTIFICATE_H_ diff --git a/fxjs/xfa/cjx_certificates.cpp b/fxjs/xfa/cjx_certificates.cpp new file mode 100644 index 0000000000..68286307b3 --- /dev/null +++ b/fxjs/xfa/cjx_certificates.cpp @@ -0,0 +1,43 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_certificates.h" + +#include "xfa/fxfa/parser/cxfa_certificates.h" + +CJX_Certificates::CJX_Certificates(CXFA_Certificates* node) : CJX_Node(node) {} + +CJX_Certificates::~CJX_Certificates() = default; + +void CJX_Certificates::url(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Certificates::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Certificates::credentialServerPolicy(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Certificates::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Certificates::urlPolicy(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_certificates.h b/fxjs/xfa/cjx_certificates.h new file mode 100644 index 0000000000..160d88d9a8 --- /dev/null +++ b/fxjs/xfa/cjx_certificates.h @@ -0,0 +1,26 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_CERTIFICATES_H_ +#define FXJS_XFA_CJX_CERTIFICATES_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Certificates; + +class CJX_Certificates : public CJX_Node { + public: + explicit CJX_Certificates(CXFA_Certificates* node); + ~CJX_Certificates() override; + + JS_PROP(credentialServerPolicy); + JS_PROP(url); + JS_PROP(urlPolicy); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_CERTIFICATES_H_ diff --git a/fxjs/xfa/cjx_checkbutton.cpp b/fxjs/xfa/cjx_checkbutton.cpp new file mode 100644 index 0000000000..8c5b1e6186 --- /dev/null +++ b/fxjs/xfa/cjx_checkbutton.cpp @@ -0,0 +1,49 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_checkbutton.h" + +#include "xfa/fxfa/parser/cxfa_checkbutton.h" + +CJX_CheckButton::CJX_CheckButton(CXFA_CheckButton* node) : CJX_Node(node) {} + +CJX_CheckButton::~CJX_CheckButton() = default; + +void CJX_CheckButton::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_CheckButton::allowNeutral(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_CheckButton::mark(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_CheckButton::shape(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_CheckButton::size(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_CheckButton::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_checkbutton.h b/fxjs/xfa/cjx_checkbutton.h new file mode 100644 index 0000000000..18cca68d23 --- /dev/null +++ b/fxjs/xfa/cjx_checkbutton.h @@ -0,0 +1,27 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_CHECKBUTTON_H_ +#define FXJS_XFA_CJX_CHECKBUTTON_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_CheckButton; + +class CJX_CheckButton : public CJX_Node { + public: + explicit CJX_CheckButton(CXFA_CheckButton* node); + ~CJX_CheckButton() override; + + JS_PROP(allowNeutral); + JS_PROP(mark); + JS_PROP(shape); + JS_PROP(size); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_CHECKBUTTON_H_ diff --git a/fxjs/xfa/cjx_choicelist.cpp b/fxjs/xfa/cjx_choicelist.cpp new file mode 100644 index 0000000000..3c85a03706 --- /dev/null +++ b/fxjs/xfa/cjx_choicelist.cpp @@ -0,0 +1,43 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_choicelist.h" + +#include "xfa/fxfa/parser/cxfa_choicelist.h" + +CJX_ChoiceList::CJX_ChoiceList(CXFA_ChoiceList* node) : CJX_Node(node) {} + +CJX_ChoiceList::~CJX_ChoiceList() = default; + +void CJX_ChoiceList::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ChoiceList::open(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ChoiceList::commitOn(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ChoiceList::textEntry(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ChoiceList::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_choicelist.h b/fxjs/xfa/cjx_choicelist.h new file mode 100644 index 0000000000..40336f2aac --- /dev/null +++ b/fxjs/xfa/cjx_choicelist.h @@ -0,0 +1,26 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_CHOICELIST_H_ +#define FXJS_XFA_CJX_CHOICELIST_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_ChoiceList; + +class CJX_ChoiceList : public CJX_Node { + public: + explicit CJX_ChoiceList(CXFA_ChoiceList* node); + ~CJX_ChoiceList() override; + + JS_PROP(commitOn); + JS_PROP(open); + JS_PROP(textEntry); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_CHOICELIST_H_ diff --git a/fxjs/xfa/cjx_color.cpp b/fxjs/xfa/cjx_color.cpp new file mode 100644 index 0000000000..fe7da0590c --- /dev/null +++ b/fxjs/xfa/cjx_color.cpp @@ -0,0 +1,37 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_color.h" + +#include "xfa/fxfa/parser/cxfa_color.h" + +CJX_Color::CJX_Color(CXFA_Color* node) : CJX_Node(node) {} + +CJX_Color::~CJX_Color() = default; + +void CJX_Color::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Color::cSpace(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Color::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Color::value(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_color.h b/fxjs/xfa/cjx_color.h new file mode 100644 index 0000000000..c625753556 --- /dev/null +++ b/fxjs/xfa/cjx_color.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_COLOR_H_ +#define FXJS_XFA_CJX_COLOR_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Color; + +class CJX_Color : public CJX_Node { + public: + explicit CJX_Color(CXFA_Color* node); + ~CJX_Color() override; + + JS_PROP(cSpace); + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(value); +}; + +#endif // FXJS_XFA_CJX_COLOR_H_ diff --git a/fxjs/xfa/cjx_comb.cpp b/fxjs/xfa/cjx_comb.cpp new file mode 100644 index 0000000000..77144af33c --- /dev/null +++ b/fxjs/xfa/cjx_comb.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_comb.h" + +#include "xfa/fxfa/parser/cxfa_comb.h" + +CJX_Comb::CJX_Comb(CXFA_Comb* node) : CJX_Node(node) {} + +CJX_Comb::~CJX_Comb() = default; + +void CJX_Comb::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Comb::numberOfCells(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_Integer(pValue, bSetting, eAttribute); +} + +void CJX_Comb::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_comb.h b/fxjs/xfa/cjx_comb.h new file mode 100644 index 0000000000..1c8d631f1d --- /dev/null +++ b/fxjs/xfa/cjx_comb.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_COMB_H_ +#define FXJS_XFA_CJX_COMB_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Comb; + +class CJX_Comb : public CJX_Node { + public: + explicit CJX_Comb(CXFA_Comb* node); + ~CJX_Comb() override; + + JS_PROP(numberOfCells); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_COMB_H_ diff --git a/fxjs/xfa/cjx_command.cpp b/fxjs/xfa/cjx_command.cpp new file mode 100644 index 0000000000..30e654b8bd --- /dev/null +++ b/fxjs/xfa/cjx_command.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_command.h" + +#include "xfa/fxfa/parser/cxfa_command.h" + +CJX_Command::CJX_Command(CXFA_Command* node) : CJX_Node(node) {} + +CJX_Command::~CJX_Command() = default; + +void CJX_Command::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Command::timeout(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Command::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_command.h b/fxjs/xfa/cjx_command.h new file mode 100644 index 0000000000..c4605a31ef --- /dev/null +++ b/fxjs/xfa/cjx_command.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_COMMAND_H_ +#define FXJS_XFA_CJX_COMMAND_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Command; + +class CJX_Command : public CJX_Node { + public: + explicit CJX_Command(CXFA_Command* node); + ~CJX_Command() override; + + JS_PROP(timeout); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_COMMAND_H_ diff --git a/fxjs/xfa/cjx_connect.cpp b/fxjs/xfa/cjx_connect.cpp new file mode 100644 index 0000000000..d58420d1df --- /dev/null +++ b/fxjs/xfa/cjx_connect.cpp @@ -0,0 +1,55 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_connect.h" + +#include "xfa/fxfa/parser/cxfa_connect.h" + +CJX_Connect::CJX_Connect(CXFA_Connect* node) : CJX_Node(node) {} + +CJX_Connect::~CJX_Connect() = default; + +void CJX_Connect::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Connect::timeout(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Connect::connection(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Connect::usage(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Connect::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Connect::delayedOpen(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Connect::ref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_connect.h b/fxjs/xfa/cjx_connect.h new file mode 100644 index 0000000000..2c279175c7 --- /dev/null +++ b/fxjs/xfa/cjx_connect.h @@ -0,0 +1,28 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_CONNECT_H_ +#define FXJS_XFA_CJX_CONNECT_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Connect; + +class CJX_Connect : public CJX_Node { + public: + explicit CJX_Connect(CXFA_Connect* node); + ~CJX_Connect() override; + + JS_PROP(connection); + JS_PROP(delayedOpen); + JS_PROP(ref); + JS_PROP(timeout); + JS_PROP(usage); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_CONNECT_H_ diff --git a/fxjs/xfa/cjx_connectstring.cpp b/fxjs/xfa/cjx_connectstring.cpp new file mode 100644 index 0000000000..75c6359f84 --- /dev/null +++ b/fxjs/xfa/cjx_connectstring.cpp @@ -0,0 +1,26 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_connectstring.h" + +#include "xfa/fxfa/parser/cxfa_connectstring.h" + +CJX_ConnectString::CJX_ConnectString(CXFA_ConnectString* node) + : CJX_TextNode(node) {} + +CJX_ConnectString::~CJX_ConnectString() = default; + +void CJX_ConnectString::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ConnectString::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_connectstring.h b/fxjs/xfa/cjx_connectstring.h new file mode 100644 index 0000000000..969c92b6d8 --- /dev/null +++ b/fxjs/xfa/cjx_connectstring.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_CONNECTSTRING_H_ +#define FXJS_XFA_CJX_CONNECTSTRING_H_ + +#include "fxjs/xfa/cjx_textnode.h" + +class CXFA_ConnectString; + +class CJX_ConnectString : public CJX_TextNode { + public: + explicit CJX_ConnectString(CXFA_ConnectString* node); + ~CJX_ConnectString() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_CONNECTSTRING_H_ diff --git a/fxjs/xfa/cjx_contentarea.cpp b/fxjs/xfa/cjx_contentarea.cpp new file mode 100644 index 0000000000..d1e74e7c99 --- /dev/null +++ b/fxjs/xfa/cjx_contentarea.cpp @@ -0,0 +1,44 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_contentarea.h" + +#include "xfa/fxfa/parser/cxfa_contentarea.h" + +CJX_ContentArea::CJX_ContentArea(CXFA_ContentArea* node) + : CJX_Container(node) {} + +CJX_ContentArea::~CJX_ContentArea() = default; + +void CJX_ContentArea::x(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ContentArea::y(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ContentArea::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ContentArea::relevant(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ContentArea::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_contentarea.h b/fxjs/xfa/cjx_contentarea.h new file mode 100644 index 0000000000..d97e108566 --- /dev/null +++ b/fxjs/xfa/cjx_contentarea.h @@ -0,0 +1,26 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_CONTENTAREA_H_ +#define FXJS_XFA_CJX_CONTENTAREA_H_ + +#include "fxjs/xfa/cjx_container.h" + +class CXFA_ContentArea; + +class CJX_ContentArea : public CJX_Container { + public: + explicit CJX_ContentArea(CXFA_ContentArea* node); + ~CJX_ContentArea() override; + + JS_PROP(relevant); + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(x); + JS_PROP(y); +}; + +#endif // FXJS_XFA_CJX_CONTENTAREA_H_ diff --git a/fxjs/xfa/cjx_corner.cpp b/fxjs/xfa/cjx_corner.cpp new file mode 100644 index 0000000000..2ed1922dd9 --- /dev/null +++ b/fxjs/xfa/cjx_corner.cpp @@ -0,0 +1,61 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_corner.h" + +#include "xfa/fxfa/parser/cxfa_corner.h" + +CJX_Corner::CJX_Corner(CXFA_Corner* node) : CJX_Node(node) {} + +CJX_Corner::~CJX_Corner() = default; + +void CJX_Corner::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Corner::stroke(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Corner::presence(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Corner::inverted(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Corner::thickness(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Corner::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Corner::join(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Corner::radius(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_corner.h b/fxjs/xfa/cjx_corner.h new file mode 100644 index 0000000000..83251a5ba9 --- /dev/null +++ b/fxjs/xfa/cjx_corner.h @@ -0,0 +1,29 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_CORNER_H_ +#define FXJS_XFA_CJX_CORNER_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Corner; + +class CJX_Corner : public CJX_Node { + public: + explicit CJX_Corner(CXFA_Corner* node); + ~CJX_Corner() override; + + JS_PROP(inverted); + JS_PROP(join); + JS_PROP(presence); + JS_PROP(radius); + JS_PROP(stroke); + JS_PROP(thickness); + JS_PROP(usehref); + JS_PROP(use); +}; + +#endif // FXJS_XFA_CJX_CORNER_H_ diff --git a/fxjs/xfa/cjx_datavalue.cpp b/fxjs/xfa/cjx_datavalue.cpp new file mode 100644 index 0000000000..b90ed45e66 --- /dev/null +++ b/fxjs/xfa/cjx_datavalue.cpp @@ -0,0 +1,43 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_datavalue.h" + +#include "xfa/fxfa/parser/cxfa_datavalue.h" + +CJX_DataValue::CJX_DataValue(CXFA_DataValue* node) : CJX_Node(node) {} + +CJX_DataValue::~CJX_DataValue() = default; + +void CJX_DataValue::contentType(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_DataValue::contains(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_DataValue::defaultValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_DefaultValue(pValue, bSetting, eAttribute); +} + +void CJX_DataValue::value(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + defaultValue(pValue, bSetting, eAttribute); +} + +void CJX_DataValue::isNull(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_BOOL(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_datavalue.h b/fxjs/xfa/cjx_datavalue.h new file mode 100644 index 0000000000..16e8ed41fb --- /dev/null +++ b/fxjs/xfa/cjx_datavalue.h @@ -0,0 +1,26 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_DATAVALUE_H_ +#define FXJS_XFA_CJX_DATAVALUE_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_DataValue; + +class CJX_DataValue : public CJX_Node { + public: + explicit CJX_DataValue(CXFA_DataValue* node); + ~CJX_DataValue() override; + + JS_PROP(defaultValue); /* {default} */ + JS_PROP(contains); + JS_PROP(contentType); + JS_PROP(isNull); + JS_PROP(value); +}; + +#endif // FXJS_XFA_CJX_DATAVALUE_H_ diff --git a/fxjs/xfa/cjx_datawindow.cpp b/fxjs/xfa/cjx_datawindow.cpp index 47c743f8f7..5209cb47e6 100644 --- a/fxjs/xfa/cjx_datawindow.cpp +++ b/fxjs/xfa/cjx_datawindow.cpp @@ -48,18 +48,18 @@ CJS_Return CJX_DataWindow::isRecordGroup( return CJS_Return(true); } -void CJX_DataWindow::RecordsBefore(CFXJSE_Value* pValue, +void CJX_DataWindow::recordsBefore(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) {} -void CJX_DataWindow::CurrentRecordNumber(CFXJSE_Value* pValue, +void CJX_DataWindow::currentRecordNumber(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) {} -void CJX_DataWindow::RecordsAfter(CFXJSE_Value* pValue, +void CJX_DataWindow::recordsAfter(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) {} -void CJX_DataWindow::IsDefined(CFXJSE_Value* pValue, +void CJX_DataWindow::isDefined(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) {} diff --git a/fxjs/xfa/cjx_datawindow.h b/fxjs/xfa/cjx_datawindow.h index 82c5b1a9d1..dfaa6a44ba 100644 --- a/fxjs/xfa/cjx_datawindow.h +++ b/fxjs/xfa/cjx_datawindow.h @@ -19,22 +19,16 @@ class CJX_DataWindow : public CJX_Object { explicit CJX_DataWindow(CScript_DataWindow* window); ~CJX_DataWindow() override; - void RecordsBefore(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void CurrentRecordNumber(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void RecordsAfter(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void IsDefined(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - JS_METHOD(gotoRecord, CJX_DataWindow); JS_METHOD(isRecordGroup, CJX_DataWindow); JS_METHOD(moveCurrentRecord, CJX_DataWindow); JS_METHOD(record, CJX_DataWindow); + JS_PROP(currentRecordNumber); + JS_PROP(isDefined); + JS_PROP(recordsAfter); + JS_PROP(recordsBefore); + private: static const CJX_MethodSpec MethodSpecs[]; }; diff --git a/fxjs/xfa/cjx_date.cpp b/fxjs/xfa/cjx_date.cpp new file mode 100644 index 0000000000..ade95a915b --- /dev/null +++ b/fxjs/xfa/cjx_date.cpp @@ -0,0 +1,37 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_date.h" + +#include "xfa/fxfa/parser/cxfa_date.h" + +CJX_Date::CJX_Date(CXFA_Date* node) : CJX_Content(node) {} + +CJX_Date::~CJX_Date() = default; + +void CJX_Date::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Date::defaultValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_DefaultValue(pValue, bSetting, eAttribute); +} + +void CJX_Date::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Date::value(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + defaultValue(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_date.h b/fxjs/xfa/cjx_date.h new file mode 100644 index 0000000000..96dfd0e2c7 --- /dev/null +++ b/fxjs/xfa/cjx_date.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_DATE_H_ +#define FXJS_XFA_CJX_DATE_H_ + +#include "fxjs/xfa/cjx_content.h" + +class CXFA_Date; + +class CJX_Date : public CJX_Content { + public: + explicit CJX_Date(CXFA_Date* node); + ~CJX_Date() override; + + JS_PROP(defaultValue); /* {default} */ + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(value); +}; + +#endif // FXJS_XFA_CJX_DATE_H_ diff --git a/fxjs/xfa/cjx_datetime.cpp b/fxjs/xfa/cjx_datetime.cpp new file mode 100644 index 0000000000..35ffd05f8e --- /dev/null +++ b/fxjs/xfa/cjx_datetime.cpp @@ -0,0 +1,37 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_datetime.h" + +#include "xfa/fxfa/parser/cxfa_datetime.h" + +CJX_DateTime::CJX_DateTime(CXFA_DateTime* node) : CJX_Node(node) {} + +CJX_DateTime::~CJX_DateTime() = default; + +void CJX_DateTime::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_DateTime::defaultValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_DefaultValue(pValue, bSetting, eAttribute); +} + +void CJX_DateTime::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_DateTime::value(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_DefaultValue(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_datetime.h b/fxjs/xfa/cjx_datetime.h new file mode 100644 index 0000000000..9cf7d2fb18 --- /dev/null +++ b/fxjs/xfa/cjx_datetime.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_DATETIME_H_ +#define FXJS_XFA_CJX_DATETIME_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_DateTime; + +class CJX_DateTime : public CJX_Node { + public: + explicit CJX_DateTime(CXFA_DateTime* node); + ~CJX_DateTime() override; + + JS_PROP(defaultValue); /* {default} */ + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(value); +}; + +#endif // FXJS_XFA_CJX_DATETIME_H_ diff --git a/fxjs/xfa/cjx_datetimeedit.cpp b/fxjs/xfa/cjx_datetimeedit.cpp new file mode 100644 index 0000000000..284dbf03c1 --- /dev/null +++ b/fxjs/xfa/cjx_datetimeedit.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_datetimeedit.h" + +#include "xfa/fxfa/parser/cxfa_datetimeedit.h" + +CJX_DateTimeEdit::CJX_DateTimeEdit(CXFA_DateTimeEdit* node) : CJX_Node(node) {} + +CJX_DateTimeEdit::~CJX_DateTimeEdit() = default; + +void CJX_DateTimeEdit::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_DateTimeEdit::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_DateTimeEdit::hScrollPolicy(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_datetimeedit.h b/fxjs/xfa/cjx_datetimeedit.h new file mode 100644 index 0000000000..067c6bba81 --- /dev/null +++ b/fxjs/xfa/cjx_datetimeedit.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_DATETIMEEDIT_H_ +#define FXJS_XFA_CJX_DATETIMEEDIT_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_DateTimeEdit; + +class CJX_DateTimeEdit : public CJX_Node { + public: + explicit CJX_DateTimeEdit(CXFA_DateTimeEdit* node); + ~CJX_DateTimeEdit() override; + + JS_PROP(hScrollPolicy); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_DATETIMEEDIT_H_ diff --git a/fxjs/xfa/cjx_decimal.cpp b/fxjs/xfa/cjx_decimal.cpp new file mode 100644 index 0000000000..66763baf94 --- /dev/null +++ b/fxjs/xfa/cjx_decimal.cpp @@ -0,0 +1,49 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_decimal.h" + +#include "xfa/fxfa/parser/cxfa_decimal.h" + +CJX_Decimal::CJX_Decimal(CXFA_Decimal* node) : CJX_Content(node) {} + +CJX_Decimal::~CJX_Decimal() = default; + +void CJX_Decimal::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Decimal::fracDigits(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Decimal::defaultValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_DefaultValue(pValue, bSetting, eAttribute); +} + +void CJX_Decimal::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Decimal::value(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_DefaultValue(pValue, bSetting, eAttribute); +} + +void CJX_Decimal::leadDigits(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_decimal.h b/fxjs/xfa/cjx_decimal.h new file mode 100644 index 0000000000..5753112d04 --- /dev/null +++ b/fxjs/xfa/cjx_decimal.h @@ -0,0 +1,27 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_DECIMAL_H_ +#define FXJS_XFA_CJX_DECIMAL_H_ + +#include "fxjs/xfa/cjx_content.h" + +class CXFA_Decimal; + +class CJX_Decimal : public CJX_Content { + public: + explicit CJX_Decimal(CXFA_Decimal* node); + ~CJX_Decimal() override; + + JS_PROP(defaultValue); /* {default} */ + JS_PROP(fracDigits); + JS_PROP(leadDigits); + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(value); +}; + +#endif // FXJS_XFA_CJX_DECIMAL_H_ diff --git a/fxjs/xfa/cjx_defaultui.cpp b/fxjs/xfa/cjx_defaultui.cpp new file mode 100644 index 0000000000..63995cd2ac --- /dev/null +++ b/fxjs/xfa/cjx_defaultui.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_defaultui.h" + +#include "xfa/fxfa/parser/cxfa_defaultui.h" + +CJX_DefaultUi::CJX_DefaultUi(CXFA_DefaultUi* node) : CJX_Node(node) {} + +CJX_DefaultUi::~CJX_DefaultUi() = default; + +void CJX_DefaultUi::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_DefaultUi::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_defaultui.h b/fxjs/xfa/cjx_defaultui.h new file mode 100644 index 0000000000..8b8983b8b4 --- /dev/null +++ b/fxjs/xfa/cjx_defaultui.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_DEFAULTUI_H_ +#define FXJS_XFA_CJX_DEFAULTUI_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_DefaultUi; + +class CJX_DefaultUi : public CJX_Node { + public: + explicit CJX_DefaultUi(CXFA_DefaultUi* node); + ~CJX_DefaultUi() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_DEFAULTUI_H_ diff --git a/fxjs/xfa/cjx_delete.cpp b/fxjs/xfa/cjx_delete.cpp new file mode 100644 index 0000000000..35fe991f60 --- /dev/null +++ b/fxjs/xfa/cjx_delete.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_delete.h" + +#include "xfa/fxfa/parser/cxfa_delete.h" + +CJX_Delete::CJX_Delete(CXFA_Delete* node) : CJX_TextNode(node) {} + +CJX_Delete::~CJX_Delete() = default; + +void CJX_Delete::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Delete::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_delete.h b/fxjs/xfa/cjx_delete.h new file mode 100644 index 0000000000..413a140f44 --- /dev/null +++ b/fxjs/xfa/cjx_delete.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_DELETE_H_ +#define FXJS_XFA_CJX_DELETE_H_ + +#include "fxjs/xfa/cjx_textnode.h" + +class CXFA_Delete; + +class CJX_Delete : public CJX_TextNode { + public: + explicit CJX_Delete(CXFA_Delete* node); + ~CJX_Delete() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_DELETE_H_ diff --git a/fxjs/xfa/cjx_delta.cpp b/fxjs/xfa/cjx_delta.cpp index c361bbb256..6d8cbd52f3 100644 --- a/fxjs/xfa/cjx_delta.cpp +++ b/fxjs/xfa/cjx_delta.cpp @@ -26,3 +26,15 @@ CJS_Return CJX_Delta::restore(CJS_V8* runtime, return CJS_Return(JSGetStringFromID(JSMessage::kParamError)); return CJS_Return(true); } + +void CJX_Delta::currentValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) {} + +void CJX_Delta::savedValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) {} + +void CJX_Delta::target(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) {} diff --git a/fxjs/xfa/cjx_delta.h b/fxjs/xfa/cjx_delta.h index 29d3e8e788..2b981cd56b 100644 --- a/fxjs/xfa/cjx_delta.h +++ b/fxjs/xfa/cjx_delta.h @@ -19,6 +19,10 @@ class CJX_Delta : public CJX_Object { JS_METHOD(restore, CJX_Delta); + JS_PROP(currentValue); + JS_PROP(savedValue); + JS_PROP(target); + private: static const CJX_MethodSpec MethodSpecs[]; }; diff --git a/fxjs/xfa/cjx_deltas.cpp b/fxjs/xfa/cjx_deltas.cpp new file mode 100644 index 0000000000..e8969fb03c --- /dev/null +++ b/fxjs/xfa/cjx_deltas.cpp @@ -0,0 +1,13 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_deltas.h" + +#include "xfa/fxfa/parser/cxfa_deltas.h" + +CJX_Deltas::CJX_Deltas(CXFA_Deltas* src) : CJX_List(src) {} + +CJX_Deltas::~CJX_Deltas() {} diff --git a/fxjs/xfa/cjx_deltas.h b/fxjs/xfa/cjx_deltas.h new file mode 100644 index 0000000000..c94753f17b --- /dev/null +++ b/fxjs/xfa/cjx_deltas.h @@ -0,0 +1,20 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_DELTAS_H_ +#define FXJS_XFA_CJX_DELTAS_H_ + +#include "fxjs/xfa/cjx_list.h" + +class CXFA_Deltas; + +class CJX_Deltas : public CJX_List { + public: + explicit CJX_Deltas(CXFA_Deltas* node); + ~CJX_Deltas() override; +}; + +#endif // FXJS_XFA_CJX_DELTAS_H_ diff --git a/fxjs/xfa/cjx_desc.cpp b/fxjs/xfa/cjx_desc.cpp index 03ab8f8d21..a49ae63323 100644 --- a/fxjs/xfa/cjx_desc.cpp +++ b/fxjs/xfa/cjx_desc.cpp @@ -26,3 +26,15 @@ CJS_Return CJX_Desc::metadata(CJS_V8* runtime, return CJS_Return(JSGetStringFromID(JSMessage::kParamError)); return CJS_Return(runtime->NewString("")); } + +void CJX_Desc::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Desc::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_desc.h b/fxjs/xfa/cjx_desc.h index f3c9f46b4c..4d21c7ba32 100644 --- a/fxjs/xfa/cjx_desc.h +++ b/fxjs/xfa/cjx_desc.h @@ -19,6 +19,9 @@ class CJX_Desc : public CJX_Node { JS_METHOD(metadata, CJX_Desc); + JS_PROP(use); + JS_PROP(usehref); + private: static const CJX_MethodSpec MethodSpecs[]; }; diff --git a/fxjs/xfa/cjx_digestmethod.cpp b/fxjs/xfa/cjx_digestmethod.cpp new file mode 100644 index 0000000000..b85fc0082e --- /dev/null +++ b/fxjs/xfa/cjx_digestmethod.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_digestmethod.h" + +#include "xfa/fxfa/parser/cxfa_digestmethod.h" + +CJX_DigestMethod::CJX_DigestMethod(CXFA_DigestMethod* node) : CJX_Node(node) {} + +CJX_DigestMethod::~CJX_DigestMethod() = default; + +void CJX_DigestMethod::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_DigestMethod::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_digestmethod.h b/fxjs/xfa/cjx_digestmethod.h new file mode 100644 index 0000000000..d14e6f17ad --- /dev/null +++ b/fxjs/xfa/cjx_digestmethod.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_DIGESTMETHOD_H_ +#define FXJS_XFA_CJX_DIGESTMETHOD_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_DigestMethod; + +class CJX_DigestMethod : public CJX_Node { + public: + explicit CJX_DigestMethod(CXFA_DigestMethod* node); + ~CJX_DigestMethod() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_DIGESTMETHOD_H_ diff --git a/fxjs/xfa/cjx_digestmethods.cpp b/fxjs/xfa/cjx_digestmethods.cpp new file mode 100644 index 0000000000..ae7cbcd3e1 --- /dev/null +++ b/fxjs/xfa/cjx_digestmethods.cpp @@ -0,0 +1,32 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_digestmethods.h" + +#include "xfa/fxfa/parser/cxfa_digestmethods.h" + +CJX_DigestMethods::CJX_DigestMethods(CXFA_DigestMethods* node) + : CJX_Node(node) {} + +CJX_DigestMethods::~CJX_DigestMethods() = default; + +void CJX_DigestMethods::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_DigestMethods::type(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_DigestMethods::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_digestmethods.h b/fxjs/xfa/cjx_digestmethods.h new file mode 100644 index 0000000000..b3addc367e --- /dev/null +++ b/fxjs/xfa/cjx_digestmethods.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_DIGESTMETHODS_H_ +#define FXJS_XFA_CJX_DIGESTMETHODS_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_DigestMethods; + +class CJX_DigestMethods : public CJX_Node { + public: + explicit CJX_DigestMethods(CXFA_DigestMethods* node); + ~CJX_DigestMethods() override; + + JS_PROP(type); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_DIGESTMETHODS_H_ diff --git a/fxjs/xfa/cjx_draw.cpp b/fxjs/xfa/cjx_draw.cpp new file mode 100644 index 0000000000..0752bf7457 --- /dev/null +++ b/fxjs/xfa/cjx_draw.cpp @@ -0,0 +1,153 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_draw.h" + +#include "fxjs/cfxjse_value.h" +#include "xfa/fxfa/parser/cxfa_draw.h" + +CJX_Draw::CJX_Draw(CXFA_Draw* node) : CJX_Container(node) {} + +CJX_Draw::~CJX_Draw() = default; + +void CJX_Draw::h(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Draw::w(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Draw::x(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Draw::y(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Draw::hAlign(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Draw::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Draw::rotate(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Draw::presence(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Draw::vAlign(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Draw::maxH(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Draw::maxW(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Draw::minH(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Draw::minW(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Draw::relevant(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Draw::rawValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + defaultValue(pValue, bSetting, eAttribute); +} + +void CJX_Draw::defaultValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + if (!bSetting) { + WideString content = GetContent(true); + if (content.IsEmpty()) + pValue->SetNull(); + else + pValue->SetString(content.UTF8Encode().AsStringView()); + + return; + } + + if (!pValue || !pValue->IsString()) + return; + + CXFA_WidgetData* pWidgetData = GetXFANode()->GetWidgetData(); + XFA_Element uiType = pWidgetData->GetUIType(); + if (uiType != XFA_Element::Text) + return; + + WideString wsNewValue = pValue->ToWideString(); + SetContent(wsNewValue, wsNewValue, true, true, true); +} + +void CJX_Draw::colSpan(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Draw::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Draw::locale(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Draw::anchorType(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_draw.h b/fxjs/xfa/cjx_draw.h new file mode 100644 index 0000000000..1d5603aefe --- /dev/null +++ b/fxjs/xfa/cjx_draw.h @@ -0,0 +1,41 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_DRAW_H_ +#define FXJS_XFA_CJX_DRAW_H_ + +#include "fxjs/xfa/cjx_container.h" + +class CXFA_Draw; + +class CJX_Draw : public CJX_Container { + public: + explicit CJX_Draw(CXFA_Draw* node); + ~CJX_Draw() override; + + JS_PROP(defaultValue); /* {default} */ + JS_PROP(anchorType); + JS_PROP(colSpan); + JS_PROP(h); + JS_PROP(hAlign); + JS_PROP(locale); + JS_PROP(maxH); + JS_PROP(maxW); + JS_PROP(minH); + JS_PROP(minW); + JS_PROP(presence); + JS_PROP(rawValue); + JS_PROP(relevant); + JS_PROP(rotate); + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(vAlign); + JS_PROP(w); + JS_PROP(x); + JS_PROP(y); +}; + +#endif // FXJS_XFA_CJX_DRAW_H_ diff --git a/fxjs/xfa/cjx_edge.cpp b/fxjs/xfa/cjx_edge.cpp new file mode 100644 index 0000000000..ea1fa35c49 --- /dev/null +++ b/fxjs/xfa/cjx_edge.cpp @@ -0,0 +1,49 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_edge.h" + +#include "xfa/fxfa/parser/cxfa_edge.h" + +CJX_Edge::CJX_Edge(CXFA_Edge* node) : CJX_Node(node) {} + +CJX_Edge::~CJX_Edge() = default; + +void CJX_Edge::cap(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Edge::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Edge::stroke(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Edge::presence(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Edge::thickness(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Edge::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_edge.h b/fxjs/xfa/cjx_edge.h new file mode 100644 index 0000000000..ef4ddeb275 --- /dev/null +++ b/fxjs/xfa/cjx_edge.h @@ -0,0 +1,27 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_EDGE_H_ +#define FXJS_XFA_CJX_EDGE_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Edge; + +class CJX_Edge : public CJX_Node { + public: + explicit CJX_Edge(CXFA_Edge* node); + ~CJX_Edge() override; + + JS_PROP(cap); + JS_PROP(presence); + JS_PROP(stroke); + JS_PROP(thickness); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_EDGE_H_ diff --git a/fxjs/xfa/cjx_encoding.cpp b/fxjs/xfa/cjx_encoding.cpp new file mode 100644 index 0000000000..debfe4042a --- /dev/null +++ b/fxjs/xfa/cjx_encoding.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_encoding.h" + +#include "xfa/fxfa/parser/cxfa_encoding.h" + +CJX_Encoding::CJX_Encoding(CXFA_Encoding* node) : CJX_Node(node) {} + +CJX_Encoding::~CJX_Encoding() = default; + +void CJX_Encoding::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Encoding::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_encoding.h b/fxjs/xfa/cjx_encoding.h new file mode 100644 index 0000000000..ea82333d44 --- /dev/null +++ b/fxjs/xfa/cjx_encoding.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_ENCODING_H_ +#define FXJS_XFA_CJX_ENCODING_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Encoding; + +class CJX_Encoding : public CJX_Node { + public: + explicit CJX_Encoding(CXFA_Encoding* node); + ~CJX_Encoding() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_ENCODING_H_ diff --git a/fxjs/xfa/cjx_encodings.cpp b/fxjs/xfa/cjx_encodings.cpp new file mode 100644 index 0000000000..667929f194 --- /dev/null +++ b/fxjs/xfa/cjx_encodings.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_encodings.h" + +#include "xfa/fxfa/parser/cxfa_encodings.h" + +CJX_Encodings::CJX_Encodings(CXFA_Encodings* node) : CJX_Node(node) {} + +CJX_Encodings::~CJX_Encodings() = default; + +void CJX_Encodings::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Encodings::type(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Encodings::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_encodings.h b/fxjs/xfa/cjx_encodings.h new file mode 100644 index 0000000000..da4f617c18 --- /dev/null +++ b/fxjs/xfa/cjx_encodings.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_ENCODINGS_H_ +#define FXJS_XFA_CJX_ENCODINGS_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Encodings; + +class CJX_Encodings : public CJX_Node { + public: + explicit CJX_Encodings(CXFA_Encodings* node); + ~CJX_Encodings() override; + + JS_PROP(type); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_ENCODINGS_H_ diff --git a/fxjs/xfa/cjx_encrypt.cpp b/fxjs/xfa/cjx_encrypt.cpp new file mode 100644 index 0000000000..dbed1f243a --- /dev/null +++ b/fxjs/xfa/cjx_encrypt.cpp @@ -0,0 +1,29 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_encrypt.h" + +#include "xfa/fxfa/parser/cxfa_encrypt.h" + +CJX_Encrypt::CJX_Encrypt(CXFA_Encrypt* node) : CJX_Node(node) {} + +CJX_Encrypt::~CJX_Encrypt() = default; + +void CJX_Encrypt::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Encrypt::format(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) {} + +void CJX_Encrypt::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_encrypt.h b/fxjs/xfa/cjx_encrypt.h new file mode 100644 index 0000000000..85fac15252 --- /dev/null +++ b/fxjs/xfa/cjx_encrypt.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_ENCRYPT_H_ +#define FXJS_XFA_CJX_ENCRYPT_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Encrypt; + +class CJX_Encrypt : public CJX_Node { + public: + explicit CJX_Encrypt(CXFA_Encrypt* node); + ~CJX_Encrypt() override; + + JS_PROP(format); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_ENCRYPT_H_ diff --git a/fxjs/xfa/cjx_event.cpp b/fxjs/xfa/cjx_event.cpp new file mode 100644 index 0000000000..8cb2bce36d --- /dev/null +++ b/fxjs/xfa/cjx_event.cpp @@ -0,0 +1,37 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_event.h" + +#include "xfa/fxfa/parser/cxfa_event.h" + +CJX_Event::CJX_Event(CXFA_Event* node) : CJX_Node(node) {} + +CJX_Event::~CJX_Event() = default; + +void CJX_Event::ref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Event::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Event::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Event::activity(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_event.h b/fxjs/xfa/cjx_event.h new file mode 100644 index 0000000000..6c6d92064d --- /dev/null +++ b/fxjs/xfa/cjx_event.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_EVENT_H_ +#define FXJS_XFA_CJX_EVENT_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Event; + +class CJX_Event : public CJX_Node { + public: + explicit CJX_Event(CXFA_Event* node); + ~CJX_Event() override; + + JS_PROP(activity); + JS_PROP(ref); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_EVENT_H_ diff --git a/fxjs/xfa/cjx_eventpseudomodel.cpp b/fxjs/xfa/cjx_eventpseudomodel.cpp index 449153c548..3b2d9777d0 100644 --- a/fxjs/xfa/cjx_eventpseudomodel.cpp +++ b/fxjs/xfa/cjx_eventpseudomodel.cpp @@ -54,97 +54,97 @@ CJX_EventPseudoModel::CJX_EventPseudoModel(CScript_EventPseudoModel* model) CJX_EventPseudoModel::~CJX_EventPseudoModel() {} -void CJX_EventPseudoModel::Change(CFXJSE_Value* pValue, +void CJX_EventPseudoModel::change(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { Property(pValue, XFA_Event::Change, bSetting); } -void CJX_EventPseudoModel::CommitKey(CFXJSE_Value* pValue, +void CJX_EventPseudoModel::commitKey(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { Property(pValue, XFA_Event::CommitKey, bSetting); } -void CJX_EventPseudoModel::FullText(CFXJSE_Value* pValue, +void CJX_EventPseudoModel::fullText(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { Property(pValue, XFA_Event::FullText, bSetting); } -void CJX_EventPseudoModel::KeyDown(CFXJSE_Value* pValue, +void CJX_EventPseudoModel::keyDown(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { Property(pValue, XFA_Event::Keydown, bSetting); } -void CJX_EventPseudoModel::Modifier(CFXJSE_Value* pValue, +void CJX_EventPseudoModel::modifier(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { Property(pValue, XFA_Event::Modifier, bSetting); } -void CJX_EventPseudoModel::NewContentType(CFXJSE_Value* pValue, +void CJX_EventPseudoModel::newContentType(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { Property(pValue, XFA_Event::NewContentType, bSetting); } -void CJX_EventPseudoModel::NewText(CFXJSE_Value* pValue, +void CJX_EventPseudoModel::newText(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { Property(pValue, XFA_Event::NewText, bSetting); } -void CJX_EventPseudoModel::PrevContentType(CFXJSE_Value* pValue, +void CJX_EventPseudoModel::prevContentType(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { Property(pValue, XFA_Event::PreviousContentType, bSetting); } -void CJX_EventPseudoModel::PrevText(CFXJSE_Value* pValue, +void CJX_EventPseudoModel::prevText(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { Property(pValue, XFA_Event::PreviousText, bSetting); } -void CJX_EventPseudoModel::Reenter(CFXJSE_Value* pValue, +void CJX_EventPseudoModel::reenter(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { Property(pValue, XFA_Event::Reenter, bSetting); } -void CJX_EventPseudoModel::SelEnd(CFXJSE_Value* pValue, +void CJX_EventPseudoModel::selEnd(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { Property(pValue, XFA_Event::SelectionEnd, bSetting); } -void CJX_EventPseudoModel::SelStart(CFXJSE_Value* pValue, +void CJX_EventPseudoModel::selStart(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { Property(pValue, XFA_Event::SelectionStart, bSetting); } -void CJX_EventPseudoModel::Shift(CFXJSE_Value* pValue, +void CJX_EventPseudoModel::shift(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { Property(pValue, XFA_Event::Shift, bSetting); } -void CJX_EventPseudoModel::SoapFaultCode(CFXJSE_Value* pValue, +void CJX_EventPseudoModel::soapFaultCode(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { Property(pValue, XFA_Event::SoapFaultCode, bSetting); } -void CJX_EventPseudoModel::SoapFaultString(CFXJSE_Value* pValue, +void CJX_EventPseudoModel::soapFaultString(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { Property(pValue, XFA_Event::SoapFaultString, bSetting); } -void CJX_EventPseudoModel::Target(CFXJSE_Value* pValue, +void CJX_EventPseudoModel::target(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { Property(pValue, XFA_Event::Target, bSetting); diff --git a/fxjs/xfa/cjx_eventpseudomodel.h b/fxjs/xfa/cjx_eventpseudomodel.h index d9615c3269..92d731c289 100644 --- a/fxjs/xfa/cjx_eventpseudomodel.h +++ b/fxjs/xfa/cjx_eventpseudomodel.h @@ -38,34 +38,26 @@ class CJX_EventPseudoModel : public CJX_Object { explicit CJX_EventPseudoModel(CScript_EventPseudoModel* model); ~CJX_EventPseudoModel() override; - void Change(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void CommitKey(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void FullText(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void KeyDown(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void Modifier(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void NewContentType(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void NewText(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void PrevContentType(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void PrevText(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void Reenter(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void SelEnd(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void SelStart(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void Shift(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void SoapFaultCode(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void SoapFaultString(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Target(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - JS_METHOD(emit, CJX_EventPseudoModel); JS_METHOD(reset, CJX_EventPseudoModel); + JS_PROP(change); + JS_PROP(commitKey); + JS_PROP(fullText); + JS_PROP(keyDown); + JS_PROP(modifier); + JS_PROP(newContentType); + JS_PROP(newText); + JS_PROP(prevContentType); + JS_PROP(prevText); + JS_PROP(reenter); + JS_PROP(selEnd); + JS_PROP(selStart); + JS_PROP(shift); + JS_PROP(soapFaultCode); + JS_PROP(soapFaultString); + JS_PROP(target); + private: void Property(CFXJSE_Value* pValue, XFA_Event dwFlag, bool bSetting); diff --git a/fxjs/xfa/cjx_exclgroup.cpp b/fxjs/xfa/cjx_exclgroup.cpp index 1041e3ffbb..fac58ff054 100644 --- a/fxjs/xfa/cjx_exclgroup.cpp +++ b/fxjs/xfa/cjx_exclgroup.cpp @@ -107,3 +107,185 @@ CJS_Return CJX_ExclGroup::selectedMember( return CJS_Return(value->DirectGetValue().Get(runtime->GetIsolate())); } + +void CJX_ExclGroup::defaultValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + CXFA_WidgetData* pWidgetData = GetXFANode()->GetWidgetData(); + if (!pWidgetData) + return; + + if (bSetting) { + pWidgetData->SetSelectedMemberByValue(pValue->ToWideString().AsStringView(), + true, true, true); + return; + } + + WideString wsValue = GetContent(true); + XFA_VERSION curVersion = GetDocument()->GetCurVersionMode(); + if (wsValue.IsEmpty() && curVersion >= XFA_VERSION_300) { + pValue->SetNull(); + return; + } + pValue->SetString(wsValue.UTF8Encode().AsStringView()); +} + +void CJX_ExclGroup::rawValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + defaultValue(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::transient(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) {} + +void CJX_ExclGroup::access(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::accessKey(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::anchorType(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::borderColor(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_BorderColor(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::borderWidth(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_BorderWidth(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::colSpan(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::fillColor(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_FillColor(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::h(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::hAlign(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::layout(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::mandatory(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_Mandatory(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::mandatoryMessage(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_MandatoryMessage(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::maxH(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::maxW(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::minH(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::minW(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::presence(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::relevant(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::validationMessage(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_ValidationMessage(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::vAlign(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::w(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::x(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExclGroup::y(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_exclgroup.h b/fxjs/xfa/cjx_exclgroup.h index f44446762f..a972fba5ff 100644 --- a/fxjs/xfa/cjx_exclgroup.h +++ b/fxjs/xfa/cjx_exclgroup.h @@ -23,6 +23,35 @@ class CJX_ExclGroup : public CJX_Node { JS_METHOD(execValidate, CJX_ExclGroup); JS_METHOD(selectedMember, CJX_ExclGroup); + JS_PROP(defaultValue); /* {default} */ + JS_PROP(access); + JS_PROP(accessKey); + JS_PROP(anchorType); + JS_PROP(borderColor); + JS_PROP(borderWidth); + JS_PROP(colSpan); + JS_PROP(fillColor); + JS_PROP(h); + JS_PROP(hAlign); + JS_PROP(layout); + JS_PROP(mandatory); + JS_PROP(mandatoryMessage); + JS_PROP(maxH); + JS_PROP(maxW); + JS_PROP(minH); + JS_PROP(minW); + JS_PROP(presence); + JS_PROP(rawValue); + JS_PROP(relevant); + JS_PROP(transient); + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(validationMessage); + JS_PROP(vAlign); + JS_PROP(w); + JS_PROP(x); + JS_PROP(y); + private: static const CJX_MethodSpec MethodSpecs[]; }; diff --git a/fxjs/xfa/cjx_exdata.cpp b/fxjs/xfa/cjx_exdata.cpp new file mode 100644 index 0000000000..6ce72c4943 --- /dev/null +++ b/fxjs/xfa/cjx_exdata.cpp @@ -0,0 +1,55 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_exdata.h" + +#include "xfa/fxfa/parser/cxfa_exdata.h" + +CJX_ExData::CJX_ExData(CXFA_ExData* node) : CJX_Content(node) {} + +CJX_ExData::~CJX_ExData() = default; + +void CJX_ExData::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExData::contentType(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExData::transferEncoding(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExData::defaultValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_DefaultValue(pValue, bSetting, eAttribute); +} + +void CJX_ExData::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExData::maxLength(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExData::href(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_exdata.h b/fxjs/xfa/cjx_exdata.h new file mode 100644 index 0000000000..e059da8b9d --- /dev/null +++ b/fxjs/xfa/cjx_exdata.h @@ -0,0 +1,28 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_EXDATA_H_ +#define FXJS_XFA_CJX_EXDATA_H_ + +#include "fxjs/xfa/cjx_content.h" + +class CXFA_ExData; + +class CJX_ExData : public CJX_Content { + public: + explicit CJX_ExData(CXFA_ExData* node); + ~CJX_ExData() override; + + JS_PROP(defaultValue); /* {default} */ + JS_PROP(contentType); + JS_PROP(href); + JS_PROP(maxLength); + JS_PROP(transferEncoding); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_EXDATA_H_ diff --git a/fxjs/xfa/cjx_execute.cpp b/fxjs/xfa/cjx_execute.cpp new file mode 100644 index 0000000000..5fc4a77859 --- /dev/null +++ b/fxjs/xfa/cjx_execute.cpp @@ -0,0 +1,43 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_execute.h" + +#include "xfa/fxfa/parser/cxfa_execute.h" + +CJX_Execute::CJX_Execute(CXFA_Execute* node) : CJX_Node(node) {} + +CJX_Execute::~CJX_Execute() = default; + +void CJX_Execute::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Execute::connection(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Execute::runAt(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Execute::executeType(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Execute::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_execute.h b/fxjs/xfa/cjx_execute.h new file mode 100644 index 0000000000..ef7f629e36 --- /dev/null +++ b/fxjs/xfa/cjx_execute.h @@ -0,0 +1,26 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_EXECUTE_H_ +#define FXJS_XFA_CJX_EXECUTE_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Execute; + +class CJX_Execute : public CJX_Node { + public: + explicit CJX_Execute(CXFA_Execute* node); + ~CJX_Execute() override; + + JS_PROP(connection); + JS_PROP(executeType); + JS_PROP(runAt); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_EXECUTE_H_ diff --git a/fxjs/xfa/cjx_exobject.cpp b/fxjs/xfa/cjx_exobject.cpp new file mode 100644 index 0000000000..2252d53d06 --- /dev/null +++ b/fxjs/xfa/cjx_exobject.cpp @@ -0,0 +1,49 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_exobject.h" + +#include "xfa/fxfa/parser/cxfa_exobject.h" + +CJX_ExObject::CJX_ExObject(CXFA_ExObject* node) : CJX_Node(node) {} + +CJX_ExObject::~CJX_ExObject() = default; + +void CJX_ExObject::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExObject::codeType(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExObject::archive(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExObject::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExObject::codeBase(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ExObject::classId(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_exobject.h b/fxjs/xfa/cjx_exobject.h new file mode 100644 index 0000000000..2fec24a6fb --- /dev/null +++ b/fxjs/xfa/cjx_exobject.h @@ -0,0 +1,27 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_EXOBJECT_H_ +#define FXJS_XFA_CJX_EXOBJECT_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_ExObject; + +class CJX_ExObject : public CJX_Node { + public: + explicit CJX_ExObject(CXFA_ExObject* node); + ~CJX_ExObject() override; + + JS_PROP(archive); + JS_PROP(classId); + JS_PROP(codeBase); + JS_PROP(codeType); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_EXOBJECT_H_ diff --git a/fxjs/xfa/cjx_extras.cpp b/fxjs/xfa/cjx_extras.cpp new file mode 100644 index 0000000000..73ea8ea5ba --- /dev/null +++ b/fxjs/xfa/cjx_extras.cpp @@ -0,0 +1,29 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_extras.h" + +#include "xfa/fxfa/parser/cxfa_extras.h" + +CJX_Extras::CJX_Extras(CXFA_Extras* node) : CJX_Node(node) {} + +CJX_Extras::~CJX_Extras() = default; + +void CJX_Extras::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Extras::type(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) {} + +void CJX_Extras::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_extras.h b/fxjs/xfa/cjx_extras.h new file mode 100644 index 0000000000..9f5790369e --- /dev/null +++ b/fxjs/xfa/cjx_extras.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_EXTRAS_H_ +#define FXJS_XFA_CJX_EXTRAS_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Extras; + +class CJX_Extras : public CJX_Node { + public: + explicit CJX_Extras(CXFA_Extras* node); + ~CJX_Extras() override; + + JS_PROP(type); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_EXTRAS_H_ diff --git a/fxjs/xfa/cjx_field.cpp b/fxjs/xfa/cjx_field.cpp index 857aa50d40..059aead0f9 100644 --- a/fxjs/xfa/cjx_field.cpp +++ b/fxjs/xfa/cjx_field.cpp @@ -8,6 +8,7 @@ #include <vector> +#include "core/fxcrt/cfx_decimal.h" #include "fxjs/cfxjse_value.h" #include "fxjs/js_resources.h" #include "xfa/fxfa/cxfa_eventparam.h" @@ -233,3 +234,302 @@ CJS_Return CJX_Field::execValidate( false, false); return CJS_Return(runtime->NewBoolean(iRet != XFA_EVENTERROR_Error)); } + +void CJX_Field::defaultValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + CXFA_WidgetData* pWidgetData = GetXFANode()->GetWidgetData(); + if (!pWidgetData) + return; + + if (bSetting) { + if (pValue) { + pWidgetData->SetPreNull(pWidgetData->IsNull()); + pWidgetData->SetIsNull(pValue->IsNull()); + } + + WideString wsNewText; + if (pValue && !(pValue->IsNull() || pValue->IsUndefined())) + wsNewText = pValue->ToWideString(); + + CXFA_Node* pUIChild = pWidgetData->GetUIChild(); + if (pUIChild->GetElementType() == XFA_Element::NumericEdit) { + wsNewText = + pWidgetData->NumericLimit(wsNewText, pWidgetData->GetLeadDigits(), + pWidgetData->GetFracDigits()); + } + + CXFA_WidgetData* pContainerWidgetData = + GetXFANode()->GetContainerWidgetData(); + WideString wsFormatText(wsNewText); + if (pContainerWidgetData) + wsFormatText = pContainerWidgetData->GetFormatDataValue(wsNewText); + + SetContent(wsNewText, wsFormatText, true, true, true); + return; + } + + WideString content = GetContent(true); + if (content.IsEmpty()) { + pValue->SetNull(); + return; + } + + CXFA_Node* pUIChild = pWidgetData->GetUIChild(); + CXFA_Node* pNode = pWidgetData->GetFormValueData().GetNode()->GetNodeItem( + XFA_NODEITEM_FirstChild); + if (pNode && pNode->GetElementType() == XFA_Element::Decimal) { + if (pUIChild->GetElementType() == XFA_Element::NumericEdit && + (pNode->JSObject()->GetInteger(XFA_Attribute::FracDigits) == -1)) { + pValue->SetString(content.UTF8Encode().AsStringView()); + } else { + CFX_Decimal decimal(content.AsStringView()); + pValue->SetFloat((float)(double)decimal); + } + } else if (pNode && pNode->GetElementType() == XFA_Element::Integer) { + pValue->SetInteger(FXSYS_wtoi(content.c_str())); + } else if (pNode && pNode->GetElementType() == XFA_Element::Boolean) { + pValue->SetBoolean(FXSYS_wtoi(content.c_str()) == 0 ? false : true); + } else if (pNode && pNode->GetElementType() == XFA_Element::Float) { + CFX_Decimal decimal(content.AsStringView()); + pValue->SetFloat((float)(double)decimal); + } else { + pValue->SetString(content.UTF8Encode().AsStringView()); + } +} + +void CJX_Field::editValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + CXFA_WidgetData* pWidgetData = GetXFANode()->GetWidgetData(); + if (!pWidgetData) + return; + + if (bSetting) { + pWidgetData->SetValue(XFA_VALUEPICTURE_Edit, pValue->ToWideString()); + return; + } + pValue->SetString( + pWidgetData->GetValue(XFA_VALUEPICTURE_Edit).UTF8Encode().AsStringView()); +} + +void CJX_Field::formatMessage(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_Message(pValue, bSetting, XFA_SOM_FormatMessage); +} + +void CJX_Field::formattedValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + CXFA_WidgetData* pWidgetData = GetXFANode()->GetWidgetData(); + if (!pWidgetData) + return; + + if (bSetting) { + pWidgetData->SetValue(XFA_VALUEPICTURE_Display, pValue->ToWideString()); + return; + } + pValue->SetString(pWidgetData->GetValue(XFA_VALUEPICTURE_Display) + .UTF8Encode() + .AsStringView()); +} + +void CJX_Field::parentSubform(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + if (bSetting) { + ThrowInvalidPropertyException(); + return; + } + pValue->SetNull(); +} + +void CJX_Field::selectedIndex(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + CXFA_WidgetData* pWidgetData = GetXFANode()->GetWidgetData(); + if (!pWidgetData) + return; + + if (!bSetting) { + pValue->SetInteger(pWidgetData->GetSelectedItem(0)); + return; + } + + int32_t iIndex = pValue->ToInteger(); + if (iIndex == -1) { + pWidgetData->ClearAllSelections(); + return; + } + + pWidgetData->SetItemState(iIndex, true, true, true, true); +} + +void CJX_Field::access(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Field::accessKey(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Field::anchorType(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Field::borderColor(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_BorderColor(pValue, bSetting, eAttribute); +} + +void CJX_Field::borderWidth(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_BorderWidth(pValue, bSetting, eAttribute); +} + +void CJX_Field::colSpan(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Field::fillColor(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_FillColor(pValue, bSetting, eAttribute); +} + +void CJX_Field::fontColor(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_FontColor(pValue, bSetting, eAttribute); +} + +void CJX_Field::h(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Field::hAlign(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Field::locale(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Field::mandatory(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_Mandatory(pValue, bSetting, eAttribute); +} + +void CJX_Field::mandatoryMessage(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_MandatoryMessage(pValue, bSetting, eAttribute); +} + +void CJX_Field::maxH(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Field::maxW(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Field::minH(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Field::minW(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Field::presence(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Field::rawValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + defaultValue(pValue, bSetting, eAttribute); +} + +void CJX_Field::relevant(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Field::rotate(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Field::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Field::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Field::validationMessage(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_ValidationMessage(pValue, bSetting, eAttribute); +} + +void CJX_Field::vAlign(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Field::w(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Field::x(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Field::y(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_field.h b/fxjs/xfa/cjx_field.h index 524a6afdaa..4f7238fc19 100644 --- a/fxjs/xfa/cjx_field.h +++ b/fxjs/xfa/cjx_field.h @@ -30,6 +30,41 @@ class CJX_Field : public CJX_Container { JS_METHOD(getSaveItem, CJX_Field); JS_METHOD(setItemState, CJX_Field); + JS_PROP(defaultValue); /* {default} */ + JS_PROP(access); + JS_PROP(accessKey); + JS_PROP(anchorType); + JS_PROP(borderColor); + JS_PROP(borderWidth); + JS_PROP(colSpan); + JS_PROP(editValue); + JS_PROP(fillColor); + JS_PROP(fontColor); + JS_PROP(formatMessage); + JS_PROP(formattedValue); + JS_PROP(h); + JS_PROP(hAlign); + JS_PROP(locale); + JS_PROP(mandatory); + JS_PROP(mandatoryMessage); + JS_PROP(maxH); + JS_PROP(maxW); + JS_PROP(minH); + JS_PROP(minW); + JS_PROP(parentSubform); + JS_PROP(presence); + JS_PROP(rawValue); + JS_PROP(relevant); + JS_PROP(rotate); + JS_PROP(selectedIndex); + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(validationMessage); + JS_PROP(vAlign); + JS_PROP(w); + JS_PROP(x); + JS_PROP(y); + private: static const CJX_MethodSpec MethodSpecs[]; }; diff --git a/fxjs/xfa/cjx_fill.cpp b/fxjs/xfa/cjx_fill.cpp new file mode 100644 index 0000000000..1c6aa957c8 --- /dev/null +++ b/fxjs/xfa/cjx_fill.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_fill.h" + +#include "xfa/fxfa/parser/cxfa_fill.h" + +CJX_Fill::CJX_Fill(CXFA_Fill* node) : CJX_Node(node) {} + +CJX_Fill::~CJX_Fill() = default; + +void CJX_Fill::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Fill::presence(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Fill::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_fill.h b/fxjs/xfa/cjx_fill.h new file mode 100644 index 0000000000..869e3cc2b5 --- /dev/null +++ b/fxjs/xfa/cjx_fill.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_FILL_H_ +#define FXJS_XFA_CJX_FILL_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Fill; + +class CJX_Fill : public CJX_Node { + public: + explicit CJX_Fill(CXFA_Fill* node); + ~CJX_Fill() override; + + JS_PROP(presence); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_FILL_H_ diff --git a/fxjs/xfa/cjx_filter.cpp b/fxjs/xfa/cjx_filter.cpp new file mode 100644 index 0000000000..e43dfa8aed --- /dev/null +++ b/fxjs/xfa/cjx_filter.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_filter.h" + +#include "xfa/fxfa/parser/cxfa_filter.h" + +CJX_Filter::CJX_Filter(CXFA_Filter* node) : CJX_Node(node) {} + +CJX_Filter::~CJX_Filter() = default; + +void CJX_Filter::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Filter::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Filter::addRevocationInfo(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_filter.h b/fxjs/xfa/cjx_filter.h new file mode 100644 index 0000000000..275d509bbc --- /dev/null +++ b/fxjs/xfa/cjx_filter.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_FILTER_H_ +#define FXJS_XFA_CJX_FILTER_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Filter; + +class CJX_Filter : public CJX_Node { + public: + explicit CJX_Filter(CXFA_Filter* node); + ~CJX_Filter() override; + + JS_PROP(addRevocationInfo); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_FILTER_H_ diff --git a/fxjs/xfa/cjx_float.cpp b/fxjs/xfa/cjx_float.cpp new file mode 100644 index 0000000000..0480812937 --- /dev/null +++ b/fxjs/xfa/cjx_float.cpp @@ -0,0 +1,37 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_float.h" + +#include "xfa/fxfa/parser/cxfa_float.h" + +CJX_Float::CJX_Float(CXFA_Float* node) : CJX_Content(node) {} + +CJX_Float::~CJX_Float() = default; + +void CJX_Float::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Float::defaultValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_DefaultValue(pValue, bSetting, eAttribute); +} + +void CJX_Float::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Float::value(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + defaultValue(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_float.h b/fxjs/xfa/cjx_float.h new file mode 100644 index 0000000000..1c9489b35f --- /dev/null +++ b/fxjs/xfa/cjx_float.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_FLOAT_H_ +#define FXJS_XFA_CJX_FLOAT_H_ + +#include "fxjs/xfa/cjx_content.h" + +class CXFA_Float; + +class CJX_Float : public CJX_Content { + public: + explicit CJX_Float(CXFA_Float* node); + ~CJX_Float() override; + + JS_PROP(defaultValue); /* {default} */ + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(value); +}; + +#endif // FXJS_XFA_CJX_FLOAT_H_ diff --git a/fxjs/xfa/cjx_font.cpp b/fxjs/xfa/cjx_font.cpp new file mode 100644 index 0000000000..d0c62374d8 --- /dev/null +++ b/fxjs/xfa/cjx_font.cpp @@ -0,0 +1,115 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_font.h" + +#include "xfa/fxfa/parser/cxfa_font.h" + +CJX_Font::CJX_Font(CXFA_Font* node) : CJX_Node(node) {} + +CJX_Font::~CJX_Font() = default; + +void CJX_Font::lineThrough(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Font::typeface(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Font::fontHorizontalScale(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Font::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Font::kerningMode(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Font::underline(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Font::baselineShift(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Font::overlinePeriod(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Font::letterSpacing(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Font::lineThroughPeriod(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Font::fontVerticalScale(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Font::size(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Font::posture(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Font::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Font::weight(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Font::underlinePeriod(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Font::overline(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_font.h b/fxjs/xfa/cjx_font.h new file mode 100644 index 0000000000..65b40e4508 --- /dev/null +++ b/fxjs/xfa/cjx_font.h @@ -0,0 +1,38 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_FONT_H_ +#define FXJS_XFA_CJX_FONT_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Font; + +class CJX_Font : public CJX_Node { + public: + explicit CJX_Font(CXFA_Font* node); + ~CJX_Font() override; + + JS_PROP(baselineShift); + JS_PROP(fontHorizontalScale); + JS_PROP(fontVerticalScale); + JS_PROP(kerningMode); + JS_PROP(letterSpacing); + JS_PROP(lineThrough); + JS_PROP(lineThroughPeriod); + JS_PROP(overline); + JS_PROP(overlinePeriod); + JS_PROP(posture); + JS_PROP(size); + JS_PROP(typeface); + JS_PROP(underline); + JS_PROP(underlinePeriod); + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(weight); +}; + +#endif // FXJS_XFA_CJX_FONT_H_ diff --git a/fxjs/xfa/cjx_format.cpp b/fxjs/xfa/cjx_format.cpp new file mode 100644 index 0000000000..9786502901 --- /dev/null +++ b/fxjs/xfa/cjx_format.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_format.h" + +#include "xfa/fxfa/parser/cxfa_format.h" + +CJX_Format::CJX_Format(CXFA_Format* node) : CJX_Node(node) {} + +CJX_Format::~CJX_Format() = default; + +void CJX_Format::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Format::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_format.h b/fxjs/xfa/cjx_format.h new file mode 100644 index 0000000000..5e8c971b96 --- /dev/null +++ b/fxjs/xfa/cjx_format.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_FORMAT_H_ +#define FXJS_XFA_CJX_FORMAT_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Format; + +class CJX_Format : public CJX_Node { + public: + explicit CJX_Format(CXFA_Format* node); + ~CJX_Format() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_FORMAT_H_ diff --git a/fxjs/xfa/cjx_handler.cpp b/fxjs/xfa/cjx_handler.cpp new file mode 100644 index 0000000000..3e09a7550d --- /dev/null +++ b/fxjs/xfa/cjx_handler.cpp @@ -0,0 +1,35 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_handler.h" + +#include "xfa/fxfa/parser/cxfa_handler.h" + +CJX_Handler::CJX_Handler(CXFA_Handler* node) : CJX_TextNode(node) {} + +CJX_Handler::~CJX_Handler() = default; + +void CJX_Handler::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Handler::type(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Handler::version(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) {} + +void CJX_Handler::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_handler.h b/fxjs/xfa/cjx_handler.h new file mode 100644 index 0000000000..373328b85f --- /dev/null +++ b/fxjs/xfa/cjx_handler.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_HANDLER_H_ +#define FXJS_XFA_CJX_HANDLER_H_ + +#include "fxjs/xfa/cjx_textnode.h" + +class CXFA_Handler; + +class CJX_Handler : public CJX_TextNode { + public: + explicit CJX_Handler(CXFA_Handler* node); + ~CJX_Handler() override; + + JS_PROP(type); + JS_PROP(use); + JS_PROP(version); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_HANDLER_H_ diff --git a/fxjs/xfa/cjx_hostpseudomodel.cpp b/fxjs/xfa/cjx_hostpseudomodel.cpp index 555381f623..f862accbe0 100644 --- a/fxjs/xfa/cjx_hostpseudomodel.cpp +++ b/fxjs/xfa/cjx_hostpseudomodel.cpp @@ -70,7 +70,7 @@ CJX_HostPseudoModel::CJX_HostPseudoModel(CScript_HostPseudoModel* model) CJX_HostPseudoModel::~CJX_HostPseudoModel() {} -void CJX_HostPseudoModel::AppType(CFXJSE_Value* pValue, +void CJX_HostPseudoModel::appType(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { CXFA_FFNotify* pNotify = GetDocument()->GetNotify(); @@ -84,7 +84,7 @@ void CJX_HostPseudoModel::AppType(CFXJSE_Value* pValue, pValue->SetString("Exchange"); } -void CJX_HostPseudoModel::CalculationsEnabled(CFXJSE_Value* pValue, +void CJX_HostPseudoModel::calculationsEnabled(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { CXFA_FFNotify* pNotify = GetDocument()->GetNotify(); @@ -100,7 +100,7 @@ void CJX_HostPseudoModel::CalculationsEnabled(CFXJSE_Value* pValue, pValue->SetBoolean(pNotify->GetDocEnvironment()->IsCalculationsEnabled(hDoc)); } -void CJX_HostPseudoModel::CurrentPage(CFXJSE_Value* pValue, +void CJX_HostPseudoModel::currentPage(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { CXFA_FFNotify* pNotify = GetDocument()->GetNotify(); @@ -115,7 +115,7 @@ void CJX_HostPseudoModel::CurrentPage(CFXJSE_Value* pValue, pValue->SetInteger(pNotify->GetDocEnvironment()->GetCurrentPage(hDoc)); } -void CJX_HostPseudoModel::Language(CFXJSE_Value* pValue, +void CJX_HostPseudoModel::language(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { CXFA_FFNotify* pNotify = GetDocument()->GetNotify(); @@ -130,7 +130,7 @@ void CJX_HostPseudoModel::Language(CFXJSE_Value* pValue, pNotify->GetAppProvider()->GetLanguage().UTF8Encode().AsStringView()); } -void CJX_HostPseudoModel::NumPages(CFXJSE_Value* pValue, +void CJX_HostPseudoModel::numPages(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { CXFA_FFNotify* pNotify = GetDocument()->GetNotify(); @@ -145,7 +145,7 @@ void CJX_HostPseudoModel::NumPages(CFXJSE_Value* pValue, pValue->SetInteger(pNotify->GetDocEnvironment()->CountPages(hDoc)); } -void CJX_HostPseudoModel::Platform(CFXJSE_Value* pValue, +void CJX_HostPseudoModel::platform(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { CXFA_FFNotify* pNotify = GetDocument()->GetNotify(); @@ -160,7 +160,7 @@ void CJX_HostPseudoModel::Platform(CFXJSE_Value* pValue, pNotify->GetAppProvider()->GetPlatform().UTF8Encode().AsStringView()); } -void CJX_HostPseudoModel::Title(CFXJSE_Value* pValue, +void CJX_HostPseudoModel::title(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { if (!GetDocument()->GetScriptContext()->IsRunAtClient()) @@ -181,7 +181,7 @@ void CJX_HostPseudoModel::Title(CFXJSE_Value* pValue, pValue->SetString(wsTitle.UTF8Encode().AsStringView()); } -void CJX_HostPseudoModel::ValidationsEnabled(CFXJSE_Value* pValue, +void CJX_HostPseudoModel::validationsEnabled(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { CXFA_FFNotify* pNotify = GetDocument()->GetNotify(); @@ -199,7 +199,7 @@ void CJX_HostPseudoModel::ValidationsEnabled(CFXJSE_Value* pValue, pValue->SetBoolean(bEnabled); } -void CJX_HostPseudoModel::Variation(CFXJSE_Value* pValue, +void CJX_HostPseudoModel::variation(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { if (!GetDocument()->GetScriptContext()->IsRunAtClient()) @@ -216,7 +216,7 @@ void CJX_HostPseudoModel::Variation(CFXJSE_Value* pValue, pValue->SetString("Full"); } -void CJX_HostPseudoModel::Version(CFXJSE_Value* pValue, +void CJX_HostPseudoModel::version(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { CXFA_FFNotify* pNotify = GetDocument()->GetNotify(); @@ -230,7 +230,7 @@ void CJX_HostPseudoModel::Version(CFXJSE_Value* pValue, pValue->SetString("11"); } -void CJX_HostPseudoModel::Name(CFXJSE_Value* pValue, +void CJX_HostPseudoModel::name(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { CXFA_FFNotify* pNotify = GetDocument()->GetNotify(); diff --git a/fxjs/xfa/cjx_hostpseudomodel.h b/fxjs/xfa/cjx_hostpseudomodel.h index fa3277a2c9..b4d6fe66e2 100644 --- a/fxjs/xfa/cjx_hostpseudomodel.h +++ b/fxjs/xfa/cjx_hostpseudomodel.h @@ -19,24 +19,6 @@ class CJX_HostPseudoModel : public CJX_Object { explicit CJX_HostPseudoModel(CScript_HostPseudoModel* model); ~CJX_HostPseudoModel() override; - void AppType(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void CalculationsEnabled(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void CurrentPage(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Language(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void NumPages(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void Platform(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void Title(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void ValidationsEnabled(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Variation(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void Version(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void Name(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - JS_METHOD(beep, CJX_HostPseudoModel); JS_METHOD(documentCountInBatch, CJX_HostPseudoModel); JS_METHOD(documentInBatch, CJX_HostPseudoModel); @@ -53,6 +35,21 @@ class CJX_HostPseudoModel : public CJX_Object { JS_METHOD(response, CJX_HostPseudoModel); JS_METHOD(setFocus, CJX_HostPseudoModel); + JS_PROP(appType); + JS_PROP(calculationsEnabled); + JS_PROP(currentPage); + JS_PROP(language); + JS_PROP(numPages); + JS_PROP(platform); + JS_PROP(title); + JS_PROP(validationsEnabled); + JS_PROP(variation); + JS_PROP(version); + + // TODO(dsinclair): Remove when xfa_basic_data_element_script is removed. + // Doesn't exist in spec + JS_PROP(name); + private: static const CJX_MethodSpec MethodSpecs[]; }; diff --git a/fxjs/xfa/cjx_image.cpp b/fxjs/xfa/cjx_image.cpp new file mode 100644 index 0000000000..0ea2131c8f --- /dev/null +++ b/fxjs/xfa/cjx_image.cpp @@ -0,0 +1,61 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_image.h" + +#include "xfa/fxfa/parser/cxfa_image.h" + +CJX_Image::CJX_Image(CXFA_Image* node) : CJX_Node(node) {} + +CJX_Image::~CJX_Image() = default; + +void CJX_Image::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Image::contentType(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Image::transferEncoding(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Image::defaultValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_DefaultValue_Read(pValue, bSetting, eAttribute); +} + +void CJX_Image::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Image::aspect(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Image::value(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_DefaultValue_Read(pValue, bSetting, eAttribute); +} + +void CJX_Image::href(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_image.h b/fxjs/xfa/cjx_image.h new file mode 100644 index 0000000000..5cd120a674 --- /dev/null +++ b/fxjs/xfa/cjx_image.h @@ -0,0 +1,29 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_IMAGE_H_ +#define FXJS_XFA_CJX_IMAGE_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Image; + +class CJX_Image : public CJX_Node { + public: + explicit CJX_Image(CXFA_Image* node); + ~CJX_Image() override; + + JS_PROP(defaultValue); /* {default} */ + JS_PROP(aspect); + JS_PROP(contentType); + JS_PROP(href); + JS_PROP(transferEncoding); + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(value); +}; + +#endif // FXJS_XFA_CJX_IMAGE_H_ diff --git a/fxjs/xfa/cjx_imageedit.cpp b/fxjs/xfa/cjx_imageedit.cpp new file mode 100644 index 0000000000..a325eca6dc --- /dev/null +++ b/fxjs/xfa/cjx_imageedit.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_imageedit.h" + +#include "xfa/fxfa/parser/cxfa_imageedit.h" + +CJX_ImageEdit::CJX_ImageEdit(CXFA_ImageEdit* node) : CJX_Node(node) {} + +CJX_ImageEdit::~CJX_ImageEdit() = default; + +void CJX_ImageEdit::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ImageEdit::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ImageEdit::data(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_imageedit.h b/fxjs/xfa/cjx_imageedit.h new file mode 100644 index 0000000000..ebf4fa3e8c --- /dev/null +++ b/fxjs/xfa/cjx_imageedit.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_IMAGEEDIT_H_ +#define FXJS_XFA_CJX_IMAGEEDIT_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_ImageEdit; + +class CJX_ImageEdit : public CJX_Node { + public: + explicit CJX_ImageEdit(CXFA_ImageEdit* node); + ~CJX_ImageEdit() override; + + JS_PROP(data); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_IMAGEEDIT_H_ diff --git a/fxjs/xfa/cjx_insert.cpp b/fxjs/xfa/cjx_insert.cpp new file mode 100644 index 0000000000..cf2ae32489 --- /dev/null +++ b/fxjs/xfa/cjx_insert.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_insert.h" + +#include "xfa/fxfa/parser/cxfa_insert.h" + +CJX_Insert::CJX_Insert(CXFA_Insert* node) : CJX_TextNode(node) {} + +CJX_Insert::~CJX_Insert() = default; + +void CJX_Insert::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Insert::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_insert.h b/fxjs/xfa/cjx_insert.h new file mode 100644 index 0000000000..3b73df8f7d --- /dev/null +++ b/fxjs/xfa/cjx_insert.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_INSERT_H_ +#define FXJS_XFA_CJX_INSERT_H_ + +#include "fxjs/xfa/cjx_textnode.h" + +class CXFA_Insert; + +class CJX_Insert : public CJX_TextNode { + public: + explicit CJX_Insert(CXFA_Insert* node); + ~CJX_Insert() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_INSERT_H_ diff --git a/fxjs/xfa/cjx_instancemanager.cpp b/fxjs/xfa/cjx_instancemanager.cpp index 23048f98a5..86f8cf3e88 100644 --- a/fxjs/xfa/cjx_instancemanager.cpp +++ b/fxjs/xfa/cjx_instancemanager.cpp @@ -6,6 +6,7 @@ #include "fxjs/xfa/cjx_instancemanager.h" +#include <algorithm> #include <vector> #include "fxjs/cfxjse_engine.h" @@ -31,6 +32,90 @@ CJX_InstanceManager::CJX_InstanceManager(CXFA_InstanceManager* mgr) CJX_InstanceManager::~CJX_InstanceManager() {} +int32_t CJX_InstanceManager::SetInstances(int32_t iDesired) { + CXFA_OccurData occurData(GetXFANode()->GetOccurNode()); + if (iDesired < occurData.GetMin()) { + ThrowTooManyOccurancesException(L"min"); + return 1; + } + + int32_t iMax = occurData.GetMax(); + if (iMax >= 0 && iDesired > iMax) { + ThrowTooManyOccurancesException(L"max"); + return 2; + } + + int32_t iCount = GetXFANode()->GetCount(); + if (iDesired == iCount) + return 0; + + if (iDesired < iCount) { + WideString wsInstManagerName = GetCData(XFA_Attribute::Name); + WideString wsInstanceName = WideString( + wsInstManagerName.IsEmpty() + ? wsInstManagerName + : wsInstManagerName.Right(wsInstManagerName.GetLength() - 1)); + uint32_t dInstanceNameHash = + FX_HashCode_GetW(wsInstanceName.AsStringView(), false); + CXFA_Node* pPrevSibling = + iDesired == 0 ? GetXFANode() : GetXFANode()->GetItem(iDesired - 1); + while (iCount > iDesired) { + CXFA_Node* pRemoveInstance = + pPrevSibling->GetNodeItem(XFA_NODEITEM_NextSibling); + if (pRemoveInstance->GetElementType() != XFA_Element::Subform && + pRemoveInstance->GetElementType() != XFA_Element::SubformSet) { + continue; + } + if (pRemoveInstance->GetElementType() == XFA_Element::InstanceManager) { + NOTREACHED(); + break; + } + if (pRemoveInstance->GetNameHash() == dInstanceNameHash) { + GetXFANode()->RemoveItem(pRemoveInstance, true); + iCount--; + } + } + } else { + while (iCount < iDesired) { + CXFA_Node* pNewInstance = GetXFANode()->CreateInstance(true); + GetXFANode()->InsertItem(pNewInstance, iCount, iCount, false); + iCount++; + CXFA_FFNotify* pNotify = GetDocument()->GetNotify(); + if (!pNotify) + return 0; + + pNotify->RunNodeInitialize(pNewInstance); + } + } + + CXFA_LayoutProcessor* pLayoutPro = GetDocument()->GetLayoutProcessor(); + if (pLayoutPro) { + pLayoutPro->AddChangedContainer( + ToNode(GetDocument()->GetXFAObject(XFA_HASHCODE_Form))); + } + return 0; +} + +int32_t CJX_InstanceManager::MoveInstance(int32_t iTo, int32_t iFrom) { + int32_t iCount = GetXFANode()->GetCount(); + if (iFrom > iCount || iTo > iCount - 1) { + ThrowIndexOutOfBoundsException(); + return 1; + } + if (iFrom < 0 || iTo < 0 || iFrom == iTo) + return 0; + + CXFA_Node* pMoveInstance = GetXFANode()->GetItem(iFrom); + GetXFANode()->RemoveItem(pMoveInstance, false); + GetXFANode()->InsertItem(pMoveInstance, iTo, iCount - 1, true); + CXFA_LayoutProcessor* pLayoutPro = GetDocument()->GetLayoutProcessor(); + if (pLayoutPro) { + pLayoutPro->AddChangedContainer( + ToNode(GetDocument()->GetXFAObject(XFA_HASHCODE_Form))); + } + return 0; +} + CJS_Return CJX_InstanceManager::moveInstance( CJS_V8* runtime, const std::vector<v8::Local<v8::Value>>& params) { @@ -39,7 +124,7 @@ CJS_Return CJX_InstanceManager::moveInstance( int32_t iFrom = runtime->ToInt32(params[0]); int32_t iTo = runtime->ToInt32(params[1]); - InstanceManager_MoveInstance(iTo, iFrom); + MoveInstance(iTo, iFrom); CXFA_FFNotify* pNotify = GetDocument()->GetNotify(); if (!pNotify) @@ -100,7 +185,7 @@ CJS_Return CJX_InstanceManager::setInstances( if (params.size() != 1) return CJS_Return(JSGetStringFromID(JSMessage::kParamError)); - InstanceManager_SetInstances(runtime->ToInt32(params[0])); + SetInstances(runtime->ToInt32(params[0])); return CJS_Return(true); } @@ -180,3 +265,33 @@ CJS_Return CJX_InstanceManager::insertInstance( return CJS_Return(value->DirectGetValue().Get(runtime->GetIsolate())); } + +void CJX_InstanceManager::max(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + if (bSetting) { + ThrowInvalidPropertyException(); + return; + } + pValue->SetInteger(CXFA_OccurData(GetXFANode()->GetOccurNode()).GetMax()); +} + +void CJX_InstanceManager::min(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + if (bSetting) { + ThrowInvalidPropertyException(); + return; + } + pValue->SetInteger(CXFA_OccurData(GetXFANode()->GetOccurNode()).GetMin()); +} + +void CJX_InstanceManager::count(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + if (bSetting) { + pValue->SetInteger(GetXFANode()->GetCount()); + return; + } + SetInstances(pValue->ToInteger()); +} diff --git a/fxjs/xfa/cjx_instancemanager.h b/fxjs/xfa/cjx_instancemanager.h index 1fd41a6402..74efad5ba9 100644 --- a/fxjs/xfa/cjx_instancemanager.h +++ b/fxjs/xfa/cjx_instancemanager.h @@ -23,7 +23,15 @@ class CJX_InstanceManager : public CJX_Node { JS_METHOD(removeInstance, CJX_InstanceManager); JS_METHOD(setInstances, CJX_InstanceManager); + JS_PROP(count); + JS_PROP(max); + JS_PROP(min); + + int32_t MoveInstance(int32_t iTo, int32_t iFrom); + private: + int32_t SetInstances(int32_t iDesired); + static const CJX_MethodSpec MethodSpecs[]; }; diff --git a/fxjs/xfa/cjx_integer.cpp b/fxjs/xfa/cjx_integer.cpp new file mode 100644 index 0000000000..f1840dd36a --- /dev/null +++ b/fxjs/xfa/cjx_integer.cpp @@ -0,0 +1,37 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_integer.h" + +#include "xfa/fxfa/parser/cxfa_integer.h" + +CJX_Integer::CJX_Integer(CXFA_Integer* node) : CJX_Content(node) {} + +CJX_Integer::~CJX_Integer() = default; + +void CJX_Integer::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Integer::defaultValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_DefaultValue(pValue, bSetting, eAttribute); +} + +void CJX_Integer::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Integer::value(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + defaultValue(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_integer.h b/fxjs/xfa/cjx_integer.h new file mode 100644 index 0000000000..90daabfc6f --- /dev/null +++ b/fxjs/xfa/cjx_integer.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_INTEGER_H_ +#define FXJS_XFA_CJX_INTEGER_H_ + +#include "fxjs/xfa/cjx_content.h" + +class CXFA_Integer; + +class CJX_Integer : public CJX_Content { + public: + explicit CJX_Integer(CXFA_Integer* node); + ~CJX_Integer() override; + + JS_PROP(defaultValue); /* {default} */ + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(value); +}; + +#endif // FXJS_XFA_CJX_INTEGER_H_ diff --git a/fxjs/xfa/cjx_issuers.cpp b/fxjs/xfa/cjx_issuers.cpp new file mode 100644 index 0000000000..5cd381d640 --- /dev/null +++ b/fxjs/xfa/cjx_issuers.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_issuers.h" + +#include "xfa/fxfa/parser/cxfa_issuers.h" + +CJX_Issuers::CJX_Issuers(CXFA_Issuers* node) : CJX_Node(node) {} + +CJX_Issuers::~CJX_Issuers() = default; + +void CJX_Issuers::type(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Issuers::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Issuers::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_issuers.h b/fxjs/xfa/cjx_issuers.h new file mode 100644 index 0000000000..5d76e72b93 --- /dev/null +++ b/fxjs/xfa/cjx_issuers.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_ISSUERS_H_ +#define FXJS_XFA_CJX_ISSUERS_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Issuers; + +class CJX_Issuers : public CJX_Node { + public: + explicit CJX_Issuers(CXFA_Issuers* node); + ~CJX_Issuers() override; + + JS_PROP(type); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_ISSUERS_H_ diff --git a/fxjs/xfa/cjx_items.cpp b/fxjs/xfa/cjx_items.cpp new file mode 100644 index 0000000000..e4afdd04f4 --- /dev/null +++ b/fxjs/xfa/cjx_items.cpp @@ -0,0 +1,43 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_items.h" + +#include "xfa/fxfa/parser/cxfa_items.h" + +CJX_Items::CJX_Items(CXFA_Items* node) : CJX_Node(node) {} + +CJX_Items::~CJX_Items() = default; + +void CJX_Items::ref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Items::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Items::presence(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Items::save(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Items::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_items.h b/fxjs/xfa/cjx_items.h new file mode 100644 index 0000000000..94f2b4374d --- /dev/null +++ b/fxjs/xfa/cjx_items.h @@ -0,0 +1,26 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_ITEMS_H_ +#define FXJS_XFA_CJX_ITEMS_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Items; + +class CJX_Items : public CJX_Node { + public: + explicit CJX_Items(CXFA_Items* node); + ~CJX_Items() override; + + JS_PROP(presence); + JS_PROP(ref); + JS_PROP(save); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_ITEMS_H_ diff --git a/fxjs/xfa/cjx_keep.cpp b/fxjs/xfa/cjx_keep.cpp new file mode 100644 index 0000000000..25238e3c58 --- /dev/null +++ b/fxjs/xfa/cjx_keep.cpp @@ -0,0 +1,43 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_keep.h" + +#include "xfa/fxfa/parser/cxfa_keep.h" + +CJX_Keep::CJX_Keep(CXFA_Keep* node) : CJX_Node(node) {} + +CJX_Keep::~CJX_Keep() = default; + +void CJX_Keep::next(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Keep::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Keep::previous(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Keep::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Keep::intact(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_keep.h b/fxjs/xfa/cjx_keep.h new file mode 100644 index 0000000000..fa8a1119f2 --- /dev/null +++ b/fxjs/xfa/cjx_keep.h @@ -0,0 +1,26 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_KEEP_H_ +#define FXJS_XFA_CJX_KEEP_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Keep; + +class CJX_Keep : public CJX_Node { + public: + explicit CJX_Keep(CXFA_Keep* node); + ~CJX_Keep() override; + + JS_PROP(intact); + JS_PROP(next); + JS_PROP(previous); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_KEEP_H_ diff --git a/fxjs/xfa/cjx_keyusage.cpp b/fxjs/xfa/cjx_keyusage.cpp new file mode 100644 index 0000000000..99947e9e7d --- /dev/null +++ b/fxjs/xfa/cjx_keyusage.cpp @@ -0,0 +1,85 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_keyusage.h" + +#include "xfa/fxfa/parser/cxfa_keyusage.h" + +CJX_KeyUsage::CJX_KeyUsage(CXFA_KeyUsage* node) : CJX_Node(node) {} + +CJX_KeyUsage::~CJX_KeyUsage() = default; + +void CJX_KeyUsage::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_KeyUsage::nonRepudiation(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_KeyUsage::encipherOnly(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_KeyUsage::type(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_KeyUsage::digitalSignature(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_KeyUsage::crlSign(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_KeyUsage::keyAgreement(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_KeyUsage::keyEncipherment(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_KeyUsage::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_KeyUsage::dataEncipherment(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_KeyUsage::keyCertSign(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_KeyUsage::decipherOnly(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_keyusage.h b/fxjs/xfa/cjx_keyusage.h new file mode 100644 index 0000000000..3ff546de18 --- /dev/null +++ b/fxjs/xfa/cjx_keyusage.h @@ -0,0 +1,33 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_KEYUSAGE_H_ +#define FXJS_XFA_CJX_KEYUSAGE_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_KeyUsage; + +class CJX_KeyUsage : public CJX_Node { + public: + explicit CJX_KeyUsage(CXFA_KeyUsage* node); + ~CJX_KeyUsage() override; + + JS_PROP(crlSign); + JS_PROP(dataEncipherment); + JS_PROP(decipherOnly); + JS_PROP(digitalSignature); + JS_PROP(encipherOnly); + JS_PROP(keyAgreement); + JS_PROP(keyCertSign); + JS_PROP(keyEncipherment); + JS_PROP(nonRepudiation); + JS_PROP(type); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_KEYUSAGE_H_ diff --git a/fxjs/xfa/cjx_layoutpseudomodel.cpp b/fxjs/xfa/cjx_layoutpseudomodel.cpp index e3e0fea5f9..638da41eea 100644 --- a/fxjs/xfa/cjx_layoutpseudomodel.cpp +++ b/fxjs/xfa/cjx_layoutpseudomodel.cpp @@ -52,7 +52,7 @@ CJX_LayoutPseudoModel::CJX_LayoutPseudoModel(CScript_LayoutPseudoModel* model) CJX_LayoutPseudoModel::~CJX_LayoutPseudoModel() {} -void CJX_LayoutPseudoModel::Ready(CFXJSE_Value* pValue, +void CJX_LayoutPseudoModel::ready(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { CXFA_FFNotify* pNotify = GetDocument()->GetNotify(); diff --git a/fxjs/xfa/cjx_layoutpseudomodel.h b/fxjs/xfa/cjx_layoutpseudomodel.h index 63dc789190..6dbef6038a 100644 --- a/fxjs/xfa/cjx_layoutpseudomodel.h +++ b/fxjs/xfa/cjx_layoutpseudomodel.h @@ -29,8 +29,6 @@ class CJX_LayoutPseudoModel : public CJX_Object { explicit CJX_LayoutPseudoModel(CScript_LayoutPseudoModel* model); ~CJX_LayoutPseudoModel() override; - void Ready(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - JS_METHOD(absPage, CJX_LayoutPseudoModel); JS_METHOD(absPageCount, CJX_LayoutPseudoModel); JS_METHOD(absPageCountInBatch, CJX_LayoutPseudoModel); @@ -51,6 +49,8 @@ class CJX_LayoutPseudoModel : public CJX_Object { JS_METHOD(x, CJX_LayoutPseudoModel); JS_METHOD(y, CJX_LayoutPseudoModel); + JS_PROP(ready); + private: CJS_Return NumberedPageCount(CJS_V8* runtime, bool bNumbered); CJS_Return HWXY(CJS_V8* runtime, diff --git a/fxjs/xfa/cjx_line.cpp b/fxjs/xfa/cjx_line.cpp new file mode 100644 index 0000000000..48569390a4 --- /dev/null +++ b/fxjs/xfa/cjx_line.cpp @@ -0,0 +1,37 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_line.h" + +#include "xfa/fxfa/parser/cxfa_line.h" + +CJX_Line::CJX_Line(CXFA_Line* node) : CJX_Node(node) {} + +CJX_Line::~CJX_Line() = default; + +void CJX_Line::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Line::slope(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Line::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Line::hand(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_line.h b/fxjs/xfa/cjx_line.h new file mode 100644 index 0000000000..7041c1259c --- /dev/null +++ b/fxjs/xfa/cjx_line.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_LINE_H_ +#define FXJS_XFA_CJX_LINE_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Line; + +class CJX_Line : public CJX_Node { + public: + explicit CJX_Line(CXFA_Line* node); + ~CJX_Line() override; + + JS_PROP(hand); + JS_PROP(slope); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_LINE_H_ diff --git a/fxjs/xfa/cjx_linear.cpp b/fxjs/xfa/cjx_linear.cpp new file mode 100644 index 0000000000..1c22699054 --- /dev/null +++ b/fxjs/xfa/cjx_linear.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_linear.h" + +#include "xfa/fxfa/parser/cxfa_linear.h" + +CJX_Linear::CJX_Linear(CXFA_Linear* node) : CJX_Node(node) {} + +CJX_Linear::~CJX_Linear() = default; + +void CJX_Linear::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Linear::type(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Linear::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_linear.h b/fxjs/xfa/cjx_linear.h new file mode 100644 index 0000000000..30a54bff47 --- /dev/null +++ b/fxjs/xfa/cjx_linear.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_LINEAR_H_ +#define FXJS_XFA_CJX_LINEAR_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Linear; + +class CJX_Linear : public CJX_Node { + public: + explicit CJX_Linear(CXFA_Linear* node); + ~CJX_Linear() override; + + JS_PROP(type); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_LINEAR_H_ diff --git a/fxjs/xfa/cjx_list.h b/fxjs/xfa/cjx_list.h index 45d827c21e..83801b7e08 100644 --- a/fxjs/xfa/cjx_list.h +++ b/fxjs/xfa/cjx_list.h @@ -22,7 +22,7 @@ class CJX_List : public CJX_Object { JS_METHOD(item, CJX_List); JS_METHOD(remove, CJX_List); - void length(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); + JS_PROP(length); private: CXFA_List* GetXFAList(); diff --git a/fxjs/xfa/cjx_logpseudomodel.h b/fxjs/xfa/cjx_logpseudomodel.h index 2d98241c5a..772bf30540 100644 --- a/fxjs/xfa/cjx_logpseudomodel.h +++ b/fxjs/xfa/cjx_logpseudomodel.h @@ -12,6 +12,8 @@ class CScript_LogPseudoModel; +// TODO(dsinclair): This doesn't exist in the spec. Remove after +// xfa_basic_data_element_script is removed. class CJX_LogPseudoModel : public CJX_Object { public: explicit CJX_LogPseudoModel(CScript_LogPseudoModel* model); diff --git a/fxjs/xfa/cjx_manifest.cpp b/fxjs/xfa/cjx_manifest.cpp index d5c986a83b..bd482d0f4b 100644 --- a/fxjs/xfa/cjx_manifest.cpp +++ b/fxjs/xfa/cjx_manifest.cpp @@ -30,3 +30,27 @@ CJS_Return CJX_Manifest::evaluate( CXFA_WidgetData* pWidgetData = GetWidgetData(); return CJS_Return(runtime->NewBoolean(!!pWidgetData)); } + +void CJX_Manifest::defaultValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_DefaultValue(pValue, bSetting, eAttribute); +} + +void CJX_Manifest::action(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Manifest::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Manifest::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_manifest.h b/fxjs/xfa/cjx_manifest.h index fd28e4065a..75fcacdfb1 100644 --- a/fxjs/xfa/cjx_manifest.h +++ b/fxjs/xfa/cjx_manifest.h @@ -19,6 +19,11 @@ class CJX_Manifest : public CJX_Node { JS_METHOD(evaluate, CJX_Manifest); + JS_PROP(defaultValue); /* {default} */ + JS_PROP(action); + JS_PROP(use); + JS_PROP(usehref); + private: static const CJX_MethodSpec MethodSpecs[]; }; diff --git a/fxjs/xfa/cjx_map.cpp b/fxjs/xfa/cjx_map.cpp new file mode 100644 index 0000000000..7a1fa14264 --- /dev/null +++ b/fxjs/xfa/cjx_map.cpp @@ -0,0 +1,37 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_map.h" + +#include "xfa/fxfa/parser/cxfa_map.h" + +CJX_Map::CJX_Map(CXFA_Map* node) : CJX_Node(node) {} + +CJX_Map::~CJX_Map() = default; + +void CJX_Map::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Map::bind(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Map::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Map::from(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_map.h b/fxjs/xfa/cjx_map.h new file mode 100644 index 0000000000..dba7eb63e2 --- /dev/null +++ b/fxjs/xfa/cjx_map.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_MAP_H_ +#define FXJS_XFA_CJX_MAP_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Map; + +class CJX_Map : public CJX_Node { + public: + explicit CJX_Map(CXFA_Map* node); + ~CJX_Map() override; + + JS_PROP(bind); + JS_PROP(from); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_MAP_H_ diff --git a/fxjs/xfa/cjx_margin.cpp b/fxjs/xfa/cjx_margin.cpp new file mode 100644 index 0000000000..62a180b324 --- /dev/null +++ b/fxjs/xfa/cjx_margin.cpp @@ -0,0 +1,49 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_margin.h" + +#include "xfa/fxfa/parser/cxfa_margin.h" + +CJX_Margin::CJX_Margin(CXFA_Margin* node) : CJX_Node(node) {} + +CJX_Margin::~CJX_Margin() = default; + +void CJX_Margin::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Margin::leftInset(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Margin::bottomInset(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Margin::topInset(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Margin::rightInset(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Margin::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_margin.h b/fxjs/xfa/cjx_margin.h new file mode 100644 index 0000000000..0ca884f708 --- /dev/null +++ b/fxjs/xfa/cjx_margin.h @@ -0,0 +1,27 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_MARGIN_H_ +#define FXJS_XFA_CJX_MARGIN_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Margin; + +class CJX_Margin : public CJX_Node { + public: + explicit CJX_Margin(CXFA_Margin* node); + ~CJX_Margin() override; + + JS_PROP(bottomInset); + JS_PROP(leftInset); + JS_PROP(rightInset); + JS_PROP(topInset); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_MARGIN_H_ diff --git a/fxjs/xfa/cjx_mdp.cpp b/fxjs/xfa/cjx_mdp.cpp new file mode 100644 index 0000000000..59730f68e6 --- /dev/null +++ b/fxjs/xfa/cjx_mdp.cpp @@ -0,0 +1,37 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_mdp.h" + +#include "xfa/fxfa/parser/cxfa_mdp.h" + +CJX_Mdp::CJX_Mdp(CXFA_Mdp* node) : CJX_Node(node) {} + +CJX_Mdp::~CJX_Mdp() = default; + +void CJX_Mdp::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Mdp::signatureType(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Mdp::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Mdp::permissions(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_mdp.h b/fxjs/xfa/cjx_mdp.h new file mode 100644 index 0000000000..bdce2b83fd --- /dev/null +++ b/fxjs/xfa/cjx_mdp.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_MDP_H_ +#define FXJS_XFA_CJX_MDP_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Mdp; + +class CJX_Mdp : public CJX_Node { + public: + explicit CJX_Mdp(CXFA_Mdp* node); + ~CJX_Mdp() override; + + JS_PROP(permissions); + JS_PROP(signatureType); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_MDP_H_ diff --git a/fxjs/xfa/cjx_medium.cpp b/fxjs/xfa/cjx_medium.cpp new file mode 100644 index 0000000000..e8986d9bbb --- /dev/null +++ b/fxjs/xfa/cjx_medium.cpp @@ -0,0 +1,55 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_medium.h" + +#include "xfa/fxfa/parser/cxfa_medium.h" + +CJX_Medium::CJX_Medium(CXFA_Medium* node) : CJX_Node(node) {} + +CJX_Medium::~CJX_Medium() = default; + +void CJX_Medium::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Medium::orientation(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Medium::imagingBBox(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Medium::shortValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Medium::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Medium::stock(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Medium::longValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_medium.h b/fxjs/xfa/cjx_medium.h new file mode 100644 index 0000000000..99023dc4ab --- /dev/null +++ b/fxjs/xfa/cjx_medium.h @@ -0,0 +1,28 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_MEDIUM_H_ +#define FXJS_XFA_CJX_MEDIUM_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Medium; + +class CJX_Medium : public CJX_Node { + public: + explicit CJX_Medium(CXFA_Medium* node); + ~CJX_Medium() override; + + JS_PROP(imagingBBox); + JS_PROP(longValue); /* long */ + JS_PROP(orientation); + JS_PROP(shortValue); /* short */ + JS_PROP(stock); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_MEDIUM_H_ diff --git a/fxjs/xfa/cjx_message.cpp b/fxjs/xfa/cjx_message.cpp new file mode 100644 index 0000000000..c9f3f6afdc --- /dev/null +++ b/fxjs/xfa/cjx_message.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_message.h" + +#include "xfa/fxfa/parser/cxfa_message.h" + +CJX_Message::CJX_Message(CXFA_Message* node) : CJX_Node(node) {} + +CJX_Message::~CJX_Message() = default; + +void CJX_Message::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Message::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_message.h b/fxjs/xfa/cjx_message.h new file mode 100644 index 0000000000..a2a461ebad --- /dev/null +++ b/fxjs/xfa/cjx_message.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_MESSAGE_H_ +#define FXJS_XFA_CJX_MESSAGE_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Message; + +class CJX_Message : public CJX_Node { + public: + explicit CJX_Message(CXFA_Message* node); + ~CJX_Message() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_MESSAGE_H_ diff --git a/fxjs/xfa/cjx_model.cpp b/fxjs/xfa/cjx_model.cpp index 4ac6280c44..aa5d6b21fa 100644 --- a/fxjs/xfa/cjx_model.cpp +++ b/fxjs/xfa/cjx_model.cpp @@ -82,3 +82,11 @@ CJS_Return CJX_Model::isCompatibleNS( return CJS_Return( runtime->NewBoolean(TryNamespace().value_or(WideString()) == nameSpace)); } + +void CJX_Model::context(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) {} + +void CJX_Model::aliasNode(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) {} diff --git a/fxjs/xfa/cjx_model.h b/fxjs/xfa/cjx_model.h index 17b8d3d6f5..fae1cc7cfd 100644 --- a/fxjs/xfa/cjx_model.h +++ b/fxjs/xfa/cjx_model.h @@ -21,6 +21,9 @@ class CJX_Model : public CJX_Node { JS_METHOD(createNode, CJX_Model); JS_METHOD(isCompatibleNS, CJX_Model); + JS_PROP(aliasNode); + JS_PROP(context); + private: static const CJX_MethodSpec MethodSpecs[]; }; diff --git a/fxjs/xfa/cjx_node.cpp b/fxjs/xfa/cjx_node.cpp index b2743f0176..1216177f02 100644 --- a/fxjs/xfa/cjx_node.cpp +++ b/fxjs/xfa/cjx_node.cpp @@ -386,6 +386,74 @@ CJS_Return CJX_Node::setElement( return CJS_Return(true); } +void CJX_Node::id(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Node::ns(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + if (bSetting) { + ThrowInvalidPropertyException(); + return; + } + pValue->SetString( + TryNamespace().value_or(WideString()).UTF8Encode().AsStringView()); +} + +void CJX_Node::model(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + if (bSetting) { + ThrowInvalidPropertyException(); + return; + } + pValue->Assign(GetDocument()->GetScriptContext()->GetJSValueFromMap( + GetXFANode()->GetModelNode())); +} + +void CJX_Node::isContainer(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + if (bSetting) { + ThrowInvalidPropertyException(); + return; + } + pValue->SetBoolean(GetXFANode()->IsContainerNode()); +} + +void CJX_Node::isNull(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + if (bSetting) { + ThrowInvalidPropertyException(); + return; + } + if (GetXFANode()->GetElementType() == XFA_Element::Subform) { + pValue->SetBoolean(false); + return; + } + pValue->SetBoolean(GetContent(false).IsEmpty()); +} + +void CJX_Node::oneOfChild(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + if (bSetting) { + ThrowInvalidPropertyException(); + return; + } + + std::vector<CXFA_Node*> properties = GetXFANode()->GetNodeList( + XFA_NODEFILTER_OneOfProperty, XFA_Element::Unknown); + if (!properties.empty()) { + pValue->Assign(GetDocument()->GetScriptContext()->GetJSValueFromMap( + properties.front())); + } +} + int32_t CJX_Node::execSingleEventByName(const WideStringView& wsEventName, XFA_Element eType) { CXFA_FFNotify* pNotify = GetDocument()->GetNotify(); diff --git a/fxjs/xfa/cjx_node.h b/fxjs/xfa/cjx_node.h index f54239aa67..f7cbce855b 100644 --- a/fxjs/xfa/cjx_node.h +++ b/fxjs/xfa/cjx_node.h @@ -19,9 +19,6 @@ class CJX_Node : public CJX_Tree { explicit CJX_Node(CXFA_Node* node); ~CJX_Node() override; - CXFA_Node* GetXFANode(); - const CXFA_Node* GetXFANode() const; - JS_METHOD(applyXSL, CJX_Node); JS_METHOD(assignNode, CJX_Node); JS_METHOD(clone, CJX_Node); @@ -34,6 +31,16 @@ class CJX_Node : public CJX_Tree { JS_METHOD(setAttribute, CJX_Node); JS_METHOD(setElement, CJX_Node); + JS_PROP(id); + JS_PROP(isContainer); + JS_PROP(isNull); + JS_PROP(model); + JS_PROP(ns); + JS_PROP(oneOfChild); + + CXFA_Node* GetXFANode(); + const CXFA_Node* GetXFANode() const; + protected: int32_t execSingleEventByName(const WideStringView& wsEventName, XFA_Element eType); diff --git a/fxjs/xfa/cjx_numericedit.cpp b/fxjs/xfa/cjx_numericedit.cpp new file mode 100644 index 0000000000..c76cc66bf8 --- /dev/null +++ b/fxjs/xfa/cjx_numericedit.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_numericedit.h" + +#include "xfa/fxfa/parser/cxfa_numericedit.h" + +CJX_NumericEdit::CJX_NumericEdit(CXFA_NumericEdit* node) : CJX_Node(node) {} + +CJX_NumericEdit::~CJX_NumericEdit() = default; + +void CJX_NumericEdit::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_NumericEdit::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_NumericEdit::hScrollPolicy(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_numericedit.h b/fxjs/xfa/cjx_numericedit.h new file mode 100644 index 0000000000..43f9d001dc --- /dev/null +++ b/fxjs/xfa/cjx_numericedit.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_NUMERICEDIT_H_ +#define FXJS_XFA_CJX_NUMERICEDIT_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_NumericEdit; + +class CJX_NumericEdit : public CJX_Node { + public: + explicit CJX_NumericEdit(CXFA_NumericEdit* node); + ~CJX_NumericEdit() override; + + JS_PROP(hScrollPolicy); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_NUMERICEDIT_H_ diff --git a/fxjs/xfa/cjx_object.cpp b/fxjs/xfa/cjx_object.cpp index fc708584d7..c1503af22d 100644 --- a/fxjs/xfa/cjx_object.cpp +++ b/fxjs/xfa/cjx_object.cpp @@ -14,6 +14,10 @@ #include "fxjs/cfxjse_engine.h" #include "fxjs/cfxjse_value.h" #include "fxjs/cjs_return.h" +#include "fxjs/xfa/cjx_boolean.h" +#include "fxjs/xfa/cjx_draw.h" +#include "fxjs/xfa/cjx_field.h" +#include "fxjs/xfa/cjx_instancemanager.h" #include "third_party/base/ptr_util.h" #include "xfa/fxfa/cxfa_ffnotify.h" #include "xfa/fxfa/cxfa_ffwidget.h" @@ -125,9 +129,9 @@ CXFA_Document* CJX_Object::GetDocument() const { return object_->GetDocument(); } -void CJX_Object::Script_ObjectClass_ClassName(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { +void CJX_Object::className(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { if (bSetting) { ThrowInvalidPropertyException(); return; @@ -136,6 +140,20 @@ void CJX_Object::Script_ObjectClass_ClassName(CFXJSE_Value* pValue, FX_UTF8Encode(GetXFAObject()->GetClassName()).AsStringView()); } +int32_t CJX_Object::Subform_and_SubformSet_InstanceIndex() { + int32_t index = 0; + for (CXFA_Node* pNode = + ToNode(GetXFAObject())->GetNodeItem(XFA_NODEITEM_PrevSibling); + pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_PrevSibling)) { + if ((pNode->GetElementType() != XFA_Element::Subform) && + (pNode->GetElementType() != XFA_Element::SubformSet)) { + break; + } + index++; + } + return index; +} + bool CJX_Object::HasMethod(const WideString& func) const { return pdfium::ContainsKey(method_specs_, func.UTF8Encode()); } @@ -844,6 +862,36 @@ pdfium::Optional<WideString> CJX_Object::TryContent(bool bScriptModify, return {}; } +pdfium::Optional<WideString> CJX_Object::TryNamespace() { + if (ToNode(GetXFAObject())->IsModelNode() || + ToNode(GetXFAObject())->GetElementType() == XFA_Element::Packet) { + CFX_XMLNode* pXMLNode = ToNode(GetXFAObject())->GetXMLMappingNode(); + if (!pXMLNode || pXMLNode->GetType() != FX_XMLNODE_Element) + return {}; + + return {static_cast<CFX_XMLElement*>(pXMLNode)->GetNamespaceURI()}; + } + + if (ToNode(GetXFAObject())->GetPacketType() != XFA_PacketType::Datasets) + return ToNode(GetXFAObject())->GetModelNode()->JSObject()->TryNamespace(); + + CFX_XMLNode* pXMLNode = ToNode(GetXFAObject())->GetXMLMappingNode(); + if (!pXMLNode || pXMLNode->GetType() != FX_XMLNODE_Element) + return {}; + + if (ToNode(GetXFAObject())->GetElementType() == XFA_Element::DataValue && + GetEnum(XFA_Attribute::Contains) == XFA_AttributeEnum::MetaData) { + WideString wsNamespace; + bool ret = XFA_FDEExtension_ResolveNamespaceQualifier( + static_cast<CFX_XMLElement*>(pXMLNode), + GetCData(XFA_Attribute::QualifiedName), &wsNamespace); + if (!ret) + return {}; + return {wsNamespace}; + } + return {static_cast<CFX_XMLElement*>(pXMLNode)->GetNamespaceURI()}; +} + CXFA_Node* CJX_Object::GetProperty(int32_t index, XFA_Element eProperty, bool bCreateProperty) { @@ -1408,32 +1456,47 @@ void CJX_Object::Script_Som_ValidationMessage(CFXJSE_Value* pValue, Script_Som_Message(pValue, bSetting, XFA_SOM_ValidationMessage); } -void CJX_Object::Script_Field_FormatMessage(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - Script_Som_Message(pValue, bSetting, XFA_SOM_FormatMessage); -} - void CJX_Object::Script_Som_MandatoryMessage(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { Script_Som_Message(pValue, bSetting, XFA_SOM_MandatoryMessage); } +void CJX_Object::Script_Field_Length(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + if (bSetting) { + ThrowInvalidPropertyException(); + return; + } + if (!widget_data_) { + pValue->SetInteger(0); + return; + } + pValue->SetInteger(widget_data_->CountChoiceListItems(true)); +} + void CJX_Object::Script_Som_DefaultValue(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute /* unused */) { XFA_Element eType = ToNode(GetXFAObject())->GetElementType(); + + // TODO(dsinclair): This should look through the properties on the node to see + // if defaultValue is defined and, if so, call that one. Just have to make + // sure that those defaultValue calls don't call back to this one .... if (eType == XFA_Element::Field) { - Script_Field_DefaultValue(pValue, bSetting, XFA_Attribute::Unknown); + static_cast<CJX_Field*>(this)->defaultValue(pValue, bSetting, + XFA_Attribute::Unknown); return; } if (eType == XFA_Element::Draw) { - Script_Draw_DefaultValue(pValue, bSetting, XFA_Attribute::Unknown); + static_cast<CJX_Draw*>(this)->defaultValue(pValue, bSetting, + XFA_Attribute::Unknown); return; } if (eType == XFA_Element::Boolean) { - Script_Boolean_DefaultValue(pValue, bSetting, XFA_Attribute::Unknown); + static_cast<CJX_Boolean*>(this)->defaultValue(pValue, bSetting, + XFA_Attribute::Unknown); return; } @@ -1558,7 +1621,8 @@ void CJX_Object::Script_Som_InstanceIndex(CFXJSE_Value* pValue, if (!pManagerNode) return; - pManagerNode->JSObject()->InstanceManager_MoveInstance(iTo, iFrom); + auto* mgr = static_cast<CJX_InstanceManager*>(pManagerNode->JSObject()); + mgr->MoveInstance(iTo, iFrom); CXFA_FFNotify* pNotify = GetDocument()->GetNotify(); if (!pNotify) return; @@ -1575,322 +1639,9 @@ void CJX_Object::Script_Som_InstanceIndex(CFXJSE_Value* pValue, } } -void CJX_Object::Script_Field_DefaultValue(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - if (!widget_data_) - return; - - if (bSetting) { - if (pValue) { - widget_data_->SetPreNull(widget_data_->IsNull()); - widget_data_->SetIsNull(pValue->IsNull()); - } - - WideString wsNewText; - if (pValue && !(pValue->IsNull() || pValue->IsUndefined())) - wsNewText = pValue->ToWideString(); - - CXFA_Node* pUIChild = widget_data_->GetUIChild(); - if (pUIChild->GetElementType() == XFA_Element::NumericEdit) { - wsNewText = - widget_data_->NumericLimit(wsNewText, widget_data_->GetLeadDigits(), - widget_data_->GetFracDigits()); - } - - CXFA_WidgetData* pContainerWidgetData = - ToNode(GetXFAObject())->GetContainerWidgetData(); - WideString wsFormatText(wsNewText); - if (pContainerWidgetData) - wsFormatText = pContainerWidgetData->GetFormatDataValue(wsNewText); - - SetContent(wsNewText, wsFormatText, true, true, true); - return; - } - - WideString content = GetContent(true); - if (content.IsEmpty()) { - pValue->SetNull(); - return; - } - - CXFA_Node* pUIChild = widget_data_->GetUIChild(); - CXFA_Node* pNode = widget_data_->GetFormValueData().GetNode()->GetNodeItem( - XFA_NODEITEM_FirstChild); - if (pNode && pNode->GetElementType() == XFA_Element::Decimal) { - if (pUIChild->GetElementType() == XFA_Element::NumericEdit && - (pNode->JSObject()->GetInteger(XFA_Attribute::FracDigits) == -1)) { - pValue->SetString(content.UTF8Encode().AsStringView()); - } else { - CFX_Decimal decimal(content.AsStringView()); - pValue->SetFloat((float)(double)decimal); - } - } else if (pNode && pNode->GetElementType() == XFA_Element::Integer) { - pValue->SetInteger(FXSYS_wtoi(content.c_str())); - } else if (pNode && pNode->GetElementType() == XFA_Element::Boolean) { - pValue->SetBoolean(FXSYS_wtoi(content.c_str()) == 0 ? false : true); - } else if (pNode && pNode->GetElementType() == XFA_Element::Float) { - CFX_Decimal decimal(content.AsStringView()); - pValue->SetFloat((float)(double)decimal); - } else { - pValue->SetString(content.UTF8Encode().AsStringView()); - } -} - -void CJX_Object::Script_Boolean_DefaultValue(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - if (!bSetting) { - WideString wsValue = GetContent(true); - pValue->SetBoolean(wsValue == L"1"); - return; - } - - ByteString newValue; - if (pValue && !(pValue->IsNull() || pValue->IsUndefined())) - newValue = pValue->ToString(); - - int32_t iValue = FXSYS_atoi(newValue.c_str()); - WideString wsNewValue(iValue == 0 ? L"0" : L"1"); - WideString wsFormatValue(wsNewValue); - CXFA_WidgetData* pContainerWidgetData = - ToNode(GetXFAObject())->GetContainerWidgetData(); - if (pContainerWidgetData) - wsFormatValue = pContainerWidgetData->GetFormatDataValue(wsNewValue); - - SetContent(wsNewValue, wsFormatValue, true, true, true); -} - -void CJX_Object::Script_Draw_DefaultValue(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - if (!bSetting) { - WideString content = GetContent(true); - if (content.IsEmpty()) - pValue->SetNull(); - else - pValue->SetString(content.UTF8Encode().AsStringView()); - - return; - } - - if (!pValue || !pValue->IsString()) - return; - if (widget_data_->GetUIType() != XFA_Element::Text) - return; - - WideString wsNewValue = pValue->ToWideString(); - SetContent(wsNewValue, wsNewValue, true, true, true); -} - -int32_t CJX_Object::Subform_and_SubformSet_InstanceIndex() { - int32_t index = 0; - for (CXFA_Node* pNode = - ToNode(GetXFAObject())->GetNodeItem(XFA_NODEITEM_PrevSibling); - pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_PrevSibling)) { - if ((pNode->GetElementType() != XFA_Element::Subform) && - (pNode->GetElementType() != XFA_Element::SubformSet)) { - break; - } - index++; - } - return index; -} - -void CJX_Object::Script_NodeClass_Ns(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - if (bSetting) { - ThrowInvalidPropertyException(); - return; - } - pValue->SetString( - TryNamespace().value_or(WideString()).UTF8Encode().AsStringView()); -} - -void CJX_Object::Script_NodeClass_Model(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - if (bSetting) { - ThrowInvalidPropertyException(); - return; - } - - pValue->Assign(GetDocument()->GetScriptContext()->GetJSValueFromMap( - ToNode(GetXFAObject())->GetModelNode())); -} - -void CJX_Object::Script_NodeClass_IsContainer(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - if (bSetting) { - ThrowInvalidPropertyException(); - return; - } - - pValue->SetBoolean(GetXFAObject()->IsContainerNode()); -} - -void CJX_Object::Script_NodeClass_IsNull(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - if (bSetting) { - ThrowInvalidPropertyException(); - return; - } - if (ToNode(GetXFAObject())->GetElementType() == XFA_Element::Subform) { - pValue->SetBoolean(false); - return; - } - pValue->SetBoolean(GetContent(false).IsEmpty()); -} - -void CJX_Object::Script_NodeClass_OneOfChild(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - if (bSetting) { - ThrowInvalidPropertyException(); - return; - } - - std::vector<CXFA_Node*> properties = - ToNode(GetXFAObject()) - ->GetNodeList(XFA_NODEFILTER_OneOfProperty, XFA_Element::Unknown); - if (!properties.empty()) { - pValue->Assign(GetDocument()->GetScriptContext()->GetJSValueFromMap( - properties.front())); - } -} - -void CJX_Object::Script_ModelClass_Context(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) {} - -void CJX_Object::Script_ModelClass_AliasNode(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) {} - -void CJX_Object::Script_Delta_CurrentValue(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) {} - -void CJX_Object::Script_Delta_SavedValue(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) {} - -void CJX_Object::Script_Delta_Target(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) {} - -void CJX_Object::Script_Field_Length(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - if (bSetting) { - ThrowInvalidPropertyException(); - return; - } - if (!widget_data_) { - pValue->SetInteger(0); - return; - } - pValue->SetInteger(widget_data_->CountChoiceListItems(true)); -} - -void CJX_Object::Script_Field_EditValue(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - if (!widget_data_) - return; - - if (bSetting) { - widget_data_->SetValue(XFA_VALUEPICTURE_Edit, pValue->ToWideString()); - return; - } - pValue->SetString(widget_data_->GetValue(XFA_VALUEPICTURE_Edit) - .UTF8Encode() - .AsStringView()); -} - -void CJX_Object::Script_Field_FormattedValue(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - if (!widget_data_) - return; - - if (bSetting) { - widget_data_->SetValue(XFA_VALUEPICTURE_Display, pValue->ToWideString()); - return; - } - pValue->SetString(widget_data_->GetValue(XFA_VALUEPICTURE_Display) - .UTF8Encode() - .AsStringView()); -} - -void CJX_Object::Script_Field_ParentSubform(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - if (bSetting) { - ThrowInvalidPropertyException(); - return; - } - pValue->SetNull(); -} - -void CJX_Object::Script_Field_SelectedIndex(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - if (!widget_data_) - return; - - if (!bSetting) { - pValue->SetInteger(widget_data_->GetSelectedItem(0)); - return; - } - - int32_t iIndex = pValue->ToInteger(); - if (iIndex == -1) { - widget_data_->ClearAllSelections(); - return; - } - - widget_data_->SetItemState(iIndex, true, true, true, true); -} - -void CJX_Object::Script_ExclGroup_ErrorText(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - if (bSetting) - ThrowInvalidPropertyException(); -} - -void CJX_Object::Script_ExclGroup_DefaultAndRawValue(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - if (!widget_data_) - return; - - if (bSetting) { - widget_data_->SetSelectedMemberByValue( - pValue->ToWideString().AsStringView(), true, true, true); - return; - } - - WideString wsValue = GetContent(true); - XFA_VERSION curVersion = GetDocument()->GetCurVersionMode(); - if (wsValue.IsEmpty() && curVersion >= XFA_VERSION_300) { - pValue->SetNull(); - return; - } - pValue->SetString(wsValue.UTF8Encode().AsStringView()); -} - -void CJX_Object::Script_ExclGroup_Transient(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) {} - void CJX_Object::Script_Subform_InstanceManager(CFXJSE_Value* pValue, bool bSetting, - XFA_Attribute eAttribute) { + XFA_AttributeEnum eAttribute) { if (bSetting) { ThrowInvalidPropertyException(); return; @@ -1920,72 +1671,9 @@ void CJX_Object::Script_Subform_InstanceManager(CFXJSE_Value* pValue, GetDocument()->GetScriptContext()->GetJSValueFromMap(pInstanceMgr)); } -void CJX_Object::Script_Subform_Locale(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - if (bSetting) { - SetCData(XFA_Attribute::Locale, pValue->ToWideString(), true, true); - return; - } - - WideString wsLocaleName; - ToNode(GetXFAObject())->GetLocaleName(wsLocaleName); - pValue->SetString(wsLocaleName.UTF8Encode().AsStringView()); -} - -void CJX_Object::Script_InstanceManager_Max(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - if (bSetting) { - ThrowInvalidPropertyException(); - return; - } - pValue->SetInteger( - CXFA_OccurData(ToNode(GetXFAObject())->GetOccurNode()).GetMax()); -} - -void CJX_Object::Script_InstanceManager_Min(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - if (bSetting) { - ThrowInvalidPropertyException(); - return; - } - pValue->SetInteger( - CXFA_OccurData(ToNode(GetXFAObject())->GetOccurNode()).GetMin()); -} - -void CJX_Object::Script_InstanceManager_Count(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - if (bSetting) { - pValue->SetInteger(ToNode(GetXFAObject())->GetCount()); - return; - } - InstanceManager_SetInstances(pValue->ToInteger()); -} - -void CJX_Object::Script_Occur_Max(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - CXFA_OccurData occurData(ToNode(GetXFAObject())); - if (!bSetting) { - pValue->SetInteger(occurData.GetMax()); - return; - } - occurData.SetMax(pValue->ToInteger()); -} - -void CJX_Object::Script_Occur_Min(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - CXFA_OccurData occurData(ToNode(GetXFAObject())); - if (!bSetting) { - pValue->SetInteger(occurData.GetMin()); - return; - } - occurData.SetMin(pValue->ToInteger()); -} +void CJX_Object::Script_SubmitFormat_Mode(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) {} void CJX_Object::Script_Form_Checksum(CFXJSE_Value* pValue, bool bSetting, @@ -2001,179 +1689,9 @@ void CJX_Object::Script_Form_Checksum(CFXJSE_Value* pValue, pValue->SetString(checksum ? checksum->UTF8Encode().AsStringView() : ""); } -void CJX_Object::Script_Packet_Content(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - CFX_XMLNode* pXMLNode = ToNode(GetXFAObject())->GetXMLMappingNode(); - if (bSetting) { - if (pXMLNode && pXMLNode->GetType() == FX_XMLNODE_Element) { - CFX_XMLElement* pXMLElement = static_cast<CFX_XMLElement*>(pXMLNode); - pXMLElement->SetTextData(pValue->ToWideString()); - } - return; - } - - WideString wsTextData; - if (pXMLNode && pXMLNode->GetType() == FX_XMLNODE_Element) { - CFX_XMLElement* pXMLElement = static_cast<CFX_XMLElement*>(pXMLNode); - wsTextData = pXMLElement->GetTextData(); - } - - pValue->SetString(wsTextData.UTF8Encode().AsStringView()); -} - -void CJX_Object::Script_Source_Db(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) {} - -void CJX_Object::Script_Xfa_This(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { +void CJX_Object::Script_ExclGroup_ErrorText(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { if (bSetting) - return; - - CXFA_Object* pThis = GetDocument()->GetScriptContext()->GetThisObject(); - ASSERT(pThis); - pValue->Assign(GetDocument()->GetScriptContext()->GetJSValueFromMap(pThis)); -} - -void CJX_Object::Script_Handler_Version(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) {} - -void CJX_Object::Script_SubmitFormat_Mode(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) {} - -void CJX_Object::Script_Extras_Type(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) {} - -void CJX_Object::Script_Script_Stateless(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) { - if (bSetting) { ThrowInvalidPropertyException(); - return; - } - pValue->SetString(FX_UTF8Encode(WideStringView(L"0", 1)).AsStringView()); -} - -void CJX_Object::Script_Encrypt_Format(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute) {} - -pdfium::Optional<WideString> CJX_Object::TryNamespace() { - if (ToNode(GetXFAObject())->IsModelNode() || - ToNode(GetXFAObject())->GetElementType() == XFA_Element::Packet) { - CFX_XMLNode* pXMLNode = ToNode(GetXFAObject())->GetXMLMappingNode(); - if (!pXMLNode || pXMLNode->GetType() != FX_XMLNODE_Element) - return {}; - - return {static_cast<CFX_XMLElement*>(pXMLNode)->GetNamespaceURI()}; - } - - if (ToNode(GetXFAObject())->GetPacketType() != XFA_PacketType::Datasets) - return ToNode(GetXFAObject())->GetModelNode()->JSObject()->TryNamespace(); - - CFX_XMLNode* pXMLNode = ToNode(GetXFAObject())->GetXMLMappingNode(); - if (!pXMLNode || pXMLNode->GetType() != FX_XMLNODE_Element) - return {}; - - if (ToNode(GetXFAObject())->GetElementType() == XFA_Element::DataValue && - GetEnum(XFA_Attribute::Contains) == XFA_AttributeEnum::MetaData) { - WideString wsNamespace; - bool ret = XFA_FDEExtension_ResolveNamespaceQualifier( - static_cast<CFX_XMLElement*>(pXMLNode), - GetCData(XFA_Attribute::QualifiedName), &wsNamespace); - if (!ret) - return {}; - return {wsNamespace}; - } - return {static_cast<CFX_XMLElement*>(pXMLNode)->GetNamespaceURI()}; -} - -int32_t CJX_Object::InstanceManager_SetInstances(int32_t iDesired) { - CXFA_OccurData occurData(ToNode(GetXFAObject())->GetOccurNode()); - if (iDesired < occurData.GetMin()) { - ThrowTooManyOccurancesException(L"min"); - return 1; - } - - int32_t iMax = occurData.GetMax(); - if (iMax >= 0 && iDesired > iMax) { - ThrowTooManyOccurancesException(L"max"); - return 2; - } - - int32_t iCount = ToNode(GetXFAObject())->GetCount(); - if (iDesired == iCount) - return 0; - - if (iDesired < iCount) { - WideString wsInstManagerName = GetCData(XFA_Attribute::Name); - WideString wsInstanceName = WideString( - wsInstManagerName.IsEmpty() - ? wsInstManagerName - : wsInstManagerName.Right(wsInstManagerName.GetLength() - 1)); - uint32_t dInstanceNameHash = - FX_HashCode_GetW(wsInstanceName.AsStringView(), false); - CXFA_Node* pPrevSibling = - iDesired == 0 ? ToNode(GetXFAObject()) - : ToNode(GetXFAObject())->GetItem(iDesired - 1); - while (iCount > iDesired) { - CXFA_Node* pRemoveInstance = - pPrevSibling->GetNodeItem(XFA_NODEITEM_NextSibling); - if (pRemoveInstance->GetElementType() != XFA_Element::Subform && - pRemoveInstance->GetElementType() != XFA_Element::SubformSet) { - continue; - } - if (pRemoveInstance->GetElementType() == XFA_Element::InstanceManager) { - NOTREACHED(); - break; - } - if (pRemoveInstance->GetNameHash() == dInstanceNameHash) { - ToNode(GetXFAObject())->RemoveItem(pRemoveInstance, true); - iCount--; - } - } - } else { - while (iCount < iDesired) { - CXFA_Node* pNewInstance = ToNode(GetXFAObject())->CreateInstance(true); - ToNode(GetXFAObject())->InsertItem(pNewInstance, iCount, iCount, false); - iCount++; - CXFA_FFNotify* pNotify = GetDocument()->GetNotify(); - if (!pNotify) - return 0; - - pNotify->RunNodeInitialize(pNewInstance); - } - } - - CXFA_LayoutProcessor* pLayoutPro = GetDocument()->GetLayoutProcessor(); - if (pLayoutPro) { - pLayoutPro->AddChangedContainer( - ToNode(GetDocument()->GetXFAObject(XFA_HASHCODE_Form))); - } - return 0; -} - -int32_t CJX_Object::InstanceManager_MoveInstance(int32_t iTo, int32_t iFrom) { - int32_t iCount = ToNode(GetXFAObject())->GetCount(); - if (iFrom > iCount || iTo > iCount - 1) { - ThrowIndexOutOfBoundsException(); - return 1; - } - if (iFrom < 0 || iTo < 0 || iFrom == iTo) - return 0; - - CXFA_Node* pMoveInstance = ToNode(GetXFAObject())->GetItem(iFrom); - ToNode(GetXFAObject())->RemoveItem(pMoveInstance, false); - ToNode(GetXFAObject())->InsertItem(pMoveInstance, iTo, iCount - 1, true); - CXFA_LayoutProcessor* pLayoutPro = GetDocument()->GetLayoutProcessor(); - if (pLayoutPro) { - pLayoutPro->AddChangedContainer( - ToNode(GetDocument()->GetXFAObject(XFA_HASHCODE_Form))); - } - return 0; } diff --git a/fxjs/xfa/cjx_object.h b/fxjs/xfa/cjx_object.h index b704037e4f..cf2ede7abf 100644 --- a/fxjs/xfa/cjx_object.h +++ b/fxjs/xfa/cjx_object.h @@ -15,6 +15,7 @@ #include "core/fxcrt/unowned_ptr.h" #include "core/fxcrt/widestring.h" #include "core/fxcrt/xml/cfx_xmlelement.h" +#include "fxjs/CJX_Define.h" #include "third_party/base/optional.h" #include "xfa/fxfa/fxfa_basic.h" #include "xfa/fxfa/parser/cxfa_widgetdata.h" @@ -44,11 +45,19 @@ struct XFA_MAPDATABLOCKCALLBACKINFO { PD_CALLBACK_DUPLICATEDATA pCopy; }; +enum XFA_SOM_MESSAGETYPE { + XFA_SOM_ValidationMessage, + XFA_SOM_FormatMessage, + XFA_SOM_MandatoryMessage +}; + class CJX_Object { public: explicit CJX_Object(CXFA_Object* obj); virtual ~CJX_Object(); + JS_PROP(className); + CXFA_Object* GetXFAObject() { return object_.Get(); } const CXFA_Object* GetXFAObject() const { return object_.Get(); } @@ -129,9 +138,9 @@ class CJX_Object { void Script_Som_MandatoryMessage(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void Script_Field_FormatMessage(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); + void Script_Field_Length(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute); void Script_Som_DefaultValue(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); @@ -147,114 +156,21 @@ class CJX_Object { void Script_Som_InstanceIndex(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - - void Script_NodeClass_Ns(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_NodeClass_Model(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_NodeClass_IsContainer(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_NodeClass_IsNull(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_NodeClass_OneOfChild(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_ModelClass_Context(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_ModelClass_AliasNode(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_Delta_CurrentValue(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_Delta_SavedValue(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_Delta_Target(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_Field_Length(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_Field_EditValue(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_Field_FormattedValue(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_Field_ParentSubform(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_Field_SelectedIndex(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_ExclGroup_DefaultAndRawValue(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_ExclGroup_ErrorText(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_ExclGroup_Transient(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - + void Script_Som_Message(CFXJSE_Value* pValue, + bool bSetting, + XFA_SOM_MESSAGETYPE iMessageType); void Script_Subform_InstanceManager(CFXJSE_Value* pValue, bool bSetting, - XFA_Attribute eAttribute); - void Script_Subform_Locale(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_InstanceManager_Count(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_InstanceManager_Max(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_InstanceManager_Min(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - - void Script_Occur_Max(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_Occur_Min(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - - void Script_Form_Checksum(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - - void Script_Packet_Content(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - - void Script_Source_Db(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_Xfa_This(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_Handler_Version(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); + XFA_AttributeEnum eAttribute); void Script_SubmitFormat_Mode(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void Script_Extras_Type(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_Encrypt_Format(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_Script_Stateless(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); + void Script_Form_Checksum(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute); + void Script_ExclGroup_ErrorText(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute); pdfium::Optional<WideString> TryNamespace(); @@ -283,10 +199,6 @@ class CJX_Object { bool SetMeasure(XFA_Attribute eAttr, CXFA_Measurement mValue, bool bNotify); CXFA_Measurement GetMeasure(XFA_Attribute eAttr) const; - void Script_ObjectClass_ClassName(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void MergeAllData(CXFA_Object* pDstModule); void SetCalcData(std::unique_ptr<CXFA_CalcData> data); @@ -310,25 +222,6 @@ class CJX_Object { void ThrowException(const wchar_t* str, ...) const; private: - enum XFA_SOM_MESSAGETYPE { - XFA_SOM_ValidationMessage, - XFA_SOM_FormatMessage, - XFA_SOM_MandatoryMessage - }; - void Script_Som_Message(CFXJSE_Value* pValue, - bool bSetting, - XFA_SOM_MESSAGETYPE iMessageType); - void Script_Boolean_DefaultValue(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_Draw_DefaultValue(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void Script_Field_DefaultValue(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - int32_t Subform_and_SubformSet_InstanceIndex(); - void OnChanged(XFA_Attribute eAttr, bool bNotify, bool bScriptModify); void OnChanging(XFA_Attribute eAttr, bool bNotify); bool SetUserData(void* pKey, @@ -341,6 +234,7 @@ class CJX_Object { XFA_AttributeType eType, void* pValue, bool bNotify); + int32_t Subform_and_SubformSet_InstanceIndex(); XFA_MAPMODULEDATA* CreateMapModuleData(); XFA_MAPMODULEDATA* GetMapModuleData() const; diff --git a/fxjs/xfa/cjx_occur.cpp b/fxjs/xfa/cjx_occur.cpp new file mode 100644 index 0000000000..f5540c0c7a --- /dev/null +++ b/fxjs/xfa/cjx_occur.cpp @@ -0,0 +1,57 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_occur.h" + +#include <algorithm> + +#include "fxjs/cfxjse_value.h" +#include "xfa/fxfa/parser/cxfa_occur.h" +#include "xfa/fxfa/parser/cxfa_occurdata.h" + +CJX_Occur::CJX_Occur(CXFA_Occur* node) : CJX_Node(node) {} + +CJX_Occur::~CJX_Occur() = default; + +void CJX_Occur::max(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + CXFA_OccurData occurData(GetXFANode()); + if (!bSetting) { + pValue->SetInteger(occurData.GetMax()); + return; + } + occurData.SetMax(pValue->ToInteger()); +} + +void CJX_Occur::min(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + CXFA_OccurData occurData(GetXFANode()); + if (!bSetting) { + pValue->SetInteger(occurData.GetMin()); + return; + } + occurData.SetMin(pValue->ToInteger()); +} + +void CJX_Occur::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Occur::initial(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Occur::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_occur.h b/fxjs/xfa/cjx_occur.h new file mode 100644 index 0000000000..fe174238ec --- /dev/null +++ b/fxjs/xfa/cjx_occur.h @@ -0,0 +1,26 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_OCCUR_H_ +#define FXJS_XFA_CJX_OCCUR_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Occur; + +class CJX_Occur : public CJX_Node { + public: + explicit CJX_Occur(CXFA_Occur* node); + ~CJX_Occur() override; + + JS_PROP(initial); + JS_PROP(max); + JS_PROP(min); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_OCCUR_H_ diff --git a/fxjs/xfa/cjx_oid.cpp b/fxjs/xfa/cjx_oid.cpp new file mode 100644 index 0000000000..1320f8df7e --- /dev/null +++ b/fxjs/xfa/cjx_oid.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_oid.h" + +#include "xfa/fxfa/parser/cxfa_oid.h" + +CJX_Oid::CJX_Oid(CXFA_Oid* node) : CJX_TextNode(node) {} + +CJX_Oid::~CJX_Oid() = default; + +void CJX_Oid::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Oid::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_oid.h b/fxjs/xfa/cjx_oid.h new file mode 100644 index 0000000000..2578388c2f --- /dev/null +++ b/fxjs/xfa/cjx_oid.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_OID_H_ +#define FXJS_XFA_CJX_OID_H_ + +#include "fxjs/xfa/cjx_textnode.h" + +class CXFA_Oid; + +class CJX_Oid : public CJX_TextNode { + public: + explicit CJX_Oid(CXFA_Oid* node); + ~CJX_Oid() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_OID_H_ diff --git a/fxjs/xfa/cjx_oids.cpp b/fxjs/xfa/cjx_oids.cpp new file mode 100644 index 0000000000..a00697479b --- /dev/null +++ b/fxjs/xfa/cjx_oids.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_oids.h" + +#include "xfa/fxfa/parser/cxfa_oids.h" + +CJX_Oids::CJX_Oids(CXFA_Oids* node) : CJX_Node(node) {} + +CJX_Oids::~CJX_Oids() = default; + +void CJX_Oids::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Oids::type(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Oids::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_oids.h b/fxjs/xfa/cjx_oids.h new file mode 100644 index 0000000000..9951206420 --- /dev/null +++ b/fxjs/xfa/cjx_oids.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_OIDS_H_ +#define FXJS_XFA_CJX_OIDS_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Oids; + +class CJX_Oids : public CJX_Node { + public: + explicit CJX_Oids(CXFA_Oids* node); + ~CJX_Oids() override; + + JS_PROP(type); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_OIDS_H_ diff --git a/fxjs/xfa/cjx_operation.cpp b/fxjs/xfa/cjx_operation.cpp new file mode 100644 index 0000000000..bb412bd71f --- /dev/null +++ b/fxjs/xfa/cjx_operation.cpp @@ -0,0 +1,37 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_operation.h" + +#include "xfa/fxfa/parser/cxfa_operation.h" + +CJX_Operation::CJX_Operation(CXFA_Operation* node) : CJX_TextNode(node) {} + +CJX_Operation::~CJX_Operation() = default; + +void CJX_Operation::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Operation::output(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Operation::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Operation::input(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_operation.h b/fxjs/xfa/cjx_operation.h new file mode 100644 index 0000000000..b32ea62594 --- /dev/null +++ b/fxjs/xfa/cjx_operation.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_OPERATION_H_ +#define FXJS_XFA_CJX_OPERATION_H_ + +#include "fxjs/xfa/cjx_textnode.h" + +class CXFA_Operation; + +class CJX_Operation : public CJX_TextNode { + public: + explicit CJX_Operation(CXFA_Operation* node); + ~CJX_Operation() override; + + JS_PROP(input); + JS_PROP(output); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_OPERATION_H_ diff --git a/fxjs/xfa/cjx_overflow.cpp b/fxjs/xfa/cjx_overflow.cpp new file mode 100644 index 0000000000..b6572d4e7c --- /dev/null +++ b/fxjs/xfa/cjx_overflow.cpp @@ -0,0 +1,43 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_overflow.h" + +#include "xfa/fxfa/parser/cxfa_overflow.h" + +CJX_Overflow::CJX_Overflow(CXFA_Overflow* node) : CJX_Node(node) {} + +CJX_Overflow::~CJX_Overflow() = default; + +void CJX_Overflow::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Overflow::trailer(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Overflow::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Overflow::target(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Overflow::leader(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_overflow.h b/fxjs/xfa/cjx_overflow.h new file mode 100644 index 0000000000..c4f94b8599 --- /dev/null +++ b/fxjs/xfa/cjx_overflow.h @@ -0,0 +1,26 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_OVERFLOW_H_ +#define FXJS_XFA_CJX_OVERFLOW_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Overflow; + +class CJX_Overflow : public CJX_Node { + public: + explicit CJX_Overflow(CXFA_Overflow* node); + ~CJX_Overflow() override; + + JS_PROP(leader); + JS_PROP(target); + JS_PROP(trailer); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_OVERFLOW_H_ diff --git a/fxjs/xfa/cjx_packet.cpp b/fxjs/xfa/cjx_packet.cpp index 2203d9bc9e..fdebe626ab 100644 --- a/fxjs/xfa/cjx_packet.cpp +++ b/fxjs/xfa/cjx_packet.cpp @@ -68,3 +68,24 @@ CJS_Return CJX_Packet::removeAttribute( } return CJS_Return(runtime->NewNull()); } + +void CJX_Packet::content(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + CFX_XMLNode* pXMLNode = GetXFANode()->GetXMLMappingNode(); + if (bSetting) { + if (pXMLNode && pXMLNode->GetType() == FX_XMLNODE_Element) { + CFX_XMLElement* pXMLElement = static_cast<CFX_XMLElement*>(pXMLNode); + pXMLElement->SetTextData(pValue->ToWideString()); + } + return; + } + + WideString wsTextData; + if (pXMLNode && pXMLNode->GetType() == FX_XMLNODE_Element) { + CFX_XMLElement* pXMLElement = static_cast<CFX_XMLElement*>(pXMLNode); + wsTextData = pXMLElement->GetTextData(); + } + + pValue->SetString(wsTextData.UTF8Encode().AsStringView()); +} diff --git a/fxjs/xfa/cjx_packet.h b/fxjs/xfa/cjx_packet.h index b014a9d9ac..ac1c170fdd 100644 --- a/fxjs/xfa/cjx_packet.h +++ b/fxjs/xfa/cjx_packet.h @@ -21,6 +21,8 @@ class CJX_Packet : public CJX_Node { JS_METHOD(removeAttribute, CJX_Packet); JS_METHOD(setAttribute, CJX_Packet); + JS_PROP(content); + private: static const CJX_MethodSpec MethodSpecs[]; }; diff --git a/fxjs/xfa/cjx_pagearea.cpp b/fxjs/xfa/cjx_pagearea.cpp new file mode 100644 index 0000000000..4085d38798 --- /dev/null +++ b/fxjs/xfa/cjx_pagearea.cpp @@ -0,0 +1,61 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_pagearea.h" + +#include "xfa/fxfa/parser/cxfa_pagearea.h" + +CJX_PageArea::CJX_PageArea(CXFA_PageArea* node) : CJX_Container(node) {} + +CJX_PageArea::~CJX_PageArea() = default; + +void CJX_PageArea::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_PageArea::pagePosition(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_PageArea::oddOrEven(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_PageArea::relevant(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_PageArea::initialNumber(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_PageArea::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_PageArea::numbered(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_PageArea::blankOrNotBlank(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_pagearea.h b/fxjs/xfa/cjx_pagearea.h new file mode 100644 index 0000000000..8935fa6362 --- /dev/null +++ b/fxjs/xfa/cjx_pagearea.h @@ -0,0 +1,29 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_PAGEAREA_H_ +#define FXJS_XFA_CJX_PAGEAREA_H_ + +#include "fxjs/xfa/cjx_container.h" + +class CXFA_PageArea; + +class CJX_PageArea : public CJX_Container { + public: + explicit CJX_PageArea(CXFA_PageArea* node); + ~CJX_PageArea() override; + + JS_PROP(blankOrNotBlank); + JS_PROP(initialNumber); + JS_PROP(numbered); + JS_PROP(oddOrEven); + JS_PROP(pagePosition); + JS_PROP(relevant); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_PAGEAREA_H_ diff --git a/fxjs/xfa/cjx_pageset.cpp b/fxjs/xfa/cjx_pageset.cpp new file mode 100644 index 0000000000..cfab7904ed --- /dev/null +++ b/fxjs/xfa/cjx_pageset.cpp @@ -0,0 +1,37 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_pageset.h" + +#include "xfa/fxfa/parser/cxfa_pageset.h" + +CJX_PageSet::CJX_PageSet(CXFA_PageSet* node) : CJX_Container(node) {} + +CJX_PageSet::~CJX_PageSet() = default; + +void CJX_PageSet::relation(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_PageSet::relevant(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_PageSet::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_PageSet::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_pageset.h b/fxjs/xfa/cjx_pageset.h new file mode 100644 index 0000000000..7e0ab17443 --- /dev/null +++ b/fxjs/xfa/cjx_pageset.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_PAGESET_H_ +#define FXJS_XFA_CJX_PAGESET_H_ + +#include "fxjs/xfa/cjx_container.h" + +class CXFA_PageSet; + +class CJX_PageSet : public CJX_Container { + public: + explicit CJX_PageSet(CXFA_PageSet* node); + ~CJX_PageSet() override; + + JS_PROP(relation); + JS_PROP(relevant); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_PAGESET_H_ diff --git a/fxjs/xfa/cjx_para.cpp b/fxjs/xfa/cjx_para.cpp new file mode 100644 index 0000000000..3a12e4736f --- /dev/null +++ b/fxjs/xfa/cjx_para.cpp @@ -0,0 +1,97 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_para.h" + +#include "xfa/fxfa/parser/cxfa_para.h" + +CJX_Para::CJX_Para(CXFA_Para* node) : CJX_Node(node) {} + +CJX_Para::~CJX_Para() = default; + +void CJX_Para::hAlign(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Para::textIndent(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Para::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Para::marginRight(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Para::marginLeft(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Para::radixOffset(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Para::preserve(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Para::spaceBelow(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Para::vAlign(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Para::tabDefault(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Para::tabStops(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Para::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Para::lineHeight(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Para::spaceAbove(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_para.h b/fxjs/xfa/cjx_para.h new file mode 100644 index 0000000000..6bf2841cf9 --- /dev/null +++ b/fxjs/xfa/cjx_para.h @@ -0,0 +1,35 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_PARA_H_ +#define FXJS_XFA_CJX_PARA_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Para; + +class CJX_Para : public CJX_Node { + public: + explicit CJX_Para(CXFA_Para* node); + ~CJX_Para() override; + + JS_PROP(hAlign); + JS_PROP(lineHeight); + JS_PROP(marginLeft); + JS_PROP(marginRight); + JS_PROP(preserve); + JS_PROP(radixOffset); + JS_PROP(spaceAbove); + JS_PROP(spaceBelow); + JS_PROP(tabDefault); + JS_PROP(tabStops); + JS_PROP(textIndent); + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(vAlign); +}; + +#endif // FXJS_XFA_CJX_PARA_H_ diff --git a/fxjs/xfa/cjx_password.cpp b/fxjs/xfa/cjx_password.cpp new file mode 100644 index 0000000000..a44354beec --- /dev/null +++ b/fxjs/xfa/cjx_password.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_password.h" + +#include "xfa/fxfa/parser/cxfa_password.h" + +CJX_Password::CJX_Password(CXFA_Password* node) : CJX_TextNode(node) {} + +CJX_Password::~CJX_Password() = default; + +void CJX_Password::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Password::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_password.h b/fxjs/xfa/cjx_password.h new file mode 100644 index 0000000000..ede93cc5ab --- /dev/null +++ b/fxjs/xfa/cjx_password.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_PASSWORD_H_ +#define FXJS_XFA_CJX_PASSWORD_H_ + +#include "fxjs/xfa/cjx_textnode.h" + +class CXFA_Password; + +class CJX_Password : public CJX_TextNode { + public: + explicit CJX_Password(CXFA_Password* node); + ~CJX_Password() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_PASSWORD_H_ diff --git a/fxjs/xfa/cjx_passwordedit.cpp b/fxjs/xfa/cjx_passwordedit.cpp new file mode 100644 index 0000000000..8b1c591a7a --- /dev/null +++ b/fxjs/xfa/cjx_passwordedit.cpp @@ -0,0 +1,37 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_passwordedit.h" + +#include "xfa/fxfa/parser/cxfa_passwordedit.h" + +CJX_PasswordEdit::CJX_PasswordEdit(CXFA_PasswordEdit* node) : CJX_Node(node) {} + +CJX_PasswordEdit::~CJX_PasswordEdit() = default; + +void CJX_PasswordEdit::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_PasswordEdit::passwordChar(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_PasswordEdit::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_PasswordEdit::hScrollPolicy(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_passwordedit.h b/fxjs/xfa/cjx_passwordedit.h new file mode 100644 index 0000000000..e4a5fcb9e5 --- /dev/null +++ b/fxjs/xfa/cjx_passwordedit.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_PASSWORDEDIT_H_ +#define FXJS_XFA_CJX_PASSWORDEDIT_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_PasswordEdit; + +class CJX_PasswordEdit : public CJX_Node { + public: + explicit CJX_PasswordEdit(CXFA_PasswordEdit* node); + ~CJX_PasswordEdit() override; + + JS_PROP(hScrollPolicy); + JS_PROP(passwordChar); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_PASSWORDEDIT_H_ diff --git a/fxjs/xfa/cjx_pattern.cpp b/fxjs/xfa/cjx_pattern.cpp new file mode 100644 index 0000000000..5acaa84f14 --- /dev/null +++ b/fxjs/xfa/cjx_pattern.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_pattern.h" + +#include "xfa/fxfa/parser/cxfa_pattern.h" + +CJX_Pattern::CJX_Pattern(CXFA_Pattern* node) : CJX_Node(node) {} + +CJX_Pattern::~CJX_Pattern() = default; + +void CJX_Pattern::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Pattern::type(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Pattern::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_pattern.h b/fxjs/xfa/cjx_pattern.h new file mode 100644 index 0000000000..81754b8ebc --- /dev/null +++ b/fxjs/xfa/cjx_pattern.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_PATTERN_H_ +#define FXJS_XFA_CJX_PATTERN_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Pattern; + +class CJX_Pattern : public CJX_Node { + public: + explicit CJX_Pattern(CXFA_Pattern* node); + ~CJX_Pattern() override; + + JS_PROP(type); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_PATTERN_H_ diff --git a/fxjs/xfa/cjx_picture.cpp b/fxjs/xfa/cjx_picture.cpp new file mode 100644 index 0000000000..81f5ec41f7 --- /dev/null +++ b/fxjs/xfa/cjx_picture.cpp @@ -0,0 +1,37 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_picture.h" + +#include "xfa/fxfa/parser/cxfa_picture.h" + +CJX_Picture::CJX_Picture(CXFA_Picture* node) : CJX_Node(node) {} + +CJX_Picture::~CJX_Picture() = default; + +void CJX_Picture::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Picture::defaultValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_DefaultValue(pValue, bSetting, eAttribute); +} + +void CJX_Picture::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Picture::value(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_DefaultValue(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_picture.h b/fxjs/xfa/cjx_picture.h new file mode 100644 index 0000000000..25497c3313 --- /dev/null +++ b/fxjs/xfa/cjx_picture.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_PICTURE_H_ +#define FXJS_XFA_CJX_PICTURE_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Picture; + +class CJX_Picture : public CJX_Node { + public: + explicit CJX_Picture(CXFA_Picture* node); + ~CJX_Picture() override; + + JS_PROP(defaultValue); /* {default} */ + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(value); +}; + +#endif // FXJS_XFA_CJX_PICTURE_H_ diff --git a/fxjs/xfa/cjx_query.cpp b/fxjs/xfa/cjx_query.cpp new file mode 100644 index 0000000000..f6f255fd12 --- /dev/null +++ b/fxjs/xfa/cjx_query.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_query.h" + +#include "xfa/fxfa/parser/cxfa_query.h" + +CJX_Query::CJX_Query(CXFA_Query* node) : CJX_Node(node) {} + +CJX_Query::~CJX_Query() = default; + +void CJX_Query::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Query::commandType(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Query::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_query.h b/fxjs/xfa/cjx_query.h new file mode 100644 index 0000000000..1057fa2040 --- /dev/null +++ b/fxjs/xfa/cjx_query.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_QUERY_H_ +#define FXJS_XFA_CJX_QUERY_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Query; + +class CJX_Query : public CJX_Node { + public: + explicit CJX_Query(CXFA_Query* node); + ~CJX_Query() override; + + JS_PROP(commandType); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_QUERY_H_ diff --git a/fxjs/xfa/cjx_radial.cpp b/fxjs/xfa/cjx_radial.cpp new file mode 100644 index 0000000000..bd8b1a207b --- /dev/null +++ b/fxjs/xfa/cjx_radial.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_radial.h" + +#include "xfa/fxfa/parser/cxfa_radial.h" + +CJX_Radial::CJX_Radial(CXFA_Radial* node) : CJX_Node(node) {} + +CJX_Radial::~CJX_Radial() = default; + +void CJX_Radial::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Radial::type(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Radial::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_radial.h b/fxjs/xfa/cjx_radial.h new file mode 100644 index 0000000000..30737976e5 --- /dev/null +++ b/fxjs/xfa/cjx_radial.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_RADIAL_H_ +#define FXJS_XFA_CJX_RADIAL_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Radial; + +class CJX_Radial : public CJX_Node { + public: + explicit CJX_Radial(CXFA_Radial* node); + ~CJX_Radial() override; + + JS_PROP(type); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_RADIAL_H_ diff --git a/fxjs/xfa/cjx_reason.cpp b/fxjs/xfa/cjx_reason.cpp new file mode 100644 index 0000000000..c9bb6c3d5d --- /dev/null +++ b/fxjs/xfa/cjx_reason.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_reason.h" + +#include "xfa/fxfa/parser/cxfa_reason.h" + +CJX_Reason::CJX_Reason(CXFA_Reason* node) : CJX_TextNode(node) {} + +CJX_Reason::~CJX_Reason() = default; + +void CJX_Reason::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Reason::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_reason.h b/fxjs/xfa/cjx_reason.h new file mode 100644 index 0000000000..465cedecbc --- /dev/null +++ b/fxjs/xfa/cjx_reason.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_REASON_H_ +#define FXJS_XFA_CJX_REASON_H_ + +#include "fxjs/xfa/cjx_textnode.h" + +class CXFA_Reason; + +class CJX_Reason : public CJX_TextNode { + public: + explicit CJX_Reason(CXFA_Reason* node); + ~CJX_Reason() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_REASON_H_ diff --git a/fxjs/xfa/cjx_reasons.cpp b/fxjs/xfa/cjx_reasons.cpp new file mode 100644 index 0000000000..11a986812a --- /dev/null +++ b/fxjs/xfa/cjx_reasons.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_reasons.h" + +#include "xfa/fxfa/parser/cxfa_reasons.h" + +CJX_Reasons::CJX_Reasons(CXFA_Reasons* node) : CJX_Node(node) {} + +CJX_Reasons::~CJX_Reasons() = default; + +void CJX_Reasons::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Reasons::type(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Reasons::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_reasons.h b/fxjs/xfa/cjx_reasons.h new file mode 100644 index 0000000000..a5da62ab3e --- /dev/null +++ b/fxjs/xfa/cjx_reasons.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_REASONS_H_ +#define FXJS_XFA_CJX_REASONS_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Reasons; + +class CJX_Reasons : public CJX_Node { + public: + explicit CJX_Reasons(CXFA_Reasons* node); + ~CJX_Reasons() override; + + JS_PROP(type); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_REASONS_H_ diff --git a/fxjs/xfa/cjx_recordset.cpp b/fxjs/xfa/cjx_recordset.cpp new file mode 100644 index 0000000000..c4fe21f60c --- /dev/null +++ b/fxjs/xfa/cjx_recordset.cpp @@ -0,0 +1,63 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_recordset.h" + +#include <algorithm> + +#include "xfa/fxfa/parser/cxfa_recordset.h" + +CJX_RecordSet::CJX_RecordSet(CXFA_RecordSet* node) : CJX_Node(node) {} + +CJX_RecordSet::~CJX_RecordSet() = default; + +void CJX_RecordSet::max(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_RecordSet::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_RecordSet::eofAction(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_RecordSet::cursorType(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_RecordSet::lockType(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_RecordSet::bofAction(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_RecordSet::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_RecordSet::cursorLocation(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_recordset.h b/fxjs/xfa/cjx_recordset.h new file mode 100644 index 0000000000..7c34f6e472 --- /dev/null +++ b/fxjs/xfa/cjx_recordset.h @@ -0,0 +1,29 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_RECORDSET_H_ +#define FXJS_XFA_CJX_RECORDSET_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_RecordSet; + +class CJX_RecordSet : public CJX_Node { + public: + explicit CJX_RecordSet(CXFA_RecordSet* node); + ~CJX_RecordSet() override; + + JS_PROP(bofAction); + JS_PROP(cursorLocation); + JS_PROP(cursorType); + JS_PROP(eofAction); + JS_PROP(lockType); + JS_PROP(max); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_RECORDSET_H_ diff --git a/fxjs/xfa/cjx_rectangle.cpp b/fxjs/xfa/cjx_rectangle.cpp new file mode 100644 index 0000000000..155a29f935 --- /dev/null +++ b/fxjs/xfa/cjx_rectangle.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_rectangle.h" + +#include "xfa/fxfa/parser/cxfa_rectangle.h" + +CJX_Rectangle::CJX_Rectangle(CXFA_Rectangle* node) : CJX_Node(node) {} + +CJX_Rectangle::~CJX_Rectangle() = default; + +void CJX_Rectangle::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Rectangle::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Rectangle::hand(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_rectangle.h b/fxjs/xfa/cjx_rectangle.h new file mode 100644 index 0000000000..c08f7a9eb1 --- /dev/null +++ b/fxjs/xfa/cjx_rectangle.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_RECTANGLE_H_ +#define FXJS_XFA_CJX_RECTANGLE_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Rectangle; + +class CJX_Rectangle : public CJX_Node { + public: + explicit CJX_Rectangle(CXFA_Rectangle* node); + ~CJX_Rectangle() override; + + JS_PROP(hand); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_RECTANGLE_H_ diff --git a/fxjs/xfa/cjx_ref.cpp b/fxjs/xfa/cjx_ref.cpp new file mode 100644 index 0000000000..5930815334 --- /dev/null +++ b/fxjs/xfa/cjx_ref.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_ref.h" + +#include "xfa/fxfa/parser/cxfa_ref.h" + +CJX_Ref::CJX_Ref(CXFA_Ref* node) : CJX_TextNode(node) {} + +CJX_Ref::~CJX_Ref() = default; + +void CJX_Ref::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Ref::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_ref.h b/fxjs/xfa/cjx_ref.h new file mode 100644 index 0000000000..4366282eed --- /dev/null +++ b/fxjs/xfa/cjx_ref.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_REF_H_ +#define FXJS_XFA_CJX_REF_H_ + +#include "fxjs/xfa/cjx_textnode.h" + +class CXFA_Ref; + +class CJX_Ref : public CJX_TextNode { + public: + explicit CJX_Ref(CXFA_Ref* node); + ~CJX_Ref() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_REF_H_ diff --git a/fxjs/xfa/cjx_rootelement.cpp b/fxjs/xfa/cjx_rootelement.cpp new file mode 100644 index 0000000000..31fbb006b6 --- /dev/null +++ b/fxjs/xfa/cjx_rootelement.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_rootelement.h" + +#include "xfa/fxfa/parser/cxfa_rootelement.h" + +CJX_RootElement::CJX_RootElement(CXFA_RootElement* node) : CJX_TextNode(node) {} + +CJX_RootElement::~CJX_RootElement() = default; + +void CJX_RootElement::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_RootElement::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_rootelement.h b/fxjs/xfa/cjx_rootelement.h new file mode 100644 index 0000000000..40790df64e --- /dev/null +++ b/fxjs/xfa/cjx_rootelement.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_ROOTELEMENT_H_ +#define FXJS_XFA_CJX_ROOTELEMENT_H_ + +#include "fxjs/xfa/cjx_textnode.h" + +class CXFA_RootElement; + +class CJX_RootElement : public CJX_TextNode { + public: + explicit CJX_RootElement(CXFA_RootElement* node); + ~CJX_RootElement() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_ROOTELEMENT_H_ diff --git a/fxjs/xfa/cjx_script.cpp b/fxjs/xfa/cjx_script.cpp new file mode 100644 index 0000000000..4016c137af --- /dev/null +++ b/fxjs/xfa/cjx_script.cpp @@ -0,0 +1,66 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_script.h" + +#include "fxjs/cfxjse_value.h" +#include "xfa/fxfa/parser/cxfa_script.h" + +CJX_Script::CJX_Script(CXFA_Script* node) : CJX_Node(node) {} + +CJX_Script::~CJX_Script() = default; + +void CJX_Script::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Script::contentType(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Script::runAt(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Script::stateless(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + if (bSetting) { + ThrowInvalidPropertyException(); + return; + } + pValue->SetString(FX_UTF8Encode(WideStringView(L"0", 1)).AsStringView()); +} + +void CJX_Script::defaultValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_DefaultValue(pValue, bSetting, eAttribute); +} + +void CJX_Script::binding(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Script::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Script::value(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + defaultValue(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_script.h b/fxjs/xfa/cjx_script.h new file mode 100644 index 0000000000..ad5f99418d --- /dev/null +++ b/fxjs/xfa/cjx_script.h @@ -0,0 +1,29 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_SCRIPT_H_ +#define FXJS_XFA_CJX_SCRIPT_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Script; + +class CJX_Script : public CJX_Node { + public: + explicit CJX_Script(CXFA_Script* node); + ~CJX_Script() override; + + JS_PROP(defaultValue); /* {default} */ + JS_PROP(binding); + JS_PROP(contentType); + JS_PROP(runAt); + JS_PROP(stateless); + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(value); +}; + +#endif // FXJS_XFA_CJX_SCRIPT_H_ diff --git a/fxjs/xfa/cjx_select.cpp b/fxjs/xfa/cjx_select.cpp new file mode 100644 index 0000000000..d1cb25992e --- /dev/null +++ b/fxjs/xfa/cjx_select.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_select.h" + +#include "xfa/fxfa/parser/cxfa_select.h" + +CJX_Select::CJX_Select(CXFA_Select* node) : CJX_TextNode(node) {} + +CJX_Select::~CJX_Select() = default; + +void CJX_Select::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Select::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_select.h b/fxjs/xfa/cjx_select.h new file mode 100644 index 0000000000..334c003f2d --- /dev/null +++ b/fxjs/xfa/cjx_select.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_SELECT_H_ +#define FXJS_XFA_CJX_SELECT_H_ + +#include "fxjs/xfa/cjx_textnode.h" + +class CXFA_Select; + +class CJX_Select : public CJX_TextNode { + public: + explicit CJX_Select(CXFA_Select* node); + ~CJX_Select() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_SELECT_H_ diff --git a/fxjs/xfa/cjx_setproperty.cpp b/fxjs/xfa/cjx_setproperty.cpp new file mode 100644 index 0000000000..871fc4dece --- /dev/null +++ b/fxjs/xfa/cjx_setproperty.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_setproperty.h" + +#include "xfa/fxfa/parser/cxfa_setproperty.h" + +CJX_SetProperty::CJX_SetProperty(CXFA_SetProperty* node) : CJX_Node(node) {} + +CJX_SetProperty::~CJX_SetProperty() = default; + +void CJX_SetProperty::connection(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_SetProperty::target(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_setproperty.h b/fxjs/xfa/cjx_setproperty.h new file mode 100644 index 0000000000..9929fefeb7 --- /dev/null +++ b/fxjs/xfa/cjx_setproperty.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_SETPROPERTY_H_ +#define FXJS_XFA_CJX_SETPROPERTY_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_SetProperty; + +class CJX_SetProperty : public CJX_Node { + public: + explicit CJX_SetProperty(CXFA_SetProperty* node); + ~CJX_SetProperty() override; + + JS_PROP(connection); + JS_PROP(target); +}; + +#endif // FXJS_XFA_CJX_SETPROPERTY_H_ diff --git a/fxjs/xfa/cjx_signature.cpp b/fxjs/xfa/cjx_signature.cpp new file mode 100644 index 0000000000..912d9d871c --- /dev/null +++ b/fxjs/xfa/cjx_signature.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_signature.h" + +#include "xfa/fxfa/parser/cxfa_signature.h" + +CJX_Signature::CJX_Signature(CXFA_Signature* node) : CJX_Node(node) {} + +CJX_Signature::~CJX_Signature() = default; + +void CJX_Signature::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Signature::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_signature.h b/fxjs/xfa/cjx_signature.h new file mode 100644 index 0000000000..bed0b1a2b4 --- /dev/null +++ b/fxjs/xfa/cjx_signature.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_SIGNATURE_H_ +#define FXJS_XFA_CJX_SIGNATURE_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Signature; + +class CJX_Signature : public CJX_Node { + public: + explicit CJX_Signature(CXFA_Signature* node); + ~CJX_Signature() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_SIGNATURE_H_ diff --git a/fxjs/xfa/cjx_signatureproperties.cpp b/fxjs/xfa/cjx_signatureproperties.cpp new file mode 100644 index 0000000000..6f2e7a7fd0 --- /dev/null +++ b/fxjs/xfa/cjx_signatureproperties.cpp @@ -0,0 +1,26 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_signatureproperties.h" + +#include "xfa/fxfa/parser/cxfa_signatureproperties.h" + +CJX_SignatureProperties::CJX_SignatureProperties(CXFA_SignatureProperties* node) + : CJX_Node(node) {} + +CJX_SignatureProperties::~CJX_SignatureProperties() = default; + +void CJX_SignatureProperties::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_SignatureProperties::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_signatureproperties.h b/fxjs/xfa/cjx_signatureproperties.h new file mode 100644 index 0000000000..ffd47a3dc6 --- /dev/null +++ b/fxjs/xfa/cjx_signatureproperties.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_SIGNATUREPROPERTIES_H_ +#define FXJS_XFA_CJX_SIGNATUREPROPERTIES_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_SignatureProperties; + +/* Deprecated */ +class CJX_SignatureProperties : public CJX_Node { + public: + explicit CJX_SignatureProperties(CXFA_SignatureProperties* node); + ~CJX_SignatureProperties() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_SIGNATUREPROPERTIES_H_ diff --git a/fxjs/xfa/cjx_signdata.cpp b/fxjs/xfa/cjx_signdata.cpp new file mode 100644 index 0000000000..eca7430d17 --- /dev/null +++ b/fxjs/xfa/cjx_signdata.cpp @@ -0,0 +1,43 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_signdata.h" + +#include "xfa/fxfa/parser/cxfa_signdata.h" + +CJX_SignData::CJX_SignData(CXFA_SignData* node) : CJX_Node(node) {} + +CJX_SignData::~CJX_SignData() = default; + +void CJX_SignData::ref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_SignData::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_SignData::operation(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_SignData::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_SignData::target(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_signdata.h b/fxjs/xfa/cjx_signdata.h new file mode 100644 index 0000000000..7d9b1755ff --- /dev/null +++ b/fxjs/xfa/cjx_signdata.h @@ -0,0 +1,26 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_SIGNDATA_H_ +#define FXJS_XFA_CJX_SIGNDATA_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_SignData; + +class CJX_SignData : public CJX_Node { + public: + explicit CJX_SignData(CXFA_SignData* node); + ~CJX_SignData() override; + + JS_PROP(operation); + JS_PROP(ref); + JS_PROP(target); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_SIGNDATA_H_ diff --git a/fxjs/xfa/cjx_signing.cpp b/fxjs/xfa/cjx_signing.cpp new file mode 100644 index 0000000000..378f725330 --- /dev/null +++ b/fxjs/xfa/cjx_signing.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_signing.h" + +#include "xfa/fxfa/parser/cxfa_signing.h" + +CJX_Signing::CJX_Signing(CXFA_Signing* node) : CJX_Node(node) {} + +CJX_Signing::~CJX_Signing() = default; + +void CJX_Signing::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Signing::type(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Signing::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_signing.h b/fxjs/xfa/cjx_signing.h new file mode 100644 index 0000000000..8b355097c7 --- /dev/null +++ b/fxjs/xfa/cjx_signing.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_SIGNING_H_ +#define FXJS_XFA_CJX_SIGNING_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Signing; + +class CJX_Signing : public CJX_Node { + public: + explicit CJX_Signing(CXFA_Signing* node); + ~CJX_Signing() override; + + JS_PROP(type); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_SIGNING_H_ diff --git a/fxjs/xfa/cjx_soapaction.cpp b/fxjs/xfa/cjx_soapaction.cpp new file mode 100644 index 0000000000..854d2d78a7 --- /dev/null +++ b/fxjs/xfa/cjx_soapaction.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_soapaction.h" + +#include "xfa/fxfa/parser/cxfa_soapaction.h" + +CJX_SoapAction::CJX_SoapAction(CXFA_SoapAction* node) : CJX_TextNode(node) {} + +CJX_SoapAction::~CJX_SoapAction() = default; + +void CJX_SoapAction::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_SoapAction::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_soapaction.h b/fxjs/xfa/cjx_soapaction.h new file mode 100644 index 0000000000..efc90e4f6b --- /dev/null +++ b/fxjs/xfa/cjx_soapaction.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_SOAPACTION_H_ +#define FXJS_XFA_CJX_SOAPACTION_H_ + +#include "fxjs/xfa/cjx_textnode.h" + +class CXFA_SoapAction; + +class CJX_SoapAction : public CJX_TextNode { + public: + explicit CJX_SoapAction(CXFA_SoapAction* node); + ~CJX_SoapAction() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_SOAPACTION_H_ diff --git a/fxjs/xfa/cjx_soapaddress.cpp b/fxjs/xfa/cjx_soapaddress.cpp new file mode 100644 index 0000000000..be7e84cb4c --- /dev/null +++ b/fxjs/xfa/cjx_soapaddress.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_soapaddress.h" + +#include "xfa/fxfa/parser/cxfa_soapaddress.h" + +CJX_SoapAddress::CJX_SoapAddress(CXFA_SoapAddress* node) : CJX_TextNode(node) {} + +CJX_SoapAddress::~CJX_SoapAddress() = default; + +void CJX_SoapAddress::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_SoapAddress::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_soapaddress.h b/fxjs/xfa/cjx_soapaddress.h new file mode 100644 index 0000000000..3e6e004715 --- /dev/null +++ b/fxjs/xfa/cjx_soapaddress.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_SOAPADDRESS_H_ +#define FXJS_XFA_CJX_SOAPADDRESS_H_ + +#include "fxjs/xfa/cjx_textnode.h" + +class CXFA_SoapAddress; + +class CJX_SoapAddress : public CJX_TextNode { + public: + explicit CJX_SoapAddress(CXFA_SoapAddress* node); + ~CJX_SoapAddress() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_SOAPADDRESS_H_ diff --git a/fxjs/xfa/cjx_solid.cpp b/fxjs/xfa/cjx_solid.cpp new file mode 100644 index 0000000000..e692153ec6 --- /dev/null +++ b/fxjs/xfa/cjx_solid.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_solid.h" + +#include "xfa/fxfa/parser/cxfa_solid.h" + +CJX_Solid::CJX_Solid(CXFA_Solid* node) : CJX_Node(node) {} + +CJX_Solid::~CJX_Solid() = default; + +void CJX_Solid::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Solid::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_solid.h b/fxjs/xfa/cjx_solid.h new file mode 100644 index 0000000000..3b8dd5eb63 --- /dev/null +++ b/fxjs/xfa/cjx_solid.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_SOLID_H_ +#define FXJS_XFA_CJX_SOLID_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Solid; + +class CJX_Solid : public CJX_Node { + public: + explicit CJX_Solid(CXFA_Solid* node); + ~CJX_Solid() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_SOLID_H_ diff --git a/fxjs/xfa/cjx_source.cpp b/fxjs/xfa/cjx_source.cpp index 85742fee18..399a6c3664 100644 --- a/fxjs/xfa/cjx_source.cpp +++ b/fxjs/xfa/cjx_source.cpp @@ -161,3 +161,19 @@ CJS_Return CJX_Source::hasDataChanged( return CJS_Return(JSGetStringFromID(JSMessage::kParamError)); return CJS_Return(true); } + +void CJX_Source::db(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) {} + +void CJX_Source::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Source::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_source.h b/fxjs/xfa/cjx_source.h index 8b35fac428..de84912910 100644 --- a/fxjs/xfa/cjx_source.h +++ b/fxjs/xfa/cjx_source.h @@ -35,6 +35,10 @@ class CJX_Source : public CJX_Node { JS_METHOD(update, CJX_Source); JS_METHOD(updateBatch, CJX_Source); + JS_PROP(db); + JS_PROP(use); + JS_PROP(usehref); + private: static const CJX_MethodSpec MethodSpecs[]; }; diff --git a/fxjs/xfa/cjx_sourceset.cpp b/fxjs/xfa/cjx_sourceset.cpp new file mode 100644 index 0000000000..5bfabdea62 --- /dev/null +++ b/fxjs/xfa/cjx_sourceset.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_sourceset.h" + +#include "xfa/fxfa/parser/cxfa_sourceset.h" + +CJX_SourceSet::CJX_SourceSet(CXFA_SourceSet* node) : CJX_Model(node) {} + +CJX_SourceSet::~CJX_SourceSet() = default; + +void CJX_SourceSet::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_SourceSet::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_sourceset.h b/fxjs/xfa/cjx_sourceset.h new file mode 100644 index 0000000000..de4ac68bed --- /dev/null +++ b/fxjs/xfa/cjx_sourceset.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_SOURCESET_H_ +#define FXJS_XFA_CJX_SOURCESET_H_ + +#include "fxjs/xfa/cjx_model.h" + +class CXFA_SourceSet; + +class CJX_SourceSet : public CJX_Model { + public: + explicit CJX_SourceSet(CXFA_SourceSet* node); + ~CJX_SourceSet() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_SOURCESET_H_ diff --git a/fxjs/xfa/cjx_speak.cpp b/fxjs/xfa/cjx_speak.cpp new file mode 100644 index 0000000000..161b245439 --- /dev/null +++ b/fxjs/xfa/cjx_speak.cpp @@ -0,0 +1,37 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_speak.h" + +#include "xfa/fxfa/parser/cxfa_speak.h" + +CJX_Speak::CJX_Speak(CXFA_Speak* node) : CJX_TextNode(node) {} + +CJX_Speak::~CJX_Speak() = default; + +void CJX_Speak::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Speak::priority(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Speak::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Speak::disable(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_speak.h b/fxjs/xfa/cjx_speak.h new file mode 100644 index 0000000000..56981054bc --- /dev/null +++ b/fxjs/xfa/cjx_speak.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_SPEAK_H_ +#define FXJS_XFA_CJX_SPEAK_H_ + +#include "fxjs/xfa/cjx_textnode.h" + +class CXFA_Speak; + +class CJX_Speak : public CJX_TextNode { + public: + explicit CJX_Speak(CXFA_Speak* node); + ~CJX_Speak() override; + + JS_PROP(disable); + JS_PROP(priority); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_SPEAK_H_ diff --git a/fxjs/xfa/cjx_stipple.cpp b/fxjs/xfa/cjx_stipple.cpp new file mode 100644 index 0000000000..ae520c9ad9 --- /dev/null +++ b/fxjs/xfa/cjx_stipple.cpp @@ -0,0 +1,31 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_stipple.h" + +#include "xfa/fxfa/parser/cxfa_stipple.h" + +CJX_Stipple::CJX_Stipple(CXFA_Stipple* node) : CJX_Node(node) {} + +CJX_Stipple::~CJX_Stipple() = default; + +void CJX_Stipple::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Stipple::rate(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Stipple::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_stipple.h b/fxjs/xfa/cjx_stipple.h new file mode 100644 index 0000000000..68ddd83589 --- /dev/null +++ b/fxjs/xfa/cjx_stipple.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_STIPPLE_H_ +#define FXJS_XFA_CJX_STIPPLE_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Stipple; + +class CJX_Stipple : public CJX_Node { + public: + explicit CJX_Stipple(CXFA_Stipple* node); + ~CJX_Stipple() override; + + JS_PROP(rate); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_STIPPLE_H_ diff --git a/fxjs/xfa/cjx_subform.cpp b/fxjs/xfa/cjx_subform.cpp index fcf4cffd3e..a38850575c 100644 --- a/fxjs/xfa/cjx_subform.cpp +++ b/fxjs/xfa/cjx_subform.cpp @@ -77,3 +77,154 @@ CJS_Return CJX_Subform::execValidate( pNotify->ExecEventByDeepFirst(GetXFANode(), XFA_EVENT_Validate); return CJS_Return(runtime->NewBoolean(iRet != XFA_EVENTERROR_Error)); } + +void CJX_Subform::locale(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + if (bSetting) { + SetCData(XFA_Attribute::Locale, pValue->ToWideString(), true, true); + return; + } + + WideString wsLocaleName; + GetXFANode()->GetLocaleName(wsLocaleName); + pValue->SetString(wsLocaleName.UTF8Encode().AsStringView()); +} + +void CJX_Subform::instanceIndex(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_InstanceIndex(pValue, bSetting, eAttribute); +} + +void CJX_Subform::allowMacro(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Subform::anchorType(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Subform::colSpan(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Subform::columnWidths(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Subform::h(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Subform::hAlign(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Subform::layout(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Subform::maxH(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Subform::maxW(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Subform::minH(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Subform::minW(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Subform::presence(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Subform::relevant(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Subform::restoreState(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Subform::scope(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Subform::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Subform::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Subform::validationMessage(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_ValidationMessage(pValue, bSetting, eAttribute); +} + +void CJX_Subform::vAlign(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Subform::w(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Subform::x(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Subform::y(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_subform.h b/fxjs/xfa/cjx_subform.h index a0227f08dd..a1c535b643 100644 --- a/fxjs/xfa/cjx_subform.h +++ b/fxjs/xfa/cjx_subform.h @@ -22,6 +22,31 @@ class CJX_Subform : public CJX_Container { JS_METHOD(execInitialize, CJX_Subform); JS_METHOD(execValidate, CJX_Subform); + JS_PROP(allowMacro); + JS_PROP(anchorType); + JS_PROP(colSpan); + JS_PROP(columnWidths); + JS_PROP(h); + JS_PROP(hAlign); + JS_PROP(instanceIndex); + JS_PROP(layout); + JS_PROP(locale); + JS_PROP(maxH); + JS_PROP(maxW); + JS_PROP(minH); + JS_PROP(minW); + JS_PROP(presence); + JS_PROP(relevant); + JS_PROP(restoreState); + JS_PROP(scope); + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(validationMessage); + JS_PROP(vAlign); + JS_PROP(w); + JS_PROP(x); + JS_PROP(y); + private: static const CJX_MethodSpec MethodSpecs[]; }; diff --git a/fxjs/xfa/cjx_subformset.cpp b/fxjs/xfa/cjx_subformset.cpp new file mode 100644 index 0000000000..cd36abb3df --- /dev/null +++ b/fxjs/xfa/cjx_subformset.cpp @@ -0,0 +1,43 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_subformset.h" + +#include "xfa/fxfa/parser/cxfa_subformset.h" + +CJX_SubformSet::CJX_SubformSet(CXFA_SubformSet* node) : CJX_Container(node) {} + +CJX_SubformSet::~CJX_SubformSet() = default; + +void CJX_SubformSet::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_SubformSet::relation(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_SubformSet::relevant(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_SubformSet::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_SubformSet::instanceIndex(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_InstanceIndex(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_subformset.h b/fxjs/xfa/cjx_subformset.h new file mode 100644 index 0000000000..589b44d460 --- /dev/null +++ b/fxjs/xfa/cjx_subformset.h @@ -0,0 +1,26 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_SUBFORMSET_H_ +#define FXJS_XFA_CJX_SUBFORMSET_H_ + +#include "fxjs/xfa/cjx_container.h" + +class CXFA_SubformSet; + +class CJX_SubformSet : public CJX_Container { + public: + explicit CJX_SubformSet(CXFA_SubformSet* node); + ~CJX_SubformSet() override; + + JS_PROP(instanceIndex); + JS_PROP(relation); + JS_PROP(relevant); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_SUBFORMSET_H_ diff --git a/fxjs/xfa/cjx_subjectdn.cpp b/fxjs/xfa/cjx_subjectdn.cpp new file mode 100644 index 0000000000..0a5b4ab58d --- /dev/null +++ b/fxjs/xfa/cjx_subjectdn.cpp @@ -0,0 +1,19 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_subjectdn.h" + +#include "xfa/fxfa/parser/cxfa_subjectdn.h" + +CJX_SubjectDN::CJX_SubjectDN(CXFA_SubjectDN* node) : CJX_Node(node) {} + +CJX_SubjectDN::~CJX_SubjectDN() = default; + +void CJX_SubjectDN::delimiter(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_subjectdn.h b/fxjs/xfa/cjx_subjectdn.h new file mode 100644 index 0000000000..d13218b225 --- /dev/null +++ b/fxjs/xfa/cjx_subjectdn.h @@ -0,0 +1,22 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_SUBJECTDN_H_ +#define FXJS_XFA_CJX_SUBJECTDN_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_SubjectDN; + +class CJX_SubjectDN : public CJX_Node { + public: + explicit CJX_SubjectDN(CXFA_SubjectDN* node); + ~CJX_SubjectDN() override; + + JS_PROP(delimiter); +}; + +#endif // FXJS_XFA_CJX_SUBJECTDN_H_ diff --git a/fxjs/xfa/cjx_subjectdns.cpp b/fxjs/xfa/cjx_subjectdns.cpp new file mode 100644 index 0000000000..e7d9db5622 --- /dev/null +++ b/fxjs/xfa/cjx_subjectdns.cpp @@ -0,0 +1,19 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_subjectdns.h" + +#include "xfa/fxfa/parser/cxfa_subjectdns.h" + +CJX_SubjectDNs::CJX_SubjectDNs(CXFA_SubjectDNs* node) : CJX_Node(node) {} + +CJX_SubjectDNs::~CJX_SubjectDNs() = default; + +void CJX_SubjectDNs::type(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_subjectdns.h b/fxjs/xfa/cjx_subjectdns.h new file mode 100644 index 0000000000..104d826285 --- /dev/null +++ b/fxjs/xfa/cjx_subjectdns.h @@ -0,0 +1,22 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_SUBJECTDNS_H_ +#define FXJS_XFA_CJX_SUBJECTDNS_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_SubjectDNs; + +class CJX_SubjectDNs : public CJX_Node { + public: + explicit CJX_SubjectDNs(CXFA_SubjectDNs* node); + ~CJX_SubjectDNs() override; + + JS_PROP(type); +}; + +#endif // FXJS_XFA_CJX_SUBJECTDNS_H_ diff --git a/fxjs/xfa/cjx_submit.cpp b/fxjs/xfa/cjx_submit.cpp new file mode 100644 index 0000000000..292e4320c8 --- /dev/null +++ b/fxjs/xfa/cjx_submit.cpp @@ -0,0 +1,55 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_submit.h" + +#include "xfa/fxfa/parser/cxfa_submit.h" + +CJX_Submit::CJX_Submit(CXFA_Submit* node) : CJX_Node(node) {} + +CJX_Submit::~CJX_Submit() = default; + +void CJX_Submit::format(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Submit::embedPDF(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Submit::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Submit::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Submit::target(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Submit::textEncoding(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Submit::xdpContent(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_submit.h b/fxjs/xfa/cjx_submit.h new file mode 100644 index 0000000000..aefec32b8e --- /dev/null +++ b/fxjs/xfa/cjx_submit.h @@ -0,0 +1,28 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_SUBMIT_H_ +#define FXJS_XFA_CJX_SUBMIT_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Submit; + +class CJX_Submit : public CJX_Node { + public: + explicit CJX_Submit(CXFA_Submit* node); + ~CJX_Submit() override; + + JS_PROP(embedPDF); + JS_PROP(format); + JS_PROP(target); + JS_PROP(textEncoding); + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(xdpContent); +}; + +#endif // FXJS_XFA_CJX_SUBMIT_H_ diff --git a/fxjs/xfa/cjx_text.cpp b/fxjs/xfa/cjx_text.cpp new file mode 100644 index 0000000000..eda2ff8b22 --- /dev/null +++ b/fxjs/xfa/cjx_text.cpp @@ -0,0 +1,43 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_text.h" + +#include "xfa/fxfa/parser/cxfa_text.h" + +CJX_Text::CJX_Text(CXFA_Text* node) : CJX_Content(node) {} + +CJX_Text::~CJX_Text() = default; + +void CJX_Text::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Text::maxChars(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Text::defaultValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_DefaultValue(pValue, bSetting, eAttribute); +} + +void CJX_Text::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Text::value(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_DefaultValue(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_text.h b/fxjs/xfa/cjx_text.h new file mode 100644 index 0000000000..386a7a9679 --- /dev/null +++ b/fxjs/xfa/cjx_text.h @@ -0,0 +1,26 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_TEXT_H_ +#define FXJS_XFA_CJX_TEXT_H_ + +#include "fxjs/xfa/cjx_content.h" + +class CXFA_Text; + +class CJX_Text : public CJX_Content { + public: + explicit CJX_Text(CXFA_Text* node); + ~CJX_Text() override; + + JS_PROP(defaultValue); /* {default} */ + JS_PROP(maxChars); + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(value); +}; + +#endif // FXJS_XFA_CJX_TEXT_H_ diff --git a/fxjs/xfa/cjx_textedit.cpp b/fxjs/xfa/cjx_textedit.cpp new file mode 100644 index 0000000000..e1a6faa13b --- /dev/null +++ b/fxjs/xfa/cjx_textedit.cpp @@ -0,0 +1,49 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_textedit.h" + +#include "xfa/fxfa/parser/cxfa_textedit.h" + +CJX_TextEdit::CJX_TextEdit(CXFA_TextEdit* node) : CJX_Node(node) {} + +CJX_TextEdit::~CJX_TextEdit() = default; + +void CJX_TextEdit::vScrollPolicy(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_TextEdit::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_TextEdit::allowRichText(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_TextEdit::multiLine(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_TextEdit::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_TextEdit::hScrollPolicy(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_textedit.h b/fxjs/xfa/cjx_textedit.h new file mode 100644 index 0000000000..c7f42c963b --- /dev/null +++ b/fxjs/xfa/cjx_textedit.h @@ -0,0 +1,27 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_TEXTEDIT_H_ +#define FXJS_XFA_CJX_TEXTEDIT_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_TextEdit; + +class CJX_TextEdit : public CJX_Node { + public: + explicit CJX_TextEdit(CXFA_TextEdit* node); + ~CJX_TextEdit() override; + + JS_PROP(allowRichText); + JS_PROP(hScrollPolicy); + JS_PROP(multiLine); + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(vScrollPolicy); +}; + +#endif // FXJS_XFA_CJX_TEXTEDIT_H_ diff --git a/fxjs/xfa/cjx_textnode.cpp b/fxjs/xfa/cjx_textnode.cpp index 604682f2ee..133510c30e 100644 --- a/fxjs/xfa/cjx_textnode.cpp +++ b/fxjs/xfa/cjx_textnode.cpp @@ -12,3 +12,15 @@ CJX_TextNode::CJX_TextNode(CXFA_Node* node) : CJX_Node(node) {} CJX_TextNode::~CJX_TextNode() {} + +void CJX_TextNode::defaultValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute attr) { + Script_Som_DefaultValue(pValue, bSetting, attr); +} + +void CJX_TextNode::value(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute attr) { + Script_Som_DefaultValue(pValue, bSetting, attr); +} diff --git a/fxjs/xfa/cjx_textnode.h b/fxjs/xfa/cjx_textnode.h index c0a01d651e..12d44d7814 100644 --- a/fxjs/xfa/cjx_textnode.h +++ b/fxjs/xfa/cjx_textnode.h @@ -16,6 +16,9 @@ class CJX_TextNode : public CJX_Node { public: explicit CJX_TextNode(CXFA_Node* node); ~CJX_TextNode() override; + + JS_PROP(defaultValue); /* {default} */ + JS_PROP(value); }; #endif // FXJS_XFA_CJX_TEXTNODE_H_ diff --git a/fxjs/xfa/cjx_time.cpp b/fxjs/xfa/cjx_time.cpp new file mode 100644 index 0000000000..74855fd3d7 --- /dev/null +++ b/fxjs/xfa/cjx_time.cpp @@ -0,0 +1,37 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_time.h" + +#include "xfa/fxfa/parser/cxfa_time.h" + +CJX_Time::CJX_Time(CXFA_Time* node) : CJX_Content(node) {} + +CJX_Time::~CJX_Time() = default; + +void CJX_Time::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Time::defaultValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_DefaultValue(pValue, bSetting, eAttribute); +} + +void CJX_Time::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Time::value(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Som_DefaultValue(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_time.h b/fxjs/xfa/cjx_time.h new file mode 100644 index 0000000000..95b05cc107 --- /dev/null +++ b/fxjs/xfa/cjx_time.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_TIME_H_ +#define FXJS_XFA_CJX_TIME_H_ + +#include "fxjs/xfa/cjx_content.h" + +class CXFA_Time; + +class CJX_Time : public CJX_Content { + public: + explicit CJX_Time(CXFA_Time* node); + ~CJX_Time() override; + + JS_PROP(defaultValue); /* {default} */ + JS_PROP(use); + JS_PROP(usehref); + JS_PROP(value); +}; + +#endif // FXJS_XFA_CJX_TIME_H_ diff --git a/fxjs/xfa/cjx_timestamp.cpp b/fxjs/xfa/cjx_timestamp.cpp new file mode 100644 index 0000000000..011d696cc1 --- /dev/null +++ b/fxjs/xfa/cjx_timestamp.cpp @@ -0,0 +1,37 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_timestamp.h" + +#include "xfa/fxfa/parser/cxfa_timestamp.h" + +CJX_TimeStamp::CJX_TimeStamp(CXFA_TimeStamp* node) : CJX_Node(node) {} + +CJX_TimeStamp::~CJX_TimeStamp() = default; + +void CJX_TimeStamp::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_TimeStamp::type(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_TimeStamp::server(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_TimeStamp::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_timestamp.h b/fxjs/xfa/cjx_timestamp.h new file mode 100644 index 0000000000..ad7ab02a29 --- /dev/null +++ b/fxjs/xfa/cjx_timestamp.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_TIMESTAMP_H_ +#define FXJS_XFA_CJX_TIMESTAMP_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_TimeStamp; + +class CJX_TimeStamp : public CJX_Node { + public: + explicit CJX_TimeStamp(CXFA_TimeStamp* node); + ~CJX_TimeStamp() override; + + JS_PROP(server); + JS_PROP(type); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_TIMESTAMP_H_ diff --git a/fxjs/xfa/cjx_tooltip.cpp b/fxjs/xfa/cjx_tooltip.cpp new file mode 100644 index 0000000000..5d6e2427c8 --- /dev/null +++ b/fxjs/xfa/cjx_tooltip.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_tooltip.h" + +#include "xfa/fxfa/parser/cxfa_tooltip.h" + +CJX_ToolTip::CJX_ToolTip(CXFA_ToolTip* node) : CJX_TextNode(node) {} + +CJX_ToolTip::~CJX_ToolTip() = default; + +void CJX_ToolTip::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_ToolTip::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_tooltip.h b/fxjs/xfa/cjx_tooltip.h new file mode 100644 index 0000000000..178d11b0e9 --- /dev/null +++ b/fxjs/xfa/cjx_tooltip.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_TOOLTIP_H_ +#define FXJS_XFA_CJX_TOOLTIP_H_ + +#include "fxjs/xfa/cjx_textnode.h" + +class CXFA_ToolTip; + +class CJX_ToolTip : public CJX_TextNode { + public: + explicit CJX_ToolTip(CXFA_ToolTip* node); + ~CJX_ToolTip() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_TOOLTIP_H_ diff --git a/fxjs/xfa/cjx_traversal.cpp b/fxjs/xfa/cjx_traversal.cpp new file mode 100644 index 0000000000..ffdcd35272 --- /dev/null +++ b/fxjs/xfa/cjx_traversal.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_traversal.h" + +#include "xfa/fxfa/parser/cxfa_traversal.h" + +CJX_Traversal::CJX_Traversal(CXFA_Traversal* node) : CJX_Node(node) {} + +CJX_Traversal::~CJX_Traversal() = default; + +void CJX_Traversal::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Traversal::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_traversal.h b/fxjs/xfa/cjx_traversal.h new file mode 100644 index 0000000000..d9072f3456 --- /dev/null +++ b/fxjs/xfa/cjx_traversal.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_TRAVERSAL_H_ +#define FXJS_XFA_CJX_TRAVERSAL_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Traversal; + +class CJX_Traversal : public CJX_Node { + public: + explicit CJX_Traversal(CXFA_Traversal* node); + ~CJX_Traversal() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_TRAVERSAL_H_ diff --git a/fxjs/xfa/cjx_traverse.cpp b/fxjs/xfa/cjx_traverse.cpp new file mode 100644 index 0000000000..f0d5345ea4 --- /dev/null +++ b/fxjs/xfa/cjx_traverse.cpp @@ -0,0 +1,37 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_traverse.h" + +#include "xfa/fxfa/parser/cxfa_traverse.h" + +CJX_Traverse::CJX_Traverse(CXFA_Traverse* node) : CJX_Node(node) {} + +CJX_Traverse::~CJX_Traverse() = default; + +void CJX_Traverse::ref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Traverse::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Traverse::operation(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Traverse::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_traverse.h b/fxjs/xfa/cjx_traverse.h new file mode 100644 index 0000000000..2eef88eb6f --- /dev/null +++ b/fxjs/xfa/cjx_traverse.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_TRAVERSE_H_ +#define FXJS_XFA_CJX_TRAVERSE_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Traverse; + +class CJX_Traverse : public CJX_Node { + public: + explicit CJX_Traverse(CXFA_Traverse* node); + ~CJX_Traverse() override; + + JS_PROP(operation); + JS_PROP(ref); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_TRAVERSE_H_ diff --git a/fxjs/xfa/cjx_tree.cpp b/fxjs/xfa/cjx_tree.cpp index 8e3143ecc7..1a20611cad 100644 --- a/fxjs/xfa/cjx_tree.cpp +++ b/fxjs/xfa/cjx_tree.cpp @@ -127,6 +127,12 @@ void CJX_Tree::classAll(CFXJSE_Value* pValue, XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL, nullptr); } +void CJX_Tree::name(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + void CJX_Tree::nodes(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { diff --git a/fxjs/xfa/cjx_tree.h b/fxjs/xfa/cjx_tree.h index 72468d6c75..9389d2ec4f 100644 --- a/fxjs/xfa/cjx_tree.h +++ b/fxjs/xfa/cjx_tree.h @@ -21,17 +21,14 @@ class CJX_Tree : public CJX_Object { JS_METHOD(resolveNode, CJX_Tree); JS_METHOD(resolveNodes, CJX_Tree); - void all(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void nodes(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void classAll(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void parent(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void index(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute); - void classIndex(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); - void somExpression(CFXJSE_Value* pValue, - bool bSetting, - XFA_Attribute eAttribute); + JS_PROP(all); + JS_PROP(classAll); + JS_PROP(classIndex); + JS_PROP(index); + JS_PROP(name); + JS_PROP(nodes); + JS_PROP(parent); + JS_PROP(somExpression); private: void ResolveNodeList(CFXJSE_Value* pValue, diff --git a/fxjs/xfa/cjx_ui.cpp b/fxjs/xfa/cjx_ui.cpp new file mode 100644 index 0000000000..90db789dd7 --- /dev/null +++ b/fxjs/xfa/cjx_ui.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_ui.h" + +#include "xfa/fxfa/parser/cxfa_ui.h" + +CJX_Ui::CJX_Ui(CXFA_Ui* node) : CJX_Node(node) {} + +CJX_Ui::~CJX_Ui() = default; + +void CJX_Ui::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Ui::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_ui.h b/fxjs/xfa/cjx_ui.h new file mode 100644 index 0000000000..e82b1deacb --- /dev/null +++ b/fxjs/xfa/cjx_ui.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_UI_H_ +#define FXJS_XFA_CJX_UI_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Ui; + +class CJX_Ui : public CJX_Node { + public: + explicit CJX_Ui(CXFA_Ui* node); + ~CJX_Ui() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_UI_H_ diff --git a/fxjs/xfa/cjx_update.cpp b/fxjs/xfa/cjx_update.cpp new file mode 100644 index 0000000000..e5d1ef27c9 --- /dev/null +++ b/fxjs/xfa/cjx_update.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_update.h" + +#include "xfa/fxfa/parser/cxfa_update.h" + +CJX_Update::CJX_Update(CXFA_Update* node) : CJX_TextNode(node) {} + +CJX_Update::~CJX_Update() = default; + +void CJX_Update::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Update::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_update.h b/fxjs/xfa/cjx_update.h new file mode 100644 index 0000000000..c1acb4bd90 --- /dev/null +++ b/fxjs/xfa/cjx_update.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_UPDATE_H_ +#define FXJS_XFA_CJX_UPDATE_H_ + +#include "fxjs/xfa/cjx_textnode.h" + +class CXFA_Update; + +class CJX_Update : public CJX_TextNode { + public: + explicit CJX_Update(CXFA_Update* node); + ~CJX_Update() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_UPDATE_H_ diff --git a/fxjs/xfa/cjx_uri.cpp b/fxjs/xfa/cjx_uri.cpp new file mode 100644 index 0000000000..6ffbb68e8f --- /dev/null +++ b/fxjs/xfa/cjx_uri.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_uri.h" + +#include "xfa/fxfa/parser/cxfa_uri.h" + +CJX_Uri::CJX_Uri(CXFA_Uri* node) : CJX_TextNode(node) {} + +CJX_Uri::~CJX_Uri() = default; + +void CJX_Uri::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Uri::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_uri.h b/fxjs/xfa/cjx_uri.h new file mode 100644 index 0000000000..805bc5c1ab --- /dev/null +++ b/fxjs/xfa/cjx_uri.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_URI_H_ +#define FXJS_XFA_CJX_URI_H_ + +#include "fxjs/xfa/cjx_textnode.h" + +class CXFA_Uri; + +class CJX_Uri : public CJX_TextNode { + public: + explicit CJX_Uri(CXFA_Uri* node); + ~CJX_Uri() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_URI_H_ diff --git a/fxjs/xfa/cjx_user.cpp b/fxjs/xfa/cjx_user.cpp new file mode 100644 index 0000000000..a42f927d47 --- /dev/null +++ b/fxjs/xfa/cjx_user.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_user.h" + +#include "xfa/fxfa/parser/cxfa_user.h" + +CJX_User::CJX_User(CXFA_User* node) : CJX_TextNode(node) {} + +CJX_User::~CJX_User() = default; + +void CJX_User::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_User::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_user.h b/fxjs/xfa/cjx_user.h new file mode 100644 index 0000000000..6111df8535 --- /dev/null +++ b/fxjs/xfa/cjx_user.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_USER_H_ +#define FXJS_XFA_CJX_USER_H_ + +#include "fxjs/xfa/cjx_textnode.h" + +class CXFA_User; + +class CJX_User : public CJX_TextNode { + public: + explicit CJX_User(CXFA_User* node); + ~CJX_User() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_USER_H_ diff --git a/fxjs/xfa/cjx_validate.cpp b/fxjs/xfa/cjx_validate.cpp new file mode 100644 index 0000000000..16c264e23e --- /dev/null +++ b/fxjs/xfa/cjx_validate.cpp @@ -0,0 +1,43 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_validate.h" + +#include "xfa/fxfa/parser/cxfa_validate.h" + +CJX_Validate::CJX_Validate(CXFA_Validate* node) : CJX_Node(node) {} + +CJX_Validate::~CJX_Validate() = default; + +void CJX_Validate::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Validate::scriptTest(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Validate::nullTest(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Validate::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Validate::formatTest(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_validate.h b/fxjs/xfa/cjx_validate.h new file mode 100644 index 0000000000..c54923d5b0 --- /dev/null +++ b/fxjs/xfa/cjx_validate.h @@ -0,0 +1,26 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_VALIDATE_H_ +#define FXJS_XFA_CJX_VALIDATE_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Validate; + +class CJX_Validate : public CJX_Node { + public: + explicit CJX_Validate(CXFA_Validate* node); + ~CJX_Validate() override; + + JS_PROP(formatTest); + JS_PROP(nullTest); + JS_PROP(scriptTest); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_VALIDATE_H_ diff --git a/fxjs/xfa/cjx_value.cpp b/fxjs/xfa/cjx_value.cpp new file mode 100644 index 0000000000..8fe3b239f5 --- /dev/null +++ b/fxjs/xfa/cjx_value.cpp @@ -0,0 +1,37 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_value.h" + +#include "xfa/fxfa/parser/cxfa_value.h" + +CJX_Value::CJX_Value(CXFA_Value* node) : CJX_Node(node) {} + +CJX_Value::~CJX_Value() = default; + +void CJX_Value::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Value::relevant(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Value::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Value::override(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_BOOL(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_value.h b/fxjs/xfa/cjx_value.h new file mode 100644 index 0000000000..f9c2a2ceb9 --- /dev/null +++ b/fxjs/xfa/cjx_value.h @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_VALUE_H_ +#define FXJS_XFA_CJX_VALUE_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_Value; + +class CJX_Value : public CJX_Node { + public: + explicit CJX_Value(CXFA_Value* node); + ~CJX_Value() override; + + JS_PROP(override); + JS_PROP(relevant); + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_VALUE_H_ diff --git a/fxjs/xfa/cjx_variables.cpp b/fxjs/xfa/cjx_variables.cpp new file mode 100644 index 0000000000..0904c9f3fe --- /dev/null +++ b/fxjs/xfa/cjx_variables.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_variables.h" + +#include "xfa/fxfa/parser/cxfa_variables.h" + +CJX_Variables::CJX_Variables(CXFA_Variables* node) : CJX_Container(node) {} + +CJX_Variables::~CJX_Variables() = default; + +void CJX_Variables::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Variables::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_variables.h b/fxjs/xfa/cjx_variables.h new file mode 100644 index 0000000000..8ed373e5cd --- /dev/null +++ b/fxjs/xfa/cjx_variables.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_VARIABLES_H_ +#define FXJS_XFA_CJX_VARIABLES_H_ + +#include "fxjs/xfa/cjx_container.h" + +class CXFA_Variables; + +class CJX_Variables : public CJX_Container { + public: + explicit CJX_Variables(CXFA_Variables* node); + ~CJX_Variables() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_VARIABLES_H_ diff --git a/fxjs/xfa/cjx_wsdladdress.cpp b/fxjs/xfa/cjx_wsdladdress.cpp new file mode 100644 index 0000000000..fc6a77c2e4 --- /dev/null +++ b/fxjs/xfa/cjx_wsdladdress.cpp @@ -0,0 +1,25 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_wsdladdress.h" + +#include "xfa/fxfa/parser/cxfa_wsdladdress.h" + +CJX_WsdlAddress::CJX_WsdlAddress(CXFA_WsdlAddress* node) : CJX_TextNode(node) {} + +CJX_WsdlAddress::~CJX_WsdlAddress() = default; + +void CJX_WsdlAddress::use(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_WsdlAddress::usehref(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_wsdladdress.h b/fxjs/xfa/cjx_wsdladdress.h new file mode 100644 index 0000000000..a742d1a973 --- /dev/null +++ b/fxjs/xfa/cjx_wsdladdress.h @@ -0,0 +1,23 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_WSDLADDRESS_H_ +#define FXJS_XFA_CJX_WSDLADDRESS_H_ + +#include "fxjs/xfa/cjx_textnode.h" + +class CXFA_WsdlAddress; + +class CJX_WsdlAddress : public CJX_TextNode { + public: + explicit CJX_WsdlAddress(CXFA_WsdlAddress* node); + ~CJX_WsdlAddress() override; + + JS_PROP(use); + JS_PROP(usehref); +}; + +#endif // FXJS_XFA_CJX_WSDLADDRESS_H_ diff --git a/fxjs/xfa/cjx_wsdlconnection.cpp b/fxjs/xfa/cjx_wsdlconnection.cpp index 1d0c306f14..4c6ca46dd9 100644 --- a/fxjs/xfa/cjx_wsdlconnection.cpp +++ b/fxjs/xfa/cjx_wsdlconnection.cpp @@ -29,3 +29,15 @@ CJS_Return CJX_WsdlConnection::execute( return CJS_Return(JSGetStringFromID(JSMessage::kParamError)); return CJS_Return(runtime->NewBoolean(false)); } + +void CJX_WsdlConnection::dataDescription(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_WsdlConnection::execute(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_wsdlconnection.h b/fxjs/xfa/cjx_wsdlconnection.h index 82760170a7..d755b5d075 100644 --- a/fxjs/xfa/cjx_wsdlconnection.h +++ b/fxjs/xfa/cjx_wsdlconnection.h @@ -19,6 +19,9 @@ class CJX_WsdlConnection : public CJX_Node { JS_METHOD(execute, CJX_WsdlConnection); + JS_PROP(dataDescription); + JS_PROP(execute); + private: static const CJX_MethodSpec MethodSpecs[]; }; diff --git a/fxjs/xfa/cjx_xfa.cpp b/fxjs/xfa/cjx_xfa.cpp new file mode 100644 index 0000000000..bc0d7f118e --- /dev/null +++ b/fxjs/xfa/cjx_xfa.cpp @@ -0,0 +1,39 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_xfa.h" + +#include "fxjs/cfxjse_engine.h" +#include "fxjs/cfxjse_value.h" +#include "xfa/fxfa/parser/cxfa_document.h" +#include "xfa/fxfa/parser/cxfa_xfa.h" + +CJX_Xfa::CJX_Xfa(CXFA_Xfa* node) : CJX_Model(node) {} + +CJX_Xfa::~CJX_Xfa() = default; + +void CJX_Xfa::thisValue(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + if (bSetting) + return; + + CXFA_Object* pThis = GetDocument()->GetScriptContext()->GetThisObject(); + ASSERT(pThis); + pValue->Assign(GetDocument()->GetScriptContext()->GetJSValueFromMap(pThis)); +} + +void CJX_Xfa::timeStamp(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} + +void CJX_Xfa::uuid(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_xfa.h b/fxjs/xfa/cjx_xfa.h new file mode 100644 index 0000000000..0c8ed7efff --- /dev/null +++ b/fxjs/xfa/cjx_xfa.h @@ -0,0 +1,24 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_XFA_H_ +#define FXJS_XFA_CJX_XFA_H_ + +#include "fxjs/xfa/cjx_model.h" + +class CXFA_Xfa; + +class CJX_Xfa : public CJX_Model { + public: + explicit CJX_Xfa(CXFA_Xfa* node); + ~CJX_Xfa() override; + + JS_PROP(thisValue); /* this */ + JS_PROP(timeStamp); + JS_PROP(uuid); +}; + +#endif // FXJS_XFA_CJX_XFA_H_ diff --git a/fxjs/xfa/cjx_xmlconnection.cpp b/fxjs/xfa/cjx_xmlconnection.cpp new file mode 100644 index 0000000000..6622aab12e --- /dev/null +++ b/fxjs/xfa/cjx_xmlconnection.cpp @@ -0,0 +1,20 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_xmlconnection.h" + +#include "xfa/fxfa/parser/cxfa_xmlconnection.h" + +CJX_XmlConnection::CJX_XmlConnection(CXFA_XmlConnection* node) + : CJX_Node(node) {} + +CJX_XmlConnection::~CJX_XmlConnection() = default; + +void CJX_XmlConnection::dataDescription(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_xmlconnection.h b/fxjs/xfa/cjx_xmlconnection.h new file mode 100644 index 0000000000..03c5c37320 --- /dev/null +++ b/fxjs/xfa/cjx_xmlconnection.h @@ -0,0 +1,22 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_XMLCONNECTION_H_ +#define FXJS_XFA_CJX_XMLCONNECTION_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_XmlConnection; + +class CJX_XmlConnection : public CJX_Node { + public: + explicit CJX_XmlConnection(CXFA_XmlConnection* node); + ~CJX_XmlConnection() override; + + JS_PROP(dataDescription); +}; + +#endif // FXJS_XFA_CJX_XMLCONNECTION_H_ diff --git a/fxjs/xfa/cjx_xsdconnection.cpp b/fxjs/xfa/cjx_xsdconnection.cpp new file mode 100644 index 0000000000..aa7d42ae13 --- /dev/null +++ b/fxjs/xfa/cjx_xsdconnection.cpp @@ -0,0 +1,20 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fxjs/xfa/cjx_xsdconnection.h" + +#include "xfa/fxfa/parser/cxfa_xsdconnection.h" + +CJX_XsdConnection::CJX_XsdConnection(CXFA_XsdConnection* node) + : CJX_Node(node) {} + +CJX_XsdConnection::~CJX_XsdConnection() = default; + +void CJX_XsdConnection::dataDescription(CFXJSE_Value* pValue, + bool bSetting, + XFA_Attribute eAttribute) { + Script_Attribute_String(pValue, bSetting, eAttribute); +} diff --git a/fxjs/xfa/cjx_xsdconnection.h b/fxjs/xfa/cjx_xsdconnection.h new file mode 100644 index 0000000000..66c79a14fa --- /dev/null +++ b/fxjs/xfa/cjx_xsdconnection.h @@ -0,0 +1,22 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXJS_XFA_CJX_XSDCONNECTION_H_ +#define FXJS_XFA_CJX_XSDCONNECTION_H_ + +#include "fxjs/xfa/cjx_node.h" + +class CXFA_XsdConnection; + +class CJX_XsdConnection : public CJX_Node { + public: + explicit CJX_XsdConnection(CXFA_XsdConnection* node); + ~CJX_XsdConnection() override; + + JS_PROP(dataDescription); +}; + +#endif // FXJS_XFA_CJX_XSDCONNECTION_H_ diff --git a/xfa/fxfa/parser/cxfa_arc.cpp b/xfa/fxfa/parser/cxfa_arc.cpp index 26209543f3..2a06ba6f32 100644 --- a/xfa/fxfa/parser/cxfa_arc.cpp +++ b/xfa/fxfa/parser/cxfa_arc.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_arc.h" +#include "fxjs/xfa/cjx_arc.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Edge, 1, 0}, @@ -34,6 +37,7 @@ CXFA_Arc::CXFA_Arc(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Arc, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Arc>(this)) {} CXFA_Arc::~CXFA_Arc() {} diff --git a/xfa/fxfa/parser/cxfa_area.cpp b/xfa/fxfa/parser/cxfa_area.cpp index 6534ac3605..7fd8aa6898 100644 --- a/xfa/fxfa/parser/cxfa_area.cpp +++ b/xfa/fxfa/parser/cxfa_area.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_area.h" -#include "fxjs/xfa/cjx_container.h" +#include "fxjs/xfa/cjx_area.h" #include "third_party/base/ptr_util.h" namespace { @@ -41,6 +41,6 @@ CXFA_Area::CXFA_Area(CXFA_Document* doc, XFA_PacketType packet) kPropertyData, kAttributeData, kName, - pdfium::MakeUnique<CJX_Container>(this)) {} + pdfium::MakeUnique<CJX_Area>(this)) {} CXFA_Area::~CXFA_Area() {} diff --git a/xfa/fxfa/parser/cxfa_assist.cpp b/xfa/fxfa/parser/cxfa_assist.cpp index 93f335831a..4286211e0f 100644 --- a/xfa/fxfa/parser/cxfa_assist.cpp +++ b/xfa/fxfa/parser/cxfa_assist.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_assist.h" +#include "fxjs/xfa/cjx_assist.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::ToolTip, 1, 0}, @@ -30,6 +33,7 @@ CXFA_Assist::CXFA_Assist(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Assist, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Assist>(this)) {} CXFA_Assist::~CXFA_Assist() {} diff --git a/xfa/fxfa/parser/cxfa_barcode.cpp b/xfa/fxfa/parser/cxfa_barcode.cpp index 9ab4aef0fe..d69229193e 100644 --- a/xfa/fxfa/parser/cxfa_barcode.cpp +++ b/xfa/fxfa/parser/cxfa_barcode.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_barcode.h" +#include "fxjs/xfa/cjx_barcode.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -48,6 +51,7 @@ CXFA_Barcode::CXFA_Barcode(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Barcode, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Barcode>(this)) {} CXFA_Barcode::~CXFA_Barcode() {} diff --git a/xfa/fxfa/parser/cxfa_bind.cpp b/xfa/fxfa/parser/cxfa_bind.cpp index feef393a99..e93b3696df 100644 --- a/xfa/fxfa/parser/cxfa_bind.cpp +++ b/xfa/fxfa/parser/cxfa_bind.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_bind.h" +#include "fxjs/xfa/cjx_bind.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Picture, 1, 0}, @@ -36,6 +39,7 @@ CXFA_Bind::CXFA_Bind(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Bind, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Bind>(this)) {} CXFA_Bind::~CXFA_Bind() {} diff --git a/xfa/fxfa/parser/cxfa_binditems.cpp b/xfa/fxfa/parser/cxfa_binditems.cpp index fd27043d6c..1c33e4c1c5 100644 --- a/xfa/fxfa/parser/cxfa_binditems.cpp +++ b/xfa/fxfa/parser/cxfa_binditems.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_binditems.h" +#include "fxjs/xfa/cjx_binditems.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -27,6 +30,7 @@ CXFA_BindItems::CXFA_BindItems(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::BindItems, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_BindItems>(this)) {} CXFA_BindItems::~CXFA_BindItems() {} diff --git a/xfa/fxfa/parser/cxfa_bookend.cpp b/xfa/fxfa/parser/cxfa_bookend.cpp index 20037f070a..6b172be3a4 100644 --- a/xfa/fxfa/parser/cxfa_bookend.cpp +++ b/xfa/fxfa/parser/cxfa_bookend.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_bookend.h" +#include "fxjs/xfa/cjx_bookend.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -28,6 +31,7 @@ CXFA_Bookend::CXFA_Bookend(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Bookend, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Bookend>(this)) {} CXFA_Bookend::~CXFA_Bookend() {} diff --git a/xfa/fxfa/parser/cxfa_boolean.cpp b/xfa/fxfa/parser/cxfa_boolean.cpp index 27931b10b2..f804919ca0 100644 --- a/xfa/fxfa/parser/cxfa_boolean.cpp +++ b/xfa/fxfa/parser/cxfa_boolean.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_boolean.h" -#include "fxjs/xfa/cjx_content.h" +#include "fxjs/xfa/cjx_boolean.h" #include "third_party/base/ptr_util.h" namespace { @@ -32,6 +32,6 @@ CXFA_Boolean::CXFA_Boolean(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_Content>(this)) {} + pdfium::MakeUnique<CJX_Boolean>(this)) {} CXFA_Boolean::~CXFA_Boolean() {} diff --git a/xfa/fxfa/parser/cxfa_border.cpp b/xfa/fxfa/parser/cxfa_border.cpp index 9a58366134..8f22892814 100644 --- a/xfa/fxfa/parser/cxfa_border.cpp +++ b/xfa/fxfa/parser/cxfa_border.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_border.h" +#include "fxjs/xfa/cjx_border.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = { @@ -37,6 +40,7 @@ CXFA_Border::CXFA_Border(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Border, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Border>(this)) {} CXFA_Border::~CXFA_Border() {} diff --git a/xfa/fxfa/parser/cxfa_break.cpp b/xfa/fxfa/parser/cxfa_break.cpp index fcce81c89c..3a83b1c62a 100644 --- a/xfa/fxfa/parser/cxfa_break.cpp +++ b/xfa/fxfa/parser/cxfa_break.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_break.h" +#include "fxjs/xfa/cjx_break.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Extras, 1, 0}, @@ -40,6 +43,7 @@ CXFA_Break::CXFA_Break(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Break, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Break>(this)) {} CXFA_Break::~CXFA_Break() {} diff --git a/xfa/fxfa/parser/cxfa_breakafter.cpp b/xfa/fxfa/parser/cxfa_breakafter.cpp index a85cf6dfd2..925b721f35 100644 --- a/xfa/fxfa/parser/cxfa_breakafter.cpp +++ b/xfa/fxfa/parser/cxfa_breakafter.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_breakafter.h" +#include "fxjs/xfa/cjx_breakafter.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Script, 1, 0}, @@ -34,6 +37,7 @@ CXFA_BreakAfter::CXFA_BreakAfter(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::BreakAfter, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_BreakAfter>(this)) {} CXFA_BreakAfter::~CXFA_BreakAfter() {} diff --git a/xfa/fxfa/parser/cxfa_breakbefore.cpp b/xfa/fxfa/parser/cxfa_breakbefore.cpp index 7c28feb419..c8dcadea74 100644 --- a/xfa/fxfa/parser/cxfa_breakbefore.cpp +++ b/xfa/fxfa/parser/cxfa_breakbefore.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_breakbefore.h" +#include "fxjs/xfa/cjx_breakbefore.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Script, 1, 0}, @@ -34,6 +37,7 @@ CXFA_BreakBefore::CXFA_BreakBefore(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::BreakBefore, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_BreakBefore>(this)) {} CXFA_BreakBefore::~CXFA_BreakBefore() {} diff --git a/xfa/fxfa/parser/cxfa_button.cpp b/xfa/fxfa/parser/cxfa_button.cpp index 9d589dc703..2b62efbc78 100644 --- a/xfa/fxfa/parser/cxfa_button.cpp +++ b/xfa/fxfa/parser/cxfa_button.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_button.h" +#include "fxjs/xfa/cjx_button.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Extras, 1, 0}, @@ -30,6 +33,7 @@ CXFA_Button::CXFA_Button(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Button, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Button>(this)) {} CXFA_Button::~CXFA_Button() {} diff --git a/xfa/fxfa/parser/cxfa_calculate.cpp b/xfa/fxfa/parser/cxfa_calculate.cpp index f894ebf71f..714dfdecd7 100644 --- a/xfa/fxfa/parser/cxfa_calculate.cpp +++ b/xfa/fxfa/parser/cxfa_calculate.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_calculate.h" +#include "fxjs/xfa/cjx_calculate.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Message, 1, 0}, @@ -32,6 +35,7 @@ CXFA_Calculate::CXFA_Calculate(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Calculate, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Calculate>(this)) {} CXFA_Calculate::~CXFA_Calculate() {} diff --git a/xfa/fxfa/parser/cxfa_caption.cpp b/xfa/fxfa/parser/cxfa_caption.cpp index 3b405ff890..8148b443e5 100644 --- a/xfa/fxfa/parser/cxfa_caption.cpp +++ b/xfa/fxfa/parser/cxfa_caption.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_caption.h" +#include "fxjs/xfa/cjx_caption.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = { @@ -35,6 +38,7 @@ CXFA_Caption::CXFA_Caption(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Caption, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Caption>(this)) {} CXFA_Caption::~CXFA_Caption() {} diff --git a/xfa/fxfa/parser/cxfa_certificate.cpp b/xfa/fxfa/parser/cxfa_certificate.cpp index 65d555bda9..c3e8ec01c9 100644 --- a/xfa/fxfa/parser/cxfa_certificate.cpp +++ b/xfa/fxfa/parser/cxfa_certificate.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_certificate.h" -#include "fxjs/xfa/cjx_textnode.h" +#include "fxjs/xfa/cjx_certificate.h" #include "third_party/base/ptr_util.h" namespace { @@ -31,6 +31,6 @@ CXFA_Certificate::CXFA_Certificate(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_TextNode>(this)) {} + pdfium::MakeUnique<CJX_Certificate>(this)) {} CXFA_Certificate::~CXFA_Certificate() {} diff --git a/xfa/fxfa/parser/cxfa_certificates.cpp b/xfa/fxfa/parser/cxfa_certificates.cpp index 29dd574a3f..0af8f30cc4 100644 --- a/xfa/fxfa/parser/cxfa_certificates.cpp +++ b/xfa/fxfa/parser/cxfa_certificates.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_certificates.h" +#include "fxjs/xfa/cjx_certificates.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = { @@ -34,6 +37,7 @@ CXFA_Certificates::CXFA_Certificates(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Certificates, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Certificates>(this)) {} CXFA_Certificates::~CXFA_Certificates() {} diff --git a/xfa/fxfa/parser/cxfa_checkbutton.cpp b/xfa/fxfa/parser/cxfa_checkbutton.cpp index 01adbdfc3a..00f3993e4a 100644 --- a/xfa/fxfa/parser/cxfa_checkbutton.cpp +++ b/xfa/fxfa/parser/cxfa_checkbutton.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_checkbutton.h" +#include "fxjs/xfa/cjx_checkbutton.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Margin, 1, 0}, @@ -36,6 +39,7 @@ CXFA_CheckButton::CXFA_CheckButton(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::CheckButton, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_CheckButton>(this)) {} CXFA_CheckButton::~CXFA_CheckButton() {} diff --git a/xfa/fxfa/parser/cxfa_choicelist.cpp b/xfa/fxfa/parser/cxfa_choicelist.cpp index 452e87d3e8..33f868316f 100644 --- a/xfa/fxfa/parser/cxfa_choicelist.cpp +++ b/xfa/fxfa/parser/cxfa_choicelist.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_choicelist.h" +#include "fxjs/xfa/cjx_choicelist.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Margin, 1, 0}, @@ -35,6 +38,7 @@ CXFA_ChoiceList::CXFA_ChoiceList(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::ChoiceList, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_ChoiceList>(this)) {} CXFA_ChoiceList::~CXFA_ChoiceList() {} diff --git a/xfa/fxfa/parser/cxfa_color.cpp b/xfa/fxfa/parser/cxfa_color.cpp index 9211af7924..a072d0302b 100644 --- a/xfa/fxfa/parser/cxfa_color.cpp +++ b/xfa/fxfa/parser/cxfa_color.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_color.h" +#include "fxjs/xfa/cjx_color.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Extras, 1, 0}, @@ -30,6 +33,7 @@ CXFA_Color::CXFA_Color(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Color, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Color>(this)) {} CXFA_Color::~CXFA_Color() {} diff --git a/xfa/fxfa/parser/cxfa_comb.cpp b/xfa/fxfa/parser/cxfa_comb.cpp index af3567d0a1..c427dded1c 100644 --- a/xfa/fxfa/parser/cxfa_comb.cpp +++ b/xfa/fxfa/parser/cxfa_comb.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_comb.h" +#include "fxjs/xfa/cjx_comb.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -27,6 +30,7 @@ CXFA_Comb::CXFA_Comb(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Comb, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Comb>(this)) {} CXFA_Comb::~CXFA_Comb() {} diff --git a/xfa/fxfa/parser/cxfa_command.cpp b/xfa/fxfa/parser/cxfa_command.cpp index 3ed2316ea6..ce385e1eb4 100644 --- a/xfa/fxfa/parser/cxfa_command.cpp +++ b/xfa/fxfa/parser/cxfa_command.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_command.h" +#include "fxjs/xfa/cjx_command.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Query, 1, 0}, @@ -33,6 +36,7 @@ CXFA_Command::CXFA_Command(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Command, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Command>(this)) {} CXFA_Command::~CXFA_Command() {} diff --git a/xfa/fxfa/parser/cxfa_connect.cpp b/xfa/fxfa/parser/cxfa_connect.cpp index 0def93d352..40648f4022 100644 --- a/xfa/fxfa/parser/cxfa_connect.cpp +++ b/xfa/fxfa/parser/cxfa_connect.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_connect.h" +#include "fxjs/xfa/cjx_connect.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = { @@ -40,6 +43,7 @@ CXFA_Connect::CXFA_Connect(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Connect, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Connect>(this)) {} CXFA_Connect::~CXFA_Connect() {} diff --git a/xfa/fxfa/parser/cxfa_connectstring.cpp b/xfa/fxfa/parser/cxfa_connectstring.cpp index 12e37772d8..87eb70d365 100644 --- a/xfa/fxfa/parser/cxfa_connectstring.cpp +++ b/xfa/fxfa/parser/cxfa_connectstring.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_connectstring.h" +#include "fxjs/xfa/cjx_connectstring.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -28,6 +31,7 @@ CXFA_ConnectString::CXFA_ConnectString(CXFA_Document* doc, XFA_Element::ConnectString, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_ConnectString>(this)) {} CXFA_ConnectString::~CXFA_ConnectString() {} diff --git a/xfa/fxfa/parser/cxfa_contentarea.cpp b/xfa/fxfa/parser/cxfa_contentarea.cpp index 6bf1a0c3f7..48f52f70c9 100644 --- a/xfa/fxfa/parser/cxfa_contentarea.cpp +++ b/xfa/fxfa/parser/cxfa_contentarea.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_contentarea.h" -#include "fxjs/xfa/cjx_container.h" +#include "fxjs/xfa/cjx_contentarea.h" #include "third_party/base/ptr_util.h" namespace { @@ -39,6 +39,6 @@ CXFA_ContentArea::CXFA_ContentArea(CXFA_Document* doc, XFA_PacketType packet) kPropertyData, kAttributeData, kName, - pdfium::MakeUnique<CJX_Container>(this)) {} + pdfium::MakeUnique<CJX_ContentArea>(this)) {} CXFA_ContentArea::~CXFA_ContentArea() {} diff --git a/xfa/fxfa/parser/cxfa_corner.cpp b/xfa/fxfa/parser/cxfa_corner.cpp index 951d58d00c..f1757a0180 100644 --- a/xfa/fxfa/parser/cxfa_corner.cpp +++ b/xfa/fxfa/parser/cxfa_corner.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_corner.h" +#include "fxjs/xfa/cjx_corner.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Color, 1, 0}, diff --git a/xfa/fxfa/parser/cxfa_datavalue.cpp b/xfa/fxfa/parser/cxfa_datavalue.cpp index b3d7599bd3..e2ebaf0389 100644 --- a/xfa/fxfa/parser/cxfa_datavalue.cpp +++ b/xfa/fxfa/parser/cxfa_datavalue.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_datavalue.h" +#include "fxjs/xfa/cjx_datavalue.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -29,6 +32,7 @@ CXFA_DataValue::CXFA_DataValue(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::DataValue, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_DataValue>(this)) {} CXFA_DataValue::~CXFA_DataValue() {} diff --git a/xfa/fxfa/parser/cxfa_date.cpp b/xfa/fxfa/parser/cxfa_date.cpp index 94cd872c9d..984ab32513 100644 --- a/xfa/fxfa/parser/cxfa_date.cpp +++ b/xfa/fxfa/parser/cxfa_date.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_date.h" -#include "fxjs/xfa/cjx_content.h" +#include "fxjs/xfa/cjx_date.h" #include "third_party/base/ptr_util.h" namespace { @@ -31,6 +31,6 @@ CXFA_Date::CXFA_Date(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_Content>(this)) {} + pdfium::MakeUnique<CJX_Date>(this)) {} CXFA_Date::~CXFA_Date() {} diff --git a/xfa/fxfa/parser/cxfa_datetime.cpp b/xfa/fxfa/parser/cxfa_datetime.cpp index f25f8f34b0..809e40c6ac 100644 --- a/xfa/fxfa/parser/cxfa_datetime.cpp +++ b/xfa/fxfa/parser/cxfa_datetime.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_datetime.h" -#include "fxjs/xfa/cjx_content.h" +#include "fxjs/xfa/cjx_datetime.h" #include "third_party/base/ptr_util.h" namespace { @@ -31,6 +31,6 @@ CXFA_DateTime::CXFA_DateTime(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_Content>(this)) {} + pdfium::MakeUnique<CJX_DateTime>(this)) {} CXFA_DateTime::~CXFA_DateTime() {} diff --git a/xfa/fxfa/parser/cxfa_datetimeedit.cpp b/xfa/fxfa/parser/cxfa_datetimeedit.cpp index bec792d22e..5c9a8040ec 100644 --- a/xfa/fxfa/parser/cxfa_datetimeedit.cpp +++ b/xfa/fxfa/parser/cxfa_datetimeedit.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_datetimeedit.h" +#include "fxjs/xfa/cjx_datetimeedit.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Margin, 1, 0}, @@ -35,6 +38,7 @@ CXFA_DateTimeEdit::CXFA_DateTimeEdit(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::DateTimeEdit, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_DateTimeEdit>(this)) {} CXFA_DateTimeEdit::~CXFA_DateTimeEdit() {} diff --git a/xfa/fxfa/parser/cxfa_decimal.cpp b/xfa/fxfa/parser/cxfa_decimal.cpp index dbdcc39afd..c887e8d121 100644 --- a/xfa/fxfa/parser/cxfa_decimal.cpp +++ b/xfa/fxfa/parser/cxfa_decimal.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_decimal.h" -#include "fxjs/xfa/cjx_content.h" +#include "fxjs/xfa/cjx_decimal.h" #include "third_party/base/ptr_util.h" namespace { @@ -33,6 +33,6 @@ CXFA_Decimal::CXFA_Decimal(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_Content>(this)) {} + pdfium::MakeUnique<CJX_Decimal>(this)) {} CXFA_Decimal::~CXFA_Decimal() {} diff --git a/xfa/fxfa/parser/cxfa_defaultui.cpp b/xfa/fxfa/parser/cxfa_defaultui.cpp index 9b8c9c0358..a9400847f1 100644 --- a/xfa/fxfa/parser/cxfa_defaultui.cpp +++ b/xfa/fxfa/parser/cxfa_defaultui.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_defaultui.h" +#include "fxjs/xfa/cjx_defaultui.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Extras, 1, 0}, diff --git a/xfa/fxfa/parser/cxfa_delete.cpp b/xfa/fxfa/parser/cxfa_delete.cpp index ccbba37ff2..8477fa99f6 100644 --- a/xfa/fxfa/parser/cxfa_delete.cpp +++ b/xfa/fxfa/parser/cxfa_delete.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_delete.h" -#include "fxjs/xfa/cjx_textnode.h" +#include "fxjs/xfa/cjx_delete.h" #include "third_party/base/ptr_util.h" namespace { @@ -31,6 +31,6 @@ CXFA_Delete::CXFA_Delete(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_TextNode>(this)) {} + pdfium::MakeUnique<CJX_Delete>(this)) {} CXFA_Delete::~CXFA_Delete() {} diff --git a/xfa/fxfa/parser/cxfa_deltas.cpp b/xfa/fxfa/parser/cxfa_deltas.cpp index 2b843b53b4..4db0936ba3 100644 --- a/xfa/fxfa/parser/cxfa_deltas.cpp +++ b/xfa/fxfa/parser/cxfa_deltas.cpp @@ -6,20 +6,10 @@ #include "xfa/fxfa/parser/cxfa_deltas.h" -namespace { +#include "fxjs/xfa/cjx_deltas.h" +#include "third_party/base/ptr_util.h" -constexpr wchar_t kName[] = L"deltas"; - -} // namespace - -CXFA_Deltas::CXFA_Deltas(CXFA_Document* doc, XFA_PacketType packet) - : CXFA_Node(doc, - packet, - XFA_XDPPACKET_Form, - XFA_ObjectType::Object, - XFA_Element::Deltas, - nullptr, - nullptr, - kName) {} +CXFA_Deltas::CXFA_Deltas(CXFA_Document* doc) + : CXFA_List(doc, pdfium::MakeUnique<CJX_Deltas>(this)) {} CXFA_Deltas::~CXFA_Deltas() {} diff --git a/xfa/fxfa/parser/cxfa_deltas.h b/xfa/fxfa/parser/cxfa_deltas.h index 37566ae307..4c00e9e284 100644 --- a/xfa/fxfa/parser/cxfa_deltas.h +++ b/xfa/fxfa/parser/cxfa_deltas.h @@ -7,11 +7,11 @@ #ifndef XFA_FXFA_PARSER_CXFA_DELTAS_H_ #define XFA_FXFA_PARSER_CXFA_DELTAS_H_ -#include "xfa/fxfa/parser/cxfa_node.h" +#include "xfa/fxfa/parser/cxfa_list.h" -class CXFA_Deltas : public CXFA_Node { +class CXFA_Deltas : public CXFA_List { public: - CXFA_Deltas(CXFA_Document* doc, XFA_PacketType packet); + explicit CXFA_Deltas(CXFA_Document* doc); ~CXFA_Deltas() override; }; diff --git a/xfa/fxfa/parser/cxfa_digestmethod.cpp b/xfa/fxfa/parser/cxfa_digestmethod.cpp index a213d0a913..e74832e160 100644 --- a/xfa/fxfa/parser/cxfa_digestmethod.cpp +++ b/xfa/fxfa/parser/cxfa_digestmethod.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_digestmethod.h" +#include "fxjs/xfa/cjx_digestmethod.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -26,6 +29,7 @@ CXFA_DigestMethod::CXFA_DigestMethod(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::DigestMethod, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_DigestMethod>(this)) {} CXFA_DigestMethod::~CXFA_DigestMethod() {} diff --git a/xfa/fxfa/parser/cxfa_digestmethods.cpp b/xfa/fxfa/parser/cxfa_digestmethods.cpp index 52a8da5c72..4993fd09b6 100644 --- a/xfa/fxfa/parser/cxfa_digestmethods.cpp +++ b/xfa/fxfa/parser/cxfa_digestmethods.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_digestmethods.h" +#include "fxjs/xfa/cjx_digestmethods.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -29,6 +32,7 @@ CXFA_DigestMethods::CXFA_DigestMethods(CXFA_Document* doc, XFA_Element::DigestMethods, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_DigestMethods>(this)) {} CXFA_DigestMethods::~CXFA_DigestMethods() {} diff --git a/xfa/fxfa/parser/cxfa_draw.cpp b/xfa/fxfa/parser/cxfa_draw.cpp index 1febee0aef..8d0dd37788 100644 --- a/xfa/fxfa/parser/cxfa_draw.cpp +++ b/xfa/fxfa/parser/cxfa_draw.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_draw.h" -#include "fxjs/xfa/cjx_container.h" +#include "fxjs/xfa/cjx_draw.h" #include "third_party/base/ptr_util.h" namespace { @@ -59,6 +59,6 @@ CXFA_Draw::CXFA_Draw(CXFA_Document* doc, XFA_PacketType packet) kPropertyData, kAttributeData, kName, - pdfium::MakeUnique<CJX_Container>(this)) {} + pdfium::MakeUnique<CJX_Draw>(this)) {} CXFA_Draw::~CXFA_Draw() {} diff --git a/xfa/fxfa/parser/cxfa_edge.cpp b/xfa/fxfa/parser/cxfa_edge.cpp index d9763101d3..5eb969cc9f 100644 --- a/xfa/fxfa/parser/cxfa_edge.cpp +++ b/xfa/fxfa/parser/cxfa_edge.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_edge.h" +#include "fxjs/xfa/cjx_edge.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Color, 1, 0}, @@ -36,6 +39,7 @@ CXFA_Edge::CXFA_Edge(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Edge, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Edge>(this)) {} CXFA_Edge::~CXFA_Edge() {} diff --git a/xfa/fxfa/parser/cxfa_encoding.cpp b/xfa/fxfa/parser/cxfa_encoding.cpp index 27269b4f2a..303221ae58 100644 --- a/xfa/fxfa/parser/cxfa_encoding.cpp +++ b/xfa/fxfa/parser/cxfa_encoding.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_encoding.h" +#include "fxjs/xfa/cjx_encoding.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -26,6 +29,7 @@ CXFA_Encoding::CXFA_Encoding(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Encoding, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Encoding>(this)) {} CXFA_Encoding::~CXFA_Encoding() {} diff --git a/xfa/fxfa/parser/cxfa_encodings.cpp b/xfa/fxfa/parser/cxfa_encodings.cpp index d6b1fb7cd8..c0df2d6077 100644 --- a/xfa/fxfa/parser/cxfa_encodings.cpp +++ b/xfa/fxfa/parser/cxfa_encodings.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_encodings.h" +#include "fxjs/xfa/cjx_encodings.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -28,6 +31,7 @@ CXFA_Encodings::CXFA_Encodings(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Encodings, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Encodings>(this)) {} CXFA_Encodings::~CXFA_Encodings() {} diff --git a/xfa/fxfa/parser/cxfa_encrypt.cpp b/xfa/fxfa/parser/cxfa_encrypt.cpp index 2e38bef4c0..6ddf941c9c 100644 --- a/xfa/fxfa/parser/cxfa_encrypt.cpp +++ b/xfa/fxfa/parser/cxfa_encrypt.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_encrypt.h" +#include "fxjs/xfa/cjx_encrypt.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = { @@ -32,6 +35,7 @@ CXFA_Encrypt::CXFA_Encrypt(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Encrypt, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Encrypt>(this)) {} CXFA_Encrypt::~CXFA_Encrypt() {} diff --git a/xfa/fxfa/parser/cxfa_event.cpp b/xfa/fxfa/parser/cxfa_event.cpp index 940be135a0..b3ee47b4df 100644 --- a/xfa/fxfa/parser/cxfa_event.cpp +++ b/xfa/fxfa/parser/cxfa_event.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_event.h" +#include "fxjs/xfa/cjx_event.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = { @@ -39,6 +42,7 @@ CXFA_Event::CXFA_Event(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Event, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Event>(this)) {} CXFA_Event::~CXFA_Event() {} diff --git a/xfa/fxfa/parser/cxfa_exdata.cpp b/xfa/fxfa/parser/cxfa_exdata.cpp index 437024f6db..2c4571d101 100644 --- a/xfa/fxfa/parser/cxfa_exdata.cpp +++ b/xfa/fxfa/parser/cxfa_exdata.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_exdata.h" -#include "fxjs/xfa/cjx_content.h" +#include "fxjs/xfa/cjx_exdata.h" #include "third_party/base/ptr_util.h" namespace { @@ -37,6 +37,6 @@ CXFA_ExData::CXFA_ExData(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_Content>(this)) {} + pdfium::MakeUnique<CJX_ExData>(this)) {} CXFA_ExData::~CXFA_ExData() {} diff --git a/xfa/fxfa/parser/cxfa_execute.cpp b/xfa/fxfa/parser/cxfa_execute.cpp index a2af26b333..4196e8f128 100644 --- a/xfa/fxfa/parser/cxfa_execute.cpp +++ b/xfa/fxfa/parser/cxfa_execute.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_execute.h" +#include "fxjs/xfa/cjx_execute.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -31,6 +34,7 @@ CXFA_Execute::CXFA_Execute(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Execute, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Execute>(this)) {} CXFA_Execute::~CXFA_Execute() {} diff --git a/xfa/fxfa/parser/cxfa_exobject.cpp b/xfa/fxfa/parser/cxfa_exobject.cpp index bc9647a0b5..fff1d2e033 100644 --- a/xfa/fxfa/parser/cxfa_exobject.cpp +++ b/xfa/fxfa/parser/cxfa_exobject.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_exobject.h" +#include "fxjs/xfa/cjx_exobject.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Extras, 1, 0}, @@ -33,6 +36,7 @@ CXFA_ExObject::CXFA_ExObject(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::ExObject, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_ExObject>(this)) {} CXFA_ExObject::~CXFA_ExObject() {} diff --git a/xfa/fxfa/parser/cxfa_extras.cpp b/xfa/fxfa/parser/cxfa_extras.cpp index bf155c70c2..4609e6fc2a 100644 --- a/xfa/fxfa/parser/cxfa_extras.cpp +++ b/xfa/fxfa/parser/cxfa_extras.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_extras.h" +#include "fxjs/xfa/cjx_extras.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -28,6 +31,7 @@ CXFA_Extras::CXFA_Extras(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Extras, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Extras>(this)) {} CXFA_Extras::~CXFA_Extras() {} diff --git a/xfa/fxfa/parser/cxfa_fill.cpp b/xfa/fxfa/parser/cxfa_fill.cpp index d5020033b7..a26bc896d7 100644 --- a/xfa/fxfa/parser/cxfa_fill.cpp +++ b/xfa/fxfa/parser/cxfa_fill.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_fill.h" +#include "fxjs/xfa/cjx_fill.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = { @@ -38,6 +41,7 @@ CXFA_Fill::CXFA_Fill(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Fill, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Fill>(this)) {} CXFA_Fill::~CXFA_Fill() {} diff --git a/xfa/fxfa/parser/cxfa_filter.cpp b/xfa/fxfa/parser/cxfa_filter.cpp index 2bb5952c49..ec6522d62a 100644 --- a/xfa/fxfa/parser/cxfa_filter.cpp +++ b/xfa/fxfa/parser/cxfa_filter.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_filter.h" +#include "fxjs/xfa/cjx_filter.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = { @@ -35,6 +38,7 @@ CXFA_Filter::CXFA_Filter(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Filter, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Filter>(this)) {} CXFA_Filter::~CXFA_Filter() {} diff --git a/xfa/fxfa/parser/cxfa_float.cpp b/xfa/fxfa/parser/cxfa_float.cpp index 3430a83589..83e574917e 100644 --- a/xfa/fxfa/parser/cxfa_float.cpp +++ b/xfa/fxfa/parser/cxfa_float.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_float.h" -#include "fxjs/xfa/cjx_content.h" +#include "fxjs/xfa/cjx_float.h" #include "third_party/base/ptr_util.h" namespace { @@ -31,6 +31,6 @@ CXFA_Float::CXFA_Float(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_Content>(this)) {} + pdfium::MakeUnique<CJX_Float>(this)) {} CXFA_Float::~CXFA_Float() {} diff --git a/xfa/fxfa/parser/cxfa_font.cpp b/xfa/fxfa/parser/cxfa_font.cpp index df2c32797d..eb5c312173 100644 --- a/xfa/fxfa/parser/cxfa_font.cpp +++ b/xfa/fxfa/parser/cxfa_font.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_font.h" +#include "fxjs/xfa/cjx_font.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Fill, 1, 0}, @@ -56,6 +59,7 @@ CXFA_Font::CXFA_Font(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Font, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Font>(this)) {} CXFA_Font::~CXFA_Font() {} diff --git a/xfa/fxfa/parser/cxfa_format.cpp b/xfa/fxfa/parser/cxfa_format.cpp index ba90772f43..ebaaeb0f4e 100644 --- a/xfa/fxfa/parser/cxfa_format.cpp +++ b/xfa/fxfa/parser/cxfa_format.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_format.h" +#include "fxjs/xfa/cjx_format.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Picture, 1, 0}, @@ -29,6 +32,7 @@ CXFA_Format::CXFA_Format(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Format, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Format>(this)) {} CXFA_Format::~CXFA_Format() {} diff --git a/xfa/fxfa/parser/cxfa_handler.cpp b/xfa/fxfa/parser/cxfa_handler.cpp index 4a7be948bc..80f0f8158d 100644 --- a/xfa/fxfa/parser/cxfa_handler.cpp +++ b/xfa/fxfa/parser/cxfa_handler.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_handler.h" -#include "fxjs/xfa/cjx_textnode.h" +#include "fxjs/xfa/cjx_handler.h" #include "third_party/base/ptr_util.h" namespace { @@ -32,6 +32,6 @@ CXFA_Handler::CXFA_Handler(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_TextNode>(this)) {} + pdfium::MakeUnique<CJX_Handler>(this)) {} CXFA_Handler::~CXFA_Handler() {} diff --git a/xfa/fxfa/parser/cxfa_image.cpp b/xfa/fxfa/parser/cxfa_image.cpp index 9f7988c4c5..928738109e 100644 --- a/xfa/fxfa/parser/cxfa_image.cpp +++ b/xfa/fxfa/parser/cxfa_image.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_image.h" +#include "fxjs/xfa/cjx_image.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { diff --git a/xfa/fxfa/parser/cxfa_imageedit.cpp b/xfa/fxfa/parser/cxfa_imageedit.cpp index dd640b7a70..6f2108504e 100644 --- a/xfa/fxfa/parser/cxfa_imageedit.cpp +++ b/xfa/fxfa/parser/cxfa_imageedit.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_imageedit.h" +#include "fxjs/xfa/cjx_imageedit.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Margin, 1, 0}, @@ -32,6 +35,7 @@ CXFA_ImageEdit::CXFA_ImageEdit(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::ImageEdit, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_ImageEdit>(this)) {} CXFA_ImageEdit::~CXFA_ImageEdit() {} diff --git a/xfa/fxfa/parser/cxfa_insert.cpp b/xfa/fxfa/parser/cxfa_insert.cpp index a455d785d9..998a7f81eb 100644 --- a/xfa/fxfa/parser/cxfa_insert.cpp +++ b/xfa/fxfa/parser/cxfa_insert.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_insert.h" -#include "fxjs/xfa/cjx_textnode.h" +#include "fxjs/xfa/cjx_insert.h" #include "third_party/base/ptr_util.h" namespace { @@ -31,6 +31,6 @@ CXFA_Insert::CXFA_Insert(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_TextNode>(this)) {} + pdfium::MakeUnique<CJX_Insert>(this)) {} CXFA_Insert::~CXFA_Insert() {} diff --git a/xfa/fxfa/parser/cxfa_integer.cpp b/xfa/fxfa/parser/cxfa_integer.cpp index 514ee4ee58..bd263abe4e 100644 --- a/xfa/fxfa/parser/cxfa_integer.cpp +++ b/xfa/fxfa/parser/cxfa_integer.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_integer.h" -#include "fxjs/xfa/cjx_content.h" +#include "fxjs/xfa/cjx_integer.h" #include "third_party/base/ptr_util.h" namespace { @@ -32,6 +32,6 @@ CXFA_Integer::CXFA_Integer(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_Content>(this)) {} + pdfium::MakeUnique<CJX_Integer>(this)) {} CXFA_Integer::~CXFA_Integer() {} diff --git a/xfa/fxfa/parser/cxfa_issuers.cpp b/xfa/fxfa/parser/cxfa_issuers.cpp index 33de02a786..44c70bcf64 100644 --- a/xfa/fxfa/parser/cxfa_issuers.cpp +++ b/xfa/fxfa/parser/cxfa_issuers.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_issuers.h" +#include "fxjs/xfa/cjx_issuers.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -28,6 +31,7 @@ CXFA_Issuers::CXFA_Issuers(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Issuers, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Issuers>(this)) {} CXFA_Issuers::~CXFA_Issuers() {} diff --git a/xfa/fxfa/parser/cxfa_items.cpp b/xfa/fxfa/parser/cxfa_items.cpp index 8276ed4b20..06feddb8d3 100644 --- a/xfa/fxfa/parser/cxfa_items.cpp +++ b/xfa/fxfa/parser/cxfa_items.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_items.h" +#include "fxjs/xfa/cjx_items.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -31,6 +34,7 @@ CXFA_Items::CXFA_Items(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Items, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Items>(this)) {} CXFA_Items::~CXFA_Items() {} diff --git a/xfa/fxfa/parser/cxfa_keep.cpp b/xfa/fxfa/parser/cxfa_keep.cpp index 54121fe62f..beb22fa634 100644 --- a/xfa/fxfa/parser/cxfa_keep.cpp +++ b/xfa/fxfa/parser/cxfa_keep.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_keep.h" +#include "fxjs/xfa/cjx_keep.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Extras, 1, 0}, @@ -34,6 +37,7 @@ CXFA_Keep::CXFA_Keep(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Keep, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Keep>(this)) {} CXFA_Keep::~CXFA_Keep() {} diff --git a/xfa/fxfa/parser/cxfa_keyusage.cpp b/xfa/fxfa/parser/cxfa_keyusage.cpp index f12ab04d5d..13054bed69 100644 --- a/xfa/fxfa/parser/cxfa_keyusage.cpp +++ b/xfa/fxfa/parser/cxfa_keyusage.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_keyusage.h" +#include "fxjs/xfa/cjx_keyusage.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -37,6 +40,7 @@ CXFA_KeyUsage::CXFA_KeyUsage(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::KeyUsage, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_KeyUsage>(this)) {} CXFA_KeyUsage::~CXFA_KeyUsage() {} diff --git a/xfa/fxfa/parser/cxfa_line.cpp b/xfa/fxfa/parser/cxfa_line.cpp index dde2165350..cc7b6ee071 100644 --- a/xfa/fxfa/parser/cxfa_line.cpp +++ b/xfa/fxfa/parser/cxfa_line.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_line.h" +#include "fxjs/xfa/cjx_line.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Edge, 1, 0}, @@ -32,6 +35,7 @@ CXFA_Line::CXFA_Line(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Line, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Line>(this)) {} CXFA_Line::~CXFA_Line() {} diff --git a/xfa/fxfa/parser/cxfa_linear.cpp b/xfa/fxfa/parser/cxfa_linear.cpp index 307ab11919..5ca27916ae 100644 --- a/xfa/fxfa/parser/cxfa_linear.cpp +++ b/xfa/fxfa/parser/cxfa_linear.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_linear.h" +#include "fxjs/xfa/cjx_linear.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Color, 1, 0}, @@ -31,6 +34,7 @@ CXFA_Linear::CXFA_Linear(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Linear, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Linear>(this)) {} CXFA_Linear::~CXFA_Linear() {} diff --git a/xfa/fxfa/parser/cxfa_map.cpp b/xfa/fxfa/parser/cxfa_map.cpp index adcb879e9e..3e0c041544 100644 --- a/xfa/fxfa/parser/cxfa_map.cpp +++ b/xfa/fxfa/parser/cxfa_map.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_map.h" +#include "fxjs/xfa/cjx_map.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -31,6 +34,7 @@ CXFA_Map::CXFA_Map(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Map, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Map>(this)) {} CXFA_Map::~CXFA_Map() {} diff --git a/xfa/fxfa/parser/cxfa_margin.cpp b/xfa/fxfa/parser/cxfa_margin.cpp index 6ad52c1485..6a50d13e4d 100644 --- a/xfa/fxfa/parser/cxfa_margin.cpp +++ b/xfa/fxfa/parser/cxfa_margin.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_margin.h" +#include "fxjs/xfa/cjx_margin.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Extras, 1, 0}, @@ -32,6 +35,7 @@ CXFA_Margin::CXFA_Margin(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Margin, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Margin>(this)) {} CXFA_Margin::~CXFA_Margin() {} diff --git a/xfa/fxfa/parser/cxfa_mdp.cpp b/xfa/fxfa/parser/cxfa_mdp.cpp index 17858b352d..b8fa1cdc99 100644 --- a/xfa/fxfa/parser/cxfa_mdp.cpp +++ b/xfa/fxfa/parser/cxfa_mdp.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_mdp.h" +#include "fxjs/xfa/cjx_mdp.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -29,6 +32,7 @@ CXFA_Mdp::CXFA_Mdp(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Mdp, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Mdp>(this)) {} CXFA_Mdp::~CXFA_Mdp() {} diff --git a/xfa/fxfa/parser/cxfa_medium.cpp b/xfa/fxfa/parser/cxfa_medium.cpp index e212e2112b..3fa494a295 100644 --- a/xfa/fxfa/parser/cxfa_medium.cpp +++ b/xfa/fxfa/parser/cxfa_medium.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_medium.h" +#include "fxjs/xfa/cjx_medium.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -36,6 +39,7 @@ CXFA_Medium::CXFA_Medium(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Medium, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Medium>(this)) {} CXFA_Medium::~CXFA_Medium() {} diff --git a/xfa/fxfa/parser/cxfa_message.cpp b/xfa/fxfa/parser/cxfa_message.cpp index 4863e30bcd..fa16efdf36 100644 --- a/xfa/fxfa/parser/cxfa_message.cpp +++ b/xfa/fxfa/parser/cxfa_message.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_message.h" +#include "fxjs/xfa/cjx_message.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::MsgId, 1, 0}, @@ -32,6 +35,7 @@ CXFA_Message::CXFA_Message(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Message, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Message>(this)) {} CXFA_Message::~CXFA_Message() {} diff --git a/xfa/fxfa/parser/cxfa_node_statics.cpp b/xfa/fxfa/parser/cxfa_node_statics.cpp index 75e512e069..93860c6a0a 100644 --- a/xfa/fxfa/parser/cxfa_node_statics.cpp +++ b/xfa/fxfa/parser/cxfa_node_statics.cpp @@ -1511,9 +1511,6 @@ std::unique_ptr<CXFA_Node> CXFA_Node::Create(CXFA_Document* doc, case XFA_Element::Delete: node = pdfium::MakeUnique<CXFA_Delete>(doc, packet); break; - case XFA_Element::Deltas: - node = pdfium::MakeUnique<CXFA_Deltas>(doc, packet); - break; case XFA_Element::DigestMethod: node = pdfium::MakeUnique<CXFA_DigestMethod>(doc, packet); break; diff --git a/xfa/fxfa/parser/cxfa_numericedit.cpp b/xfa/fxfa/parser/cxfa_numericedit.cpp index a875b04b39..5a65c763b2 100644 --- a/xfa/fxfa/parser/cxfa_numericedit.cpp +++ b/xfa/fxfa/parser/cxfa_numericedit.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_numericedit.h" +#include "fxjs/xfa/cjx_numericedit.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Margin, 1, 0}, @@ -33,6 +36,7 @@ CXFA_NumericEdit::CXFA_NumericEdit(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::NumericEdit, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_NumericEdit>(this)) {} CXFA_NumericEdit::~CXFA_NumericEdit() {} diff --git a/xfa/fxfa/parser/cxfa_occur.cpp b/xfa/fxfa/parser/cxfa_occur.cpp index 80089f50fc..82424d6d6d 100644 --- a/xfa/fxfa/parser/cxfa_occur.cpp +++ b/xfa/fxfa/parser/cxfa_occur.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_occur.h" +#include "fxjs/xfa/cjx_occur.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Extras, 1, 0}, @@ -31,6 +34,7 @@ CXFA_Occur::CXFA_Occur(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Occur, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Occur>(this)) {} CXFA_Occur::~CXFA_Occur() {} diff --git a/xfa/fxfa/parser/cxfa_oid.cpp b/xfa/fxfa/parser/cxfa_oid.cpp index ad61086945..7202e40c0e 100644 --- a/xfa/fxfa/parser/cxfa_oid.cpp +++ b/xfa/fxfa/parser/cxfa_oid.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_oid.h" -#include "fxjs/xfa/cjx_textnode.h" +#include "fxjs/xfa/cjx_oid.h" #include "third_party/base/ptr_util.h" namespace { @@ -31,6 +31,6 @@ CXFA_Oid::CXFA_Oid(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_TextNode>(this)) {} + pdfium::MakeUnique<CJX_Oid>(this)) {} CXFA_Oid::~CXFA_Oid() {} diff --git a/xfa/fxfa/parser/cxfa_oids.cpp b/xfa/fxfa/parser/cxfa_oids.cpp index 9b72df01c8..31d2a6d92f 100644 --- a/xfa/fxfa/parser/cxfa_oids.cpp +++ b/xfa/fxfa/parser/cxfa_oids.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_oids.h" +#include "fxjs/xfa/cjx_oids.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -28,6 +31,7 @@ CXFA_Oids::CXFA_Oids(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Oids, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Oids>(this)) {} CXFA_Oids::~CXFA_Oids() {} diff --git a/xfa/fxfa/parser/cxfa_operation.cpp b/xfa/fxfa/parser/cxfa_operation.cpp index 7364e96390..cc92d8c65a 100644 --- a/xfa/fxfa/parser/cxfa_operation.cpp +++ b/xfa/fxfa/parser/cxfa_operation.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_operation.h" -#include "fxjs/xfa/cjx_textnode.h" +#include "fxjs/xfa/cjx_operation.h" #include "third_party/base/ptr_util.h" namespace { @@ -33,6 +33,6 @@ CXFA_Operation::CXFA_Operation(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_TextNode>(this)) {} + pdfium::MakeUnique<CJX_Operation>(this)) {} CXFA_Operation::~CXFA_Operation() {} diff --git a/xfa/fxfa/parser/cxfa_overflow.cpp b/xfa/fxfa/parser/cxfa_overflow.cpp index 8f96215cb8..25897144b4 100644 --- a/xfa/fxfa/parser/cxfa_overflow.cpp +++ b/xfa/fxfa/parser/cxfa_overflow.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_overflow.h" +#include "fxjs/xfa/cjx_overflow.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -29,6 +32,7 @@ CXFA_Overflow::CXFA_Overflow(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Overflow, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Overflow>(this)) {} CXFA_Overflow::~CXFA_Overflow() {} diff --git a/xfa/fxfa/parser/cxfa_pagearea.cpp b/xfa/fxfa/parser/cxfa_pagearea.cpp index ef2ba9e7ed..f82b3443d2 100644 --- a/xfa/fxfa/parser/cxfa_pagearea.cpp +++ b/xfa/fxfa/parser/cxfa_pagearea.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_pagearea.h" -#include "fxjs/xfa/cjx_container.h" +#include "fxjs/xfa/cjx_pagearea.h" #include "third_party/base/ptr_util.h" namespace { @@ -45,6 +45,6 @@ CXFA_PageArea::CXFA_PageArea(CXFA_Document* doc, XFA_PacketType packet) kPropertyData, kAttributeData, kName, - pdfium::MakeUnique<CJX_Container>(this)) {} + pdfium::MakeUnique<CJX_PageArea>(this)) {} CXFA_PageArea::~CXFA_PageArea() {} diff --git a/xfa/fxfa/parser/cxfa_pageset.cpp b/xfa/fxfa/parser/cxfa_pageset.cpp index 536fec1db8..2fea61857d 100644 --- a/xfa/fxfa/parser/cxfa_pageset.cpp +++ b/xfa/fxfa/parser/cxfa_pageset.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_pageset.h" -#include "fxjs/xfa/cjx_container.h" +#include "fxjs/xfa/cjx_pageset.h" #include "third_party/base/ptr_util.h" namespace { @@ -39,6 +39,6 @@ CXFA_PageSet::CXFA_PageSet(CXFA_Document* doc, XFA_PacketType packet) kPropertyData, kAttributeData, kName, - pdfium::MakeUnique<CJX_Container>(this)) {} + pdfium::MakeUnique<CJX_PageSet>(this)) {} CXFA_PageSet::~CXFA_PageSet() {} diff --git a/xfa/fxfa/parser/cxfa_para.cpp b/xfa/fxfa/parser/cxfa_para.cpp index a1e4b8c66e..fa91eb6a3d 100644 --- a/xfa/fxfa/parser/cxfa_para.cpp +++ b/xfa/fxfa/parser/cxfa_para.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_para.h" +#include "fxjs/xfa/cjx_para.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = { @@ -45,6 +48,7 @@ CXFA_Para::CXFA_Para(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Para, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Para>(this)) {} CXFA_Para::~CXFA_Para() {} diff --git a/xfa/fxfa/parser/cxfa_password.cpp b/xfa/fxfa/parser/cxfa_password.cpp index d6f70fb170..3b3f719e1b 100644 --- a/xfa/fxfa/parser/cxfa_password.cpp +++ b/xfa/fxfa/parser/cxfa_password.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_password.h" -#include "fxjs/xfa/cjx_textnode.h" +#include "fxjs/xfa/cjx_password.h" #include "third_party/base/ptr_util.h" namespace { @@ -31,6 +31,6 @@ CXFA_Password::CXFA_Password(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_TextNode>(this)) {} + pdfium::MakeUnique<CJX_Password>(this)) {} CXFA_Password::~CXFA_Password() {} diff --git a/xfa/fxfa/parser/cxfa_passwordedit.cpp b/xfa/fxfa/parser/cxfa_passwordedit.cpp index dad5a7497c..e86cd13ca5 100644 --- a/xfa/fxfa/parser/cxfa_passwordedit.cpp +++ b/xfa/fxfa/parser/cxfa_passwordedit.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_passwordedit.h" +#include "fxjs/xfa/cjx_passwordedit.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Margin, 1, 0}, diff --git a/xfa/fxfa/parser/cxfa_pattern.cpp b/xfa/fxfa/parser/cxfa_pattern.cpp index af39958085..7328fd254c 100644 --- a/xfa/fxfa/parser/cxfa_pattern.cpp +++ b/xfa/fxfa/parser/cxfa_pattern.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_pattern.h" +#include "fxjs/xfa/cjx_pattern.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Color, 1, 0}, @@ -31,6 +34,7 @@ CXFA_Pattern::CXFA_Pattern(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Pattern, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Pattern>(this)) {} CXFA_Pattern::~CXFA_Pattern() {} diff --git a/xfa/fxfa/parser/cxfa_picture.cpp b/xfa/fxfa/parser/cxfa_picture.cpp index 1947ddf8e9..4863a77189 100644 --- a/xfa/fxfa/parser/cxfa_picture.cpp +++ b/xfa/fxfa/parser/cxfa_picture.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_picture.h" +#include "fxjs/xfa/cjx_picture.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -29,6 +32,7 @@ CXFA_Picture::CXFA_Picture(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Picture, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Picture>(this)) {} CXFA_Picture::~CXFA_Picture() {} diff --git a/xfa/fxfa/parser/cxfa_query.cpp b/xfa/fxfa/parser/cxfa_query.cpp index 90ad891adb..5e1856584b 100644 --- a/xfa/fxfa/parser/cxfa_query.cpp +++ b/xfa/fxfa/parser/cxfa_query.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_query.h" +#include "fxjs/xfa/cjx_query.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::RecordSet, 1, 0}, @@ -32,6 +35,7 @@ CXFA_Query::CXFA_Query(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Query, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Query>(this)) {} CXFA_Query::~CXFA_Query() {} diff --git a/xfa/fxfa/parser/cxfa_radial.cpp b/xfa/fxfa/parser/cxfa_radial.cpp index 77679704f3..5630943c58 100644 --- a/xfa/fxfa/parser/cxfa_radial.cpp +++ b/xfa/fxfa/parser/cxfa_radial.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_radial.h" +#include "fxjs/xfa/cjx_radial.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Color, 1, 0}, @@ -31,6 +34,7 @@ CXFA_Radial::CXFA_Radial(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Radial, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Radial>(this)) {} CXFA_Radial::~CXFA_Radial() {} diff --git a/xfa/fxfa/parser/cxfa_reason.cpp b/xfa/fxfa/parser/cxfa_reason.cpp index befad7dc21..625ede9a64 100644 --- a/xfa/fxfa/parser/cxfa_reason.cpp +++ b/xfa/fxfa/parser/cxfa_reason.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_reason.h" -#include "fxjs/xfa/cjx_textnode.h" +#include "fxjs/xfa/cjx_reason.h" #include "third_party/base/ptr_util.h" namespace { @@ -31,6 +31,6 @@ CXFA_Reason::CXFA_Reason(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_TextNode>(this)) {} + pdfium::MakeUnique<CJX_Reason>(this)) {} CXFA_Reason::~CXFA_Reason() {} diff --git a/xfa/fxfa/parser/cxfa_reasons.cpp b/xfa/fxfa/parser/cxfa_reasons.cpp index d1229ca7da..bd3d7618b2 100644 --- a/xfa/fxfa/parser/cxfa_reasons.cpp +++ b/xfa/fxfa/parser/cxfa_reasons.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_reasons.h" +#include "fxjs/xfa/cjx_reasons.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -28,6 +31,7 @@ CXFA_Reasons::CXFA_Reasons(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Reasons, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Reasons>(this)) {} CXFA_Reasons::~CXFA_Reasons() {} diff --git a/xfa/fxfa/parser/cxfa_recordset.cpp b/xfa/fxfa/parser/cxfa_recordset.cpp index 807e6cc6a7..a90c589581 100644 --- a/xfa/fxfa/parser/cxfa_recordset.cpp +++ b/xfa/fxfa/parser/cxfa_recordset.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_recordset.h" +#include "fxjs/xfa/cjx_recordset.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -38,6 +41,7 @@ CXFA_RecordSet::CXFA_RecordSet(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::RecordSet, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_RecordSet>(this)) {} CXFA_RecordSet::~CXFA_RecordSet() {} diff --git a/xfa/fxfa/parser/cxfa_rectangle.cpp b/xfa/fxfa/parser/cxfa_rectangle.cpp index b23e8e9cd0..c3efcfd23b 100644 --- a/xfa/fxfa/parser/cxfa_rectangle.cpp +++ b/xfa/fxfa/parser/cxfa_rectangle.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_rectangle.h" +#include "fxjs/xfa/cjx_rectangle.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Edge, 4, 0}, @@ -32,6 +35,7 @@ CXFA_Rectangle::CXFA_Rectangle(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Rectangle, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Rectangle>(this)) {} CXFA_Rectangle::~CXFA_Rectangle() {} diff --git a/xfa/fxfa/parser/cxfa_ref.cpp b/xfa/fxfa/parser/cxfa_ref.cpp index eea1292483..0d7df447c6 100644 --- a/xfa/fxfa/parser/cxfa_ref.cpp +++ b/xfa/fxfa/parser/cxfa_ref.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_ref.h" -#include "fxjs/xfa/cjx_textnode.h" +#include "fxjs/xfa/cjx_ref.h" #include "third_party/base/ptr_util.h" namespace { @@ -30,6 +30,6 @@ CXFA_Ref::CXFA_Ref(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_TextNode>(this)) {} + pdfium::MakeUnique<CJX_Ref>(this)) {} CXFA_Ref::~CXFA_Ref() {} diff --git a/xfa/fxfa/parser/cxfa_rootelement.cpp b/xfa/fxfa/parser/cxfa_rootelement.cpp index 5ba4ed3bb6..a9b86319b7 100644 --- a/xfa/fxfa/parser/cxfa_rootelement.cpp +++ b/xfa/fxfa/parser/cxfa_rootelement.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_rootelement.h" -#include "fxjs/xfa/cjx_textnode.h" +#include "fxjs/xfa/cjx_rootelement.h" #include "third_party/base/ptr_util.h" namespace { @@ -31,6 +31,6 @@ CXFA_RootElement::CXFA_RootElement(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_TextNode>(this)) {} + pdfium::MakeUnique<CJX_RootElement>(this)) {} CXFA_RootElement::~CXFA_RootElement() {} diff --git a/xfa/fxfa/parser/cxfa_script.cpp b/xfa/fxfa/parser/cxfa_script.cpp index 590d78c29e..ab317f38e8 100644 --- a/xfa/fxfa/parser/cxfa_script.cpp +++ b/xfa/fxfa/parser/cxfa_script.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_script.h" +#include "fxjs/xfa/cjx_script.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = { @@ -39,6 +42,7 @@ CXFA_Script::CXFA_Script(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Script, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Script>(this)) {} CXFA_Script::~CXFA_Script() {} diff --git a/xfa/fxfa/parser/cxfa_select.cpp b/xfa/fxfa/parser/cxfa_select.cpp index 74170151a6..92eca0729f 100644 --- a/xfa/fxfa/parser/cxfa_select.cpp +++ b/xfa/fxfa/parser/cxfa_select.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_select.h" -#include "fxjs/xfa/cjx_textnode.h" +#include "fxjs/xfa/cjx_select.h" #include "third_party/base/ptr_util.h" namespace { @@ -31,6 +31,6 @@ CXFA_Select::CXFA_Select(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_TextNode>(this)) {} + pdfium::MakeUnique<CJX_Select>(this)) {} CXFA_Select::~CXFA_Select() {} diff --git a/xfa/fxfa/parser/cxfa_setproperty.cpp b/xfa/fxfa/parser/cxfa_setproperty.cpp index e98505bd3d..85d631b098 100644 --- a/xfa/fxfa/parser/cxfa_setproperty.cpp +++ b/xfa/fxfa/parser/cxfa_setproperty.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_setproperty.h" +#include "fxjs/xfa/cjx_setproperty.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -26,6 +29,7 @@ CXFA_SetProperty::CXFA_SetProperty(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::SetProperty, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_SetProperty>(this)) {} CXFA_SetProperty::~CXFA_SetProperty() {} diff --git a/xfa/fxfa/parser/cxfa_signature.cpp b/xfa/fxfa/parser/cxfa_signature.cpp index 7b8c8926dc..baee044017 100644 --- a/xfa/fxfa/parser/cxfa_signature.cpp +++ b/xfa/fxfa/parser/cxfa_signature.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_signature.h" +#include "fxjs/xfa/cjx_signature.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = { @@ -32,6 +35,7 @@ CXFA_Signature::CXFA_Signature(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Signature, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Signature>(this)) {} CXFA_Signature::~CXFA_Signature() {} diff --git a/xfa/fxfa/parser/cxfa_signatureproperties.cpp b/xfa/fxfa/parser/cxfa_signatureproperties.cpp index c18706aaea..c710cb4bf0 100644 --- a/xfa/fxfa/parser/cxfa_signatureproperties.cpp +++ b/xfa/fxfa/parser/cxfa_signatureproperties.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_signatureproperties.h" +#include "fxjs/xfa/cjx_signatureproperties.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -26,6 +29,7 @@ CXFA_SignatureProperties::CXFA_SignatureProperties(CXFA_Document* doc, XFA_Element::SignatureProperties, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_SignatureProperties>(this)) {} CXFA_SignatureProperties::~CXFA_SignatureProperties() {} diff --git a/xfa/fxfa/parser/cxfa_signdata.cpp b/xfa/fxfa/parser/cxfa_signdata.cpp index 82924d5b0c..796ae5c72b 100644 --- a/xfa/fxfa/parser/cxfa_signdata.cpp +++ b/xfa/fxfa/parser/cxfa_signdata.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_signdata.h" +#include "fxjs/xfa/cjx_signdata.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Filter, 1, 0}, @@ -33,6 +36,7 @@ CXFA_SignData::CXFA_SignData(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::SignData, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_SignData>(this)) {} CXFA_SignData::~CXFA_SignData() {} diff --git a/xfa/fxfa/parser/cxfa_signing.cpp b/xfa/fxfa/parser/cxfa_signing.cpp index 356d8fc254..251e294055 100644 --- a/xfa/fxfa/parser/cxfa_signing.cpp +++ b/xfa/fxfa/parser/cxfa_signing.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_signing.h" +#include "fxjs/xfa/cjx_signing.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -28,6 +31,7 @@ CXFA_Signing::CXFA_Signing(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Signing, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Signing>(this)) {} CXFA_Signing::~CXFA_Signing() {} diff --git a/xfa/fxfa/parser/cxfa_soapaction.cpp b/xfa/fxfa/parser/cxfa_soapaction.cpp index 49c0b44af2..b53a653ea1 100644 --- a/xfa/fxfa/parser/cxfa_soapaction.cpp +++ b/xfa/fxfa/parser/cxfa_soapaction.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_soapaction.h" -#include "fxjs/xfa/cjx_textnode.h" +#include "fxjs/xfa/cjx_soapaction.h" #include "third_party/base/ptr_util.h" namespace { @@ -31,6 +31,6 @@ CXFA_SoapAction::CXFA_SoapAction(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_TextNode>(this)) {} + pdfium::MakeUnique<CJX_SoapAction>(this)) {} CXFA_SoapAction::~CXFA_SoapAction() {} diff --git a/xfa/fxfa/parser/cxfa_soapaddress.cpp b/xfa/fxfa/parser/cxfa_soapaddress.cpp index 9974a48569..39f91a550a 100644 --- a/xfa/fxfa/parser/cxfa_soapaddress.cpp +++ b/xfa/fxfa/parser/cxfa_soapaddress.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_soapaddress.h" -#include "fxjs/xfa/cjx_textnode.h" +#include "fxjs/xfa/cjx_soapaddress.h" #include "third_party/base/ptr_util.h" namespace { @@ -31,6 +31,6 @@ CXFA_SoapAddress::CXFA_SoapAddress(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_TextNode>(this)) {} + pdfium::MakeUnique<CJX_SoapAddress>(this)) {} CXFA_SoapAddress::~CXFA_SoapAddress() {} diff --git a/xfa/fxfa/parser/cxfa_solid.cpp b/xfa/fxfa/parser/cxfa_solid.cpp index 4a39ffbede..4a20194d99 100644 --- a/xfa/fxfa/parser/cxfa_solid.cpp +++ b/xfa/fxfa/parser/cxfa_solid.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_solid.h" +#include "fxjs/xfa/cjx_solid.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Extras, 1, 0}, @@ -28,6 +31,7 @@ CXFA_Solid::CXFA_Solid(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Solid, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Solid>(this)) {} CXFA_Solid::~CXFA_Solid() {} diff --git a/xfa/fxfa/parser/cxfa_sourceset.cpp b/xfa/fxfa/parser/cxfa_sourceset.cpp index 79a498de9f..3deabc6f7a 100644 --- a/xfa/fxfa/parser/cxfa_sourceset.cpp +++ b/xfa/fxfa/parser/cxfa_sourceset.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_sourceset.h" -#include "fxjs/xfa/cjx_model.h" +#include "fxjs/xfa/cjx_sourceset.h" #include "third_party/base/ptr_util.h" namespace { @@ -31,6 +31,6 @@ CXFA_SourceSet::CXFA_SourceSet(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_Model>(this)) {} + pdfium::MakeUnique<CJX_SourceSet>(this)) {} CXFA_SourceSet::~CXFA_SourceSet() {} diff --git a/xfa/fxfa/parser/cxfa_speak.cpp b/xfa/fxfa/parser/cxfa_speak.cpp index 7b3fa367c9..ce05682be2 100644 --- a/xfa/fxfa/parser/cxfa_speak.cpp +++ b/xfa/fxfa/parser/cxfa_speak.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_speak.h" -#include "fxjs/xfa/cjx_textnode.h" +#include "fxjs/xfa/cjx_speak.h" #include "third_party/base/ptr_util.h" namespace { @@ -34,6 +34,6 @@ CXFA_Speak::CXFA_Speak(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_TextNode>(this)) {} + pdfium::MakeUnique<CJX_Speak>(this)) {} CXFA_Speak::~CXFA_Speak() {} diff --git a/xfa/fxfa/parser/cxfa_stipple.cpp b/xfa/fxfa/parser/cxfa_stipple.cpp index 5cf4bac0a5..17b64fa80b 100644 --- a/xfa/fxfa/parser/cxfa_stipple.cpp +++ b/xfa/fxfa/parser/cxfa_stipple.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_stipple.h" +#include "fxjs/xfa/cjx_stipple.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Color, 1, 0}, @@ -30,6 +33,7 @@ CXFA_Stipple::CXFA_Stipple(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Stipple, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Stipple>(this)) {} CXFA_Stipple::~CXFA_Stipple() {} diff --git a/xfa/fxfa/parser/cxfa_subformset.cpp b/xfa/fxfa/parser/cxfa_subformset.cpp index d29cbd4722..0c9c3b0500 100644 --- a/xfa/fxfa/parser/cxfa_subformset.cpp +++ b/xfa/fxfa/parser/cxfa_subformset.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_subformset.h" -#include "fxjs/xfa/cjx_container.h" +#include "fxjs/xfa/cjx_subformset.h" #include "third_party/base/ptr_util.h" namespace { @@ -39,6 +39,6 @@ CXFA_SubformSet::CXFA_SubformSet(CXFA_Document* doc, XFA_PacketType packet) kPropertyData, kAttributeData, kName, - pdfium::MakeUnique<CJX_Container>(this)) {} + pdfium::MakeUnique<CJX_SubformSet>(this)) {} CXFA_SubformSet::~CXFA_SubformSet() {} diff --git a/xfa/fxfa/parser/cxfa_subjectdn.cpp b/xfa/fxfa/parser/cxfa_subjectdn.cpp index d58f4d56d1..29ab2faccc 100644 --- a/xfa/fxfa/parser/cxfa_subjectdn.cpp +++ b/xfa/fxfa/parser/cxfa_subjectdn.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_subjectdn.h" +#include "fxjs/xfa/cjx_subjectdn.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -28,6 +31,7 @@ CXFA_SubjectDN::CXFA_SubjectDN(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::SubjectDN, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_SubjectDN>(this)) {} CXFA_SubjectDN::~CXFA_SubjectDN() {} diff --git a/xfa/fxfa/parser/cxfa_subjectdns.cpp b/xfa/fxfa/parser/cxfa_subjectdns.cpp index df65a803e6..8f714b008f 100644 --- a/xfa/fxfa/parser/cxfa_subjectdns.cpp +++ b/xfa/fxfa/parser/cxfa_subjectdns.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_subjectdns.h" +#include "fxjs/xfa/cjx_subjectdns.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { @@ -28,6 +31,7 @@ CXFA_SubjectDNs::CXFA_SubjectDNs(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::SubjectDNs, nullptr, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_SubjectDNs>(this)) {} CXFA_SubjectDNs::~CXFA_SubjectDNs() {} diff --git a/xfa/fxfa/parser/cxfa_submit.cpp b/xfa/fxfa/parser/cxfa_submit.cpp index 60717b9dfe..04255f8dc5 100644 --- a/xfa/fxfa/parser/cxfa_submit.cpp +++ b/xfa/fxfa/parser/cxfa_submit.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_submit.h" +#include "fxjs/xfa/cjx_submit.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Encrypt, 1, 0}, @@ -34,6 +37,7 @@ CXFA_Submit::CXFA_Submit(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Submit, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Submit>(this)) {} CXFA_Submit::~CXFA_Submit() {} diff --git a/xfa/fxfa/parser/cxfa_text.cpp b/xfa/fxfa/parser/cxfa_text.cpp index 883cdacfa0..e890aca7ec 100644 --- a/xfa/fxfa/parser/cxfa_text.cpp +++ b/xfa/fxfa/parser/cxfa_text.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_text.h" -#include "fxjs/xfa/cjx_content.h" +#include "fxjs/xfa/cjx_text.h" #include "third_party/base/ptr_util.h" namespace { @@ -34,6 +34,6 @@ CXFA_Text::CXFA_Text(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_Content>(this)) {} + pdfium::MakeUnique<CJX_Text>(this)) {} CXFA_Text::~CXFA_Text() {} diff --git a/xfa/fxfa/parser/cxfa_textedit.cpp b/xfa/fxfa/parser/cxfa_textedit.cpp index 7171af916e..3b2767ae2b 100644 --- a/xfa/fxfa/parser/cxfa_textedit.cpp +++ b/xfa/fxfa/parser/cxfa_textedit.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_textedit.h" +#include "fxjs/xfa/cjx_textedit.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Margin, 1, 0}, @@ -37,6 +40,7 @@ CXFA_TextEdit::CXFA_TextEdit(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::TextEdit, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_TextEdit>(this)) {} CXFA_TextEdit::~CXFA_TextEdit() {} diff --git a/xfa/fxfa/parser/cxfa_time.cpp b/xfa/fxfa/parser/cxfa_time.cpp index 808ee8327b..f3a64ce566 100644 --- a/xfa/fxfa/parser/cxfa_time.cpp +++ b/xfa/fxfa/parser/cxfa_time.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_time.h" -#include "fxjs/xfa/cjx_content.h" +#include "fxjs/xfa/cjx_time.h" #include "third_party/base/ptr_util.h" namespace { @@ -31,6 +31,6 @@ CXFA_Time::CXFA_Time(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_Content>(this)) {} + pdfium::MakeUnique<CJX_Time>(this)) {} CXFA_Time::~CXFA_Time() {} diff --git a/xfa/fxfa/parser/cxfa_timestamp.cpp b/xfa/fxfa/parser/cxfa_timestamp.cpp index 1d286ed064..1c86961040 100644 --- a/xfa/fxfa/parser/cxfa_timestamp.cpp +++ b/xfa/fxfa/parser/cxfa_timestamp.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_timestamp.h" +#include "fxjs/xfa/cjx_timestamp.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::AttributeData kAttributeData[] = { diff --git a/xfa/fxfa/parser/cxfa_tooltip.cpp b/xfa/fxfa/parser/cxfa_tooltip.cpp index 4abcdb96c5..04f27c9595 100644 --- a/xfa/fxfa/parser/cxfa_tooltip.cpp +++ b/xfa/fxfa/parser/cxfa_tooltip.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_tooltip.h" -#include "fxjs/xfa/cjx_textnode.h" +#include "fxjs/xfa/cjx_tooltip.h" #include "third_party/base/ptr_util.h" namespace { @@ -31,6 +31,6 @@ CXFA_ToolTip::CXFA_ToolTip(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_TextNode>(this)) {} + pdfium::MakeUnique<CJX_ToolTip>(this)) {} CXFA_ToolTip::~CXFA_ToolTip() {} diff --git a/xfa/fxfa/parser/cxfa_traversal.cpp b/xfa/fxfa/parser/cxfa_traversal.cpp index 82a2845494..b5ffd3fb8e 100644 --- a/xfa/fxfa/parser/cxfa_traversal.cpp +++ b/xfa/fxfa/parser/cxfa_traversal.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_traversal.h" +#include "fxjs/xfa/cjx_traversal.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Extras, 1, 0}, @@ -28,6 +31,7 @@ CXFA_Traversal::CXFA_Traversal(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Traversal, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Traversal>(this)) {} CXFA_Traversal::~CXFA_Traversal() {} diff --git a/xfa/fxfa/parser/cxfa_traverse.cpp b/xfa/fxfa/parser/cxfa_traverse.cpp index ad01901fd6..d771b37856 100644 --- a/xfa/fxfa/parser/cxfa_traverse.cpp +++ b/xfa/fxfa/parser/cxfa_traverse.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_traverse.h" +#include "fxjs/xfa/cjx_traverse.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Script, 1, 0}, @@ -32,6 +35,7 @@ CXFA_Traverse::CXFA_Traverse(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Traverse, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Traverse>(this)) {} CXFA_Traverse::~CXFA_Traverse() {} diff --git a/xfa/fxfa/parser/cxfa_ui.cpp b/xfa/fxfa/parser/cxfa_ui.cpp index fabb853c97..883e79ac59 100644 --- a/xfa/fxfa/parser/cxfa_ui.cpp +++ b/xfa/fxfa/parser/cxfa_ui.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_ui.h" +#include "fxjs/xfa/cjx_ui.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = { @@ -42,6 +45,7 @@ CXFA_Ui::CXFA_Ui(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Ui, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Ui>(this)) {} CXFA_Ui::~CXFA_Ui() {} diff --git a/xfa/fxfa/parser/cxfa_update.cpp b/xfa/fxfa/parser/cxfa_update.cpp index 8c5f6b4911..986e110869 100644 --- a/xfa/fxfa/parser/cxfa_update.cpp +++ b/xfa/fxfa/parser/cxfa_update.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_update.h" -#include "fxjs/xfa/cjx_textnode.h" +#include "fxjs/xfa/cjx_update.h" #include "third_party/base/ptr_util.h" namespace { @@ -31,6 +31,6 @@ CXFA_Update::CXFA_Update(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_TextNode>(this)) {} + pdfium::MakeUnique<CJX_Update>(this)) {} CXFA_Update::~CXFA_Update() {} diff --git a/xfa/fxfa/parser/cxfa_uri.cpp b/xfa/fxfa/parser/cxfa_uri.cpp index 2732ea6703..96cc3eccb4 100644 --- a/xfa/fxfa/parser/cxfa_uri.cpp +++ b/xfa/fxfa/parser/cxfa_uri.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_uri.h" -#include "fxjs/xfa/cjx_textnode.h" +#include "fxjs/xfa/cjx_uri.h" #include "third_party/base/ptr_util.h" namespace { @@ -33,6 +33,6 @@ CXFA_Uri::CXFA_Uri(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_TextNode>(this)) {} + pdfium::MakeUnique<CJX_Uri>(this)) {} CXFA_Uri::~CXFA_Uri() {} diff --git a/xfa/fxfa/parser/cxfa_user.cpp b/xfa/fxfa/parser/cxfa_user.cpp index 7a31c4bf3a..09ec6085ec 100644 --- a/xfa/fxfa/parser/cxfa_user.cpp +++ b/xfa/fxfa/parser/cxfa_user.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_user.h" -#include "fxjs/xfa/cjx_textnode.h" +#include "fxjs/xfa/cjx_user.h" #include "third_party/base/ptr_util.h" namespace { @@ -31,6 +31,6 @@ CXFA_User::CXFA_User(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_TextNode>(this)) {} + pdfium::MakeUnique<CJX_User>(this)) {} CXFA_User::~CXFA_User() {} diff --git a/xfa/fxfa/parser/cxfa_validate.cpp b/xfa/fxfa/parser/cxfa_validate.cpp index 545491fb7e..b532067157 100644 --- a/xfa/fxfa/parser/cxfa_validate.cpp +++ b/xfa/fxfa/parser/cxfa_validate.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_validate.h" +#include "fxjs/xfa/cjx_validate.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Message, 1, 0}, @@ -40,6 +43,7 @@ CXFA_Validate::CXFA_Validate(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Validate, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Validate>(this)) {} CXFA_Validate::~CXFA_Validate() {} diff --git a/xfa/fxfa/parser/cxfa_value.cpp b/xfa/fxfa/parser/cxfa_value.cpp index a97ac35efe..4de833a8fc 100644 --- a/xfa/fxfa/parser/cxfa_value.cpp +++ b/xfa/fxfa/parser/cxfa_value.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_value.h" +#include "fxjs/xfa/cjx_value.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = { @@ -43,6 +46,7 @@ CXFA_Value::CXFA_Value(CXFA_Document* doc, XFA_PacketType packet) XFA_Element::Value, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_Value>(this)) {} CXFA_Value::~CXFA_Value() {} diff --git a/xfa/fxfa/parser/cxfa_variables.cpp b/xfa/fxfa/parser/cxfa_variables.cpp index 157c294bd6..1e3e751ef0 100644 --- a/xfa/fxfa/parser/cxfa_variables.cpp +++ b/xfa/fxfa/parser/cxfa_variables.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_variables.h" -#include "fxjs/xfa/cjx_container.h" +#include "fxjs/xfa/cjx_variables.h" #include "third_party/base/ptr_util.h" namespace { @@ -30,6 +30,6 @@ CXFA_Variables::CXFA_Variables(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_Container>(this)) {} + pdfium::MakeUnique<CJX_Variables>(this)) {} CXFA_Variables::~CXFA_Variables() {} diff --git a/xfa/fxfa/parser/cxfa_wsdladdress.cpp b/xfa/fxfa/parser/cxfa_wsdladdress.cpp index 2a27cbf237..239bb66f89 100644 --- a/xfa/fxfa/parser/cxfa_wsdladdress.cpp +++ b/xfa/fxfa/parser/cxfa_wsdladdress.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_wsdladdress.h" -#include "fxjs/xfa/cjx_textnode.h" +#include "fxjs/xfa/cjx_wsdladdress.h" #include "third_party/base/ptr_util.h" namespace { @@ -31,6 +31,6 @@ CXFA_WsdlAddress::CXFA_WsdlAddress(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_TextNode>(this)) {} + pdfium::MakeUnique<CJX_WsdlAddress>(this)) {} CXFA_WsdlAddress::~CXFA_WsdlAddress() {} diff --git a/xfa/fxfa/parser/cxfa_xfa.cpp b/xfa/fxfa/parser/cxfa_xfa.cpp index 08658296da..7eab898eb1 100644 --- a/xfa/fxfa/parser/cxfa_xfa.cpp +++ b/xfa/fxfa/parser/cxfa_xfa.cpp @@ -6,7 +6,7 @@ #include "xfa/fxfa/parser/cxfa_xfa.h" -#include "fxjs/xfa/cjx_model.h" +#include "fxjs/xfa/cjx_xfa.h" #include "third_party/base/ptr_util.h" namespace { @@ -29,6 +29,6 @@ CXFA_Xfa::CXFA_Xfa(CXFA_Document* doc, XFA_PacketType packet) nullptr, kAttributeData, kName, - pdfium::MakeUnique<CJX_Model>(this)) {} + pdfium::MakeUnique<CJX_Xfa>(this)) {} CXFA_Xfa::~CXFA_Xfa() {} diff --git a/xfa/fxfa/parser/cxfa_xmlconnection.cpp b/xfa/fxfa/parser/cxfa_xmlconnection.cpp index 7d341bf3cd..df057710c2 100644 --- a/xfa/fxfa/parser/cxfa_xmlconnection.cpp +++ b/xfa/fxfa/parser/cxfa_xmlconnection.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_xmlconnection.h" +#include "fxjs/xfa/cjx_xmlconnection.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Uri, 1, 0}, @@ -28,6 +31,7 @@ CXFA_XmlConnection::CXFA_XmlConnection(CXFA_Document* doc, XFA_Element::XmlConnection, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_XmlConnection>(this)) {} CXFA_XmlConnection::~CXFA_XmlConnection() {} diff --git a/xfa/fxfa/parser/cxfa_xsdconnection.cpp b/xfa/fxfa/parser/cxfa_xsdconnection.cpp index d0453d15a1..7b0de0d674 100644 --- a/xfa/fxfa/parser/cxfa_xsdconnection.cpp +++ b/xfa/fxfa/parser/cxfa_xsdconnection.cpp @@ -6,6 +6,9 @@ #include "xfa/fxfa/parser/cxfa_xsdconnection.h" +#include "fxjs/xfa/cjx_xsdconnection.h" +#include "third_party/base/ptr_util.h" + namespace { const CXFA_Node::PropertyData kPropertyData[] = { @@ -30,6 +33,7 @@ CXFA_XsdConnection::CXFA_XsdConnection(CXFA_Document* doc, XFA_Element::XsdConnection, kPropertyData, kAttributeData, - kName) {} + kName, + pdfium::MakeUnique<CJX_XsdConnection>(this)) {} CXFA_XsdConnection::~CXFA_XsdConnection() {} diff --git a/xfa/fxfa/parser/xfa_basic_data_element_script.cpp b/xfa/fxfa/parser/xfa_basic_data_element_script.cpp index a56ba19d7a..80a2bf3d03 100644 --- a/xfa/fxfa/parser/xfa_basic_data_element_script.cpp +++ b/xfa/fxfa/parser/xfa_basic_data_element_script.cpp @@ -6,146 +6,520 @@ #include "xfa/fxfa/parser/xfa_basic_data.h" +#include "fxjs/xfa/cjx_arc.h" +#include "fxjs/xfa/cjx_area.h" +#include "fxjs/xfa/cjx_assist.h" +#include "fxjs/xfa/cjx_barcode.h" +#include "fxjs/xfa/cjx_bind.h" +#include "fxjs/xfa/cjx_binditems.h" +#include "fxjs/xfa/cjx_bookend.h" +#include "fxjs/xfa/cjx_boolean.h" +#include "fxjs/xfa/cjx_border.h" +#include "fxjs/xfa/cjx_break.h" +#include "fxjs/xfa/cjx_breakafter.h" +#include "fxjs/xfa/cjx_breakbefore.h" +#include "fxjs/xfa/cjx_button.h" +#include "fxjs/xfa/cjx_calculate.h" +#include "fxjs/xfa/cjx_caption.h" +#include "fxjs/xfa/cjx_certificate.h" +#include "fxjs/xfa/cjx_certificates.h" +#include "fxjs/xfa/cjx_checkbutton.h" +#include "fxjs/xfa/cjx_choicelist.h" +#include "fxjs/xfa/cjx_color.h" +#include "fxjs/xfa/cjx_comb.h" +#include "fxjs/xfa/cjx_command.h" +#include "fxjs/xfa/cjx_connect.h" +#include "fxjs/xfa/cjx_connectstring.h" +#include "fxjs/xfa/cjx_contentarea.h" +#include "fxjs/xfa/cjx_corner.h" +#include "fxjs/xfa/cjx_datavalue.h" #include "fxjs/xfa/cjx_datawindow.h" +#include "fxjs/xfa/cjx_date.h" +#include "fxjs/xfa/cjx_datetime.h" +#include "fxjs/xfa/cjx_datetimeedit.h" +#include "fxjs/xfa/cjx_decimal.h" +#include "fxjs/xfa/cjx_defaultui.h" +#include "fxjs/xfa/cjx_delete.h" +#include "fxjs/xfa/cjx_delta.h" +#include "fxjs/xfa/cjx_desc.h" +#include "fxjs/xfa/cjx_digestmethod.h" +#include "fxjs/xfa/cjx_digestmethods.h" +#include "fxjs/xfa/cjx_draw.h" +#include "fxjs/xfa/cjx_edge.h" +#include "fxjs/xfa/cjx_encoding.h" +#include "fxjs/xfa/cjx_encodings.h" +#include "fxjs/xfa/cjx_encrypt.h" +#include "fxjs/xfa/cjx_event.h" #include "fxjs/xfa/cjx_eventpseudomodel.h" +#include "fxjs/xfa/cjx_exclgroup.h" +#include "fxjs/xfa/cjx_exdata.h" +#include "fxjs/xfa/cjx_execute.h" +#include "fxjs/xfa/cjx_exobject.h" +#include "fxjs/xfa/cjx_extras.h" +#include "fxjs/xfa/cjx_field.h" +#include "fxjs/xfa/cjx_fill.h" +#include "fxjs/xfa/cjx_filter.h" +#include "fxjs/xfa/cjx_float.h" +#include "fxjs/xfa/cjx_font.h" +#include "fxjs/xfa/cjx_format.h" +#include "fxjs/xfa/cjx_handler.h" #include "fxjs/xfa/cjx_hostpseudomodel.h" +#include "fxjs/xfa/cjx_image.h" +#include "fxjs/xfa/cjx_imageedit.h" +#include "fxjs/xfa/cjx_insert.h" +#include "fxjs/xfa/cjx_instancemanager.h" +#include "fxjs/xfa/cjx_integer.h" +#include "fxjs/xfa/cjx_issuers.h" +#include "fxjs/xfa/cjx_items.h" +#include "fxjs/xfa/cjx_keep.h" +#include "fxjs/xfa/cjx_keyusage.h" #include "fxjs/xfa/cjx_layoutpseudomodel.h" +#include "fxjs/xfa/cjx_line.h" +#include "fxjs/xfa/cjx_linear.h" #include "fxjs/xfa/cjx_logpseudomodel.h" -#include "fxjs/xfa/cjx_object.h" +#include "fxjs/xfa/cjx_manifest.h" +#include "fxjs/xfa/cjx_map.h" +#include "fxjs/xfa/cjx_margin.h" +#include "fxjs/xfa/cjx_mdp.h" +#include "fxjs/xfa/cjx_medium.h" +#include "fxjs/xfa/cjx_message.h" +#include "fxjs/xfa/cjx_node.h" +#include "fxjs/xfa/cjx_numericedit.h" +#include "fxjs/xfa/cjx_occur.h" +#include "fxjs/xfa/cjx_oid.h" +#include "fxjs/xfa/cjx_oids.h" +#include "fxjs/xfa/cjx_operation.h" +#include "fxjs/xfa/cjx_overflow.h" +#include "fxjs/xfa/cjx_packet.h" +#include "fxjs/xfa/cjx_pagearea.h" +#include "fxjs/xfa/cjx_pageset.h" +#include "fxjs/xfa/cjx_para.h" +#include "fxjs/xfa/cjx_password.h" +#include "fxjs/xfa/cjx_passwordedit.h" +#include "fxjs/xfa/cjx_pattern.h" +#include "fxjs/xfa/cjx_picture.h" +#include "fxjs/xfa/cjx_query.h" +#include "fxjs/xfa/cjx_radial.h" +#include "fxjs/xfa/cjx_reason.h" +#include "fxjs/xfa/cjx_reasons.h" +#include "fxjs/xfa/cjx_recordset.h" +#include "fxjs/xfa/cjx_rectangle.h" +#include "fxjs/xfa/cjx_ref.h" +#include "fxjs/xfa/cjx_rootelement.h" +#include "fxjs/xfa/cjx_script.h" +#include "fxjs/xfa/cjx_select.h" +#include "fxjs/xfa/cjx_setproperty.h" +#include "fxjs/xfa/cjx_signature.h" +#include "fxjs/xfa/cjx_signatureproperties.h" #include "fxjs/xfa/cjx_signaturepseudomodel.h" +#include "fxjs/xfa/cjx_signdata.h" +#include "fxjs/xfa/cjx_signing.h" +#include "fxjs/xfa/cjx_soapaction.h" +#include "fxjs/xfa/cjx_soapaddress.h" +#include "fxjs/xfa/cjx_solid.h" +#include "fxjs/xfa/cjx_source.h" +#include "fxjs/xfa/cjx_sourceset.h" +#include "fxjs/xfa/cjx_speak.h" +#include "fxjs/xfa/cjx_stipple.h" +#include "fxjs/xfa/cjx_subform.h" +#include "fxjs/xfa/cjx_subformset.h" +#include "fxjs/xfa/cjx_subjectdn.h" +#include "fxjs/xfa/cjx_subjectdns.h" +#include "fxjs/xfa/cjx_submit.h" +#include "fxjs/xfa/cjx_text.h" +#include "fxjs/xfa/cjx_textedit.h" +#include "fxjs/xfa/cjx_time.h" +#include "fxjs/xfa/cjx_timestamp.h" +#include "fxjs/xfa/cjx_tooltip.h" +#include "fxjs/xfa/cjx_traversal.h" +#include "fxjs/xfa/cjx_traverse.h" #include "fxjs/xfa/cjx_tree.h" #include "fxjs/xfa/cjx_treelist.h" +#include "fxjs/xfa/cjx_ui.h" +#include "fxjs/xfa/cjx_update.h" +#include "fxjs/xfa/cjx_uri.h" +#include "fxjs/xfa/cjx_user.h" +#include "fxjs/xfa/cjx_validate.h" +#include "fxjs/xfa/cjx_value.h" +#include "fxjs/xfa/cjx_variables.h" +#include "fxjs/xfa/cjx_wsdladdress.h" +#include "fxjs/xfa/cjx_wsdlconnection.h" +#include "fxjs/xfa/cjx_xfa.h" +#include "fxjs/xfa/cjx_xmlconnection.h" +#include "fxjs/xfa/cjx_xsdconnection.h" #include "xfa/fxfa/fxfa_basic.h" const XFA_SCRIPTHIERARCHY g_XFAScriptIndex[] = { - {0, 2, 316}, {2, 2, 316}, {4, 2, 316}, {6, 8, 316}, - {14, 4, 316}, {18, 5, 317}, {23, 2, 316}, {25, 1, 316}, - {26, 12, 316}, {38, 2, 316}, {40, 1, 316}, {41, 3, 316}, - {44, 2, 316}, {46, 6, 316}, {52, 0, 316}, {52, 2, 319}, - {54, 2, 316}, {56, 6, 316}, {62, 0, 316}, {62, 0, 316}, - {62, 2, 316}, {64, 2, 316}, {66, 6, 316}, {72, 4, 316}, - {76, 7, 316}, {83, 2, 320}, {85, 3, 316}, {88, 3, 316}, - {91, 2, 320}, {93, 6, 320}, {99, 4, 316}, {103, 2, 316}, - {105, 3, 319}, {108, 4, 316}, {112, 3, 316}, {115, 2, 316}, - {117, 6, 316}, {123, 12, 316}, {135, 2, 316}, {137, 5, 316}, - {142, 2, 316}, {144, 3, 316}, {147, 1, 316}, {148, 14, 316}, - {162, 2, 316}, {164, 2, 316}, {166, 3, 316}, {169, 2, 316}, - {171, 2, 316}, {173, 2, 316}, {175, 4, 316}, {179, 2, 316}, - {181, 2, 316}, {183, 0, 319}, {183, 20, 316}, {203, 1, 316}, - {204, 3, 316}, {207, 2, 316}, {209, 0, 316}, {209, 2, 316}, - {211, 2, 316}, {213, 4, 320}, {217, 0, 316}, {217, 1, 316}, - {218, 3, 316}, {221, 0, 312}, {221, 1, 316}, {222, 2, 316}, - {224, 3, -1}, {227, 0, 316}, {227, 2, 316}, {229, 2, 316}, - {231, 3, 316}, {234, 2, 316}, {236, 6, 316}, {242, 10, 317}, - {252, 9, 316}, {261, 5, 318}, {266, 4, 318}, {270, 2, 316}, - {272, 2, 316}, {274, 5, 316}, {279, 3, 316}, {282, 2, 316}, - {284, 2, 316}, {286, 2, 316}, {288, 2, 316}, {290, 4, 316}, - {294, 3, 316}, {297, 3, 316}, {300, 2, 316}, {302, 2, 316}, - {304, 2, 316}, {306, 36, 317}, {342, 3, 316}, {345, 2, 316}, - {347, 2, 316}, {349, 2, 316}, {351, 7, 317}, {358, 16, 312}, - {374, 2, 320}, {376, 2, 316}, {378, 0, 316}, {378, 2, 316}, - {380, 6, 316}, {386, 3, 316}, {389, 2, 316}, {391, 4, 316}, - {395, 0, 316}, {395, 30, 316}, {425, 2, 320}, {427, 3, 316}, - {430, 2, 320}, {432, 5, 316}, {437, 2, 316}, {439, 3, 316}, - {442, 2, 316}, {444, 8, 316}, {452, 1, 316}, {453, 2, 316}, - {455, 2, 316}, {457, 4, 316}, {461, 0, 316}, {461, 2, 316}, - {463, 2, 316}, {465, 6, 318}, {471, 31, 317}, {502, 2, 320}, - {504, 2, 316}, {506, 2, 316}, {508, 4, 320}, {512, 11, 312}, - {523, 2, 316}, {525, 2, 316}, {527, 2, 316}, {529, 2, 316}, - {531, 3, 316}, {534, 2, 316}, {536, 3, 316}, {539, 3, 316}, - {542, 4, 318}, {546, 4, 316}, {550, 2, 316}, {552, 0, 316}, - {552, 2, 316}, {554, 3, 316}, {557, 6, 316}, {563, 2, 316}, - {565, 2, 316}, {567, 3, 316}, {570, 1, 312}, {571, 2, 316}, - {573, 8, 316}, {581, 2, 316}, {583, 4, 316}, {587, 5, 316}, - {592, 3, 316}, {595, 2, 320}, {597, 3, 316}, {600, 7, 316}, - {607, 3, 316}, {610, 0, 316}, {610, 4, 317}, {614, 4, 318}, - {618, 2, 320}, {620, 5, 316}, {625, 2, 316}, {627, 2, 316}, - {629, 2, 320}, {631, 2, 320}, {633, 4, 316}, {637, 2, 316}, - {639, 1, 316}, {640, 1, 316}, {641, 4, 316}, {645, 3, 316}, - {648, 2, 319}, {650, 2, 316}, {652, 2, 316}, {654, 3, 316}, - {657, 4, 312}, {661, 10, 316}, {671, 2, 316}, {673, 4, 316}, - {677, 4, 316}, {681, 3, 316}, {684, 2, 316}, {686, 2, 316}, - {688, 8, 317}, {696, 3, 316}, {699, 3, 316}, {702, 2, 316}, - {704, 2, 316}, {706, 5, 316}, {711, 4, 316}, {715, 2, 316}, - {717, 8, 318}, {725, 1, 316}, {726, 2, 320}, {728, 3, 316}, - {731, 4, 316}, {735, 5, 316}, {740, 3, 316}, {743, 1, 316}, - {744, 2, 320}, {746, 0, 313}, {746, 2, 316}, {748, 3, 316}, - {751, 5, 316}, {756, 7, 316}, {763, 6, 316}, {769, 3, 316}, - {772, 2, 316}, {774, 5, 316}, {779, 2, 316}, {781, 0, 314}, - {781, 2, 316}, {783, 1, 316}, {784, 2, 316}, {786, 5, 316}, - {791, 2, 316}, {793, 1, 316}, {794, 2, 316}, {796, 2, 316}, - {798, 6, 316}, {804, 2, 316}, {806, 2, 320}, {808, 3, 316}, - {811, 4, 316}, {815, 2, 316}, {817, 2, 316}, {819, 2, 316}, - {821, 2, 316}, {823, 2, 316}, {825, 2, 316}, {827, 4, 318}, - {831, 2, 316}, {833, 5, 316}, {838, 20, 317}, {858, 2, 316}, - {860, 0, 316}, {860, 2, 316}, {862, 4, 320}, {866, 0, 316}, - {866, 2, 316}, {868, 1, 316}, {869, 2, 316}, {871, 3, 316}, - {874, 2, 316}, {876, 2, 316}, {878, 4, 316}, {882, 3, 316}, - {885, 17, 316}, {902, 1, 319}, {903, 2, 316}, {905, 2, 320}, - {907, 2, 320}, {909, 2, 316}, {911, 2, 316}, {913, 4, 318}, - {917, 2, 316}, {919, 0, 312}, {919, 2, 316}, {921, 4, 316}, - {925, 4, 316}, {929, 6, 316}, {935, 2, 316}, {937, 4, 316}, - {941, 3, 316}, {944, 3, 316}, {947, 2, 316}, {949, 3, 316}, - {952, 0, 316}, {952, 0, 316}, {952, 2, 316}, {954, 7, 316}, - {961, 2, 316}, {963, 0, 319}, {963, 7, 316}, {970, 2, 316}, - {972, 2, 316}, {974, 1, 316}, {975, 2, 320}, {977, 4, 316}, - {981, 0, 316}, {981, 2, 316}, {983, 2, 316}, {985, 4, 316}, - {989, 1, 316}, {990, 2, 316}, {992, 2, 316}, {994, 3, 316}, - {997, 2, 317}, {999, 0, 316}, {999, 4, 316}, {1003, 4, 316}, - {1007, 2, 316}, {1009, 3, 316}, {1012, 4, 316}, {1016, 7, 316}, - {1023, 4, 316}, {1027, 1, 313}, {1028, 3, 316}, {1031, 5, 316}, - {1036, 2, 316}, {1038, 1, 316}, {1039, 4, 316}, {1043, 2, 316}, - {1045, 2, 316}, {1047, 1, 316}, {1048, 2, 316}, {1050, 5, 316}, - {1055, 1, -1}, {1056, 1, 312}, {1057, 0, 313}, {1057, 8, 312}, - {1065, 6, 315}, {1071, 0, 316}, {1071, 0, 316}, {1071, 2, 316}, - {1073, 2, 316}, + {/* ps */ 0, 2, 316}, + {/* to */ 2, 2, 316}, + {/* ui */ 4, 2, 316}, + {/* recordSet */ 6, 8, 316}, + {/* subsetBelow */ 14, 4, 316}, + {/* subformSet */ 18, 5, 317}, + {/* adobeExtensionLevel */ 23, 2, 316}, + {/* typeface */ 25, 1, 316}, + {/* break */ 26, 12, 316}, + {/* fontInfo */ 38, 2, 316}, + {/* numberPattern */ 40, 1, 316}, + {/* dynamicRender */ 41, 3, 316}, + {/* printScaling */ 44, 2, 316}, + {/* checkButton */ 46, 6, 316}, + {/* datePatterns */ 52, 0, 316}, + {/* sourceSet */ 52, 2, 319}, + {/* amd */ 54, 2, 316}, + {/* arc */ 56, 6, 316}, + {/* day */ 62, 0, 316}, + {/* era */ 62, 0, 316}, + {/* jog */ 62, 2, 316}, + {/* log */ 64, 2, 316}, + {/* map */ 66, 6, 316}, + {/* mdp */ 72, 4, 316}, + {/* breakBefore */ 76, 7, 316}, + {/* oid */ 83, 2, 320}, + {/* pcl */ 85, 3, 316}, + {/* pdf */ 88, 3, 316}, + {/* ref */ 91, 2, 320}, + {/* uri */ 93, 6, 320}, + {/* xdc */ 99, 4, 316}, + {/* xdp */ 103, 2, 316}, + {/* xfa */ 105, 3, 319}, + {/* xsl */ 108, 4, 316}, + {/* zpl */ 112, 3, 316}, + {/* cache */ 115, 2, 316}, + {/* margin */ 117, 6, 316}, + {/* keyUsage */ 123, 12, 316}, + {/* exclude */ 135, 2, 316}, + {/* choiceList */ 137, 5, 316}, + {/* level */ 142, 2, 316}, + {/* labelPrinter */ 144, 3, 316}, + {/* calendarSymbols */ 147, 1, 316}, + {/* para */ 148, 14, 316}, + {/* part */ 162, 2, 316}, + {/* pdfa */ 164, 2, 316}, + {/* filter */ 166, 3, 316}, + {/* present */ 169, 2, 316}, + {/* pagination */ 171, 2, 316}, + {/* encoding */ 173, 2, 316}, + {/* event */ 175, 4, 316}, + {/* whitespace */ 179, 2, 316}, + {/* defaultUi */ 181, 2, 316}, + {/* dataModel */ 183, 0, 319}, + {/* barcode */ 183, 20, 316}, + {/* timePattern */ 203, 1, 316}, + {/* batchOutput */ 204, 3, 316}, + {/* enforce */ 207, 2, 316}, + {/* currencySymbols */ 209, 0, 316}, + {/* addSilentPrint */ 209, 2, 316}, + {/* rename */ 211, 2, 316}, + {/* operation */ 213, 4, 320}, + {/* typefaces */ 217, 0, 316}, + {/* subjectDNs */ 217, 1, 316}, + {/* issuers */ 218, 3, 316}, + {/* signaturePseudoModel */ 221, 0, 312}, + {/* wsdlConnection */ 221, 1, 316}, + {/* debug */ 222, 2, 316}, + {/* delta */ 224, 3, -1}, + {/* eraNames */ 227, 0, 316}, + {/* modifyAnnots */ 227, 2, 316}, + {/* startNode */ 229, 2, 316}, + {/* button */ 231, 3, 316}, + {/* format */ 234, 2, 316}, + {/* border */ 236, 6, 316}, + {/* area */ 242, 10, 317}, + {/* hyphenation */ 252, 9, 316}, + {/* text */ 261, 5, 318}, + {/* time */ 266, 4, 318}, + {/* type */ 270, 2, 316}, + {/* overprint */ 272, 2, 316}, + {/* certificates */ 274, 5, 316}, + {/* encryptionMethods */ 279, 3, 316}, + {/* setProperty */ 282, 2, 316}, + {/* printerName */ 284, 2, 316}, + {/* startPage */ 286, 2, 316}, + {/* pageOffset */ 288, 2, 316}, + {/* dateTime */ 290, 4, 316}, + {/* comb */ 294, 3, 316}, + {/* pattern */ 297, 3, 316}, + {/* ifEmpty */ 300, 2, 316}, + {/* suppressBanner */ 302, 2, 316}, + {/* outputBin */ 304, 2, 316}, + {/* field */ 306, 36, 317}, + {/* agent */ 342, 3, 316}, + {/* outputXSL */ 345, 2, 316}, + {/* adjustData */ 347, 2, 316}, + {/* autoSave */ 349, 2, 316}, + {/* contentArea */ 351, 7, 317}, + {/* eventPseudoModel */ 358, 16, 312}, + {/* wsdlAddress */ 374, 2, 320}, + {/* solid */ 376, 2, 316}, + {/* dateTimeSymbols */ 378, 0, 316}, + {/* encryptionLevel */ 378, 2, 316}, + {/* edge */ 380, 6, 316}, + {/* stipple */ 386, 3, 316}, + {/* attributes */ 389, 2, 316}, + {/* versionControl */ 391, 4, 316}, + {/* meridiem */ 395, 0, 316}, + {/* exclGroup */ 395, 30, 316}, + {/* toolTip */ 425, 2, 320}, + {/* compress */ 427, 3, 316}, + {/* reason */ 430, 2, 320}, + {/* execute */ 432, 5, 316}, + {/* contentCopy */ 437, 2, 316}, + {/* dateTimeEdit */ 439, 3, 316}, + {/* config */ 442, 2, 316}, + {/* image */ 444, 8, 316}, + {/* #xHTML */ 452, 1, 316}, + {/* numberOfCopies */ 453, 2, 316}, + {/* behaviorOverride */ 455, 2, 316}, + {/* timeStamp */ 457, 4, 316}, + {/* month */ 461, 0, 316}, + {/* viewerPreferences */ 461, 2, 316}, + {/* scriptModel */ 463, 2, 316}, + {/* decimal */ 465, 6, 318}, + {/* subform */ 471, 31, 317}, + {/* select */ 502, 2, 320}, + {/* window */ 504, 2, 316}, + {/* localeSet */ 506, 2, 316}, + {/* handler */ 508, 4, 320}, + {/* hostPseudoModel */ 512, 11, 312}, + {/* presence */ 523, 2, 316}, + {/* record */ 525, 2, 316}, + {/* embed */ 527, 2, 316}, + {/* version */ 529, 2, 316}, + {/* command */ 531, 3, 316}, + {/* copies */ 534, 2, 316}, + {/* staple */ 536, 3, 316}, + {/* submitFormat */ 539, 3, 316}, + {/* boolean */ 542, 4, 318}, + {/* message */ 546, 4, 316}, + {/* output */ 550, 2, 316}, + {/* psMap */ 552, 0, 316}, + {/* excludeNS */ 552, 2, 316}, + {/* assist */ 554, 3, 316}, + {/* picture */ 557, 6, 316}, + {/* traversal */ 563, 2, 316}, + {/* silentPrint */ 565, 2, 316}, + {/* webClient */ 567, 3, 316}, + {/* layoutPseudoModel */ 570, 1, 312}, + {/* producer */ 571, 2, 316}, + {/* corner */ 573, 8, 316}, + {/* msgId */ 581, 2, 316}, + {/* color */ 583, 4, 316}, + {/* keep */ 587, 5, 316}, + {/* query */ 592, 3, 316}, + {/* insert */ 595, 2, 320}, + {/* imageEdit */ 597, 3, 316}, + {/* validate */ 600, 7, 316}, + {/* digestMethods */ 607, 3, 316}, + {/* numberPatterns */ 610, 0, 316}, + {/* pageSet */ 610, 4, 317}, + {/* integer */ 614, 4, 318}, + {/* soapAddress */ 618, 2, 320}, + {/* equate */ 620, 5, 316}, + {/* formFieldFilling */ 625, 2, 316}, + {/* pageRange */ 627, 2, 316}, + {/* update */ 629, 2, 320}, + {/* connectString */ 631, 2, 320}, + {/* mode */ 633, 4, 316}, + {/* layout */ 637, 2, 316}, + {/* #xml */ 639, 1, 316}, + {/* xsdConnection */ 640, 1, 316}, + {/* traverse */ 641, 4, 316}, + {/* encodings */ 645, 3, 316}, + {/* template */ 648, 2, 319}, + {/* acrobat */ 650, 2, 316}, + {/* validationMessaging */ 652, 2, 316}, + {/* signing */ 654, 3, 316}, + {/* dataWindow */ 657, 4, 312}, + {/* script */ 661, 10, 316}, + {/* addViewerPreferences */ 671, 2, 316}, + {/* alwaysEmbed */ 673, 4, 316}, + {/* passwordEdit */ 677, 4, 316}, + {/* numericEdit */ 681, 3, 316}, + {/* encryptionMethod */ 684, 2, 316}, + {/* change */ 686, 2, 316}, + {/* pageArea */ 688, 8, 317}, + {/* submitUrl */ 696, 3, 316}, + {/* oids */ 699, 3, 316}, + {/* signature */ 702, 2, 316}, + {/* ADBE_JSConsole */ 704, 2, 316}, + {/* caption */ 706, 5, 316}, + {/* relevant */ 711, 4, 316}, + {/* flipLabel */ 715, 2, 316}, + {/* exData */ 717, 8, 318}, + {/* dayNames */ 725, 1, 316}, + {/* soapAction */ 726, 2, 320}, + {/* defaultTypeface */ 728, 3, 316}, + {/* manifest */ 731, 4, 316}, + {/* overflow */ 735, 5, 316}, + {/* linear */ 740, 3, 316}, + {/* currencySymbol */ 743, 1, 316}, + {/* delete */ 744, 2, 320}, + {/* deltas */ 746, 0, 313}, + {/* digestMethod */ 746, 2, 316}, + {/* instanceManager */ 748, 3, 316}, + {/* equateRange */ 751, 5, 316}, + {/* medium */ 756, 7, 316}, + {/* textEdit */ 763, 6, 316}, + {/* templateCache */ 769, 3, 316}, + {/* compressObjectStream */ 772, 2, 316}, + {/* dataValue */ 774, 5, 316}, + {/* accessibleContent */ 779, 2, 316}, + {/* nodeList */ 781, 0, 314}, + {/* includeXDPContent */ 781, 2, 316}, + {/* xmlConnection */ 783, 1, 316}, + {/* validateApprovalSignatures */ 784, 2, 316}, + {/* signData */ 786, 5, 316}, + {/* packets */ 791, 2, 316}, + {/* datePattern */ 793, 1, 316}, + {/* duplexOption */ 794, 2, 316}, + {/* base */ 796, 2, 316}, + {/* bind */ 798, 6, 316}, + {/* compression */ 804, 2, 316}, + {/* user */ 806, 2, 320}, + {/* rectangle */ 808, 3, 316}, + {/* effectiveOutputPolicy */ 811, 4, 316}, + {/* ADBE_JSDebugger */ 815, 2, 316}, + {/* acrobat7 */ 817, 2, 316}, + {/* interactive */ 819, 2, 316}, + {/* locale */ 821, 2, 316}, + {/* currentPage */ 823, 2, 316}, + {/* data */ 825, 2, 316}, + {/* date */ 827, 4, 318}, + {/* desc */ 831, 2, 316}, + {/* encrypt */ 833, 5, 316}, + {/* draw */ 838, 20, 317}, + {/* encryption */ 858, 2, 316}, + {/* meridiemNames */ 860, 0, 316}, + {/* messaging */ 860, 2, 316}, + {/* speak */ 862, 4, 320}, + {/* dataGroup */ 866, 0, 316}, + {/* common */ 866, 2, 316}, + {/* #text */ 868, 1, 316}, + {/* paginationOverride */ 869, 2, 316}, + {/* reasons */ 871, 3, 316}, + {/* signatureProperties */ 874, 2, 316}, + {/* threshold */ 876, 2, 316}, + {/* appearanceFilter */ 878, 4, 316}, + {/* fill */ 882, 3, 316}, + {/* font */ 885, 17, 316}, + {/* form */ 902, 1, 319}, + {/* mediumInfo */ 903, 2, 316}, + {/* certificate */ 905, 2, 320}, + {/* password */ 907, 2, 320}, + {/* runScripts */ 909, 2, 316}, + {/* trace */ 911, 2, 316}, + {/* float */ 913, 4, 318}, + {/* renderPolicy */ 917, 2, 316}, + {/* logPseudoModel */ 919, 0, 312}, + {/* destination */ 919, 2, 316}, + {/* value */ 921, 4, 316}, + {/* bookend */ 925, 4, 316}, + {/* exObject */ 929, 6, 316}, + {/* openAction */ 935, 2, 316}, + {/* neverEmbed */ 937, 4, 316}, + {/* bindItems */ 941, 3, 316}, + {/* calculate */ 944, 3, 316}, + {/* print */ 947, 2, 316}, + {/* extras */ 949, 3, 316}, + {/* proto */ 952, 0, 316}, + {/* dSigData */ 952, 0, 316}, + {/* creator */ 952, 2, 316}, + {/* connect */ 954, 7, 316}, + {/* permissions */ 961, 2, 316}, + {/* connectionSet */ 963, 0, 319}, + {/* submit */ 963, 7, 316}, + {/* range */ 970, 2, 316}, + {/* linearized */ 972, 2, 316}, + {/* packet */ 974, 1, 316}, + {/* rootElement */ 975, 2, 320}, + {/* plaintextMetadata */ 977, 4, 316}, + {/* numberSymbols */ 981, 0, 316}, + {/* printHighQuality */ 981, 2, 316}, + {/* driver */ 983, 2, 316}, + {/* incrementalLoad */ 985, 4, 316}, + {/* subjectDN */ 989, 1, 316}, + {/* compressLogicalStructure */ 990, 2, 316}, + {/* incrementalMerge */ 992, 2, 316}, + {/* radial */ 994, 3, 316}, + {/* variables */ 997, 2, 317}, + {/* timePatterns */ 999, 0, 316}, + {/* effectiveInputPolicy */ 999, 4, 316}, + {/* nameAttr */ 1003, 4, 316}, + {/* conformance */ 1007, 2, 316}, + {/* transform */ 1009, 3, 316}, + {/* lockDocument */ 1012, 4, 316}, + {/* breakAfter */ 1016, 7, 316}, + {/* line */ 1023, 4, 316}, + {/* list */ 1027, 1, 313}, + {/* source */ 1028, 3, 316}, + {/* occur */ 1031, 5, 316}, + {/* pickTrayByPDFSize */ 1036, 2, 316}, + {/* monthNames */ 1038, 1, 316}, + {/* severity */ 1039, 4, 316}, + {/* groupParent */ 1043, 2, 316}, + {/* documentAssembly */ 1045, 2, 316}, + {/* numberSymbol */ 1047, 1, 316}, + {/* tagged */ 1048, 2, 316}, + {/* */ 1050, 5, 316}, + {/* */ 1055, 1, -1}, + {/* */ 1056, 1, 312}, + {/* */ 1057, 0, 313}, + {/* */ 1057, 8, 312}, + {/* */ 1065, 6, 315}, + {/* */ 1071, 0, 316}, + {/* */ 1071, 0, 316}, + {/* */ 1071, 2, 316}, + {/* */ 1073, 2, 316}, }; const int32_t g_iScriptIndexCount = sizeof(g_XFAScriptIndex) / sizeof(XFA_SCRIPTHIERARCHY); - const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { + /* ps */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* to */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* ui */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Ui::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Ui::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xb3543a6, L"max", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* recordSet */ + {0xb3543a6, L"max", (XFA_ATTRIBUTE_CALLBACK)&CJX_RecordSet::max, XFA_Attribute::Max, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_RecordSet::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x45a6daf8, L"eofAction", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_RecordSet::eofAction, XFA_Attribute::EofAction, XFA_ScriptType::Basic}, {0x5ec958c0, L"cursorType", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_RecordSet::cursorType, XFA_Attribute::CursorType, XFA_ScriptType::Basic}, - {0x79975f2b, L"lockType", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x79975f2b, L"lockType", (XFA_ATTRIBUTE_CALLBACK)&CJX_RecordSet::lockType, XFA_Attribute::LockType, XFA_ScriptType::Basic}, {0xa5340ff5, L"bofAction", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_RecordSet::bofAction, XFA_Attribute::BofAction, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_RecordSet::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, {0xc5762157, L"cursorLocation", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_RecordSet::cursorLocation, XFA_Attribute::CursorLocation, XFA_ScriptType::Basic}, + + /* subsetBelow */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, @@ -158,75 +532,80 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* subformSet */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_SubformSet::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x1ee2d24d, L"instanceIndex", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_InstanceIndex, + (XFA_ATTRIBUTE_CALLBACK)&CJX_SubformSet::instanceIndex, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0x8c99377e, L"relation", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x8c99377e, L"relation", (XFA_ATTRIBUTE_CALLBACK)&CJX_SubformSet::relation, XFA_Attribute::Relation, XFA_ScriptType::Basic}, - {0x8e1c2921, L"relevant", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x8e1c2921, L"relevant", (XFA_ATTRIBUTE_CALLBACK)&CJX_SubformSet::relevant, XFA_Attribute::Relevant, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_SubformSet::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* adobeExtensionLevel */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* typeface */ {0x31b19c1, L"name", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Name, XFA_ScriptType::Basic}, + + /* break */ {0x3106c3a, L"beforeTarget", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Break::beforeTarget, XFA_Attribute::BeforeTarget, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Break::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x13a08bdb, L"overflowTarget", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Break::overflowTarget, XFA_Attribute::OverflowTarget, XFA_ScriptType::Basic}, {0x169134a1, L"overflowLeader", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Break::overflowLeader, XFA_Attribute::OverflowLeader, XFA_ScriptType::Basic}, {0x20914367, L"overflowTrailer", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Break::overflowTrailer, XFA_Attribute::OverflowTrailer, XFA_ScriptType::Basic}, - {0x453eaf38, L"startNew", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x453eaf38, L"startNew", (XFA_ATTRIBUTE_CALLBACK)&CJX_Break::startNew, XFA_Attribute::StartNew, XFA_ScriptType::Basic}, {0x64110ab5, L"bookendTrailer", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Break::bookendTrailer, XFA_Attribute::BookendTrailer, XFA_ScriptType::Basic}, - {0xb6b44172, L"after", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xb6b44172, L"after", (XFA_ATTRIBUTE_CALLBACK)&CJX_Break::after, XFA_Attribute::After, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Break::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, {0xc3c1442f, L"bookendLeader", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Break::bookendLeader, XFA_Attribute::BookendLeader, XFA_ScriptType::Basic}, {0xcb150479, L"afterTarget", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Break::afterTarget, XFA_Attribute::AfterTarget, XFA_ScriptType::Basic}, - {0xf4ffce73, L"before", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xf4ffce73, L"before", (XFA_ATTRIBUTE_CALLBACK)&CJX_Break::before, XFA_Attribute::Before, XFA_ScriptType::Basic}, + + /* fontInfo */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* numberPattern */ {0x31b19c1, L"name", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Name, XFA_ScriptType::Basic}, + + /* dynamicRender */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, @@ -236,129 +615,132 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* printScaling */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* checkButton */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_CheckButton::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x47cfa43a, L"allowNeutral", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_CheckButton::allowNeutral, XFA_Attribute::AllowNeutral, XFA_ScriptType::Basic}, - {0x7c2fd80b, L"mark", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7c2fd80b, L"mark", (XFA_ATTRIBUTE_CALLBACK)&CJX_CheckButton::mark, XFA_Attribute::Mark, XFA_ScriptType::Basic}, - {0x8ed182d1, L"shape", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x8ed182d1, L"shape", (XFA_ATTRIBUTE_CALLBACK)&CJX_CheckButton::shape, XFA_Attribute::Shape, XFA_ScriptType::Basic}, - {0xa686975b, L"size", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xa686975b, L"size", (XFA_ATTRIBUTE_CALLBACK)&CJX_CheckButton::size, XFA_Attribute::Size, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_CheckButton::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* datePatterns */ + + /* sourceSet */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_SourceSet::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_SourceSet::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* amd */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* arc */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Arc::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x5c054755, L"startAngle", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x5c054755, L"startAngle", (XFA_ATTRIBUTE_CALLBACK)&CJX_Arc::startAngle, XFA_Attribute::StartAngle, XFA_ScriptType::Basic}, - {0x74788f8b, L"sweepAngle", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x74788f8b, L"sweepAngle", (XFA_ATTRIBUTE_CALLBACK)&CJX_Arc::sweepAngle, XFA_Attribute::SweepAngle, XFA_ScriptType::Basic}, - {0x9d833d75, L"circular", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x9d833d75, L"circular", (XFA_ATTRIBUTE_CALLBACK)&CJX_Arc::circular, XFA_Attribute::Circular, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Arc::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xd996fa9b, L"hand", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xd996fa9b, L"hand", (XFA_ATTRIBUTE_CALLBACK)&CJX_Arc::hand, XFA_Attribute::Hand, XFA_ScriptType::Basic}, + + /* day */ + + /* era */ + + /* jog */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* log */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* map */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Map::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xb0e5485d, L"bind", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xb0e5485d, L"bind", (XFA_ATTRIBUTE_CALLBACK)&CJX_Map::bind, XFA_Attribute::Bind, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Map::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, - {0xcd7f7b54, L"from", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xcd7f7b54, L"from", (XFA_ATTRIBUTE_CALLBACK)&CJX_Map::from, XFA_Attribute::From, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* mdp */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Mdp::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x8e29d794, L"signatureType", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Mdp::signatureType, XFA_Attribute::SignatureType, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Mdp::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xe11a2cbc, L"permissions", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xe11a2cbc, L"permissions", (XFA_ATTRIBUTE_CALLBACK)&CJX_Mdp::permissions, XFA_Attribute::Permissions, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* breakBefore */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_BreakBefore::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x453eaf38, L"startNew", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_BreakBefore::startNew, XFA_Attribute::StartNew, XFA_ScriptType::Basic}, - {0x9dcc3ab3, L"trailer", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x9dcc3ab3, L"trailer", (XFA_ATTRIBUTE_CALLBACK)&CJX_BreakBefore::trailer, XFA_Attribute::Trailer, XFA_ScriptType::Basic}, {0xa6118c89, L"targetType", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_BreakBefore::targetType, XFA_Attribute::TargetType, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_BreakBefore::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc8da4da7, L"target", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc8da4da7, L"target", (XFA_ATTRIBUTE_CALLBACK)&CJX_BreakBefore::target, XFA_Attribute::Target, XFA_ScriptType::Basic}, - {0xcbcaf66d, L"leader", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xcbcaf66d, L"leader", (XFA_ATTRIBUTE_CALLBACK)&CJX_BreakBefore::leader, XFA_Attribute::Leader, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* oid */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Oid::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Oid::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* pcl */ {0x31b19c1, L"name", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Name, XFA_ScriptType::Basic}, @@ -368,6 +750,8 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* pdf */ {0x31b19c1, L"name", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Name, XFA_ScriptType::Basic}, @@ -377,17 +761,17 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* ref */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Ref::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Ref::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* uri */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Uri::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Uri::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, @@ -401,6 +785,8 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* xdc */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, @@ -413,20 +799,24 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* xdp */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0x2d574d58, L"this", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Xfa_This, + + /* xfa */ + {0x2d574d58, L"this", (XFA_ATTRIBUTE_CALLBACK)&CJX_Xfa::thisValue, XFA_Attribute::Unknown, XFA_ScriptType::Object}, - {0x4fdc3454, L"timeStamp", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x4fdc3454, L"timeStamp", (XFA_ATTRIBUTE_CALLBACK)&CJX_Xfa::timeStamp, XFA_Attribute::TimeStamp, XFA_ScriptType::Basic}, - {0xb598a1f7, L"uuid", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xb598a1f7, L"uuid", (XFA_ATTRIBUTE_CALLBACK)&CJX_Xfa::uuid, XFA_Attribute::Uuid, XFA_ScriptType::Basic}, + + /* xsl */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, @@ -439,6 +829,8 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* zpl */ {0x31b19c1, L"name", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Name, XFA_ScriptType::Basic}, @@ -448,93 +840,94 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* cache */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* margin */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Margin::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xcfea02e, L"leftInset", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xcfea02e, L"leftInset", (XFA_ATTRIBUTE_CALLBACK)&CJX_Margin::leftInset, XFA_Attribute::LeftInset, XFA_ScriptType::Basic}, {0x1356caf8, L"bottomInset", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Margin::bottomInset, XFA_Attribute::BottomInset, XFA_ScriptType::Basic}, - {0x25764436, L"topInset", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x25764436, L"topInset", (XFA_ATTRIBUTE_CALLBACK)&CJX_Margin::topInset, XFA_Attribute::TopInset, XFA_ScriptType::Basic}, - {0x8a692521, L"rightInset", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x8a692521, L"rightInset", (XFA_ATTRIBUTE_CALLBACK)&CJX_Margin::rightInset, XFA_Attribute::RightInset, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Margin::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* keyUsage */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_KeyUsage::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x1e459b8f, L"nonRepudiation", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_KeyUsage::nonRepudiation, XFA_Attribute::NonRepudiation, XFA_ScriptType::Basic}, {0x2bb3f470, L"encipherOnly", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_KeyUsage::encipherOnly, XFA_Attribute::EncipherOnly, XFA_ScriptType::Basic}, - {0x2f16a382, L"type", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x2f16a382, L"type", (XFA_ATTRIBUTE_CALLBACK)&CJX_KeyUsage::type, XFA_Attribute::Type, XFA_ScriptType::Basic}, {0x5f760b50, L"digitalSignature", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_KeyUsage::digitalSignature, XFA_Attribute::DigitalSignature, XFA_ScriptType::Basic}, - {0x69aa2292, L"crlSign", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x69aa2292, L"crlSign", (XFA_ATTRIBUTE_CALLBACK)&CJX_KeyUsage::crlSign, XFA_Attribute::CrlSign, XFA_ScriptType::Basic}, {0x98fd4d81, L"keyAgreement", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_KeyUsage::keyAgreement, XFA_Attribute::KeyAgreement, XFA_ScriptType::Basic}, {0xa66404cb, L"keyEncipherment", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_KeyUsage::keyEncipherment, XFA_Attribute::KeyEncipherment, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_KeyUsage::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, {0xca5dc27c, L"dataEncipherment", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_KeyUsage::dataEncipherment, XFA_Attribute::DataEncipherment, XFA_ScriptType::Basic}, {0xe8f118a8, L"keyCertSign", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_KeyUsage::keyCertSign, XFA_Attribute::KeyCertSign, XFA_ScriptType::Basic}, {0xfea53ec6, L"decipherOnly", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_KeyUsage::decipherOnly, XFA_Attribute::DecipherOnly, XFA_ScriptType::Basic}, + + /* exclude */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* choiceList */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_ChoiceList::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x8b90e1f2, L"open", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x8b90e1f2, L"open", (XFA_ATTRIBUTE_CALLBACK)&CJX_ChoiceList::open, XFA_Attribute::Open, XFA_ScriptType::Basic}, - {0x957fa006, L"commitOn", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x957fa006, L"commitOn", (XFA_ATTRIBUTE_CALLBACK)&CJX_ChoiceList::commitOn, XFA_Attribute::CommitOn, XFA_ScriptType::Basic}, {0xb12128b7, L"textEntry", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_ChoiceList::textEntry, XFA_Attribute::TextEntry, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_ChoiceList::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* level */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* labelPrinter */ {0x31b19c1, L"name", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Name, XFA_ScriptType::Basic}, @@ -544,177 +937,174 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* calendarSymbols */ {0x31b19c1, L"name", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Name, XFA_ScriptType::Basic}, - {0x2282c73, L"hAlign", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* para */ + {0x2282c73, L"hAlign", (XFA_ATTRIBUTE_CALLBACK)&CJX_Para::hAlign, XFA_Attribute::HAlign, XFA_ScriptType::Basic}, - {0x8d4f1c7, L"textIndent", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x8d4f1c7, L"textIndent", (XFA_ATTRIBUTE_CALLBACK)&CJX_Para::textIndent, XFA_Attribute::TextIndent, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Para::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x2a82d99c, L"marginRight", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x2a82d99c, L"marginRight", (XFA_ATTRIBUTE_CALLBACK)&CJX_Para::marginRight, XFA_Attribute::MarginRight, XFA_ScriptType::Basic}, - {0x534729c9, L"marginLeft", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x534729c9, L"marginLeft", (XFA_ATTRIBUTE_CALLBACK)&CJX_Para::marginLeft, XFA_Attribute::MarginLeft, XFA_ScriptType::Basic}, - {0x5739d1ff, L"radixOffset", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x5739d1ff, L"radixOffset", (XFA_ATTRIBUTE_CALLBACK)&CJX_Para::radixOffset, XFA_Attribute::RadixOffset, XFA_ScriptType::Basic}, - {0x577682ac, L"preserve", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x577682ac, L"preserve", (XFA_ATTRIBUTE_CALLBACK)&CJX_Para::preserve, XFA_Attribute::Preserve, XFA_ScriptType::Basic}, - {0x731e0665, L"spaceBelow", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x731e0665, L"spaceBelow", (XFA_ATTRIBUTE_CALLBACK)&CJX_Para::spaceBelow, XFA_Attribute::SpaceBelow, XFA_ScriptType::Basic}, - {0x7a7cc341, L"vAlign", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7a7cc341, L"vAlign", (XFA_ATTRIBUTE_CALLBACK)&CJX_Para::vAlign, XFA_Attribute::VAlign, XFA_ScriptType::Basic}, - {0x836d4d7c, L"tabDefault", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x836d4d7c, L"tabDefault", (XFA_ATTRIBUTE_CALLBACK)&CJX_Para::tabDefault, XFA_Attribute::TabDefault, XFA_ScriptType::Basic}, - {0x8fa01790, L"tabStops", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x8fa01790, L"tabStops", (XFA_ATTRIBUTE_CALLBACK)&CJX_Para::tabStops, XFA_Attribute::TabStops, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Para::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xd4b01921, L"lineHeight", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xd4b01921, L"lineHeight", (XFA_ATTRIBUTE_CALLBACK)&CJX_Para::lineHeight, XFA_Attribute::LineHeight, XFA_ScriptType::Basic}, - {0xe18b5659, L"spaceAbove", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xe18b5659, L"spaceAbove", (XFA_ATTRIBUTE_CALLBACK)&CJX_Para::spaceAbove, XFA_Attribute::SpaceAbove, XFA_ScriptType::Basic}, + + /* part */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* pdfa */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* filter */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Filter::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Filter::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, {0xd861f8af, L"addRevocationInfo", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Filter::addRevocationInfo, XFA_Attribute::AddRevocationInfo, XFA_ScriptType::Basic}, + + /* present */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* pagination */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* encoding */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Encoding::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Encoding::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xbb8df5d, L"ref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* event */ + {0xbb8df5d, L"ref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Event::ref, XFA_Attribute::Ref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Event::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Event::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xd6128d8d, L"activity", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xd6128d8d, L"activity", (XFA_ATTRIBUTE_CALLBACK)&CJX_Event::activity, XFA_Attribute::Activity, XFA_ScriptType::Basic}, + + /* whitespace */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* defaultUi */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_DefaultUi::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_DefaultUi::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* dataModel */ + + /* barcode */ {0x43e349b, L"dataRowCount", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Barcode::dataRowCount, XFA_Attribute::DataRowCount, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Barcode::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x28e17e91, L"dataPrep", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x28e17e91, L"dataPrep", (XFA_ATTRIBUTE_CALLBACK)&CJX_Barcode::dataPrep, XFA_Attribute::DataPrep, XFA_ScriptType::Basic}, - {0x2f16a382, L"type", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x2f16a382, L"type", (XFA_ATTRIBUTE_CALLBACK)&CJX_Barcode::type, XFA_Attribute::Type, XFA_ScriptType::Basic}, {0x3650557e, L"textLocation", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Barcode::textLocation, XFA_Attribute::TextLocation, XFA_ScriptType::Basic}, {0x3b582286, L"moduleWidth", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Barcode::moduleWidth, XFA_Attribute::ModuleWidth, XFA_ScriptType::Basic}, {0x52666f1c, L"printCheckDigit", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Barcode::printCheckDigit, XFA_Attribute::PrintCheckDigit, XFA_ScriptType::Basic}, {0x5404d6df, L"moduleHeight", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Barcode::moduleHeight, XFA_Attribute::ModuleHeight, XFA_ScriptType::Basic}, - {0x5ab23b6c, L"startChar", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x5ab23b6c, L"startChar", (XFA_ATTRIBUTE_CALLBACK)&CJX_Barcode::startChar, XFA_Attribute::StartChar, XFA_ScriptType::Basic}, - {0x7c732a66, L"truncate", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7c732a66, L"truncate", (XFA_ATTRIBUTE_CALLBACK)&CJX_Barcode::truncate, XFA_Attribute::Truncate, XFA_ScriptType::Basic}, {0x8d181d61, L"wideNarrowRatio", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Barcode::wideNarrowRatio, XFA_Attribute::WideNarrowRatio, XFA_ScriptType::Basic}, {0x99800d7a, L"errorCorrectionLevel", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Barcode::errorCorrectionLevel, XFA_Attribute::ErrorCorrectionLevel, XFA_ScriptType::Basic}, - {0x9a63da3d, L"upsMode", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x9a63da3d, L"upsMode", (XFA_ATTRIBUTE_CALLBACK)&CJX_Barcode::upsMode, XFA_Attribute::UpsMode, XFA_ScriptType::Basic}, - {0xaf754613, L"checksum", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xaf754613, L"checksum", (XFA_ATTRIBUTE_CALLBACK)&CJX_Barcode::checksum, XFA_Attribute::Checksum, XFA_ScriptType::Basic}, {0xb045fbc5, L"charEncoding", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Barcode::charEncoding, XFA_Attribute::CharEncoding, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Barcode::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, {0xc035c6b1, L"dataColumnCount", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Barcode::dataColumnCount, XFA_Attribute::DataColumnCount, XFA_ScriptType::Basic}, {0xd3c84d25, L"rowColumnRatio", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Barcode::rowColumnRatio, XFA_Attribute::RowColumnRatio, XFA_ScriptType::Basic}, {0xd57c513c, L"dataLength", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Barcode::dataLength, XFA_Attribute::DataLength, XFA_ScriptType::Basic}, - {0xf575ca75, L"endChar", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xf575ca75, L"endChar", (XFA_ATTRIBUTE_CALLBACK)&CJX_Barcode::endChar, XFA_Attribute::EndChar, XFA_ScriptType::Basic}, + + /* timePattern */ {0x31b19c1, L"name", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Name, XFA_ScriptType::Basic}, + + /* batchOutput */ {0x28dee6e9, L"format", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Format, XFA_ScriptType::Basic}, @@ -724,139 +1114,152 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* enforce */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* currencySymbols */ + + /* addSilentPrint */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* rename */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* operation */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Operation::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x60d4c8b1, L"output", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x60d4c8b1, L"output", (XFA_ATTRIBUTE_CALLBACK)&CJX_Operation::output, XFA_Attribute::Output, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Operation::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xd6a39990, L"input", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xd6a39990, L"input", (XFA_ATTRIBUTE_CALLBACK)&CJX_Operation::input, XFA_Attribute::Input, XFA_ScriptType::Basic}, - {0x2f16a382, L"type", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* typefaces */ + + /* subjectDNs */ + {0x2f16a382, L"type", (XFA_ATTRIBUTE_CALLBACK)&CJX_SubjectDNs::type, XFA_Attribute::Type, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* issuers */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Issuers::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x2f16a382, L"type", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x2f16a382, L"type", (XFA_ATTRIBUTE_CALLBACK)&CJX_Issuers::type, XFA_Attribute::Type, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Issuers::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* signaturePseudoModel */ + + /* wsdlConnection */ {0x2b5df51e, L"dataDescription", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_WsdlConnection::dataDescription, XFA_Attribute::DataDescription, XFA_ScriptType::Basic}, + + /* debug */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* delta */ {0x6c0d9600, L"currentValue", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Delta_CurrentValue, - XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0x942643f0, L"savedValue", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Delta_SavedValue, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Delta::currentValue, XFA_Attribute::Unknown, + XFA_ScriptType::Basic}, + {0x942643f0, L"savedValue", (XFA_ATTRIBUTE_CALLBACK)&CJX_Delta::savedValue, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xc8da4da7, L"target", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Delta_Target, + {0xc8da4da7, L"target", (XFA_ATTRIBUTE_CALLBACK)&CJX_Delta::target, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, + + /* eraNames */ + + /* modifyAnnots */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* startNode */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* button */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Button::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Button::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xd4cc53f8, L"highlight", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xd4cc53f8, L"highlight", (XFA_ATTRIBUTE_CALLBACK)&CJX_Button::highlight, XFA_Attribute::Highlight, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* format */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Format::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Format::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0x5518c25, L"break", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* border */ + {0x5518c25, L"break", (XFA_ATTRIBUTE_CALLBACK)&CJX_Border::breakValue, XFA_Attribute::Break, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Border::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x570ce835, L"presence", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x570ce835, L"presence", (XFA_ATTRIBUTE_CALLBACK)&CJX_Border::presence, XFA_Attribute::Presence, XFA_ScriptType::Basic}, - {0x8e1c2921, L"relevant", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x8e1c2921, L"relevant", (XFA_ATTRIBUTE_CALLBACK)&CJX_Border::relevant, XFA_Attribute::Relevant, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Border::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xd996fa9b, L"hand", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xd996fa9b, L"hand", (XFA_ATTRIBUTE_CALLBACK)&CJX_Border::hand, XFA_Attribute::Hand, XFA_ScriptType::Basic}, - {0x78, L"x", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::X, XFA_ScriptType::Basic}, - {0x79, L"y", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::Y, XFA_ScriptType::Basic}, - {0x31b19c1, L"name", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::Name, XFA_ScriptType::Basic}, - {0x31b19c1, L"name", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* area */ + {0x78, L"x", (XFA_ATTRIBUTE_CALLBACK)&CJX_Area::x, XFA_Attribute::X, + XFA_ScriptType::Basic}, + {0x79, L"y", (XFA_ATTRIBUTE_CALLBACK)&CJX_Area::y, XFA_Attribute::Y, + XFA_ScriptType::Basic}, + {0x21aed, L"id", (XFA_ATTRIBUTE_CALLBACK)&CJX_Area::id, XFA_Attribute::Id, + XFA_ScriptType::Basic}, + {0x31b19c1, L"name", (XFA_ATTRIBUTE_CALLBACK)&CJX_Area::name, XFA_Attribute::Name, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Area::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x1059ec18, L"level", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_Integer, XFA_Attribute::Level, XFA_ScriptType::Basic}, - {0x8e1c2921, L"relevant", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x8e1c2921, L"relevant", (XFA_ATTRIBUTE_CALLBACK)&CJX_Area::relevant, XFA_Attribute::Relevant, XFA_ScriptType::Basic}, - {0xac06e2b0, L"colSpan", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xac06e2b0, L"colSpan", (XFA_ATTRIBUTE_CALLBACK)&CJX_Area::colSpan, XFA_Attribute::ColSpan, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Area::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* hyphenation */ {0x21aed, L"id", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Id, XFA_ScriptType::Basic}, @@ -884,60 +1287,60 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xe5c96d6a, L"excludeAllCaps", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::ExcludeAllCaps, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* text */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Text::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x8af2e657, L"maxChars", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x8af2e657, L"maxChars", (XFA_ATTRIBUTE_CALLBACK)&CJX_Text::maxChars, XFA_Attribute::MaxChars, XFA_ScriptType::Basic}, - {0xa52682bd, L"{default}", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + {0xa52682bd, L"{default}", (XFA_ATTRIBUTE_CALLBACK)&CJX_Text::defaultValue, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Text::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xd6e27f1d, L"value", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + {0xd6e27f1d, L"value", (XFA_ATTRIBUTE_CALLBACK)&CJX_Text::value, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* time */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Time::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xa52682bd, L"{default}", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + {0xa52682bd, L"{default}", (XFA_ATTRIBUTE_CALLBACK)&CJX_Time::defaultValue, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Time::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xd6e27f1d, L"value", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + {0xd6e27f1d, L"value", (XFA_ATTRIBUTE_CALLBACK)&CJX_Time::value, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, + + /* type */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* overprint */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc080cd3, L"url", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* certificates */ + {0xc080cd3, L"url", (XFA_ATTRIBUTE_CALLBACK)&CJX_Certificates::url, XFA_Attribute::Url, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Certificates::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0xa6710262, L"credentialServerPolicy", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Certificates::credentialServerPolicy, XFA_Attribute::CredentialServerPolicy, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Certificates::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, {0xc2ba0923, L"urlPolicy", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Certificates::urlPolicy, XFA_Attribute::UrlPolicy, XFA_ScriptType::Basic}, + + /* encryptionMethods */ {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Use, XFA_ScriptType::Basic}, @@ -947,182 +1350,175 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* setProperty */ {0x47d03490, L"connection", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_SetProperty::connection, XFA_Attribute::Connection, XFA_ScriptType::Basic}, - {0xc8da4da7, L"target", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc8da4da7, L"target", (XFA_ATTRIBUTE_CALLBACK)&CJX_SetProperty::target, XFA_Attribute::Target, XFA_ScriptType::Basic}, + + /* printerName */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* startPage */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* pageOffset */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* dateTime */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_DateTime::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0xa52682bd, L"{default}", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + (XFA_ATTRIBUTE_CALLBACK)&CJX_DateTime::defaultValue, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_DateTime::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xd6e27f1d, L"value", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + {0xd6e27f1d, L"value", (XFA_ATTRIBUTE_CALLBACK)&CJX_DateTime::value, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* comb */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Comb::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x78bff531, L"numberOfCells", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_Integer, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Comb::numberOfCells, XFA_Attribute::NumberOfCells, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Comb::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* pattern */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Pattern::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x2f16a382, L"type", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x2f16a382, L"type", (XFA_ATTRIBUTE_CALLBACK)&CJX_Pattern::type, XFA_Attribute::Type, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Pattern::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* ifEmpty */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* suppressBanner */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* outputBin */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0x68, L"h", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::H, XFA_ScriptType::Basic}, - {0x77, L"w", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::W, XFA_ScriptType::Basic}, - {0x78, L"x", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::X, XFA_ScriptType::Basic}, - {0x79, L"y", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::Y, XFA_ScriptType::Basic}, - {0x2282c73, L"hAlign", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* field */ + {0x68, L"h", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::h, XFA_Attribute::H, + XFA_ScriptType::Basic}, + {0x77, L"w", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::w, XFA_Attribute::W, + XFA_ScriptType::Basic}, + {0x78, L"x", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::x, XFA_Attribute::X, + XFA_ScriptType::Basic}, + {0x79, L"y", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::y, XFA_Attribute::Y, + XFA_ScriptType::Basic}, + {0x2282c73, L"hAlign", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::hAlign, XFA_Attribute::HAlign, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x1abbd7e0, L"dataNode", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DataNode, XFA_Attribute::Unknown, XFA_ScriptType::Object}, - {0x25839852, L"access", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x25839852, L"access", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::access, XFA_Attribute::Access, XFA_ScriptType::Basic}, - {0x2ee7678f, L"rotate", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x2ee7678f, L"rotate", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::rotate, XFA_Attribute::Rotate, XFA_ScriptType::Basic}, - {0x3b1ddd06, L"fillColor", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_FillColor, + {0x3b1ddd06, L"fillColor", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::fillColor, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x54c399e3, L"formattedValue", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Field_FormattedValue, - XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0x570ce835, L"presence", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::formattedValue, XFA_Attribute::Unknown, + XFA_ScriptType::Basic}, + {0x570ce835, L"presence", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::presence, XFA_Attribute::Presence, XFA_ScriptType::Basic}, {0x5a3b375d, L"borderColor", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_BorderColor, - XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0x5e936ed6, L"fontColor", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_FontColor, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::borderColor, XFA_Attribute::Unknown, + XFA_ScriptType::Basic}, + {0x5e936ed6, L"fontColor", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::fontColor, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x6826c408, L"parentSubform", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Field_ParentSubform, - XFA_Attribute::Unknown, XFA_ScriptType::Basic}, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::parentSubform, XFA_Attribute::Unknown, + XFA_ScriptType::Basic}, {0x79b67434, L"mandatoryMessage", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_MandatoryMessage, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::mandatoryMessage, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0x7a7cc341, L"vAlign", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7a7cc341, L"vAlign", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::vAlign, XFA_Attribute::VAlign, XFA_ScriptType::Basic}, - {0x7c2ff6ae, L"maxH", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7c2ff6ae, L"maxH", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::maxH, XFA_Attribute::MaxH, XFA_ScriptType::Basic}, - {0x7c2ff6bd, L"maxW", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7c2ff6bd, L"maxW", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::maxW, XFA_Attribute::MaxW, XFA_ScriptType::Basic}, - {0x7d02356c, L"minH", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7d02356c, L"minH", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::minH, XFA_Attribute::MinH, XFA_ScriptType::Basic}, - {0x7d02357b, L"minW", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7d02357b, L"minW", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::minW, XFA_Attribute::MinW, XFA_ScriptType::Basic}, - {0x85fd6faf, L"mandatory", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_Mandatory, + {0x85fd6faf, L"mandatory", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::mandatory, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0x8e1c2921, L"relevant", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x8e1c2921, L"relevant", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::relevant, XFA_Attribute::Relevant, XFA_ScriptType::Basic}, {0x964fb42e, L"formatMessage", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Field_FormatMessage, - XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xa03cf627, L"rawValue", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::formatMessage, XFA_Attribute::Unknown, + XFA_ScriptType::Basic}, + {0xa03cf627, L"rawValue", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::rawValue, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xa52682bd, L"{default}", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + {0xa52682bd, L"{default}", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::defaultValue, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0xa60dd202, L"length", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Field_Length, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xac06e2b0, L"colSpan", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xac06e2b0, L"colSpan", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::colSpan, XFA_Attribute::ColSpan, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xbc8fa350, L"locale", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc8fa350, L"locale", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::locale, XFA_Attribute::Locale, XFA_ScriptType::Basic}, - {0xc2bd40fd, L"anchorType", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc2bd40fd, L"anchorType", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::anchorType, XFA_Attribute::AnchorType, XFA_ScriptType::Basic}, - {0xc4fed09b, L"accessKey", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc4fed09b, L"accessKey", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::accessKey, XFA_Attribute::AccessKey, XFA_ScriptType::Basic}, {0xcabfa3d0, L"validationMessage", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_ValidationMessage, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::validationMessage, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xdcecd663, L"editValue", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Field_EditValue, + {0xdcecd663, L"editValue", (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::editValue, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0xe07e5061, L"selectedIndex", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Field_SelectedIndex, - XFA_Attribute::Unknown, XFA_ScriptType::Basic}, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::selectedIndex, XFA_Attribute::Unknown, + XFA_ScriptType::Basic}, {0xf65e34be, L"borderWidth", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_BorderWidth, - XFA_Attribute::Unknown, XFA_ScriptType::Basic}, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Field::borderWidth, XFA_Attribute::Unknown, + XFA_ScriptType::Basic}, + + /* agent */ {0x31b19c1, L"name", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Name, XFA_ScriptType::Basic}, @@ -1132,139 +1528,150 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* outputXSL */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* adjustData */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* autoSave */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* contentArea */ {0x68, L"h", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::H, XFA_ScriptType::Basic}, {0x77, L"w", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::W, XFA_ScriptType::Basic}, - {0x78, L"x", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::X, XFA_ScriptType::Basic}, - {0x79, L"y", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::Y, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x78, L"x", (XFA_ATTRIBUTE_CALLBACK)&CJX_ContentArea::x, XFA_Attribute::X, + XFA_ScriptType::Basic}, + {0x79, L"y", (XFA_ATTRIBUTE_CALLBACK)&CJX_ContentArea::y, XFA_Attribute::Y, + XFA_ScriptType::Basic}, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_ContentArea::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x8e1c2921, L"relevant", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_ContentArea::relevant, XFA_Attribute::Relevant, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_ContentArea::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* eventPseudoModel */ {0xd843798, L"fullText", - (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::FullText, + (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::fullText, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x1b6d1cf5, L"reenter", - (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::Reenter, + (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::reenter, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x1e6ffa9a, L"prevContentType", - (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::PrevContentType, + (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::prevContentType, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x25a3c206, L"soapFaultString", - (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::SoapFaultString, + (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::soapFaultString, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x2e00c007, L"newContentType", - (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::NewContentType, + (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::newContentType, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x4570500f, L"modifier", - (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::Modifier, + (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::modifier, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x50e2e33b, L"selEnd", - (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::SelEnd, + (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::selEnd, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x57de87c2, L"prevText", - (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::PrevText, + (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::prevText, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x6ea04e0a, L"soapFaultCode", - (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::SoapFaultCode, + (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::soapFaultCode, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x6f6556cf, L"newText", - (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::NewText, + (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::newText, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x891f4606, L"change", - (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::Change, + (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::change, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0x8fa3c19e, L"shift", (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::Shift, + {0x8fa3c19e, L"shift", (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::shift, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0xa9d9b2e1, L"keyDown", - (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::KeyDown, + (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::keyDown, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0xbfc89db2, L"selStart", - (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::SelStart, + (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::selStart, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0xc32a5812, L"commitKey", - (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::CommitKey, + (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::commitKey, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0xc8da4da7, L"target", - (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::Target, + (XFA_ATTRIBUTE_CALLBACK)&CJX_EventPseudoModel::target, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* wsdlAddress */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_WsdlAddress::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_WsdlAddress::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* solid */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Solid::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Solid::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* dateTimeSymbols */ + + /* encryptionLevel */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xa2e3514, L"cap", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* edge */ + {0xa2e3514, L"cap", (XFA_ATTRIBUTE_CALLBACK)&CJX_Edge::cap, XFA_Attribute::Cap, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Edge::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x5392ea58, L"stroke", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x5392ea58, L"stroke", (XFA_ATTRIBUTE_CALLBACK)&CJX_Edge::stroke, XFA_Attribute::Stroke, XFA_ScriptType::Basic}, - {0x570ce835, L"presence", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x570ce835, L"presence", (XFA_ATTRIBUTE_CALLBACK)&CJX_Edge::presence, XFA_Attribute::Presence, XFA_ScriptType::Basic}, - {0x94446dcc, L"thickness", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x94446dcc, L"thickness", (XFA_ATTRIBUTE_CALLBACK)&CJX_Edge::thickness, XFA_Attribute::Thickness, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Edge::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* stipple */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Stipple::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x1ec8ab2c, L"rate", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x1ec8ab2c, L"rate", (XFA_ATTRIBUTE_CALLBACK)&CJX_Stipple::rate, XFA_Attribute::Rate, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Stipple::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* attributes */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* versionControl */ {0x7b29630a, L"sourceBelow", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::SourceBelow, XFA_ScriptType::Basic}, @@ -1277,19 +1684,21 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0x68, L"h", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::H, XFA_ScriptType::Basic}, - {0x77, L"w", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::W, XFA_ScriptType::Basic}, - {0x78, L"x", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::X, XFA_ScriptType::Basic}, - {0x79, L"y", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::Y, XFA_ScriptType::Basic}, - {0x2282c73, L"hAlign", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* meridiem */ + + /* exclGroup */ + {0x68, L"h", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::h, XFA_Attribute::H, + XFA_ScriptType::Basic}, + {0x77, L"w", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::w, XFA_Attribute::W, + XFA_ScriptType::Basic}, + {0x78, L"x", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::x, XFA_Attribute::X, + XFA_ScriptType::Basic}, + {0x79, L"y", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::y, XFA_Attribute::Y, + XFA_ScriptType::Basic}, + {0x2282c73, L"hAlign", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::hAlign, XFA_Attribute::HAlign, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0xf23332f, L"errorText", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_ExclGroup_ErrorText, @@ -1297,78 +1706,68 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0x1abbd7e0, L"dataNode", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DataNode, XFA_Attribute::Unknown, XFA_ScriptType::Object}, - {0x25839852, L"access", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x25839852, L"access", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::access, XFA_Attribute::Access, XFA_ScriptType::Basic}, {0x3b1ddd06, L"fillColor", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_FillColor, - XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0x570ce835, L"presence", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::fillColor, XFA_Attribute::Unknown, + XFA_ScriptType::Basic}, + {0x570ce835, L"presence", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::presence, XFA_Attribute::Presence, XFA_ScriptType::Basic}, {0x5a3b375d, L"borderColor", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_BorderColor, + (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::borderColor, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x79b67434, L"mandatoryMessage", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_MandatoryMessage, + (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::mandatoryMessage, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0x7a7cc341, L"vAlign", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7a7cc341, L"vAlign", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::vAlign, XFA_Attribute::VAlign, XFA_ScriptType::Basic}, - {0x7c2ff6ae, L"maxH", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7c2ff6ae, L"maxH", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::maxH, XFA_Attribute::MaxH, XFA_ScriptType::Basic}, - {0x7c2ff6bd, L"maxW", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7c2ff6bd, L"maxW", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::maxW, XFA_Attribute::MaxW, XFA_ScriptType::Basic}, - {0x7d02356c, L"minH", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7d02356c, L"minH", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::minH, XFA_Attribute::MinH, XFA_ScriptType::Basic}, - {0x7d02357b, L"minW", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7d02357b, L"minW", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::minW, XFA_Attribute::MinW, XFA_ScriptType::Basic}, - {0x7e7e845e, L"layout", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7e7e845e, L"layout", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::layout, XFA_Attribute::Layout, XFA_ScriptType::Basic}, {0x846599f8, L"transient", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_ExclGroup_Transient, - XFA_Attribute::Unknown, XFA_ScriptType::Basic}, + (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::transient, XFA_Attribute::Unknown, + XFA_ScriptType::Basic}, {0x85fd6faf, L"mandatory", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_Mandatory, - XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0x8e1c2921, L"relevant", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::mandatory, XFA_Attribute::Unknown, + XFA_ScriptType::Basic}, + {0x8e1c2921, L"relevant", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::relevant, XFA_Attribute::Relevant, XFA_ScriptType::Basic}, - {0xa03cf627, L"rawValue", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_ExclGroup_DefaultAndRawValue, + {0xa03cf627, L"rawValue", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::rawValue, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0xa52682bd, L"{default}", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_ExclGroup_DefaultAndRawValue, + (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::defaultValue, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xac06e2b0, L"colSpan", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xac06e2b0, L"colSpan", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::colSpan, XFA_Attribute::ColSpan, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, {0xc2bd40fd, L"anchorType", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::anchorType, XFA_Attribute::AnchorType, XFA_ScriptType::Basic}, {0xc4fed09b, L"accessKey", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::accessKey, XFA_Attribute::AccessKey, XFA_ScriptType::Basic}, {0xcabfa3d0, L"validationMessage", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_ValidationMessage, + (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::validationMessage, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0xf65e34be, L"borderWidth", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_BorderWidth, + (XFA_ATTRIBUTE_CALLBACK)&CJX_ExclGroup::borderWidth, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* toolTip */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_ToolTip::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_ToolTip::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* compress */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, @@ -1378,318 +1777,331 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* reason */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Reason::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Reason::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* execute */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Execute::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x47d03490, L"connection", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Execute::connection, XFA_Attribute::Connection, XFA_ScriptType::Basic}, - {0x6cfa828a, L"runAt", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x6cfa828a, L"runAt", (XFA_ATTRIBUTE_CALLBACK)&CJX_Execute::runAt, XFA_Attribute::RunAt, XFA_ScriptType::Basic}, {0xa1b0d2f5, L"executeType", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Execute::executeType, XFA_Attribute::ExecuteType, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Execute::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* contentCopy */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* dateTimeEdit */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_DateTimeEdit::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_DateTimeEdit::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, {0xe6f99487, L"hScrollPolicy", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_DateTimeEdit::hScrollPolicy, XFA_Attribute::HScrollPolicy, XFA_ScriptType::Basic}, + + /* config */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* image */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Image::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x42fed1fd, L"contentType", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Image::contentType, XFA_Attribute::ContentType, XFA_ScriptType::Basic}, {0x54fa722c, L"transferEncoding", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Image::transferEncoding, XFA_Attribute::TransferEncoding, XFA_ScriptType::Basic}, - {0xa52682bd, L"{default}", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue_Read, + {0xa52682bd, L"{default}", (XFA_ATTRIBUTE_CALLBACK)&CJX_Image::defaultValue, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Image::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xd171b240, L"aspect", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xd171b240, L"aspect", (XFA_ATTRIBUTE_CALLBACK)&CJX_Image::aspect, XFA_Attribute::Aspect, XFA_ScriptType::Basic}, - {0xd6e27f1d, L"value", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue_Read, + {0xd6e27f1d, L"value", (XFA_ATTRIBUTE_CALLBACK)&CJX_Image::value, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xdb55fec5, L"href", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xdb55fec5, L"href", (XFA_ATTRIBUTE_CALLBACK)&CJX_Image::href, XFA_Attribute::Href, XFA_ScriptType::Basic}, + + /* #xHTML */ {0xd6e27f1d, L"value", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Value, XFA_ScriptType::Basic}, + + /* numberOfCopies */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* behaviorOverride */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* timeStamp */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_TimeStamp::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x2f16a382, L"type", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x2f16a382, L"type", (XFA_ATTRIBUTE_CALLBACK)&CJX_TimeStamp::type, XFA_Attribute::Type, XFA_ScriptType::Basic}, - {0x7f6fd3d7, L"server", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7f6fd3d7, L"server", (XFA_ATTRIBUTE_CALLBACK)&CJX_TimeStamp::server, XFA_Attribute::Server, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_TimeStamp::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* month */ + + /* viewerPreferences */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* scriptModel */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* decimal */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Decimal::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x4b8bc840, L"fracDigits", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Decimal::fracDigits, XFA_Attribute::FracDigits, XFA_ScriptType::Basic}, {0xa52682bd, L"{default}", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, - XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Decimal::defaultValue, XFA_Attribute::Unknown, + XFA_ScriptType::Basic}, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Decimal::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xd6e27f1d, L"value", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + {0xd6e27f1d, L"value", (XFA_ATTRIBUTE_CALLBACK)&CJX_Decimal::value, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0xde7f92ba, L"leadDigits", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Decimal::leadDigits, XFA_Attribute::LeadDigits, XFA_ScriptType::Basic}, - {0x68, L"h", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::H, XFA_ScriptType::Basic}, - {0x77, L"w", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::W, XFA_ScriptType::Basic}, - {0x78, L"x", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::X, XFA_ScriptType::Basic}, - {0x79, L"y", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::Y, XFA_ScriptType::Basic}, - {0x2282c73, L"hAlign", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* subform */ + {0x68, L"h", (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::h, XFA_Attribute::H, + XFA_ScriptType::Basic}, + {0x77, L"w", (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::w, XFA_Attribute::W, + XFA_ScriptType::Basic}, + {0x78, L"x", (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::x, XFA_Attribute::X, + XFA_ScriptType::Basic}, + {0x79, L"y", (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::y, XFA_Attribute::Y, + XFA_ScriptType::Basic}, + {0x2282c73, L"hAlign", (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::hAlign, XFA_Attribute::HAlign, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x1414d431, L"allowMacro", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::allowMacro, XFA_Attribute::AllowMacro, XFA_ScriptType::Basic}, {0x1517dfa1, L"columnWidths", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::columnWidths, XFA_Attribute::ColumnWidths, XFA_ScriptType::Basic}, {0x1abbd7e0, L"dataNode", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DataNode, XFA_Attribute::Unknown, XFA_ScriptType::Object}, {0x1ee2d24d, L"instanceIndex", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_InstanceIndex, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::instanceIndex, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x25839852, L"access", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + XFA_Attribute::Access, XFA_ScriptType::Basic}, {0x3b1ddd06, L"fillColor", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_FillColor, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0x570ce835, L"presence", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x570ce835, L"presence", (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::presence, XFA_Attribute::Presence, XFA_ScriptType::Basic}, {0x5a3b375d, L"borderColor", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_BorderColor, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0x7a7cc341, L"vAlign", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7a7cc341, L"vAlign", (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::vAlign, XFA_Attribute::VAlign, XFA_ScriptType::Basic}, - {0x7c2ff6ae, L"maxH", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7c2ff6ae, L"maxH", (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::maxH, XFA_Attribute::MaxH, XFA_ScriptType::Basic}, - {0x7c2ff6bd, L"maxW", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7c2ff6bd, L"maxW", (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::maxW, XFA_Attribute::MaxW, XFA_ScriptType::Basic}, - {0x7d02356c, L"minH", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7d02356c, L"minH", (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::minH, XFA_Attribute::MinH, XFA_ScriptType::Basic}, - {0x7d02357b, L"minW", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7d02357b, L"minW", (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::minW, XFA_Attribute::MinW, XFA_ScriptType::Basic}, - {0x7e7e845e, L"layout", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7e7e845e, L"layout", (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::layout, XFA_Attribute::Layout, XFA_ScriptType::Basic}, - {0x8e1c2921, L"relevant", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x8e1c2921, L"relevant", (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::relevant, XFA_Attribute::Relevant, XFA_ScriptType::Basic}, {0x9cc17d75, L"mergeMode", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + XFA_Attribute::MergeMode, XFA_ScriptType::Basic}, {0x9f3e9510, L"instanceManager", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Subform_InstanceManager, XFA_Attribute::Unknown, XFA_ScriptType::Object}, - {0xac06e2b0, L"colSpan", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xac06e2b0, L"colSpan", (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::colSpan, XFA_Attribute::ColSpan, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xbc8fa350, L"locale", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Subform_Locale, + {0xbc8fa350, L"locale", (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::locale, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0xc2bd40fd, L"anchorType", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::anchorType, XFA_Attribute::AnchorType, XFA_ScriptType::Basic}, {0xcabfa3d0, L"validationMessage", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_ValidationMessage, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::validationMessage, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0xe4c3a5e5, L"restoreState", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::restoreState, XFA_Attribute::RestoreState, XFA_ScriptType::Basic}, - {0xeda9017a, L"scope", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xeda9017a, L"scope", (XFA_ATTRIBUTE_CALLBACK)&CJX_Subform::scope, XFA_Attribute::Scope, XFA_ScriptType::Basic}, {0xf65e34be, L"borderWidth", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_BorderWidth, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* select */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Select::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Select::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* window */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* localeSet */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* handler */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Handler::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x2f16a382, L"type", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x2f16a382, L"type", (XFA_ATTRIBUTE_CALLBACK)&CJX_Handler::type, XFA_Attribute::Type, XFA_ScriptType::Basic}, - {0x5a50e9e6, L"version", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Handler_Version, + {0x5a50e9e6, L"version", (XFA_ATTRIBUTE_CALLBACK)&CJX_Handler::version, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Handler::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0x31b19c1, L"name", (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::Name, + + /* hostPseudoModel */ + {0x31b19c1, L"name", (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::name, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x66c1ae9, L"validationsEnabled", - (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::ValidationsEnabled, + (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::validationsEnabled, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0x14d04502, L"title", (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::Title, + {0x14d04502, L"title", (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::title, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x392ae445, L"platform", - (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::Platform, + (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::platform, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x5a50e9e6, L"version", - (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::Version, + (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::version, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x66cb1eed, L"variation", - (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::Variation, + (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::variation, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x7717cbc4, L"language", - (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::Language, + (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::language, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x86698963, L"appType", - (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::AppType, + (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::appType, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x94ff9e8d, L"calculationsEnabled", - (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::CalculationsEnabled, + (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::calculationsEnabled, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0xbcd44940, L"currentPage", - (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::CurrentPage, + (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::currentPage, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0xd592b920, L"numPages", - (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::NumPages, + (XFA_ATTRIBUTE_CALLBACK)&CJX_HostPseudoModel::numPages, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, + + /* presence */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* record */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* embed */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* version */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* command */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Command::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x24d85167, L"timeout", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x24d85167, L"timeout", (XFA_ATTRIBUTE_CALLBACK)&CJX_Command::timeout, XFA_Attribute::Timeout, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Command::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* copies */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* staple */ {0x7d9fd7c5, L"mode", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Mode, XFA_ScriptType::Basic}, @@ -1699,6 +2111,8 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* submitFormat */ {0x7d9fd7c5, L"mode", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_SubmitFormat_Mode, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, @@ -1708,23 +2122,22 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* boolean */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Boolean::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0xa52682bd, L"{default}", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, - XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Boolean::defaultValue, XFA_Attribute::Unknown, + XFA_ScriptType::Basic}, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Boolean::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xd6e27f1d, L"value", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + {0xd6e27f1d, L"value", (XFA_ATTRIBUTE_CALLBACK)&CJX_Boolean::value, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* message */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Message::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Message::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, @@ -1732,57 +2145,65 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* output */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* psMap */ + + /* excludeNS */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* assist */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Assist::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x2038c9b2, L"role", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x2038c9b2, L"role", (XFA_ATTRIBUTE_CALLBACK)&CJX_Assist::role, XFA_Attribute::Role, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Assist::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* picture */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Picture::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0xa52682bd, L"{default}", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, - XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Picture::defaultValue, XFA_Attribute::Unknown, + XFA_ScriptType::Basic}, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Picture::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, - {0xd6e27f1d, L"value", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + {0xd6e27f1d, L"value", (XFA_ATTRIBUTE_CALLBACK)&CJX_Picture::value, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* traversal */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Traversal::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Traversal::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* silentPrint */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* webClient */ {0x31b19c1, L"name", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Name, XFA_ScriptType::Basic}, @@ -1792,156 +2213,150 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* layoutPseudoModel */ {0xfcef86b5, L"ready", - (XFA_ATTRIBUTE_CALLBACK)&CJX_LayoutPseudoModel::Ready, + (XFA_ATTRIBUTE_CALLBACK)&CJX_LayoutPseudoModel::ready, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, + + /* producer */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* corner */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Corner::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x5392ea58, L"stroke", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x5392ea58, L"stroke", (XFA_ATTRIBUTE_CALLBACK)&CJX_Corner::stroke, XFA_Attribute::Stroke, XFA_ScriptType::Basic}, - {0x570ce835, L"presence", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x570ce835, L"presence", (XFA_ATTRIBUTE_CALLBACK)&CJX_Corner::presence, XFA_Attribute::Presence, XFA_ScriptType::Basic}, - {0x7b95e661, L"inverted", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7b95e661, L"inverted", (XFA_ATTRIBUTE_CALLBACK)&CJX_Corner::inverted, XFA_Attribute::Inverted, XFA_ScriptType::Basic}, - {0x94446dcc, L"thickness", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x94446dcc, L"thickness", (XFA_ATTRIBUTE_CALLBACK)&CJX_Corner::thickness, XFA_Attribute::Thickness, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Corner::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xe8dddf50, L"join", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xe8dddf50, L"join", (XFA_ATTRIBUTE_CALLBACK)&CJX_Corner::join, XFA_Attribute::Join, XFA_ScriptType::Basic}, - {0xe948b9a8, L"radius", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xe948b9a8, L"radius", (XFA_ATTRIBUTE_CALLBACK)&CJX_Corner::radius, XFA_Attribute::Radius, XFA_ScriptType::Basic}, + + /* msgId */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* color */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Color::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xabfa6c4f, L"cSpace", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xabfa6c4f, L"cSpace", (XFA_ATTRIBUTE_CALLBACK)&CJX_Color::cSpace, XFA_Attribute::CSpace, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Color::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xd6e27f1d, L"value", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xd6e27f1d, L"value", (XFA_ATTRIBUTE_CALLBACK)&CJX_Color::value, XFA_Attribute::Value, XFA_ScriptType::Basic}, - {0x3848b3f, L"next", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* keep */ + {0x3848b3f, L"next", (XFA_ATTRIBUTE_CALLBACK)&CJX_Keep::next, XFA_Attribute::Next, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Keep::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x6a3405dd, L"previous", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x6a3405dd, L"previous", (XFA_ATTRIBUTE_CALLBACK)&CJX_Keep::previous, XFA_Attribute::Previous, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Keep::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xf6b59543, L"intact", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xf6b59543, L"intact", (XFA_ATTRIBUTE_CALLBACK)&CJX_Keep::intact, XFA_Attribute::Intact, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* query */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Query::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x268b7ec1, L"commandType", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Query::commandType, XFA_Attribute::CommandType, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Query::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* insert */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Insert::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Insert::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* imageEdit */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_ImageEdit::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_ImageEdit::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xbde9abda, L"data", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbde9abda, L"data", (XFA_ATTRIBUTE_CALLBACK)&CJX_ImageEdit::data, XFA_Attribute::Data, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* validate */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Validate::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x5b707a35, L"scriptTest", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Validate::scriptTest, XFA_Attribute::ScriptTest, XFA_ScriptType::Basic}, - {0x6b6ddcfb, L"nullTest", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x6b6ddcfb, L"nullTest", (XFA_ATTRIBUTE_CALLBACK)&CJX_Validate::nullTest, XFA_Attribute::NullTest, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Validate::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xe64b1129, L"formatTest", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Validate::formatTest, XFA_Attribute::FormatTest, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* digestMethods */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_DigestMethods::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x2f16a382, L"type", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x2f16a382, L"type", (XFA_ATTRIBUTE_CALLBACK)&CJX_DigestMethods::type, XFA_Attribute::Type, XFA_ScriptType::Basic}, {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_DigestMethods::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* numberPatterns */ + + /* pageSet */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_PageSet::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x8c99377e, L"relation", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x8c99377e, L"relation", (XFA_ATTRIBUTE_CALLBACK)&CJX_PageSet::relation, XFA_Attribute::Relation, XFA_ScriptType::Basic}, - {0x8e1c2921, L"relevant", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x8e1c2921, L"relevant", (XFA_ATTRIBUTE_CALLBACK)&CJX_PageSet::relevant, XFA_Attribute::Relevant, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_PageSet::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* integer */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Integer::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0xa52682bd, L"{default}", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, - XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Integer::defaultValue, XFA_Attribute::Unknown, + XFA_ScriptType::Basic}, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Integer::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xd6e27f1d, L"value", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + {0xd6e27f1d, L"value", (XFA_ATTRIBUTE_CALLBACK)&CJX_Integer::value, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* soapAddress */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_SoapAddress::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_SoapAddress::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* equate */ {0x25363, L"to", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::To, XFA_ScriptType::Basic}, @@ -1957,30 +2372,37 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* formFieldFilling */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* pageRange */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* update */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Update::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Update::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* connectString */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_ConnectString::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_ConnectString::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* mode */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, @@ -1993,114 +2415,124 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* layout */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* #xml */ {0xd6e27f1d, L"value", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Value, XFA_ScriptType::Basic}, + + /* xsdConnection */ {0x2b5df51e, L"dataDescription", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_XsdConnection::dataDescription, XFA_Attribute::DataDescription, XFA_ScriptType::Basic}, - {0xbb8df5d, L"ref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* traverse */ + {0xbb8df5d, L"ref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Traverse::ref, XFA_Attribute::Ref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Traverse::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x226ca8f1, L"operation", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x226ca8f1, L"operation", (XFA_ATTRIBUTE_CALLBACK)&CJX_Traverse::operation, XFA_Attribute::Operation, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Traverse::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* encodings */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Encodings::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x2f16a382, L"type", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x2f16a382, L"type", (XFA_ATTRIBUTE_CALLBACK)&CJX_Encodings::type, XFA_Attribute::Type, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Encodings::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* template */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* acrobat */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* validationMessaging */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* signing */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Signing::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x2f16a382, L"type", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x2f16a382, L"type", (XFA_ATTRIBUTE_CALLBACK)&CJX_Signing::type, XFA_Attribute::Type, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Signing::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* dataWindow */ {0xfb67185, L"recordsBefore", - (XFA_ATTRIBUTE_CALLBACK)&CJX_DataWindow::RecordsBefore, + (XFA_ATTRIBUTE_CALLBACK)&CJX_DataWindow::recordsBefore, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x21d5dfcb, L"currentRecordNumber", - (XFA_ATTRIBUTE_CALLBACK)&CJX_DataWindow::CurrentRecordNumber, + (XFA_ATTRIBUTE_CALLBACK)&CJX_DataWindow::currentRecordNumber, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x312af044, L"recordsAfter", - (XFA_ATTRIBUTE_CALLBACK)&CJX_DataWindow::RecordsAfter, + (XFA_ATTRIBUTE_CALLBACK)&CJX_DataWindow::recordsAfter, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0x6aab37cb, L"isDefined", - (XFA_ATTRIBUTE_CALLBACK)&CJX_DataWindow::IsDefined, XFA_Attribute::Unknown, + (XFA_ATTRIBUTE_CALLBACK)&CJX_DataWindow::isDefined, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* script */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Script::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x42fed1fd, L"contentType", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Script::contentType, XFA_Attribute::ContentType, XFA_ScriptType::Basic}, - {0x6cfa828a, L"runAt", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x6cfa828a, L"runAt", (XFA_ATTRIBUTE_CALLBACK)&CJX_Script::runAt, XFA_Attribute::RunAt, XFA_ScriptType::Basic}, - {0xa021b738, L"stateless", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Script_Stateless, + {0xa021b738, L"stateless", (XFA_ATTRIBUTE_CALLBACK)&CJX_Script::stateless, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0xa52682bd, L"{default}", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, - XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xadc4c77b, L"binding", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Script::defaultValue, XFA_Attribute::Unknown, + XFA_ScriptType::Basic}, + {0xadc4c77b, L"binding", (XFA_ATTRIBUTE_CALLBACK)&CJX_Script::binding, XFA_Attribute::Binding, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Script::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, - {0xd6e27f1d, L"value", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + {0xd6e27f1d, L"value", (XFA_ATTRIBUTE_CALLBACK)&CJX_Script::value, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* addViewerPreferences */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* alwaysEmbed */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, @@ -2113,63 +2545,66 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* passwordEdit */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_PasswordEdit::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x7a0cc471, L"passwordChar", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_PasswordEdit::passwordChar, XFA_Attribute::PasswordChar, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_PasswordEdit::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, {0xe6f99487, L"hScrollPolicy", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_PasswordEdit::hScrollPolicy, XFA_Attribute::HScrollPolicy, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* numericEdit */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_NumericEdit::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_NumericEdit::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, {0xe6f99487, L"hScrollPolicy", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_NumericEdit::hScrollPolicy, XFA_Attribute::HScrollPolicy, XFA_ScriptType::Basic}, + + /* encryptionMethod */ {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* change */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* pageArea */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_PageArea::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x14a32d52, L"pagePosition", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_PageArea::pagePosition, XFA_Attribute::PagePosition, XFA_ScriptType::Basic}, - {0x8340ea66, L"oddOrEven", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x8340ea66, L"oddOrEven", (XFA_ATTRIBUTE_CALLBACK)&CJX_PageArea::oddOrEven, XFA_Attribute::OddOrEven, XFA_ScriptType::Basic}, - {0x8e1c2921, L"relevant", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x8e1c2921, L"relevant", (XFA_ATTRIBUTE_CALLBACK)&CJX_PageArea::relevant, XFA_Attribute::Relevant, XFA_ScriptType::Basic}, {0xa85e74f3, L"initialNumber", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_PageArea::initialNumber, XFA_Attribute::InitialNumber, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_PageArea::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xbe9ba472, L"numbered", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbe9ba472, L"numbered", (XFA_ATTRIBUTE_CALLBACK)&CJX_PageArea::numbered, XFA_Attribute::Numbered, XFA_ScriptType::Basic}, {0xd70798c2, L"blankOrNotBlank", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_PageArea::blankOrNotBlank, XFA_Attribute::BlankOrNotBlank, XFA_ScriptType::Basic}, + + /* submitUrl */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, @@ -2179,42 +2614,42 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* oids */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Oids::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x2f16a382, L"type", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x2f16a382, L"type", (XFA_ATTRIBUTE_CALLBACK)&CJX_Oids::type, XFA_Attribute::Type, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Oids::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* signature */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Signature::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Signature::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* aDBE_JSConsole */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* caption */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Caption::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x34ae103c, L"reserve", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x34ae103c, L"reserve", (XFA_ATTRIBUTE_CALLBACK)&CJX_Caption::reserve, XFA_Attribute::Reserve, XFA_ScriptType::Basic}, - {0x570ce835, L"presence", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x570ce835, L"presence", (XFA_ATTRIBUTE_CALLBACK)&CJX_Caption::presence, XFA_Attribute::Presence, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Caption::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xf2009339, L"placement", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xf2009339, L"placement", (XFA_ATTRIBUTE_CALLBACK)&CJX_Caption::placement, XFA_Attribute::Placement, XFA_ScriptType::Basic}, + + /* relevant */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, @@ -2227,45 +2662,49 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* flipLabel */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* exData */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExData::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x42fed1fd, L"contentType", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_ExData::contentType, XFA_Attribute::ContentType, XFA_ScriptType::Basic}, {0x54fa722c, L"transferEncoding", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_ExData::transferEncoding, XFA_Attribute::TransferEncoding, XFA_ScriptType::Basic}, {0xa52682bd, L"{default}", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, - XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_ExData::defaultValue, XFA_Attribute::Unknown, + XFA_ScriptType::Basic}, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExData::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc4547a08, L"maxLength", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc4547a08, L"maxLength", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExData::maxLength, XFA_Attribute::MaxLength, XFA_ScriptType::Basic}, {0xd6e27f1d, L"value", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xdb55fec5, L"href", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xdb55fec5, L"href", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExData::href, XFA_Attribute::Href, XFA_ScriptType::Basic}, + + /* dayNames */ {0x29418bb7, L"abbr", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Abbr, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* soapAction */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_SoapAction::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_SoapAction::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* defaultTypeface */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, @@ -2275,66 +2714,66 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* manifest */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Manifest::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x1b8dce3e, L"action", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x1b8dce3e, L"action", (XFA_ATTRIBUTE_CALLBACK)&CJX_Manifest::action, XFA_Attribute::Action, XFA_ScriptType::Basic}, {0xa52682bd, L"{default}", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Manifest::defaultValue, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Manifest::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* overflow */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Overflow::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x9dcc3ab3, L"trailer", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x9dcc3ab3, L"trailer", (XFA_ATTRIBUTE_CALLBACK)&CJX_Overflow::trailer, XFA_Attribute::Trailer, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Overflow::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc8da4da7, L"target", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc8da4da7, L"target", (XFA_ATTRIBUTE_CALLBACK)&CJX_Overflow::target, XFA_Attribute::Target, XFA_ScriptType::Basic}, - {0xcbcaf66d, L"leader", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xcbcaf66d, L"leader", (XFA_ATTRIBUTE_CALLBACK)&CJX_Overflow::leader, XFA_Attribute::Leader, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* linear */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Linear::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x2f16a382, L"type", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x2f16a382, L"type", (XFA_ATTRIBUTE_CALLBACK)&CJX_Linear::type, XFA_Attribute::Type, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Linear::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* currencySymbol */ {0x31b19c1, L"name", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Name, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* delete */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Delete::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Delete::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* deltas */ + + /* digestMethod */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_DigestMethod::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_DigestMethod::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xb3543a6, L"max", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_InstanceManager_Max, + + /* instanceManager */ + {0xb3543a6, L"max", (XFA_ATTRIBUTE_CALLBACK)&CJX_InstanceManager::max, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xb356ca4, L"min", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_InstanceManager_Min, + {0xb356ca4, L"min", (XFA_ATTRIBUTE_CALLBACK)&CJX_InstanceManager::min, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0x6f544d49, L"count", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_InstanceManager_Count, + {0x6f544d49, L"count", (XFA_ATTRIBUTE_CALLBACK)&CJX_InstanceManager::count, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, + + /* equateRange */ {0x25363, L"to", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::To, XFA_ScriptType::Basic}, @@ -2350,45 +2789,43 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* medium */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Medium::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x4ef3d02c, L"orientation", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Medium::orientation, XFA_Attribute::Orientation, XFA_ScriptType::Basic}, {0x65e30c67, L"imagingBBox", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Medium::imagingBBox, XFA_Attribute::ImagingBBox, XFA_ScriptType::Basic}, - {0x9041d4b0, L"short", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x9041d4b0, L"short", (XFA_ATTRIBUTE_CALLBACK)&CJX_Medium::shortValue, XFA_Attribute::Short, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Medium::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xe349d044, L"stock", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xe349d044, L"stock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Medium::stock, XFA_Attribute::Stock, XFA_ScriptType::Basic}, - {0xf6b4afb0, L"long", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xf6b4afb0, L"long", (XFA_ATTRIBUTE_CALLBACK)&CJX_Medium::longValue, XFA_Attribute::Long, XFA_ScriptType::Basic}, + + /* textEdit */ {0x5ce6195, L"vScrollPolicy", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_TextEdit::vScrollPolicy, XFA_Attribute::VScrollPolicy, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_TextEdit::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0x1ef3a64a, L"allowRichText", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_TextEdit::allowRichText, XFA_Attribute::AllowRichText, XFA_ScriptType::Basic}, - {0x5a32e493, L"multiLine", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x5a32e493, L"multiLine", (XFA_ATTRIBUTE_CALLBACK)&CJX_TextEdit::multiLine, XFA_Attribute::MultiLine, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_TextEdit::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, {0xe6f99487, L"hScrollPolicy", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_TextEdit::hScrollPolicy, XFA_Attribute::HScrollPolicy, XFA_ScriptType::Basic}, + + /* templateCache */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, @@ -2398,123 +2835,139 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* compressObjectStream */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* dataValue */ {0x42fed1fd, L"contentType", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_DataValue::contentType, XFA_Attribute::ContentType, XFA_ScriptType::Basic}, - {0x8855805f, L"contains", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x8855805f, L"contains", (XFA_ATTRIBUTE_CALLBACK)&CJX_DataValue::contains, XFA_Attribute::Contains, XFA_ScriptType::Basic}, {0xa52682bd, L"{default}", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + (XFA_ATTRIBUTE_CALLBACK)&CJX_DataValue::defaultValue, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xd6e27f1d, L"value", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + {0xd6e27f1d, L"value", (XFA_ATTRIBUTE_CALLBACK)&CJX_DataValue::value, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xe372ae97, L"isNull", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, + {0xe372ae97, L"isNull", (XFA_ATTRIBUTE_CALLBACK)&CJX_DataValue::isNull, XFA_Attribute::IsNull, XFA_ScriptType::Basic}, + + /* accessibleContent */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* nodeList */ + + /* includeXDPContent */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* xmlConnection */ {0x2b5df51e, L"dataDescription", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_XmlConnection::dataDescription, XFA_Attribute::DataDescription, XFA_ScriptType::Basic}, + + /* validateApprovalSignatures */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xbb8df5d, L"ref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* signData */ + {0xbb8df5d, L"ref", (XFA_ATTRIBUTE_CALLBACK)&CJX_SignData::ref, XFA_Attribute::Ref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_SignData::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x226ca8f1, L"operation", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x226ca8f1, L"operation", (XFA_ATTRIBUTE_CALLBACK)&CJX_SignData::operation, XFA_Attribute::Operation, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_SignData::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc8da4da7, L"target", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc8da4da7, L"target", (XFA_ATTRIBUTE_CALLBACK)&CJX_SignData::target, XFA_Attribute::Target, XFA_ScriptType::Basic}, + + /* packets */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* datePattern */ {0x31b19c1, L"name", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Name, XFA_ScriptType::Basic}, + + /* duplexOption */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* base */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xbb8df5d, L"ref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* bind */ + {0xbb8df5d, L"ref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Bind::ref, XFA_Attribute::Ref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Bind::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x42fed1fd, L"contentType", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x42fed1fd, L"contentType", (XFA_ATTRIBUTE_CALLBACK)&CJX_Bind::contentType, XFA_Attribute::ContentType, XFA_ScriptType::Basic}, {0x54fa722c, L"transferEncoding", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Bind::transferEncoding, XFA_Attribute::TransferEncoding, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Bind::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xf197844d, L"match", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xf197844d, L"match", (XFA_ATTRIBUTE_CALLBACK)&CJX_Bind::match, XFA_Attribute::Match, XFA_ScriptType::Basic}, + + /* compression */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* user */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_User::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_User::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* rectangle */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Rectangle::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Rectangle::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xd996fa9b, L"hand", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xd996fa9b, L"hand", (XFA_ATTRIBUTE_CALLBACK)&CJX_Rectangle::hand, XFA_Attribute::Hand, XFA_ScriptType::Basic}, + + /* effectiveOutputPolicy */ {0x21aed, L"id", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Id, XFA_ScriptType::Basic}, @@ -2527,68 +2980,77 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* aDBE_JSDebugger */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* acrobat7 */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* interactive */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* locale */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* currentPage */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* data */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* date */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Date::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xa52682bd, L"{default}", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + {0xa52682bd, L"{default}", (XFA_ATTRIBUTE_CALLBACK)&CJX_Date::defaultValue, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Date::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xd6e27f1d, L"value", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + {0xd6e27f1d, L"value", (XFA_ATTRIBUTE_CALLBACK)&CJX_Date::value, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* desc */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Desc::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Desc::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* encrypt */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Encrypt::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x28dee6e9, L"format", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Encrypt_Format, + {0x28dee6e9, L"format", (XFA_ATTRIBUTE_CALLBACK)&CJX_Encrypt::format, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Encrypt::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, @@ -2596,122 +3058,124 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0x68, L"h", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::H, XFA_ScriptType::Basic}, - {0x77, L"w", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::W, XFA_ScriptType::Basic}, - {0x78, L"x", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::X, XFA_ScriptType::Basic}, - {0x79, L"y", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::Y, XFA_ScriptType::Basic}, - {0x2282c73, L"hAlign", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* draw */ + {0x68, L"h", (XFA_ATTRIBUTE_CALLBACK)&CJX_Draw::h, XFA_Attribute::H, + XFA_ScriptType::Basic}, + {0x77, L"w", (XFA_ATTRIBUTE_CALLBACK)&CJX_Draw::w, XFA_Attribute::W, + XFA_ScriptType::Basic}, + {0x78, L"x", (XFA_ATTRIBUTE_CALLBACK)&CJX_Draw::x, XFA_Attribute::X, + XFA_ScriptType::Basic}, + {0x79, L"y", (XFA_ATTRIBUTE_CALLBACK)&CJX_Draw::y, XFA_Attribute::Y, + XFA_ScriptType::Basic}, + {0x2282c73, L"hAlign", (XFA_ATTRIBUTE_CALLBACK)&CJX_Draw::hAlign, XFA_Attribute::HAlign, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Draw::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x2ee7678f, L"rotate", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x2ee7678f, L"rotate", (XFA_ATTRIBUTE_CALLBACK)&CJX_Draw::rotate, XFA_Attribute::Rotate, XFA_ScriptType::Basic}, - {0x570ce835, L"presence", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x570ce835, L"presence", (XFA_ATTRIBUTE_CALLBACK)&CJX_Draw::presence, XFA_Attribute::Presence, XFA_ScriptType::Basic}, - {0x7a7cc341, L"vAlign", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7a7cc341, L"vAlign", (XFA_ATTRIBUTE_CALLBACK)&CJX_Draw::vAlign, XFA_Attribute::VAlign, XFA_ScriptType::Basic}, - {0x7c2ff6ae, L"maxH", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7c2ff6ae, L"maxH", (XFA_ATTRIBUTE_CALLBACK)&CJX_Draw::maxH, XFA_Attribute::MaxH, XFA_ScriptType::Basic}, - {0x7c2ff6bd, L"maxW", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7c2ff6bd, L"maxW", (XFA_ATTRIBUTE_CALLBACK)&CJX_Draw::maxW, XFA_Attribute::MaxW, XFA_ScriptType::Basic}, - {0x7d02356c, L"minH", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7d02356c, L"minH", (XFA_ATTRIBUTE_CALLBACK)&CJX_Draw::minH, XFA_Attribute::MinH, XFA_ScriptType::Basic}, - {0x7d02357b, L"minW", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7d02357b, L"minW", (XFA_ATTRIBUTE_CALLBACK)&CJX_Draw::minW, XFA_Attribute::MinW, XFA_ScriptType::Basic}, - {0x8e1c2921, L"relevant", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x8e1c2921, L"relevant", (XFA_ATTRIBUTE_CALLBACK)&CJX_Draw::relevant, XFA_Attribute::Relevant, XFA_ScriptType::Basic}, - {0xa03cf627, L"rawValue", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + {0xa03cf627, L"rawValue", (XFA_ATTRIBUTE_CALLBACK)&CJX_Draw::rawValue, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xa52682bd, L"{default}", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + {0xa52682bd, L"{default}", (XFA_ATTRIBUTE_CALLBACK)&CJX_Draw::defaultValue, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xac06e2b0, L"colSpan", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xac06e2b0, L"colSpan", (XFA_ATTRIBUTE_CALLBACK)&CJX_Draw::colSpan, XFA_Attribute::ColSpan, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Draw::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xbc8fa350, L"locale", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc8fa350, L"locale", (XFA_ATTRIBUTE_CALLBACK)&CJX_Draw::locale, XFA_Attribute::Locale, XFA_ScriptType::Basic}, - {0xc2bd40fd, L"anchorType", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc2bd40fd, L"anchorType", (XFA_ATTRIBUTE_CALLBACK)&CJX_Draw::anchorType, XFA_Attribute::AnchorType, XFA_ScriptType::Basic}, + + /* encryption */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* meridiemNames */ + + /* messaging */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* speak */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Speak::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x39cdb0a2, L"priority", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x39cdb0a2, L"priority", (XFA_ATTRIBUTE_CALLBACK)&CJX_Speak::priority, XFA_Attribute::Priority, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Speak::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xeb511b54, L"disable", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xeb511b54, L"disable", (XFA_ATTRIBUTE_CALLBACK)&CJX_Speak::disable, XFA_Attribute::Disable, XFA_ScriptType::Basic}, + + /* dataGroup */ + + /* common */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* #text */ {0xd6e27f1d, L"value", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Value, XFA_ScriptType::Basic}, + + /* paginationOverride */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* reasons */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Reasons::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x2f16a382, L"type", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x2f16a382, L"type", (XFA_ATTRIBUTE_CALLBACK)&CJX_Reasons::type, XFA_Attribute::Type, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Reasons::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* signatureProperties */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_SignatureProperties::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_SignatureProperties::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* threshold */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* appearanceFilter */ {0x21aed, L"id", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Id, XFA_ScriptType::Basic}, @@ -2724,171 +3188,170 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* fill */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Fill::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x570ce835, L"presence", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x570ce835, L"presence", (XFA_ATTRIBUTE_CALLBACK)&CJX_Fill::presence, XFA_Attribute::Presence, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Fill::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xcb0ac9, L"lineThrough", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* font */ + {0xcb0ac9, L"lineThrough", (XFA_ATTRIBUTE_CALLBACK)&CJX_Font::lineThrough, XFA_Attribute::LineThrough, XFA_ScriptType::Basic}, - {0x2c1c7f1, L"typeface", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x2c1c7f1, L"typeface", (XFA_ATTRIBUTE_CALLBACK)&CJX_Font::typeface, XFA_Attribute::Typeface, XFA_ScriptType::Basic}, {0x8c74ae9, L"fontHorizontalScale", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Font::fontHorizontalScale, XFA_Attribute::FontHorizontalScale, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Font::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x2cd79033, L"kerningMode", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x2cd79033, L"kerningMode", (XFA_ATTRIBUTE_CALLBACK)&CJX_Font::kerningMode, XFA_Attribute::KerningMode, XFA_ScriptType::Basic}, - {0x3a0273a6, L"underline", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x3a0273a6, L"underline", (XFA_ATTRIBUTE_CALLBACK)&CJX_Font::underline, XFA_Attribute::Underline, XFA_ScriptType::Basic}, {0x4873c601, L"baselineShift", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Font::baselineShift, XFA_Attribute::BaselineShift, XFA_ScriptType::Basic}, {0x4b319767, L"overlinePeriod", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Font::overlinePeriod, XFA_Attribute::OverlinePeriod, XFA_ScriptType::Basic}, {0x79543055, L"letterSpacing", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Font::letterSpacing, XFA_Attribute::LetterSpacing, XFA_ScriptType::Basic}, {0x8ec6204c, L"lineThroughPeriod", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Font::lineThroughPeriod, XFA_Attribute::LineThroughPeriod, XFA_ScriptType::Basic}, {0x907c7719, L"fontVerticalScale", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Font::fontVerticalScale, XFA_Attribute::FontVerticalScale, XFA_ScriptType::Basic}, - {0xa686975b, L"size", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xa686975b, L"size", (XFA_ATTRIBUTE_CALLBACK)&CJX_Font::size, XFA_Attribute::Size, XFA_ScriptType::Basic}, - {0xb5e49bf2, L"posture", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xb5e49bf2, L"posture", (XFA_ATTRIBUTE_CALLBACK)&CJX_Font::posture, XFA_Attribute::Posture, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Font::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xbd6e1d88, L"weight", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbd6e1d88, L"weight", (XFA_ATTRIBUTE_CALLBACK)&CJX_Font::weight, XFA_Attribute::Weight, XFA_ScriptType::Basic}, {0xbd96a0e9, L"underlinePeriod", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Font::underlinePeriod, XFA_Attribute::UnderlinePeriod, XFA_ScriptType::Basic}, - {0xc0ec9fa4, L"overline", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0ec9fa4, L"overline", (XFA_ATTRIBUTE_CALLBACK)&CJX_Font::overline, XFA_Attribute::Overline, XFA_ScriptType::Basic}, + + /* form */ {0xaf754613, L"checksum", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Form_Checksum, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, + + /* mediumInfo */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* certificate */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Certificate::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Certificate::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* password */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Password::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Password::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* runScripts */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* trace */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* float */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Float::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xa52682bd, L"{default}", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + {0xa52682bd, L"{default}", (XFA_ATTRIBUTE_CALLBACK)&CJX_Float::defaultValue, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Float::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xd6e27f1d, L"value", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, + {0xd6e27f1d, L"value", (XFA_ATTRIBUTE_CALLBACK)&CJX_Float::value, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, + + /* renderPolicy */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* logPseudoModel */ + + /* destination */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* value */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Value::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x8e1c2921, L"relevant", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x8e1c2921, L"relevant", (XFA_ATTRIBUTE_CALLBACK)&CJX_Value::relevant, XFA_Attribute::Relevant, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Value::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xea7090a0, L"override", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, + {0xea7090a0, L"override", (XFA_ATTRIBUTE_CALLBACK)&CJX_Value::override, XFA_Attribute::Override, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* bookend */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Bookend::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x9dcc3ab3, L"trailer", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x9dcc3ab3, L"trailer", (XFA_ATTRIBUTE_CALLBACK)&CJX_Bookend::trailer, XFA_Attribute::Trailer, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Bookend::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xcbcaf66d, L"leader", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xcbcaf66d, L"leader", (XFA_ATTRIBUTE_CALLBACK)&CJX_Bookend::leader, XFA_Attribute::Leader, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* exObject */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExObject::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x60a61edd, L"codeType", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x60a61edd, L"codeType", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExObject::codeType, XFA_Attribute::CodeType, XFA_ScriptType::Basic}, - {0xb373a862, L"archive", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xb373a862, L"archive", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExObject::archive, XFA_Attribute::Archive, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExObject::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xe1a26b56, L"codeBase", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xe1a26b56, L"codeBase", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExObject::codeBase, XFA_Attribute::CodeBase, XFA_ScriptType::Basic}, - {0xeb091003, L"classId", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xeb091003, L"classId", (XFA_ATTRIBUTE_CALLBACK)&CJX_ExObject::classId, XFA_Attribute::ClassId, XFA_ScriptType::Basic}, + + /* openAction */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* neverEmbed */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, @@ -2901,114 +3364,124 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* bindItems */ {0x47d03490, L"connection", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_BindItems::connection, XFA_Attribute::Connection, XFA_ScriptType::Basic}, - {0xc39a88bd, L"labelRef", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc39a88bd, L"labelRef", (XFA_ATTRIBUTE_CALLBACK)&CJX_BindItems::labelRef, XFA_Attribute::LabelRef, XFA_ScriptType::Basic}, - {0xd50f903a, L"valueRef", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xd50f903a, L"valueRef", (XFA_ATTRIBUTE_CALLBACK)&CJX_BindItems::valueRef, XFA_Attribute::ValueRef, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* calculate */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Calculate::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Calculate::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xea7090a0, L"override", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xea7090a0, L"override", (XFA_ATTRIBUTE_CALLBACK)&CJX_Calculate::override, XFA_Attribute::Override, XFA_ScriptType::Basic}, + + /* print */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* extras */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Extras::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x2f16a382, L"type", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Extras_Type, + {0x2f16a382, L"type", (XFA_ATTRIBUTE_CALLBACK)&CJX_Extras::type, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Extras::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* proto */ + + /* dSigData */ + + /* creator */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xbb8df5d, L"ref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* connect */ + {0xbb8df5d, L"ref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Connect::ref, XFA_Attribute::Ref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Connect::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x24d85167, L"timeout", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x24d85167, L"timeout", (XFA_ATTRIBUTE_CALLBACK)&CJX_Connect::timeout, XFA_Attribute::Timeout, XFA_ScriptType::Basic}, {0x47d03490, L"connection", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Connect::connection, XFA_Attribute::Connection, XFA_ScriptType::Basic}, - {0x552d9ad5, L"usage", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x552d9ad5, L"usage", (XFA_ATTRIBUTE_CALLBACK)&CJX_Connect::usage, XFA_Attribute::Usage, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Connect::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, {0xc860f30a, L"delayedOpen", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Connect::delayedOpen, XFA_Attribute::DelayedOpen, XFA_ScriptType::Basic}, + + /* permissions */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* connectionSet */ + + /* submit */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Submit::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x28dee6e9, L"format", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x28dee6e9, L"format", (XFA_ATTRIBUTE_CALLBACK)&CJX_Submit::format, XFA_Attribute::Format, XFA_ScriptType::Basic}, - {0x824f21b7, L"embedPDF", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x824f21b7, L"embedPDF", (XFA_ATTRIBUTE_CALLBACK)&CJX_Submit::embedPDF, XFA_Attribute::EmbedPDF, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Submit::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc8da4da7, L"target", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc8da4da7, L"target", (XFA_ATTRIBUTE_CALLBACK)&CJX_Submit::target, XFA_Attribute::Target, XFA_ScriptType::Basic}, {0xdc75676c, L"textEncoding", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_Submit::textEncoding, XFA_Attribute::TextEncoding, XFA_ScriptType::Basic}, - {0xf889e747, L"xdpContent", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xf889e747, L"xdpContent", (XFA_ATTRIBUTE_CALLBACK)&CJX_Submit::xdpContent, XFA_Attribute::XdpContent, XFA_ScriptType::Basic}, + + /* range */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* linearized */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0x97be91b, L"content", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Packet_Content, + + /* packet */ + {0x97be91b, L"content", (XFA_ATTRIBUTE_CALLBACK)&CJX_Packet::content, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* rootElement */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_RootElement::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_RootElement::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* plaintextMetadata */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, @@ -3021,18 +3494,26 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* numberSymbols */ + + /* printHighQuality */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* driver */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* incrementalLoad */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, @@ -3045,36 +3526,45 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* subjectDN */ {0x4156ee3f, L"delimiter", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_SubjectDN::delimiter, XFA_Attribute::Delimiter, XFA_ScriptType::Basic}, + + /* compressLogicalStructure */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* incrementalMerge */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* radial */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Radial::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x2f16a382, L"type", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x2f16a382, L"type", (XFA_ATTRIBUTE_CALLBACK)&CJX_Radial::type, XFA_Attribute::Type, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Radial::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* variables */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Variables::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Variables::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* timePatterns */ + + /* effectiveInputPolicy */ {0x21aed, L"id", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Id, XFA_ScriptType::Basic}, @@ -3087,6 +3577,8 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* nameAttr */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, @@ -3099,12 +3591,16 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* conformance */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* transform */ {0xbb8df5d, L"ref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Ref, XFA_ScriptType::Basic}, @@ -3114,6 +3610,8 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* lockDocument */ {0x21aed, L"id", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Id, XFA_ScriptType::Basic}, @@ -3126,71 +3624,72 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* breakAfter */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_BreakAfter::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x453eaf38, L"startNew", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x453eaf38, L"startNew", (XFA_ATTRIBUTE_CALLBACK)&CJX_BreakAfter::startNew, XFA_Attribute::StartNew, XFA_ScriptType::Basic}, - {0x9dcc3ab3, L"trailer", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x9dcc3ab3, L"trailer", (XFA_ATTRIBUTE_CALLBACK)&CJX_BreakAfter::trailer, XFA_Attribute::Trailer, XFA_ScriptType::Basic}, {0xa6118c89, L"targetType", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + (XFA_ATTRIBUTE_CALLBACK)&CJX_BreakAfter::targetType, XFA_Attribute::TargetType, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_BreakAfter::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xc8da4da7, L"target", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc8da4da7, L"target", (XFA_ATTRIBUTE_CALLBACK)&CJX_BreakAfter::target, XFA_Attribute::Target, XFA_ScriptType::Basic}, - {0xcbcaf66d, L"leader", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xcbcaf66d, L"leader", (XFA_ATTRIBUTE_CALLBACK)&CJX_BreakAfter::leader, XFA_Attribute::Leader, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* line */ + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Line::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xabef37e3, L"slope", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xabef37e3, L"slope", (XFA_ATTRIBUTE_CALLBACK)&CJX_Line::slope, XFA_Attribute::Slope, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Line::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xd996fa9b, L"hand", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xd996fa9b, L"hand", (XFA_ATTRIBUTE_CALLBACK)&CJX_Line::hand, XFA_Attribute::Hand, XFA_ScriptType::Basic}, + + /* list */ {0xa60dd202, L"length", (XFA_ATTRIBUTE_CALLBACK)&CJX_List::length, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0x20146, L"db", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Source_Db, + + /* source */ + {0x20146, L"db", (XFA_ATTRIBUTE_CALLBACK)&CJX_Source::db, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Source::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Source::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xb3543a6, L"max", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Occur_Max, + + /* occur */ + {0xb3543a6, L"max", (XFA_ATTRIBUTE_CALLBACK)&CJX_Occur::max, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xb356ca4, L"min", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Occur_Min, + {0xb356ca4, L"min", (XFA_ATTRIBUTE_CALLBACK)&CJX_Occur::min, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Occur::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x7d0b5fca, L"initial", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x7d0b5fca, L"initial", (XFA_ATTRIBUTE_CALLBACK)&CJX_Occur::initial, XFA_Attribute::Initial, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Occur::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, + + /* pickTrayByPDFSize */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* monthNames */ {0x29418bb7, L"abbr", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Abbr, XFA_ScriptType::Basic}, + + /* severity */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, @@ -3203,49 +3702,60 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* groupParent */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* documentAssembly */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, + + /* numberSymbol */ {0x31b19c1, L"name", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Name, XFA_ScriptType::Basic}, + + /* tagged */ {0xbe52dfbf, L"desc", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, XFA_Attribute::Desc, XFA_ScriptType::Basic}, {0xf6b47749, L"lock", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_BOOL, XFA_Attribute::Lock, XFA_ScriptType::Basic}, - {0xbb8df5d, L"ref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* items */ + {0xbb8df5d, L"ref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Items::ref, XFA_Attribute::Ref, XFA_ScriptType::Basic}, - {0xc0811ed, L"use", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xc0811ed, L"use", (XFA_ATTRIBUTE_CALLBACK)&CJX_Items::use, XFA_Attribute::Use, XFA_ScriptType::Basic}, - {0x570ce835, L"presence", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0x570ce835, L"presence", (XFA_ATTRIBUTE_CALLBACK)&CJX_Items::presence, XFA_Attribute::Presence, XFA_ScriptType::Basic}, - {0xa5b410cf, L"save", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xa5b410cf, L"save", (XFA_ATTRIBUTE_CALLBACK)&CJX_Items::save, XFA_Attribute::Save, XFA_ScriptType::Basic}, - {0xbc254332, L"usehref", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + {0xbc254332, L"usehref", (XFA_ATTRIBUTE_CALLBACK)&CJX_Items::usehref, XFA_Attribute::Usehref, XFA_ScriptType::Basic}, - {0xb2c80857, L"className", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_ObjectClass_ClassName, + + /* object */ + {0xb2c80857, L"className", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::className, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xa60dd202, L"length", (XFA_ATTRIBUTE_CALLBACK)&CJX_TreeList::length, + + /* list */ + {0xa60dd202, L"length", (XFA_ATTRIBUTE_CALLBACK)&CJX_List::length, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0x31b19c1, L"name", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, + + /* [unknown] */ + + /* tree */ + {0x31b19c1, L"name", (XFA_ATTRIBUTE_CALLBACK)&CJX_Tree::name, XFA_Attribute::Name, XFA_ScriptType::Basic}, {0x9f9d0f9, L"all", (XFA_ATTRIBUTE_CALLBACK)&CJX_Tree::all, XFA_Attribute::Unknown, XFA_ScriptType::Object}, @@ -3262,29 +3772,32 @@ const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = { {0xe4989adf, L"somExpression", (XFA_ATTRIBUTE_CALLBACK)&CJX_Tree::somExpression, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0x21aed, L"id", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Attribute_String, - XFA_Attribute::Id, XFA_ScriptType::Basic}, - {0x234a1, L"ns", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_NodeClass_Ns, + + /* node */ + {0x21aed, L"id", (XFA_ATTRIBUTE_CALLBACK)&CJX_Node::id, XFA_Attribute::Id, + XFA_ScriptType::Basic}, + {0x234a1, L"ns", (XFA_ATTRIBUTE_CALLBACK)&CJX_Node::ns, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0x50d1a9d1, L"model", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_NodeClass_Model, + {0x50d1a9d1, L"model", (XFA_ATTRIBUTE_CALLBACK)&CJX_Node::model, XFA_Attribute::Unknown, XFA_ScriptType::Object}, - {0xacb4823f, L"isContainer", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_NodeClass_IsContainer, + {0xacb4823f, L"isContainer", (XFA_ATTRIBUTE_CALLBACK)&CJX_Node::isContainer, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xe372ae97, L"isNull", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_NodeClass_IsNull, + {0xe372ae97, L"isNull", (XFA_ATTRIBUTE_CALLBACK)&CJX_Node::isNull, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, - {0xfe612a5b, L"oneOfChild", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_NodeClass_OneOfChild, + {0xfe612a5b, L"oneOfChild", (XFA_ATTRIBUTE_CALLBACK)&CJX_Node::oneOfChild, XFA_Attribute::Unknown, XFA_ScriptType::Object}, - {0x97c1c65, L"context", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_ModelClass_Context, + + /* [unknown] */ + + /* [unknown] */ + + /* model */ + {0x97c1c65, L"context", (XFA_ATTRIBUTE_CALLBACK)&CJX_Model::context, XFA_Attribute::Unknown, XFA_ScriptType::Object}, - {0x58be2870, L"aliasNode", - (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_ModelClass_AliasNode, + {0x58be2870, L"aliasNode", (XFA_ATTRIBUTE_CALLBACK)&CJX_Model::aliasNode, XFA_Attribute::Unknown, XFA_ScriptType::Object}, + + /* [unknown] */ {0xa52682bd, L"{default}", (XFA_ATTRIBUTE_CALLBACK)&CJX_Object::Script_Som_DefaultValue, XFA_Attribute::Unknown, XFA_ScriptType::Basic}, |