summaryrefslogtreecommitdiff
path: root/xfa
diff options
context:
space:
mode:
Diffstat (limited to 'xfa')
-rw-r--r--xfa/fxfa/parser/cxfa_node.cpp9
-rw-r--r--xfa/fxfa/parser/cxfa_node.h1
-rw-r--r--xfa/fxfa/parser/cxfa_widgetdata.cpp10
-rw-r--r--xfa/fxfa/parser/cxfa_widgetdata.h3
4 files changed, 13 insertions, 10 deletions
diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp
index ac1398822d..9a1dec6716 100644
--- a/xfa/fxfa/parser/cxfa_node.cpp
+++ b/xfa/fxfa/parser/cxfa_node.cpp
@@ -621,6 +621,15 @@ CXFA_WidgetData* CXFA_Node::GetContainerWidgetData() {
: nullptr;
}
+IFX_Locale* CXFA_Node::GetLocale() {
+ WideString wsLocaleName;
+ if (!GetLocaleName(wsLocaleName))
+ return nullptr;
+ if (wsLocaleName == L"ambient")
+ return GetDocument()->GetLocalMgr()->GetDefLocale();
+ return GetDocument()->GetLocalMgr()->GetLocaleByName(wsLocaleName);
+}
+
bool CXFA_Node::GetLocaleName(WideString& wsLocaleName) {
CXFA_Node* pForm = GetDocument()->GetXFAObject(XFA_HASHCODE_Form)->AsNode();
CXFA_Subform* pTopSubform =
diff --git a/xfa/fxfa/parser/cxfa_node.h b/xfa/fxfa/parser/cxfa_node.h
index b41a27ef01..194f870d76 100644
--- a/xfa/fxfa/parser/cxfa_node.h
+++ b/xfa/fxfa/parser/cxfa_node.h
@@ -183,6 +183,7 @@ class CXFA_Node : public CXFA_Object {
bool HasBindItem();
CXFA_WidgetData* GetWidgetData();
CXFA_WidgetData* GetContainerWidgetData();
+ IFX_Locale* GetLocale();
bool GetLocaleName(WideString& wsLocaleName);
XFA_AttributeEnum GetIntact();
diff --git a/xfa/fxfa/parser/cxfa_widgetdata.cpp b/xfa/fxfa/parser/cxfa_widgetdata.cpp
index 7771d33d01..68063e2a07 100644
--- a/xfa/fxfa/parser/cxfa_widgetdata.cpp
+++ b/xfa/fxfa/parser/cxfa_widgetdata.cpp
@@ -1500,15 +1500,7 @@ WideString CXFA_WidgetData::GetPictureContent(XFA_VALUEPICTURE ePicture) {
}
IFX_Locale* CXFA_WidgetData::GetLocale() {
- if (!m_pNode)
- return nullptr;
-
- WideString wsLocaleName;
- if (!m_pNode->GetLocaleName(wsLocaleName))
- return nullptr;
- if (wsLocaleName == L"ambient")
- return m_pNode->GetDocument()->GetLocalMgr()->GetDefLocale();
- return m_pNode->GetDocument()->GetLocalMgr()->GetLocaleByName(wsLocaleName);
+ return m_pNode ? m_pNode->GetLocale() : nullptr;
}
WideString CXFA_WidgetData::GetValue(XFA_VALUEPICTURE eValueType) {
diff --git a/xfa/fxfa/parser/cxfa_widgetdata.h b/xfa/fxfa/parser/cxfa_widgetdata.h
index 941eead3fd..4b11521b6f 100644
--- a/xfa/fxfa/parser/cxfa_widgetdata.h
+++ b/xfa/fxfa/parser/cxfa_widgetdata.h
@@ -44,7 +44,6 @@ class IFX_Locale;
class CXFA_WidgetData {
public:
- explicit CXFA_WidgetData(CXFA_Node* pNode);
virtual ~CXFA_WidgetData();
CXFA_Node* GetNode() const { return m_pNode; }
@@ -178,6 +177,8 @@ class CXFA_WidgetData {
void SetIsNull(bool val) { m_bIsNull = val; }
protected:
+ explicit CXFA_WidgetData(CXFA_Node* pNode);
+
CXFA_Node* m_pNode;
private: