diff options
Diffstat (limited to 'xfa/fwl')
-rw-r--r-- | xfa/fwl/basewidget/fwl_editimp.cpp | 2 | ||||
-rw-r--r-- | xfa/fwl/core/fwl_widgetimp.cpp | 39 | ||||
-rw-r--r-- | xfa/fwl/core/fwl_widgetimp.h | 3 | ||||
-rw-r--r-- | xfa/fwl/core/ifwl_widget.h | 2 | ||||
-rw-r--r-- | xfa/fwl/lightwidget/cfwl_widget.cpp | 13 | ||||
-rw-r--r-- | xfa/fwl/lightwidget/cfwl_widget.h | 3 |
6 files changed, 45 insertions, 17 deletions
diff --git a/xfa/fwl/basewidget/fwl_editimp.cpp b/xfa/fwl/basewidget/fwl_editimp.cpp index 15cdf031f1..6d0197eeb4 100644 --- a/xfa/fwl/basewidget/fwl_editimp.cpp +++ b/xfa/fwl/basewidget/fwl_editimp.cpp @@ -1637,7 +1637,7 @@ FX_BOOL FWL_ShowCaret(IFWL_Widget* pWidget, FX_BOOL bVisible, const CFX_RectF* pRtAnchor) { CXFA_FFWidget* pXFAWidget = - static_cast<CXFA_FFWidget*>(pWidget->GetPrivateData(pWidget)); + static_cast<CXFA_FFWidget*>(pWidget->GetLayoutItem()); if (!pXFAWidget) return FALSE; diff --git a/xfa/fwl/core/fwl_widgetimp.cpp b/xfa/fwl/core/fwl_widgetimp.cpp index c6070b28e7..38e3a1ff28 100644 --- a/xfa/fwl/core/fwl_widgetimp.cpp +++ b/xfa/fwl/core/fwl_widgetimp.cpp @@ -103,6 +103,14 @@ void IFWL_Widget::SetEventKey(uint32_t key) { GetImpl()->SetEventKey(key); } +void* IFWL_Widget::GetLayoutItem() const { + return GetImpl()->GetLayoutItem(); +} + +void IFWL_Widget::SetLayoutItem(void* pItem) { + GetImpl()->SetLayoutItem(pItem); +} + FWL_Error IFWL_Widget::SetPrivateData(void* module_id, void* pData, PD_CALLBACK_FREEDATA callback) { @@ -517,30 +525,35 @@ void CFWL_WidgetImp::SetEventKey(uint32_t key) { m_nEventKey = key; } +void* CFWL_WidgetImp::GetLayoutItem() const { + return m_pLayoutItem; +} + +void CFWL_WidgetImp::SetLayoutItem(void* pItem) { + m_pLayoutItem = pItem; +} + CFWL_WidgetImp::CFWL_WidgetImp(const CFWL_WidgetImpProperties& properties, IFWL_Widget* pOuter) : m_pProperties(new CFWL_WidgetImpProperties), - m_pPrivateData(NULL), - m_pDelegate(NULL), - m_pCurDelegate(NULL), + m_pPrivateData(nullptr), + m_pDelegate(nullptr), + m_pCurDelegate(nullptr), m_pOuter(pOuter), - m_pInterface(NULL), + m_pInterface(nullptr), + m_pLayoutItem(nullptr), m_iLock(0), m_nEventKey(0) { *m_pProperties = properties; m_pWidgetMgr = CFWL_WidgetMgr::GetInstance(); - ASSERT(m_pWidgetMgr != NULL); + ASSERT(m_pWidgetMgr); } + CFWL_WidgetImp::~CFWL_WidgetImp() { - if (m_pPrivateData) { - delete m_pPrivateData; - m_pPrivateData = NULL; - } - if (m_pProperties) { - delete m_pProperties; - m_pProperties = NULL; - } + delete m_pPrivateData; + delete m_pProperties; } + FX_BOOL CFWL_WidgetImp::IsEnabled() const { return (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled) == 0; } diff --git a/xfa/fwl/core/fwl_widgetimp.h b/xfa/fwl/core/fwl_widgetimp.h index 3fdef9786c..8a887126e3 100644 --- a/xfa/fwl/core/fwl_widgetimp.h +++ b/xfa/fwl/core/fwl_widgetimp.h @@ -80,6 +80,8 @@ class CFWL_WidgetImp { CFX_SizeF GetOffsetFromParent(IFWL_Widget* pParent); uint32_t GetEventKey() const; void SetEventKey(uint32_t key); + void* GetLayoutItem() const; + void SetLayoutItem(void* pItem); protected: friend class CFWL_WidgetImpDelegate; @@ -162,6 +164,7 @@ class CFWL_WidgetImp { IFWL_WidgetDelegate* m_pCurDelegate; IFWL_Widget* m_pOuter; IFWL_Widget* m_pInterface; + void* m_pLayoutItem; int32_t m_iLock; uint32_t m_nEventKey; }; diff --git a/xfa/fwl/core/ifwl_widget.h b/xfa/fwl/core/ifwl_widget.h index 1c469b276c..e9da806291 100644 --- a/xfa/fwl/core/ifwl_widget.h +++ b/xfa/fwl/core/ifwl_widget.h @@ -77,6 +77,8 @@ class IFWL_Widget { void SetStates(uint32_t dwStates, FX_BOOL bSet = TRUE); uint32_t GetEventKey() const; void SetEventKey(uint32_t key); + void* GetLayoutItem() const; + void SetLayoutItem(void* pItem); FWL_Error SetPrivateData(void* module_id, void* pData, PD_CALLBACK_FREEDATA callback); diff --git a/xfa/fwl/lightwidget/cfwl_widget.cpp b/xfa/fwl/lightwidget/cfwl_widget.cpp index 0258c27489..239796d03a 100644 --- a/xfa/fwl/lightwidget/cfwl_widget.cpp +++ b/xfa/fwl/lightwidget/cfwl_widget.cpp @@ -124,9 +124,7 @@ FWL_Error CFWL_Widget::ModifyStylesEx(uint32_t dwStylesExAdded, } uint32_t CFWL_Widget::GetStates() { - if (!m_pIface) - return 0; - return m_pIface->GetStates(); + return m_pIface ? m_pIface->GetStates() : 0; } void CFWL_Widget::SetStates(uint32_t dwStates, FX_BOOL bSet) { @@ -134,6 +132,15 @@ void CFWL_Widget::SetStates(uint32_t dwStates, FX_BOOL bSet) { m_pIface->SetStates(dwStates, bSet); } +void* CFWL_Widget::GetLayoutItem() const { + return m_pIface ? m_pIface->GetLayoutItem() : nullptr; +} + +void CFWL_Widget::SetLayoutItem(void* pItem) { + if (m_pIface) + m_pIface->SetLayoutItem(pItem); +} + FWL_Error CFWL_Widget::SetPrivateData(void* module_id, void* pData, PD_CALLBACK_FREEDATA callback) { diff --git a/xfa/fwl/lightwidget/cfwl_widget.h b/xfa/fwl/lightwidget/cfwl_widget.h index 1c29b1f58e..ea17627063 100644 --- a/xfa/fwl/lightwidget/cfwl_widget.h +++ b/xfa/fwl/lightwidget/cfwl_widget.h @@ -41,6 +41,9 @@ class CFWL_Widget { uint32_t dwStylesExRemoved); uint32_t GetStates(); void SetStates(uint32_t dwStates, FX_BOOL bSet = TRUE); + void* GetLayoutItem() const; + void SetLayoutItem(void* pItem); + FWL_Error SetPrivateData(void* module_id, void* pData, PD_CALLBACK_FREEDATA callback); |