Index: xfa/fxfa/app/xfa_fffield.cpp |
diff --git a/xfa/fxfa/app/xfa_fffield.cpp b/xfa/fxfa/app/xfa_fffield.cpp |
index b14df7ee1553d4056f29dd86f88328fdca7d1e52..f8d7d306d63b6e7c7cd68983e12d1daf08580ca4 100644 |
--- a/xfa/fxfa/app/xfa_fffield.cpp |
+++ b/xfa/fxfa/app/xfa_fffield.cpp |
@@ -26,6 +26,7 @@ CXFA_FFField::CXFA_FFField(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc) |
m_rtUI.Set(0, 0, 0, 0); |
m_rtCaption.Set(0, 0, 0, 0); |
} |
+ |
CXFA_FFField::~CXFA_FFField() { |
CXFA_FFField::UnloadWidget(); |
} |
@@ -73,6 +74,7 @@ void CXFA_FFField::RenderWidget(CFX_Graphics* pGS, |
GetApp()->GetWidgetMgrDelegate()->OnDrawWidget(m_pNormalWidget->GetWidget(), |
pGS, &mt); |
} |
+ |
void CXFA_FFField::DrawHighlight(CFX_Graphics* pGS, |
CFX_Matrix* pMatrix, |
uint32_t dwStatus, |
@@ -95,6 +97,7 @@ void CXFA_FFField::DrawHighlight(CFX_Graphics* pGS, |
pGS->FillPath(&path, FXFILL_WINDING, pMatrix); |
} |
} |
+ |
void CXFA_FFField::DrawFocus(CFX_Graphics* pGS, CFX_Matrix* pMatrix) { |
if (m_dwStatus & XFA_WidgetStatus_Focused) { |
CFX_Color cr(0xFF000000); |
@@ -108,24 +111,29 @@ void CXFA_FFField::DrawFocus(CFX_Graphics* pGS, CFX_Matrix* pMatrix) { |
pGS->StrokePath(&path, pMatrix); |
} |
} |
+ |
void CXFA_FFField::SetFWLThemeProvider() { |
if (m_pNormalWidget) { |
m_pNormalWidget->GetWidget()->SetThemeProvider(GetApp()->GetFWLTheme()); |
} |
} |
+ |
FX_BOOL CXFA_FFField::IsLoaded() { |
return m_pNormalWidget && CXFA_FFWidget::IsLoaded(); |
} |
+ |
FX_BOOL CXFA_FFField::LoadWidget() { |
SetFWLThemeProvider(); |
m_pDataAcc->LoadCaption(); |
PerformLayout(); |
return TRUE; |
} |
+ |
void CXFA_FFField::UnloadWidget() { |
delete m_pNormalWidget; |
m_pNormalWidget = nullptr; |
} |
+ |
void CXFA_FFField::SetEditScrollOffset() { |
XFA_Element eType = m_pDataAcc->GetUIType(); |
if (eType == XFA_Element::TextEdit || eType == XFA_Element::NumericEdit || |
@@ -144,6 +152,7 @@ void CXFA_FFField::SetEditScrollOffset() { |
((CFWL_Edit*)m_pNormalWidget)->SetScrollOffset(fScrollOffset); |
} |
} |
+ |
FX_BOOL CXFA_FFField::PerformLayout() { |
CXFA_FFWidget::PerformLayout(); |
CapPlacement(); |
@@ -155,6 +164,7 @@ FX_BOOL CXFA_FFField::PerformLayout() { |
} |
return TRUE; |
} |
+ |
void CXFA_FFField::CapPlacement() { |
CFX_RectF rtWidget; |
GetRectWithoutRotate(rtWidget); |
@@ -260,6 +270,7 @@ void CXFA_FFField::CapPlacement() { |
} |
m_rtUI.Normalize(); |
} |
+ |
void CXFA_FFField::CapTopBottomPlacement(CXFA_Caption caption, |
const CFX_RectF& rtWidget, |
int32_t iCapPlacement) { |
@@ -287,6 +298,7 @@ void CXFA_FFField::CapTopBottomPlacement(CXFA_Caption caption, |
} |
} |
} |
+ |
void CXFA_FFField::CapLeftRightPlacement(CXFA_Caption caption, |
const CFX_RectF& rtWidget, |
int32_t iCapPlacement) { |
@@ -315,11 +327,13 @@ void CXFA_FFField::CapLeftRightPlacement(CXFA_Caption caption, |
m_rtUI.height += fHeight - rtWidget.height; |
} |
} |
+ |
void CXFA_FFField::UpdateFWL() { |
if (m_pNormalWidget) { |
m_pNormalWidget->Update(); |
} |
} |
+ |
uint32_t CXFA_FFField::UpdateUIProperty() { |
CXFA_Node* pUiNode = m_pDataAcc->GetUIChild(); |
uint32_t dwStyle = 0; |
@@ -328,6 +342,7 @@ uint32_t CXFA_FFField::UpdateUIProperty() { |
} |
return dwStyle; |
} |
+ |
void CXFA_FFField::SetFWLRect() { |
if (!m_pNormalWidget) { |
return; |
@@ -343,6 +358,7 @@ void CXFA_FFField::SetFWLRect() { |
} |
m_pNormalWidget->SetWidgetRect(rtUi); |
} |
+ |
FX_BOOL CXFA_FFField::OnMouseEnter() { |
if (!m_pNormalWidget) { |
return FALSE; |
@@ -354,6 +370,7 @@ FX_BOOL CXFA_FFField::OnMouseEnter() { |
TranslateFWLMessage(&ms); |
return TRUE; |
} |
+ |
FX_BOOL CXFA_FFField::OnMouseExit() { |
if (!m_pNormalWidget) { |
return FALSE; |
@@ -364,6 +381,7 @@ FX_BOOL CXFA_FFField::OnMouseExit() { |
TranslateFWLMessage(&ms); |
return TRUE; |
} |
+ |
void CXFA_FFField::FWLToClient(FX_FLOAT& fx, FX_FLOAT& fy) { |
if (!m_pNormalWidget) { |
return; |
@@ -373,6 +391,7 @@ void CXFA_FFField::FWLToClient(FX_FLOAT& fx, FX_FLOAT& fy) { |
fx -= rtWidget.left; |
fy -= rtWidget.top; |
} |
+ |
FX_BOOL CXFA_FFField::OnLButtonDown(uint32_t dwFlags, |
FX_FLOAT fx, |
FX_FLOAT fy) { |
@@ -397,6 +416,7 @@ FX_BOOL CXFA_FFField::OnLButtonDown(uint32_t dwFlags, |
TranslateFWLMessage(&ms); |
return TRUE; |
} |
+ |
FX_BOOL CXFA_FFField::OnLButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) { |
if (!m_pNormalWidget) { |
return FALSE; |
@@ -415,6 +435,7 @@ FX_BOOL CXFA_FFField::OnLButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) { |
TranslateFWLMessage(&ms); |
return TRUE; |
} |
+ |
FX_BOOL CXFA_FFField::OnLButtonDblClk(uint32_t dwFlags, |
FX_FLOAT fx, |
FX_FLOAT fy) { |
@@ -431,6 +452,7 @@ FX_BOOL CXFA_FFField::OnLButtonDblClk(uint32_t dwFlags, |
TranslateFWLMessage(&ms); |
return TRUE; |
} |
+ |
FX_BOOL CXFA_FFField::OnMouseMove(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) { |
if (!m_pNormalWidget) { |
return FALSE; |
@@ -445,6 +467,7 @@ FX_BOOL CXFA_FFField::OnMouseMove(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) { |
TranslateFWLMessage(&ms); |
return TRUE; |
} |
+ |
FX_BOOL CXFA_FFField::OnMouseWheel(uint32_t dwFlags, |
int16_t zDelta, |
FX_FLOAT fx, |
@@ -463,6 +486,7 @@ FX_BOOL CXFA_FFField::OnMouseWheel(uint32_t dwFlags, |
TranslateFWLMessage(&ms); |
return TRUE; |
} |
+ |
FX_BOOL CXFA_FFField::OnRButtonDown(uint32_t dwFlags, |
FX_FLOAT fx, |
FX_FLOAT fy) { |
@@ -487,6 +511,7 @@ FX_BOOL CXFA_FFField::OnRButtonDown(uint32_t dwFlags, |
TranslateFWLMessage(&ms); |
return TRUE; |
} |
+ |
FX_BOOL CXFA_FFField::OnRButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) { |
if (!m_pNormalWidget) { |
return FALSE; |
@@ -505,6 +530,7 @@ FX_BOOL CXFA_FFField::OnRButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) { |
TranslateFWLMessage(&ms); |
return TRUE; |
} |
+ |
FX_BOOL CXFA_FFField::OnRButtonDblClk(uint32_t dwFlags, |
FX_FLOAT fx, |
FX_FLOAT fy) { |
@@ -535,6 +561,7 @@ FX_BOOL CXFA_FFField::OnSetFocus(CXFA_FFWidget* pOldWidget) { |
AddInvalidateRect(); |
return TRUE; |
} |
+ |
FX_BOOL CXFA_FFField::OnKillFocus(CXFA_FFWidget* pNewWidget) { |
if (!m_pNormalWidget) { |
return CXFA_FFWidget::OnKillFocus(pNewWidget); |
@@ -548,6 +575,7 @@ FX_BOOL CXFA_FFField::OnKillFocus(CXFA_FFWidget* pNewWidget) { |
CXFA_FFWidget::OnKillFocus(pNewWidget); |
return TRUE; |
} |
+ |
FX_BOOL CXFA_FFField::OnKeyDown(uint32_t dwKeyCode, uint32_t dwFlags) { |
if (!m_pNormalWidget || !m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) { |
return FALSE; |
@@ -561,6 +589,7 @@ FX_BOOL CXFA_FFField::OnKeyDown(uint32_t dwKeyCode, uint32_t dwFlags) { |
TranslateFWLMessage(&ms); |
return TRUE; |
} |
+ |
FX_BOOL CXFA_FFField::OnKeyUp(uint32_t dwKeyCode, uint32_t dwFlags) { |
if (!m_pNormalWidget || !m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) { |
return FALSE; |
@@ -574,6 +603,7 @@ FX_BOOL CXFA_FFField::OnKeyUp(uint32_t dwKeyCode, uint32_t dwFlags) { |
TranslateFWLMessage(&ms); |
return TRUE; |
} |
+ |
FX_BOOL CXFA_FFField::OnChar(uint32_t dwChar, uint32_t dwFlags) { |
if (!m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) { |
return FALSE; |
@@ -596,6 +626,7 @@ FX_BOOL CXFA_FFField::OnChar(uint32_t dwChar, uint32_t dwFlags) { |
TranslateFWLMessage(&ms); |
return TRUE; |
} |
+ |
FWL_WidgetHit CXFA_FFField::OnHitTest(FX_FLOAT fx, FX_FLOAT fy) { |
if (m_pNormalWidget) { |
FX_FLOAT ffx = fx, ffy = fy; |
@@ -611,9 +642,11 @@ FWL_WidgetHit CXFA_FFField::OnHitTest(FX_FLOAT fx, FX_FLOAT fy) { |
return FWL_WidgetHit::Titlebar; |
return FWL_WidgetHit::Border; |
} |
+ |
FX_BOOL CXFA_FFField::OnSetCursor(FX_FLOAT fx, FX_FLOAT fy) { |
return TRUE; |
} |
+ |
FX_BOOL CXFA_FFField::PtInActiveRect(FX_FLOAT fx, FX_FLOAT fy) { |
if (!m_pNormalWidget) { |
return FALSE; |
@@ -625,6 +658,7 @@ FX_BOOL CXFA_FFField::PtInActiveRect(FX_FLOAT fx, FX_FLOAT fy) { |
} |
return FALSE; |
} |
+ |
void CXFA_FFField::LayoutCaption() { |
CXFA_TextLayout* pCapTextLayout = m_pDataAcc->GetCaptionTextLayout(); |
if (!pCapTextLayout) |
@@ -636,6 +670,7 @@ void CXFA_FFField::LayoutCaption() { |
if (m_rtCaption.height < fHeight) |
m_rtCaption.height = fHeight; |
} |
+ |
void CXFA_FFField::RenderCaption(CFX_Graphics* pGS, CFX_Matrix* pMatrix) { |
CXFA_TextLayout* pCapTextLayout = m_pDataAcc->GetCaptionTextLayout(); |
if (!pCapTextLayout) { |
@@ -660,6 +695,7 @@ void CXFA_FFField::RenderCaption(CFX_Graphics* pGS, CFX_Matrix* pMatrix) { |
pCapTextLayout->DrawString(pRenderDevice, mt, rtClip); |
} |
} |
+ |
FX_BOOL CXFA_FFField::ProcessCommittedData() { |
if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open) { |
return FALSE; |
@@ -677,6 +713,7 @@ FX_BOOL CXFA_FFField::ProcessCommittedData() { |
m_pDocView->AddValidateWidget(m_pDataAcc); |
return TRUE; |
} |
+ |
int32_t CXFA_FFField::CalculateOverride() { |
CXFA_WidgetAcc* pAcc = m_pDataAcc->GetExclGroup(); |
if (!pAcc) { |
@@ -702,6 +739,7 @@ int32_t CXFA_FFField::CalculateOverride() { |
} |
return 1; |
} |
+ |
int32_t CXFA_FFField::CalculateWidgetAcc(CXFA_WidgetAcc* pAcc) { |
CXFA_Calculate calc = pAcc->GetCalculate(); |
if (!calc) { |
@@ -773,55 +811,15 @@ int32_t CXFA_FFField::CalculateWidgetAcc(CXFA_WidgetAcc* pAcc) { |
} |
return 1; |
} |
+ |
FX_BOOL CXFA_FFField::CommitData() { |
return FALSE; |
} |
+ |
FX_BOOL CXFA_FFField::IsDataChanged() { |
return FALSE; |
} |
+ |
void CXFA_FFField::TranslateFWLMessage(CFWL_Message* pMessage) { |
GetApp()->GetWidgetMgrDelegate()->OnProcessMessageToForm(pMessage); |
} |
-void CXFA_FFField::OnProcessMessage(CFWL_Message* pMessage) {} |
- |
-void CXFA_FFField::OnProcessEvent(CFWL_Event* pEvent) { |
- switch (pEvent->GetClassID()) { |
- case CFWL_EventType::Mouse: { |
- CFWL_EvtMouse* event = (CFWL_EvtMouse*)pEvent; |
- if (event->m_dwCmd == FWL_MouseCommand::Enter) { |
- CXFA_EventParam eParam; |
- eParam.m_eType = XFA_EVENT_MouseEnter; |
- eParam.m_pTarget = m_pDataAcc; |
- m_pDataAcc->ProcessEvent(XFA_ATTRIBUTEENUM_MouseEnter, &eParam); |
- } else if (event->m_dwCmd == FWL_MouseCommand::Leave) { |
- CXFA_EventParam eParam; |
- eParam.m_eType = XFA_EVENT_MouseExit; |
- eParam.m_pTarget = m_pDataAcc; |
- m_pDataAcc->ProcessEvent(XFA_ATTRIBUTEENUM_MouseExit, &eParam); |
- } else if (event->m_dwCmd == FWL_MouseCommand::LeftButtonDown) { |
- CXFA_EventParam eParam; |
- eParam.m_eType = XFA_EVENT_MouseDown; |
- eParam.m_pTarget = m_pDataAcc; |
- m_pDataAcc->ProcessEvent(XFA_ATTRIBUTEENUM_MouseDown, &eParam); |
- } else if (event->m_dwCmd == FWL_MouseCommand::LeftButtonUp) { |
- CXFA_EventParam eParam; |
- eParam.m_eType = XFA_EVENT_MouseUp; |
- eParam.m_pTarget = m_pDataAcc; |
- m_pDataAcc->ProcessEvent(XFA_ATTRIBUTEENUM_MouseUp, &eParam); |
- } |
- break; |
- } |
- case CFWL_EventType::Click: { |
- CXFA_EventParam eParam; |
- eParam.m_eType = XFA_EVENT_Click; |
- eParam.m_pTarget = m_pDataAcc; |
- m_pDataAcc->ProcessEvent(XFA_ATTRIBUTEENUM_Click, &eParam); |
- break; |
- } |
- default: |
- break; |
- } |
-} |
- |
-void CXFA_FFField::OnDrawWidget(CFX_Graphics* pGraphics, |
- const CFX_Matrix* pMatrix) {} |