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

Unified Diff: xfa/fwl/core/ifwl_pushbutton.cpp

Issue 2432423002: Merge the CFWL_*Imp classes into the IFWL_* classes. (Closed)
Patch Set: Review feedback Created 4 years, 2 months 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/fwl/core/ifwl_pushbutton.h ('k') | xfa/fwl/core/ifwl_scrollbar.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: xfa/fwl/core/ifwl_pushbutton.cpp
diff --git a/xfa/fwl/basewidget/fwl_pushbuttonimp.cpp b/xfa/fwl/core/ifwl_pushbutton.cpp
similarity index 87%
rename from xfa/fwl/basewidget/fwl_pushbuttonimp.cpp
rename to xfa/fwl/core/ifwl_pushbutton.cpp
index 834342ec93edaf1576c4bcbc832c52a433bd4d31..a3efb102960b4df1aa90d726d075a480bc8740af 100644
--- a/xfa/fwl/basewidget/fwl_pushbuttonimp.cpp
+++ b/xfa/fwl/core/ifwl_pushbutton.cpp
@@ -4,34 +4,26 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "xfa/fwl/basewidget/fwl_pushbuttonimp.h"
+#include "xfa/fwl/core/ifwl_pushbutton.h"
#include "xfa/fde/tto/fde_textout.h"
-#include "xfa/fwl/basewidget/ifwl_pushbutton.h"
#include "xfa/fwl/core/cfwl_message.h"
#include "xfa/fwl/core/cfwl_themebackground.h"
#include "xfa/fwl/core/cfwl_themetext.h"
#include "xfa/fwl/core/fwl_noteimp.h"
-#include "xfa/fwl/core/fwl_widgetimp.h"
+#include "xfa/fwl/core/ifwl_pushbutton.h"
#include "xfa/fwl/core/ifwl_themeprovider.h"
// static
IFWL_PushButton* IFWL_PushButton::Create(
const CFWL_WidgetImpProperties& properties,
IFWL_Widget* pOuter) {
- IFWL_PushButton* pPushButton = new IFWL_PushButton;
- CFWL_PushButtonImp* pPushButtonImpl =
- new CFWL_PushButtonImp(properties, pOuter);
- pPushButton->SetImpl(pPushButtonImpl);
- pPushButtonImpl->SetInterface(pPushButton);
- return pPushButton;
+ return new IFWL_PushButton(properties, pOuter);
}
-IFWL_PushButton::IFWL_PushButton() {}
-CFWL_PushButtonImp::CFWL_PushButtonImp(
- const CFWL_WidgetImpProperties& properties,
- IFWL_Widget* pOuter)
- : CFWL_WidgetImp(properties, pOuter),
+IFWL_PushButton::IFWL_PushButton(const CFWL_WidgetImpProperties& properties,
+ IFWL_Widget* pOuter)
+ : IFWL_Widget(properties, pOuter),
m_bBtnDown(FALSE),
m_dwTTOStyles(FDE_TTOSTYLE_SingleLine),
m_iTTOAlign(FDE_TTOALIGNMENT_Center) {
@@ -39,32 +31,32 @@ CFWL_PushButtonImp::CFWL_PushButtonImp(
m_rtCaption.Set(0, 0, 0, 0);
}
-CFWL_PushButtonImp::~CFWL_PushButtonImp() {}
+IFWL_PushButton::~IFWL_PushButton() {}
-FWL_Error CFWL_PushButtonImp::GetClassName(CFX_WideString& wsClass) const {
+FWL_Error IFWL_PushButton::GetClassName(CFX_WideString& wsClass) const {
wsClass = FWL_CLASS_PushButton;
return FWL_Error::Succeeded;
}
-FWL_Type CFWL_PushButtonImp::GetClassID() const {
+FWL_Type IFWL_PushButton::GetClassID() const {
return FWL_Type::PushButton;
}
-FWL_Error CFWL_PushButtonImp::Initialize() {
- if (CFWL_WidgetImp::Initialize() != FWL_Error::Succeeded)
+FWL_Error IFWL_PushButton::Initialize() {
+ if (IFWL_Widget::Initialize() != FWL_Error::Succeeded)
return FWL_Error::Indefinite;
m_pDelegate = new CFWL_PushButtonImpDelegate(this);
return FWL_Error::Succeeded;
}
-FWL_Error CFWL_PushButtonImp::Finalize() {
+FWL_Error IFWL_PushButton::Finalize() {
delete m_pDelegate;
m_pDelegate = nullptr;
- return CFWL_WidgetImp::Finalize();
+ return IFWL_Widget::Finalize();
}
-FWL_Error CFWL_PushButtonImp::GetWidgetRect(CFX_RectF& rect,
- FX_BOOL bAutoSize) {
+
+FWL_Error IFWL_PushButton::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) {
if (bAutoSize) {
rect.Set(0, 0, 0, 0);
if (!m_pProperties->m_pThemeProvider) {
@@ -74,7 +66,7 @@ FWL_Error CFWL_PushButtonImp::GetWidgetRect(CFX_RectF& rect,
IFWL_PushButtonDP* pData =
static_cast<IFWL_PushButtonDP*>(m_pProperties->m_pDataProvider);
if (pData) {
- pData->GetCaption(m_pInterface, wsCaption);
+ pData->GetCaption(this, wsCaption);
}
int32_t iLen = wsCaption.GetLength();
if (iLen > 0) {
@@ -84,22 +76,22 @@ FWL_Error CFWL_PushButtonImp::GetWidgetRect(CFX_RectF& rect,
FX_FLOAT* fcaption =
static_cast<FX_FLOAT*>(GetThemeCapacity(CFWL_WidgetCapacity::Margin));
rect.Inflate(*fcaption, *fcaption);
- CFWL_WidgetImp::GetWidgetRect(rect, TRUE);
+ IFWL_Widget::GetWidgetRect(rect, TRUE);
} else {
rect = m_pProperties->m_rtWidget;
}
return FWL_Error::Succeeded;
}
-void CFWL_PushButtonImp::SetStates(uint32_t dwStates, FX_BOOL bSet) {
+void IFWL_PushButton::SetStates(uint32_t dwStates, FX_BOOL bSet) {
if ((dwStates & FWL_WGTSTATE_Disabled) && bSet) {
m_pProperties->m_dwStates = FWL_WGTSTATE_Disabled;
return;
}
- CFWL_WidgetImp::SetStates(dwStates, bSet);
+ IFWL_Widget::SetStates(dwStates, bSet);
}
-FWL_Error CFWL_PushButtonImp::Update() {
+FWL_Error IFWL_PushButton::Update() {
if (IsLocked()) {
return FWL_Error::Indefinite;
}
@@ -114,8 +106,9 @@ FWL_Error CFWL_PushButtonImp::Update() {
m_rtCaption.Inflate(-*fcaption, -*fcaption);
return FWL_Error::Succeeded;
}
-FWL_Error CFWL_PushButtonImp::DrawWidget(CFX_Graphics* pGraphics,
- const CFX_Matrix* pMatrix) {
+
+FWL_Error IFWL_PushButton::DrawWidget(CFX_Graphics* pGraphics,
+ const CFX_Matrix* pMatrix) {
if (!pGraphics)
return FWL_Error::Indefinite;
if (!m_pProperties->m_pThemeProvider)
@@ -139,7 +132,7 @@ FWL_Error CFWL_PushButtonImp::DrawWidget(CFX_Graphics* pGraphics,
FX_FLOAT ipicheight = 0;
CFX_WideString wsCaption;
if (pData) {
- pData->GetCaption(m_pInterface, wsCaption);
+ pData->GetCaption(this, wsCaption);
}
CFX_RectF rtText;
rtText.Set(0, 0, 0, 0);
@@ -152,7 +145,7 @@ FWL_Error CFWL_PushButtonImp::DrawWidget(CFX_Graphics* pGraphics,
break;
case FWL_STYLEEXT_PSB_IconOnly:
if (pData) {
- pPicture = pData->GetPicture(m_pInterface);
+ pPicture = pData->GetPicture(this);
}
if (pPicture) {
CFX_PointF point;
@@ -302,11 +295,12 @@ FWL_Error CFWL_PushButtonImp::DrawWidget(CFX_Graphics* pGraphics,
}
return FWL_Error::Succeeded;
}
-void CFWL_PushButtonImp::DrawBkground(CFX_Graphics* pGraphics,
- IFWL_ThemeProvider* pTheme,
- const CFX_Matrix* pMatrix) {
+
+void IFWL_PushButton::DrawBkground(CFX_Graphics* pGraphics,
+ IFWL_ThemeProvider* pTheme,
+ const CFX_Matrix* pMatrix) {
CFWL_ThemeBackground param;
- param.m_pWidget = m_pInterface;
+ param.m_pWidget = this;
param.m_iPart = CFWL_Part::Background;
param.m_dwStates = GetPartStates();
param.m_pGraphics = pGraphics;
@@ -319,18 +313,19 @@ void CFWL_PushButtonImp::DrawBkground(CFX_Graphics* pGraphics,
}
pTheme->DrawBackground(&param);
}
-void CFWL_PushButtonImp::DrawText(CFX_Graphics* pGraphics,
- IFWL_ThemeProvider* pTheme,
- const CFX_Matrix* pMatrix) {
+
+void IFWL_PushButton::DrawText(CFX_Graphics* pGraphics,
+ IFWL_ThemeProvider* pTheme,
+ const CFX_Matrix* pMatrix) {
if (!m_pProperties->m_pDataProvider)
return;
CFX_WideString wsCaption;
- m_pProperties->m_pDataProvider->GetCaption(m_pInterface, wsCaption);
+ m_pProperties->m_pDataProvider->GetCaption(this, wsCaption);
if (wsCaption.IsEmpty()) {
return;
}
CFWL_ThemeText param;
- param.m_pWidget = m_pInterface;
+ param.m_pWidget = this;
param.m_iPart = CFWL_Part::Caption;
param.m_dwStates = GetPartStates();
param.m_pGraphics = pGraphics;
@@ -343,7 +338,8 @@ void CFWL_PushButtonImp::DrawText(CFX_Graphics* pGraphics,
param.m_iTTOAlign = m_iTTOAlign;
pTheme->DrawText(&param);
}
-uint32_t CFWL_PushButtonImp::GetPartStates() {
+
+uint32_t IFWL_PushButton::GetPartStates() {
uint32_t dwStates = CFWL_PartState_Normal;
if (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) {
dwStates |= CFWL_PartState_Focused;
@@ -359,7 +355,8 @@ uint32_t CFWL_PushButtonImp::GetPartStates() {
}
return dwStates;
}
-void CFWL_PushButtonImp::UpdateTextOutStyles() {
+
+void IFWL_PushButton::UpdateTextOutStyles() {
m_iTTOAlign = FDE_TTOALIGNMENT_Center;
switch (m_pProperties->m_dwStyleExes &
(FWL_STYLEEXT_PSB_HLayoutMask | FWL_STYLEEXT_PSB_VLayoutMask)) {
@@ -407,8 +404,7 @@ void CFWL_PushButtonImp::UpdateTextOutStyles() {
}
}
-CFWL_PushButtonImpDelegate::CFWL_PushButtonImpDelegate(
- CFWL_PushButtonImp* pOwner)
+CFWL_PushButtonImpDelegate::CFWL_PushButtonImpDelegate(IFWL_PushButton* pOwner)
: m_pOwner(pOwner) {}
void CFWL_PushButtonImpDelegate::OnProcessMessage(CFWL_Message* pMessage) {
@@ -457,9 +453,7 @@ void CFWL_PushButtonImpDelegate::OnProcessMessage(CFWL_Message* pMessage) {
OnKeyDown(pKey);
break;
}
- default: {
- break;
- }
+ default: { break; }
}
CFWL_WidgetImpDelegate::OnProcessMessage(pMessage);
}
@@ -480,6 +474,7 @@ void CFWL_PushButtonImpDelegate::OnFocusChanged(CFWL_Message* pMsg,
}
m_pOwner->Repaint(&m_pOwner->m_rtClient);
}
+
void CFWL_PushButtonImpDelegate::OnLButtonDown(CFWL_MsgMouse* pMsg) {
if ((m_pOwner->m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) == 0) {
m_pOwner->SetFocus(TRUE);
@@ -489,6 +484,7 @@ void CFWL_PushButtonImpDelegate::OnLButtonDown(CFWL_MsgMouse* pMsg) {
m_pOwner->m_pProperties->m_dwStates |= FWL_STATE_PSB_Pressed;
m_pOwner->Repaint(&m_pOwner->m_rtClient);
}
+
void CFWL_PushButtonImpDelegate::OnLButtonUp(CFWL_MsgMouse* pMsg) {
m_pOwner->m_bBtnDown = FALSE;
if (m_pOwner->m_rtClient.Contains(pMsg->m_fx, pMsg->m_fy)) {
@@ -500,11 +496,12 @@ void CFWL_PushButtonImpDelegate::OnLButtonUp(CFWL_MsgMouse* pMsg) {
}
if (m_pOwner->m_rtClient.Contains(pMsg->m_fx, pMsg->m_fy)) {
CFWL_EvtClick wmClick;
- wmClick.m_pSrcTarget = m_pOwner->m_pInterface;
+ wmClick.m_pSrcTarget = m_pOwner;
m_pOwner->DispatchEvent(&wmClick);
}
m_pOwner->Repaint(&m_pOwner->m_rtClient);
}
+
void CFWL_PushButtonImpDelegate::OnMouseMove(CFWL_MsgMouse* pMsg) {
FX_BOOL bRepaint = FALSE;
if (m_pOwner->m_bBtnDown) {
@@ -540,20 +537,22 @@ void CFWL_PushButtonImpDelegate::OnMouseMove(CFWL_MsgMouse* pMsg) {
m_pOwner->Repaint(&m_pOwner->m_rtClient);
}
}
+
void CFWL_PushButtonImpDelegate::OnMouseLeave(CFWL_MsgMouse* pMsg) {
m_pOwner->m_bBtnDown = FALSE;
m_pOwner->m_pProperties->m_dwStates &= ~FWL_STATE_PSB_Hovered;
m_pOwner->m_pProperties->m_dwStates &= ~FWL_STATE_PSB_Pressed;
m_pOwner->Repaint(&m_pOwner->m_rtClient);
}
+
void CFWL_PushButtonImpDelegate::OnKeyDown(CFWL_MsgKey* pMsg) {
if (pMsg->m_dwKeyCode == FWL_VKEY_Return) {
CFWL_EvtMouse wmMouse;
- wmMouse.m_pSrcTarget = m_pOwner->m_pInterface;
+ wmMouse.m_pSrcTarget = m_pOwner;
wmMouse.m_dwCmd = FWL_MouseCommand::LeftButtonUp;
m_pOwner->DispatchEvent(&wmMouse);
CFWL_EvtClick wmClick;
- wmClick.m_pSrcTarget = m_pOwner->m_pInterface;
+ wmClick.m_pSrcTarget = m_pOwner;
m_pOwner->DispatchEvent(&wmClick);
return;
}
« no previous file with comments | « xfa/fwl/core/ifwl_pushbutton.h ('k') | xfa/fwl/core/ifwl_scrollbar.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698