Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1053)

Unified Diff: xfa/fxfa/app/xfa_fffield.cpp

Issue 2466273003: Change IFWL_Widget to store a single delegate. (Closed)
Patch Set: Fix Mac Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « xfa/fxfa/app/xfa_fffield.h ('k') | xfa/fxfa/app/xfa_ffimageedit.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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) {}
« no previous file with comments | « xfa/fxfa/app/xfa_fffield.h ('k') | xfa/fxfa/app/xfa_ffimageedit.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698