Index: fpdfsdk/cpdfsdk_widget.cpp |
diff --git a/fpdfsdk/cpdfsdk_widget.cpp b/fpdfsdk/cpdfsdk_widget.cpp |
index 94555b70c5d6fe304071b06cf1570d9231d21fed..12817ab9d16381ad1297ec0feb51d7e0817ed1ca 100644 |
--- a/fpdfsdk/cpdfsdk_widget.cpp |
+++ b/fpdfsdk/cpdfsdk_widget.cpp |
@@ -69,8 +69,7 @@ CPDFSDK_Widget::~CPDFSDK_Widget() {} |
#ifdef PDF_ENABLE_XFA |
CXFA_FFWidget* CPDFSDK_Widget::GetMixXFAWidget() const { |
- CPDFSDK_Document* pSDKDoc = m_pPageView->GetSDKDocument(); |
- CPDFXFA_Document* pDoc = pSDKDoc->GetXFADocument(); |
+ CPDFXFA_Document* pDoc = m_pPageView->GetFormFillEnv()->GetXFADocument(); |
if (pDoc->GetDocType() == DOCTYPE_STATIC_XFA) { |
if (!m_hMixXFAWidget) { |
if (CXFA_FFDocView* pDocView = pDoc->GetXFADocView()) { |
@@ -94,8 +93,7 @@ CXFA_FFWidget* CPDFSDK_Widget::GetMixXFAWidget() const { |
} |
CXFA_FFWidget* CPDFSDK_Widget::GetGroupMixXFAWidget() { |
- CPDFSDK_Document* pSDKDoc = m_pPageView->GetSDKDocument(); |
- CPDFXFA_Document* pDoc = pSDKDoc->GetXFADocument(); |
+ CPDFXFA_Document* pDoc = m_pPageView->GetFormFillEnv()->GetXFADocument(); |
if (pDoc->GetDocType() == DOCTYPE_STATIC_XFA) { |
if (CXFA_FFDocView* pDocView = pDoc->GetXFADocView()) { |
CFX_WideString sName = GetName(); |
@@ -108,8 +106,7 @@ CXFA_FFWidget* CPDFSDK_Widget::GetGroupMixXFAWidget() { |
} |
CXFA_FFWidgetHandler* CPDFSDK_Widget::GetXFAWidgetHandler() const { |
- CPDFSDK_Document* pSDKDoc = m_pPageView->GetSDKDocument(); |
- CPDFXFA_Document* pDoc = pSDKDoc->GetXFADocument(); |
+ CPDFXFA_Document* pDoc = m_pPageView->GetFormFillEnv()->GetXFADocument(); |
if (pDoc->GetDocType() == DOCTYPE_STATIC_XFA) { |
if (!m_pWidgetHandler) { |
if (CXFA_FFDocView* pDocView = pDoc->GetXFADocView()) |
@@ -223,8 +220,7 @@ FX_BOOL CPDFSDK_Widget::HasXFAAAction(PDFSDK_XFAAActionType eXFAAAT) { |
FX_BOOL CPDFSDK_Widget::OnXFAAAction(PDFSDK_XFAAActionType eXFAAAT, |
PDFSDK_FieldAction& data, |
CPDFSDK_PageView* pPageView) { |
- CPDFSDK_Document* pSDKDoc = m_pPageView->GetSDKDocument(); |
- CPDFXFA_Document* pDoc = pSDKDoc->GetXFADocument(); |
+ CPDFXFA_Document* pDoc = m_pPageView->GetFormFillEnv()->GetXFADocument(); |
CXFA_FFWidget* hWidget = GetMixXFAWidget(); |
if (!hWidget) |
@@ -327,8 +323,7 @@ void CPDFSDK_Widget::Synchronize(FX_BOOL bSynchronizeElse) { |
} |
void CPDFSDK_Widget::SynchronizeXFAValue() { |
- CPDFSDK_Document* pSDKDoc = m_pPageView->GetSDKDocument(); |
- CPDFXFA_Document* pDoc = pSDKDoc->GetXFADocument(); |
+ CPDFXFA_Document* pDoc = m_pPageView->GetFormFillEnv()->GetXFADocument(); |
CXFA_FFDocView* pXFADocView = pDoc->GetXFADocView(); |
if (!pXFADocView) |
return; |
@@ -342,8 +337,7 @@ void CPDFSDK_Widget::SynchronizeXFAValue() { |
} |
void CPDFSDK_Widget::SynchronizeXFAItems() { |
- CPDFSDK_Document* pSDKDoc = m_pPageView->GetSDKDocument(); |
- CPDFXFA_Document* pDoc = pSDKDoc->GetXFADocument(); |
+ CPDFXFA_Document* pDoc = m_pPageView->GetFormFillEnv()->GetXFADocument(); |
CXFA_FFDocView* pXFADocView = pDoc->GetXFADocView(); |
if (!pXFADocView) |
return; |
@@ -509,8 +503,7 @@ int CPDFSDK_Widget::GetFieldType() const { |
FX_BOOL CPDFSDK_Widget::IsAppearanceValid() { |
#ifdef PDF_ENABLE_XFA |
- CPDFSDK_Document* pSDKDoc = m_pPageView->GetSDKDocument(); |
- CPDFXFA_Document* pDoc = pSDKDoc->GetXFADocument(); |
+ CPDFXFA_Document* pDoc = m_pPageView->GetFormFillEnv()->GetXFADocument(); |
int nDocType = pDoc->GetDocType(); |
if (nDocType != DOCTYPE_PDF && nDocType != DOCTYPE_STATIC_XFA) |
return TRUE; |
@@ -852,9 +845,8 @@ void CPDFSDK_Widget::DrawShadow(CFX_RenderDevice* pDevice, |
uint8_t alpha = m_pInterForm->GetHighlightAlpha(); |
CFX_FloatRect rcDevice; |
- ASSERT(m_pInterForm->GetDocument()); |
- CPDFSDK_FormFillEnvironment* pEnv = m_pInterForm->GetDocument()->GetEnv(); |
- if (!pEnv) |
+ CPDFSDK_FormFillEnvironment* pFormFillEnv = m_pInterForm->GetFormFillEnv(); |
+ if (!pFormFillEnv) |
return; |
CFX_Matrix page2device; |
pPageView->GetCurrentMatrix(page2device); |
@@ -999,10 +991,8 @@ void CPDFSDK_Widget::ResetAppearance_PushButton() { |
CPDF_IconFit iconFit = pControl->GetIconFit(); |
- CPDFSDK_Document* pDoc = m_pInterForm->GetDocument(); |
- CPDFSDK_FormFillEnvironment* pEnv = pDoc->GetEnv(); |
- |
- CBA_FontMap font_map(this, pEnv->GetSysHandler()); |
+ CPDFSDK_FormFillEnvironment* pFormFillEnv = m_pInterForm->GetFormFillEnv(); |
+ CBA_FontMap font_map(this, pFormFillEnv->GetSysHandler()); |
font_map.SetAPType("N"); |
CFX_ByteString csAP = |
@@ -1377,9 +1367,8 @@ void CPDFSDK_Widget::ResetAppearance_ComboBox(const CFX_WideString* sValue) { |
std::unique_ptr<CFX_Edit> pEdit(new CFX_Edit); |
pEdit->EnableRefresh(FALSE); |
- CPDFSDK_Document* pDoc = m_pInterForm->GetDocument(); |
- CPDFSDK_FormFillEnvironment* pEnv = pDoc->GetEnv(); |
- CBA_FontMap font_map(this, pEnv->GetSysHandler()); |
+ CPDFSDK_FormFillEnvironment* pFormFillEnv = m_pInterForm->GetFormFillEnv(); |
+ CBA_FontMap font_map(this, pFormFillEnv->GetSysHandler()); |
pEdit->SetFontMap(&font_map); |
CFX_FloatRect rcEdit = rcClient; |
@@ -1443,10 +1432,8 @@ void CPDFSDK_Widget::ResetAppearance_ListBox() { |
std::unique_ptr<CFX_Edit> pEdit(new CFX_Edit); |
pEdit->EnableRefresh(FALSE); |
- CPDFSDK_Document* pDoc = m_pInterForm->GetDocument(); |
- CPDFSDK_FormFillEnvironment* pEnv = pDoc->GetEnv(); |
- |
- CBA_FontMap font_map(this, pEnv->GetSysHandler()); |
+ CPDFSDK_FormFillEnvironment* pFormFillEnv = m_pInterForm->GetFormFillEnv(); |
+ CBA_FontMap font_map(this, pFormFillEnv->GetSysHandler()); |
pEdit->SetFontMap(&font_map); |
pEdit->SetPlateRect(CFX_FloatRect(rcClient.left, 0.0f, rcClient.right, 0.0f)); |
@@ -1530,10 +1517,8 @@ void CPDFSDK_Widget::ResetAppearance_TextField(const CFX_WideString* sValue) { |
std::unique_ptr<CFX_Edit> pEdit(new CFX_Edit); |
pEdit->EnableRefresh(FALSE); |
- CPDFSDK_Document* pDoc = m_pInterForm->GetDocument(); |
- CPDFSDK_FormFillEnvironment* pEnv = pDoc->GetEnv(); |
- |
- CBA_FontMap font_map(this, pEnv->GetSysHandler()); |
+ CPDFSDK_FormFillEnvironment* pFormFillEnv = m_pInterForm->GetFormFillEnv(); |
+ CBA_FontMap font_map(this, pFormFillEnv->GetSysHandler()); |
pEdit->SetFontMap(&font_map); |
CFX_FloatRect rcClient = GetClientRect(); |
@@ -1846,11 +1831,10 @@ void CPDFSDK_Widget::RemoveAppearance(const CFX_ByteString& sAPType) { |
FX_BOOL CPDFSDK_Widget::OnAAction(CPDF_AAction::AActionType type, |
PDFSDK_FieldAction& data, |
CPDFSDK_PageView* pPageView) { |
- CPDFSDK_Document* pDocument = pPageView->GetSDKDocument(); |
- CPDFSDK_FormFillEnvironment* pEnv = pDocument->GetEnv(); |
+ CPDFSDK_FormFillEnvironment* pFormFillEnv = pPageView->GetFormFillEnv(); |
#ifdef PDF_ENABLE_XFA |
- CPDFXFA_Document* pDoc = pDocument->GetXFADocument(); |
+ CPDFXFA_Document* pXFADoc = pFormFillEnv->GetXFADocument(); |
if (CXFA_FFWidget* hWidget = GetMixXFAWidget()) { |
XFA_EVENTTYPE eEventType = GetXFAEventType(type, data.bWillCommit); |
@@ -1878,7 +1862,7 @@ FX_BOOL CPDFSDK_Widget::OnAAction(CPDF_AAction::AActionType type, |
param.m_pTarget = pAcc; |
int32_t nRet = pXFAWidgetHandler->ProcessEvent(pAcc, ¶m); |
- if (CXFA_FFDocView* pDocView = pDoc->GetXFADocView()) |
+ if (CXFA_FFDocView* pDocView = pXFADoc->GetXFADocView()) |
pDocView->UpdateDocView(); |
if (nRet == XFA_EVENTERROR_Success) |
@@ -1890,9 +1874,9 @@ FX_BOOL CPDFSDK_Widget::OnAAction(CPDF_AAction::AActionType type, |
CPDF_Action action = GetAAction(type); |
if (action.GetDict() && action.GetType() != CPDF_Action::Unknown) { |
- CPDFSDK_ActionHandler* pActionHandler = pEnv->GetActionHander(); |
- return pActionHandler->DoAction_Field(action, type, pDocument, |
- GetFormField(), data); |
+ CPDFSDK_ActionHandler* pActionHandler = pFormFillEnv->GetActionHander(); |
+ return pActionHandler->DoAction_Field( |
+ action, type, pFormFillEnv->GetSDKDocument(), GetFormField(), data); |
} |
return FALSE; |
} |