| Index: xfa/fwl/core/ifwl_spinbutton.cpp
|
| diff --git a/xfa/fwl/basewidget/fwl_spinbuttonimp.cpp b/xfa/fwl/core/ifwl_spinbutton.cpp
|
| similarity index 83%
|
| rename from xfa/fwl/basewidget/fwl_spinbuttonimp.cpp
|
| rename to xfa/fwl/core/ifwl_spinbutton.cpp
|
| index 4eddce7439cfb37f627703895dcfae1529ad0cc2..dbba2f67f4c4195275c29cc210bf29b209a34840 100644
|
| --- a/xfa/fwl/basewidget/fwl_spinbuttonimp.cpp
|
| +++ b/xfa/fwl/core/ifwl_spinbutton.cpp
|
| @@ -4,14 +4,13 @@
|
|
|
| // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
|
|
|
| -#include "xfa/fwl/basewidget/fwl_spinbuttonimp.h"
|
| +#include "xfa/fwl/core/ifwl_spinbutton.h"
|
|
|
| -#include "xfa/fwl/basewidget/ifwl_spinbutton.h"
|
| #include "xfa/fwl/core/cfwl_message.h"
|
| #include "xfa/fwl/core/cfwl_themebackground.h"
|
| #include "xfa/fwl/core/cfwl_widgetimpproperties.h"
|
| #include "xfa/fwl/core/fwl_noteimp.h"
|
| -#include "xfa/fwl/core/fwl_widgetimp.h"
|
| +#include "xfa/fwl/core/ifwl_spinbutton.h"
|
| #include "xfa/fwl/core/ifwl_themeprovider.h"
|
| #include "xfa/fwl/core/ifwl_themeprovider.h"
|
| #include "xfa/fwl/core/ifwl_timer.h"
|
| @@ -28,26 +27,12 @@ const int kElapseTime = 200;
|
| IFWL_SpinButton* IFWL_SpinButton::Create(
|
| const CFWL_WidgetImpProperties& properties,
|
| IFWL_Widget* pOuter) {
|
| - IFWL_SpinButton* pSpinButton = new IFWL_SpinButton;
|
| - CFWL_SpinButtonImp* pSpinButtonImpl =
|
| - new CFWL_SpinButtonImp(properties, nullptr);
|
| - pSpinButton->SetImpl(pSpinButtonImpl);
|
| - pSpinButtonImpl->SetInterface(pSpinButton);
|
| - return pSpinButton;
|
| -}
|
| -IFWL_SpinButton::IFWL_SpinButton() {}
|
| -FWL_Error IFWL_SpinButton::EnableButton(FX_BOOL bEnable, FX_BOOL bUp) {
|
| - return static_cast<CFWL_SpinButtonImp*>(GetImpl())
|
| - ->EnableButton(bEnable, bUp);
|
| -}
|
| -FX_BOOL IFWL_SpinButton::IsButtonEnable(FX_BOOL bUp) {
|
| - return static_cast<CFWL_SpinButtonImp*>(GetImpl())->IsButtonEnable(bUp);
|
| + return new IFWL_SpinButton(properties, nullptr);
|
| }
|
|
|
| -CFWL_SpinButtonImp::CFWL_SpinButtonImp(
|
| - const CFWL_WidgetImpProperties& properties,
|
| - IFWL_Widget* pOuter)
|
| - : CFWL_WidgetImp(properties, pOuter),
|
| +IFWL_SpinButton::IFWL_SpinButton(const CFWL_WidgetImpProperties& properties,
|
| + IFWL_Widget* pOuter)
|
| + : IFWL_Widget(properties, pOuter),
|
| m_dwUpState(CFWL_PartState_Normal),
|
| m_dwDnState(CFWL_PartState_Normal),
|
| m_iButtonIndex(0),
|
| @@ -59,41 +44,42 @@ CFWL_SpinButtonImp::CFWL_SpinButtonImp(
|
| m_pProperties->m_dwStyleExes |= FWL_STYLEEXE_SPB_Vert;
|
| }
|
|
|
| -CFWL_SpinButtonImp::~CFWL_SpinButtonImp() {}
|
| +IFWL_SpinButton::~IFWL_SpinButton() {}
|
|
|
| -FWL_Error CFWL_SpinButtonImp::GetClassName(CFX_WideString& wsClass) const {
|
| +FWL_Error IFWL_SpinButton::GetClassName(CFX_WideString& wsClass) const {
|
| wsClass = FWL_CLASS_SpinButton;
|
| return FWL_Error::Succeeded;
|
| }
|
|
|
| -FWL_Type CFWL_SpinButtonImp::GetClassID() const {
|
| +FWL_Type IFWL_SpinButton::GetClassID() const {
|
| return FWL_Type::SpinButton;
|
| }
|
|
|
| -FWL_Error CFWL_SpinButtonImp::Initialize() {
|
| - if (CFWL_WidgetImp::Initialize() != FWL_Error::Succeeded)
|
| +FWL_Error IFWL_SpinButton::Initialize() {
|
| + if (IFWL_Widget::Initialize() != FWL_Error::Succeeded)
|
| return FWL_Error::Indefinite;
|
|
|
| m_pDelegate = new CFWL_SpinButtonImpDelegate(this);
|
| return FWL_Error::Succeeded;
|
| }
|
|
|
| -FWL_Error CFWL_SpinButtonImp::Finalize() {
|
| +FWL_Error IFWL_SpinButton::Finalize() {
|
| delete m_pDelegate;
|
| m_pDelegate = nullptr;
|
| - return CFWL_WidgetImp::Finalize();
|
| + return IFWL_Widget::Finalize();
|
| }
|
| -FWL_Error CFWL_SpinButtonImp::GetWidgetRect(CFX_RectF& rect,
|
| - FX_BOOL bAutoSize) {
|
| +
|
| +FWL_Error IFWL_SpinButton::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) {
|
| if (bAutoSize) {
|
| rect.Set(0, 0, kMinWidth, kMinHeight);
|
| - CFWL_WidgetImp::GetWidgetRect(rect, TRUE);
|
| + IFWL_Widget::GetWidgetRect(rect, TRUE);
|
| } else {
|
| rect = m_pProperties->m_rtWidget;
|
| }
|
| return FWL_Error::Succeeded;
|
| }
|
| -FWL_Error CFWL_SpinButtonImp::Update() {
|
| +
|
| +FWL_Error IFWL_SpinButton::Update() {
|
| if (IsLocked()) {
|
| return FWL_Error::Indefinite;
|
| }
|
| @@ -111,7 +97,8 @@ FWL_Error CFWL_SpinButtonImp::Update() {
|
| }
|
| return FWL_Error::Succeeded;
|
| }
|
| -FWL_WidgetHit CFWL_SpinButtonImp::HitTest(FX_FLOAT fx, FX_FLOAT fy) {
|
| +
|
| +FWL_WidgetHit IFWL_SpinButton::HitTest(FX_FLOAT fx, FX_FLOAT fy) {
|
| if (m_rtClient.Contains(fx, fy))
|
| return FWL_WidgetHit::Client;
|
| if (HasBorder() && (m_rtClient.Contains(fx, fy)))
|
| @@ -128,8 +115,9 @@ FWL_WidgetHit CFWL_SpinButtonImp::HitTest(FX_FLOAT fx, FX_FLOAT fy) {
|
| return FWL_WidgetHit::DownButton;
|
| return FWL_WidgetHit::Unknown;
|
| }
|
| -FWL_Error CFWL_SpinButtonImp::DrawWidget(CFX_Graphics* pGraphics,
|
| - const CFX_Matrix* pMatrix) {
|
| +
|
| +FWL_Error IFWL_SpinButton::DrawWidget(CFX_Graphics* pGraphics,
|
| + const CFX_Matrix* pMatrix) {
|
| if (!pGraphics)
|
| return FWL_Error::Indefinite;
|
| CFX_RectF rtClip(m_rtClient);
|
| @@ -148,17 +136,17 @@ FWL_Error CFWL_SpinButtonImp::DrawWidget(CFX_Graphics* pGraphics,
|
| return FWL_Error::Succeeded;
|
| }
|
|
|
| -void CFWL_SpinButtonImp::Run(IFWL_TimerInfo* pTimerInfo) {
|
| +void IFWL_SpinButton::Run(IFWL_TimerInfo* pTimerInfo) {
|
| if (!m_pTimerInfo)
|
| return;
|
|
|
| CFWL_EvtSpbClick wmPosChanged;
|
| - wmPosChanged.m_pSrcTarget = m_pInterface;
|
| + wmPosChanged.m_pSrcTarget = this;
|
| wmPosChanged.m_bUp = m_iButtonIndex == 0;
|
| DispatchEvent(&wmPosChanged);
|
| }
|
|
|
| -FWL_Error CFWL_SpinButtonImp::EnableButton(FX_BOOL bEnable, FX_BOOL bUp) {
|
| +FWL_Error IFWL_SpinButton::EnableButton(FX_BOOL bEnable, FX_BOOL bUp) {
|
| if (bUp) {
|
| if (bEnable) {
|
| m_dwUpState = CFWL_PartState_Normal;
|
| @@ -174,17 +162,19 @@ FWL_Error CFWL_SpinButtonImp::EnableButton(FX_BOOL bEnable, FX_BOOL bUp) {
|
| }
|
| return FWL_Error::Succeeded;
|
| }
|
| -FX_BOOL CFWL_SpinButtonImp::IsButtonEnable(FX_BOOL bUp) {
|
| +
|
| +FX_BOOL IFWL_SpinButton::IsButtonEnable(FX_BOOL bUp) {
|
| if (bUp) {
|
| return (m_dwUpState != CFWL_PartState_Disabled);
|
| }
|
| return (m_dwDnState != CFWL_PartState_Disabled);
|
| }
|
| -void CFWL_SpinButtonImp::DrawUpButton(CFX_Graphics* pGraphics,
|
| - IFWL_ThemeProvider* pTheme,
|
| - const CFX_Matrix* pMatrix) {
|
| +
|
| +void IFWL_SpinButton::DrawUpButton(CFX_Graphics* pGraphics,
|
| + IFWL_ThemeProvider* pTheme,
|
| + const CFX_Matrix* pMatrix) {
|
| CFWL_ThemeBackground params;
|
| - params.m_pWidget = m_pInterface;
|
| + params.m_pWidget = this;
|
| params.m_iPart = CFWL_Part::UpButton;
|
| params.m_pGraphics = pGraphics;
|
| params.m_dwStates = m_dwUpState + 1;
|
| @@ -194,11 +184,12 @@ void CFWL_SpinButtonImp::DrawUpButton(CFX_Graphics* pGraphics,
|
| params.m_rtPart = m_rtUpButton;
|
| pTheme->DrawBackground(¶ms);
|
| }
|
| -void CFWL_SpinButtonImp::DrawDownButton(CFX_Graphics* pGraphics,
|
| - IFWL_ThemeProvider* pTheme,
|
| - const CFX_Matrix* pMatrix) {
|
| +
|
| +void IFWL_SpinButton::DrawDownButton(CFX_Graphics* pGraphics,
|
| + IFWL_ThemeProvider* pTheme,
|
| + const CFX_Matrix* pMatrix) {
|
| CFWL_ThemeBackground params;
|
| - params.m_pWidget = m_pInterface;
|
| + params.m_pWidget = this;
|
| params.m_iPart = CFWL_Part::DownButton;
|
| params.m_pGraphics = pGraphics;
|
| params.m_dwStates = m_dwDnState + 1;
|
| @@ -209,8 +200,7 @@ void CFWL_SpinButtonImp::DrawDownButton(CFX_Graphics* pGraphics,
|
| pTheme->DrawBackground(¶ms);
|
| }
|
|
|
| -CFWL_SpinButtonImpDelegate::CFWL_SpinButtonImpDelegate(
|
| - CFWL_SpinButtonImp* pOwner)
|
| +CFWL_SpinButtonImpDelegate::CFWL_SpinButtonImpDelegate(IFWL_SpinButton* pOwner)
|
| : m_pOwner(pOwner) {}
|
|
|
| void CFWL_SpinButtonImpDelegate::OnProcessMessage(CFWL_Message* pMessage) {
|
| @@ -257,9 +247,7 @@ void CFWL_SpinButtonImpDelegate::OnProcessMessage(CFWL_Message* pMessage) {
|
| OnKeyDown(pKey);
|
| break;
|
| }
|
| - default: {
|
| - break;
|
| - }
|
| + default: { break; }
|
| }
|
| CFWL_WidgetImpDelegate::OnProcessMessage(pMessage);
|
| }
|
| @@ -280,6 +268,7 @@ void CFWL_SpinButtonImpDelegate::OnFocusChanged(CFWL_Message* pMsg,
|
| }
|
| m_pOwner->Repaint(&m_pOwner->m_rtClient);
|
| }
|
| +
|
| void CFWL_SpinButtonImpDelegate::OnLButtonDown(CFWL_MsgMouse* pMsg) {
|
| m_pOwner->m_bLButtonDwn = TRUE;
|
| m_pOwner->SetGrab(TRUE);
|
| @@ -302,7 +291,7 @@ void CFWL_SpinButtonImpDelegate::OnLButtonDown(CFWL_MsgMouse* pMsg) {
|
| m_pOwner->m_dwDnState = CFWL_PartState_Pressed;
|
| }
|
| CFWL_EvtSpbClick wmPosChanged;
|
| - wmPosChanged.m_pSrcTarget = m_pOwner->m_pInterface;
|
| + wmPosChanged.m_pSrcTarget = m_pOwner;
|
| wmPosChanged.m_bUp = bUpPress;
|
| m_pOwner->DispatchEvent(&wmPosChanged);
|
| m_pOwner->Repaint(bUpPress ? &m_pOwner->m_rtUpButton
|
| @@ -338,6 +327,7 @@ void CFWL_SpinButtonImpDelegate::OnLButtonUp(CFWL_MsgMouse* pMsg) {
|
| m_pOwner->Repaint(&rtInvalidate);
|
| }
|
| }
|
| +
|
| void CFWL_SpinButtonImpDelegate::OnMouseMove(CFWL_MsgMouse* pMsg) {
|
| if (!m_pOwner->m_pProperties->m_pDataProvider)
|
| return;
|
| @@ -407,6 +397,7 @@ void CFWL_SpinButtonImpDelegate::OnMouseMove(CFWL_MsgMouse* pMsg) {
|
| m_pOwner->Repaint(&rtInvlidate);
|
| }
|
| }
|
| +
|
| void CFWL_SpinButtonImpDelegate::OnMouseLeave(CFWL_MsgMouse* pMsg) {
|
| if (!pMsg)
|
| return;
|
| @@ -420,6 +411,7 @@ void CFWL_SpinButtonImpDelegate::OnMouseLeave(CFWL_MsgMouse* pMsg) {
|
| }
|
| m_pOwner->Repaint(&m_pOwner->m_rtClient);
|
| }
|
| +
|
| void CFWL_SpinButtonImpDelegate::OnKeyDown(CFWL_MsgKey* pMsg) {
|
| if (!m_pOwner->m_pProperties->m_pDataProvider)
|
| return;
|
| @@ -436,7 +428,7 @@ void CFWL_SpinButtonImpDelegate::OnKeyDown(CFWL_MsgKey* pMsg) {
|
| return;
|
| }
|
| CFWL_EvtSpbClick wmPosChanged;
|
| - wmPosChanged.m_pSrcTarget = m_pOwner->m_pInterface;
|
| + wmPosChanged.m_pSrcTarget = m_pOwner;
|
| wmPosChanged.m_bUp = bUpEnable;
|
| m_pOwner->DispatchEvent(&wmPosChanged);
|
| m_pOwner->Repaint(bUpEnable ? &m_pOwner->m_rtUpButton
|
|
|