| 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;
|
| }
|
|
|