Index: xfa/fwl/core/ifwl_tooltip.cpp |
diff --git a/xfa/fwl/core/ifwl_tooltip.cpp b/xfa/fwl/core/ifwl_tooltip.cpp |
index a9b9085010d26bfd0676893ba9a5ae1bf25bebcf..815670ed75aede3737bf3e1e9b22f7b9be6e26b9 100644 |
--- a/xfa/fwl/core/ifwl_tooltip.cpp |
+++ b/xfa/fwl/core/ifwl_tooltip.cpp |
@@ -15,35 +15,31 @@ |
#include "xfa/fwl/core/ifwl_tooltip.h" |
#include "xfa/fwl/theme/cfwl_widgettp.h" |
-IFWL_ToolTip::IFWL_ToolTip(const CFWL_WidgetImpProperties& properties, |
+IFWL_ToolTip::IFWL_ToolTip(const IFWL_App* app, |
+ const CFWL_WidgetImpProperties& properties, |
IFWL_Widget* pOuter) |
- : IFWL_Form(properties, pOuter), |
+ : IFWL_Form(app, properties, pOuter), |
m_bBtnDown(FALSE), |
m_dwTTOStyles(FDE_TTOSTYLE_SingleLine), |
m_iTTOAlign(FDE_TTOALIGNMENT_Center), |
m_pTimerInfoShow(nullptr), |
- m_pTimerInfoHide(nullptr) { |
+ m_pTimerInfoHide(nullptr), |
+ m_TimerShow(this), |
+ m_TimerHide(this) { |
m_rtClient.Set(0, 0, 0, 0); |
m_rtCaption.Set(0, 0, 0, 0); |
m_rtAnchor.Set(0, 0, 0, 0); |
- m_TimerShow.m_pToolTip = this; |
- m_TimerHide.m_pToolTip = this; |
} |
IFWL_ToolTip::~IFWL_ToolTip() {} |
-FWL_Type IFWL_ToolTip::GetClassID() const { |
- return FWL_Type::ToolTip; |
-} |
+void IFWL_ToolTip::Initialize() { |
+ IFWL_Widget::Initialize(); |
-FWL_Error IFWL_ToolTip::Initialize() { |
m_pProperties->m_dwStyles |= FWL_WGTSTYLE_Popup; |
m_pProperties->m_dwStyles &= ~FWL_WGTSTYLE_Child; |
- if (IFWL_Widget::Initialize() != FWL_Error::Succeeded) |
- return FWL_Error::Indefinite; |
m_pDelegate = new CFWL_ToolTipImpDelegate(this); |
- return FWL_Error::Succeeded; |
} |
void IFWL_ToolTip::Finalize() { |
@@ -52,6 +48,10 @@ void IFWL_ToolTip::Finalize() { |
IFWL_Widget::Finalize(); |
} |
+FWL_Type IFWL_ToolTip::GetClassID() const { |
+ return FWL_Type::ToolTip; |
+} |
+ |
FWL_Error IFWL_ToolTip::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) { |
if (bAutoSize) { |
rect.Set(0, 0, 0, 0); |
@@ -238,25 +238,24 @@ void IFWL_ToolTip::RefreshToolTipPos() { |
} |
} |
-IFWL_ToolTip::CFWL_ToolTipTimer::CFWL_ToolTipTimer(IFWL_ToolTip* pToolTip) |
- : m_pToolTip(pToolTip) {} |
+IFWL_ToolTip::Timer::Timer(IFWL_ToolTip* pToolTip) : IFWL_Timer(pToolTip) {} |
+ |
+void IFWL_ToolTip::Timer::Run(IFWL_TimerInfo* pTimerInfo) { |
+ IFWL_ToolTip* pToolTip = static_cast<IFWL_ToolTip*>(m_pWidget); |
-void IFWL_ToolTip::CFWL_ToolTipTimer::Run(IFWL_TimerInfo* pTimerInfo) { |
- if (m_pToolTip->m_pTimerInfoShow == pTimerInfo && |
- m_pToolTip->m_pTimerInfoShow) { |
- if (m_pToolTip->GetStates() & FWL_WGTSTATE_Invisible) { |
- m_pToolTip->SetStates(FWL_WGTSTATE_Invisible, FALSE); |
- m_pToolTip->RefreshToolTipPos(); |
- m_pToolTip->m_pTimerInfoShow->StopTimer(); |
- m_pToolTip->m_pTimerInfoShow = nullptr; |
+ if (pToolTip->m_pTimerInfoShow == pTimerInfo && pToolTip->m_pTimerInfoShow) { |
+ if (pToolTip->GetStates() & FWL_WGTSTATE_Invisible) { |
+ pToolTip->SetStates(FWL_WGTSTATE_Invisible, FALSE); |
+ pToolTip->RefreshToolTipPos(); |
+ pToolTip->m_pTimerInfoShow->StopTimer(); |
+ pToolTip->m_pTimerInfoShow = nullptr; |
return; |
} |
} |
- if (m_pToolTip->m_pTimerInfoHide == pTimerInfo && |
- m_pToolTip->m_pTimerInfoHide) { |
- m_pToolTip->SetStates(FWL_WGTSTATE_Invisible, TRUE); |
- m_pToolTip->m_pTimerInfoHide->StopTimer(); |
- m_pToolTip->m_pTimerInfoHide = nullptr; |
+ if (pToolTip->m_pTimerInfoHide == pTimerInfo && pToolTip->m_pTimerInfoHide) { |
+ pToolTip->SetStates(FWL_WGTSTATE_Invisible, TRUE); |
+ pToolTip->m_pTimerInfoHide->StopTimer(); |
+ pToolTip->m_pTimerInfoHide = nullptr; |
} |
} |