summaryrefslogtreecommitdiff
path: root/fxjs/xfa
diff options
context:
space:
mode:
Diffstat (limited to 'fxjs/xfa')
-rw-r--r--fxjs/xfa/cjx_node.cpp73
-rw-r--r--fxjs/xfa/cjx_node.h18
-rw-r--r--fxjs/xfa/cjx_object.cpp72
-rw-r--r--fxjs/xfa/cjx_object.h18
4 files changed, 90 insertions, 91 deletions
diff --git a/fxjs/xfa/cjx_node.cpp b/fxjs/xfa/cjx_node.cpp
index ff65c38850..7a0d13235e 100644
--- a/fxjs/xfa/cjx_node.cpp
+++ b/fxjs/xfa/cjx_node.cpp
@@ -575,67 +575,6 @@ void CJX_Node::Script_Delta_Target(CFXJSE_Value* pValue,
bool bSetting,
XFA_Attribute eAttribute) {}
-void CJX_Node::Script_Som_Message(CFXJSE_Value* pValue,
- bool bSetting,
- XFA_SOM_MESSAGETYPE iMessageType) {
- CXFA_WidgetData* pWidgetData = GetXFANode()->GetWidgetData();
- if (!pWidgetData)
- return;
-
- bool bNew = false;
- CXFA_ValidateData validateData = pWidgetData->GetValidateData(false);
- if (!validateData.HasValidNode()) {
- validateData = pWidgetData->GetValidateData(true);
- bNew = true;
- }
-
- if (bSetting) {
- switch (iMessageType) {
- case XFA_SOM_ValidationMessage:
- validateData.SetScriptMessageText(pValue->ToWideString());
- break;
- case XFA_SOM_FormatMessage:
- validateData.SetFormatMessageText(pValue->ToWideString());
- break;
- case XFA_SOM_MandatoryMessage:
- validateData.SetNullMessageText(pValue->ToWideString());
- break;
- default:
- break;
- }
- if (!bNew) {
- CXFA_FFNotify* pNotify = GetDocument()->GetNotify();
- if (!pNotify) {
- return;
- }
- pNotify->AddCalcValidate(GetXFANode());
- }
- return;
- }
-
- WideString wsMessage;
- switch (iMessageType) {
- case XFA_SOM_ValidationMessage:
- wsMessage = validateData.GetScriptMessageText();
- break;
- case XFA_SOM_FormatMessage:
- wsMessage = validateData.GetFormatMessageText();
- break;
- case XFA_SOM_MandatoryMessage:
- wsMessage = validateData.GetNullMessageText();
- break;
- default:
- break;
- }
- pValue->SetString(wsMessage.UTF8Encode().AsStringView());
-}
-
-void CJX_Node::Script_Som_ValidationMessage(CFXJSE_Value* pValue,
- bool bSetting,
- XFA_Attribute eAttribute) {
- Script_Som_Message(pValue, bSetting, XFA_SOM_ValidationMessage);
-}
-
void CJX_Node::Script_Field_Length(CFXJSE_Value* pValue,
bool bSetting,
XFA_Attribute eAttribute) {
@@ -878,12 +817,6 @@ void CJX_Node::Script_Field_EditValue(CFXJSE_Value* pValue,
pWidgetData->GetValue(XFA_VALUEPICTURE_Edit).UTF8Encode().AsStringView());
}
-void CJX_Node::Script_Field_FormatMessage(CFXJSE_Value* pValue,
- bool bSetting,
- XFA_Attribute eAttribute) {
- Script_Som_Message(pValue, bSetting, XFA_SOM_FormatMessage);
-}
-
void CJX_Node::Script_Field_FormattedValue(CFXJSE_Value* pValue,
bool bSetting,
XFA_Attribute eAttribute) {
@@ -917,12 +850,6 @@ void CJX_Node::Script_Som_Mandatory(CFXJSE_Value* pValue,
pValue->SetString(str.UTF8Encode().AsStringView());
}
-void CJX_Node::Script_Som_MandatoryMessage(CFXJSE_Value* pValue,
- bool bSetting,
- XFA_Attribute eAttribute) {
- Script_Som_Message(pValue, bSetting, XFA_SOM_MandatoryMessage);
-}
-
void CJX_Node::Script_Field_ParentSubform(CFXJSE_Value* pValue,
bool bSetting,
XFA_Attribute eAttribute) {
diff --git a/fxjs/xfa/cjx_node.h b/fxjs/xfa/cjx_node.h
index bfc0fa4d5f..3d8f4dff01 100644
--- a/fxjs/xfa/cjx_node.h
+++ b/fxjs/xfa/cjx_node.h
@@ -16,12 +16,6 @@
#include "fxjs/xfa/cjx_tree.h"
#include "xfa/fxfa/fxfa_basic.h"
-enum XFA_SOM_MESSAGETYPE {
- XFA_SOM_ValidationMessage,
- XFA_SOM_FormatMessage,
- XFA_SOM_MandatoryMessage
-};
-
class CXFA_LayoutItem;
class CXFA_Node;
class CXFA_WidgetData;
@@ -104,9 +98,6 @@ class CJX_Node : public CJX_Tree {
void Script_Delta_Target(CFXJSE_Value* pValue,
bool bSetting,
XFA_Attribute eAttribute);
- void Script_Som_ValidationMessage(CFXJSE_Value* pValue,
- bool bSetting,
- XFA_Attribute eAttribute);
void Script_Field_Length(CFXJSE_Value* pValue,
bool bSetting,
XFA_Attribute eAttribute);
@@ -119,18 +110,12 @@ class CJX_Node : public CJX_Tree {
void Script_Boolean_Value(CFXJSE_Value* pValue,
bool bSetting,
XFA_Attribute eAttribute);
- void Script_Som_Message(CFXJSE_Value* pValue,
- bool bSetting,
- XFA_SOM_MESSAGETYPE iMessageType);
void Script_Som_DataNode(CFXJSE_Value* pValue,
bool bSetting,
XFA_Attribute eAttribute);
void Script_Som_Mandatory(CFXJSE_Value* pValue,
bool bSetting,
XFA_Attribute eAttribute);
- void Script_Som_MandatoryMessage(CFXJSE_Value* pValue,
- bool bSetting,
- XFA_Attribute eAttribute);
void Script_Som_InstanceIndex(CFXJSE_Value* pValue,
bool bSetting,
XFA_Attribute eAttribute);
@@ -143,9 +128,6 @@ class CJX_Node : public CJX_Tree {
void Script_Field_EditValue(CFXJSE_Value* pValue,
bool bSetting,
XFA_Attribute eAttribute);
- void Script_Field_FormatMessage(CFXJSE_Value* pValue,
- bool bSetting,
- XFA_Attribute eAttribute);
void Script_Field_FormattedValue(CFXJSE_Value* pValue,
bool bSetting,
XFA_Attribute eAttribute);
diff --git a/fxjs/xfa/cjx_object.cpp b/fxjs/xfa/cjx_object.cpp
index 1d94b55d98..1f4f77aea1 100644
--- a/fxjs/xfa/cjx_object.cpp
+++ b/fxjs/xfa/cjx_object.cpp
@@ -1035,3 +1035,75 @@ void CJX_Object::Script_Som_BorderWidth(CFXJSE_Value* pValue,
CXFA_Measurement(wsThickness.AsStringView()));
}
}
+
+void CJX_Object::Script_Som_Message(CFXJSE_Value* pValue,
+ bool bSetting,
+ XFA_SOM_MESSAGETYPE iMessageType) {
+ if (!widget_data_)
+ return;
+
+ bool bNew = false;
+ CXFA_ValidateData validateData = widget_data_->GetValidateData(false);
+ if (!validateData.HasValidNode()) {
+ validateData = widget_data_->GetValidateData(true);
+ bNew = true;
+ }
+
+ if (bSetting) {
+ switch (iMessageType) {
+ case XFA_SOM_ValidationMessage:
+ validateData.SetScriptMessageText(pValue->ToWideString());
+ break;
+ case XFA_SOM_FormatMessage:
+ validateData.SetFormatMessageText(pValue->ToWideString());
+ break;
+ case XFA_SOM_MandatoryMessage:
+ validateData.SetNullMessageText(pValue->ToWideString());
+ break;
+ default:
+ break;
+ }
+ if (!bNew) {
+ CXFA_FFNotify* pNotify = GetDocument()->GetNotify();
+ if (!pNotify) {
+ return;
+ }
+ pNotify->AddCalcValidate(ToNode(GetXFAObject()));
+ }
+ return;
+ }
+
+ WideString wsMessage;
+ switch (iMessageType) {
+ case XFA_SOM_ValidationMessage:
+ wsMessage = validateData.GetScriptMessageText();
+ break;
+ case XFA_SOM_FormatMessage:
+ wsMessage = validateData.GetFormatMessageText();
+ break;
+ case XFA_SOM_MandatoryMessage:
+ wsMessage = validateData.GetNullMessageText();
+ break;
+ default:
+ break;
+ }
+ pValue->SetString(wsMessage.UTF8Encode().AsStringView());
+}
+
+void CJX_Object::Script_Som_ValidationMessage(CFXJSE_Value* pValue,
+ bool bSetting,
+ XFA_Attribute eAttribute) {
+ 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);
+}
diff --git a/fxjs/xfa/cjx_object.h b/fxjs/xfa/cjx_object.h
index e29081c07b..1263bf82c5 100644
--- a/fxjs/xfa/cjx_object.h
+++ b/fxjs/xfa/cjx_object.h
@@ -104,6 +104,15 @@ class CJX_Object {
void Script_Som_BorderWidth(CFXJSE_Value* pValue,
bool bSetting,
XFA_Attribute eAttribute);
+ void Script_Som_ValidationMessage(CFXJSE_Value* pValue,
+ bool bSetting,
+ XFA_Attribute eAttribute);
+ void Script_Som_MandatoryMessage(CFXJSE_Value* pValue,
+ bool bSetting,
+ XFA_Attribute eAttribute);
+ void Script_Field_FormatMessage(CFXJSE_Value* pValue,
+ bool bSetting,
+ XFA_Attribute eAttribute);
pdfium::Optional<int32_t> TryInteger(XFA_Attribute eAttr, bool bUseDefault);
bool SetInteger(XFA_Attribute eAttr, int32_t iValue, bool bNotify);
@@ -153,6 +162,15 @@ 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 OnChanged(XFA_Attribute eAttr, bool bNotify, bool bScriptModify);
void OnChanging(XFA_Attribute eAttr, bool bNotify);
bool SetUserData(void* pKey,