Chromium Code Reviews| Index: xfa/fwl/core/fwl_widgetimp.cpp |
| diff --git a/xfa/fwl/core/fwl_widgetimp.cpp b/xfa/fwl/core/fwl_widgetimp.cpp |
| index f6be8cac5edae234063370dd1c4745659564ece5..78b32c65500d756120e58a42787d68aefe468433 100644 |
| --- a/xfa/fwl/core/fwl_widgetimp.cpp |
| +++ b/xfa/fwl/core/fwl_widgetimp.cpp |
| @@ -17,8 +17,6 @@ |
| #include "xfa/fwl/core/cfwl_themetext.h" |
| #include "xfa/fwl/core/fwl_appimp.h" |
| #include "xfa/fwl/core/fwl_noteimp.h" |
| -#include "xfa/fwl/core/fwl_targetimp.h" |
| -#include "xfa/fwl/core/fwl_threadimp.h" |
| #include "xfa/fwl/core/fwl_widgetmgrimp.h" |
| #include "xfa/fwl/core/ifwl_adapternative.h" |
| #include "xfa/fwl/core/ifwl_adapterthreadmgr.h" |
| @@ -30,6 +28,30 @@ |
| #define FWL_CLASSHASH_Menu 3957949655 |
| #define FWL_STYLEEXT_MNU_Vert (1L << 0) |
| +IFWL_Widget::~IFWL_Widget() { |
| + delete m_pImpl; |
|
Tom Sepez
2016/04/27 20:23:34
nit: unique_ptr
dsinclair
2016/04/27 20:58:55
Done.
|
| +} |
| + |
| +FWL_ERR IFWL_Widget::GetClassName(CFX_WideString& wsClass) const { |
| + return m_pImpl->GetClassName(wsClass); |
| +} |
| + |
| +uint32_t IFWL_Widget::GetClassID() const { |
| + return m_pImpl->GetClassID(); |
| +} |
| + |
| +FX_BOOL IFWL_Widget::IsInstance(const CFX_WideStringC& wsClass) const { |
| + return m_pImpl->IsInstance(wsClass); |
| +} |
| + |
| +FWL_ERR IFWL_Widget::Initialize() { |
| + return m_pImpl->Initialize(); |
| +} |
| + |
| +FWL_ERR IFWL_Widget::Finalize() { |
| + return m_pImpl->Finalize(); |
| +} |
| + |
| FWL_ERR IFWL_Widget::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) { |
| return static_cast<CFWL_WidgetImp*>(GetImpl()) |
| ->GetWidgetRect(rect, bAutoSize); |
| @@ -134,12 +156,13 @@ FWL_ERR IFWL_Widget::SetDataProvider(IFWL_DataProvider* pDataProvider) { |
| IFWL_WidgetDelegate* IFWL_Widget::SetDelegate(IFWL_WidgetDelegate* pDelegate) { |
| return static_cast<CFWL_WidgetImp*>(GetImpl())->SetDelegate(pDelegate); |
| } |
| -IFWL_Thread* IFWL_Widget::GetOwnerThread() const { |
| +IFWL_App* IFWL_Widget::GetOwnerThread() const { |
| return static_cast<CFWL_WidgetImp*>(GetImpl())->GetOwnerThread(); |
| } |
| CFX_SizeF IFWL_Widget::GetOffsetFromParent(IFWL_Widget* pParent) { |
| return static_cast<CFWL_WidgetImp*>(GetImpl())->GetOffsetFromParent(pParent); |
| } |
| + |
| FWL_ERR CFWL_WidgetImp::Initialize() { |
| IFWL_App* pApp = FWL_GetApp(); |
| if (!pApp) |
| @@ -150,8 +173,8 @@ FWL_ERR CFWL_WidgetImp::Initialize() { |
| IFWL_AdapterThreadMgr* pAdapterThread = pAdapter->GetThreadMgr(); |
| if (!pAdapterThread) |
| return FWL_ERR_Indefinite; |
| - SetOwnerThread(static_cast<CFWL_ThreadImp*>( |
| - pAdapterThread->GetCurrentThread()->GetImpl())); |
| + SetOwnerThread( |
| + static_cast<CFWL_AppImp*>(pAdapterThread->GetCurrentThread()->GetImpl())); |
| IFWL_Widget* pParent = m_pProperties->m_pParent; |
| m_pWidgetMgr->InsertWidget(pParent, m_pInterface); |
| if (!IsChild()) { |
| @@ -165,6 +188,7 @@ FWL_ERR CFWL_WidgetImp::Initialize() { |
| } |
| return FWL_ERR_Succeeded; |
| } |
| + |
| FWL_ERR CFWL_WidgetImp::Finalize() { |
| NotifyDriver(); |
| if (!IsChild()) |
| @@ -173,6 +197,20 @@ FWL_ERR CFWL_WidgetImp::Finalize() { |
| m_pWidgetMgr->RemoveWidget(m_pInterface); |
| return FWL_ERR_Succeeded; |
| } |
| + |
| +FWL_ERR CFWL_WidgetImp::GetClassName(CFX_WideString& wsClass) const { |
| + wsClass.clear(); |
| + return FWL_ERR_Succeeded; |
| +} |
| + |
| +uint32_t CFWL_WidgetImp::GetClassID() const { |
| + return 0; |
| +} |
| + |
| +FX_BOOL CFWL_WidgetImp::IsInstance(const CFX_WideStringC& wsClass) const { |
| + return FALSE; |
| +} |
| + |
| FWL_ERR CFWL_WidgetImp::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) { |
| if (bAutoSize) { |
| if (HasEdge()) { |
| @@ -497,10 +535,10 @@ IFWL_WidgetDelegate* CFWL_WidgetImp::SetDelegate( |
| m_pCurDelegate = pDelegate; |
| return pOldDelegate; |
| } |
| -IFWL_Thread* CFWL_WidgetImp::GetOwnerThread() const { |
| - return static_cast<IFWL_Thread*>(m_pOwnerThread->GetInterface()); |
| +IFWL_App* CFWL_WidgetImp::GetOwnerThread() const { |
| + return static_cast<IFWL_App*>(m_pOwnerThread->GetInterface()); |
| } |
| -FWL_ERR CFWL_WidgetImp::SetOwnerThread(CFWL_ThreadImp* pOwnerThread) { |
| +FWL_ERR CFWL_WidgetImp::SetOwnerThread(CFWL_AppImp* pOwnerThread) { |
| m_pOwnerThread = pOwnerThread; |
| return FWL_ERR_Succeeded; |
| } |
| @@ -682,7 +720,7 @@ void CFWL_WidgetImp::CalcTextRect(const CFX_WideString& wsText, |
| void CFWL_WidgetImp::SetFocus(FX_BOOL bFocus) { |
| if (m_pWidgetMgr->IsFormDisabled()) |
| return; |
| - IFWL_Thread* pThread = GetOwnerThread(); |
| + IFWL_App* pThread = GetOwnerThread(); |
| if (!pThread) |
| return; |
| CFWL_NoteDriver* pDriver = |
| @@ -697,7 +735,7 @@ void CFWL_WidgetImp::SetFocus(FX_BOOL bFocus) { |
| } |
| } |
| void CFWL_WidgetImp::SetGrab(FX_BOOL bSet) { |
| - IFWL_Thread* pThread = GetOwnerThread(); |
| + IFWL_App* pThread = GetOwnerThread(); |
| if (!pThread) |
| return; |
| CFWL_NoteDriver* pDriver = |
| @@ -813,19 +851,19 @@ FX_BOOL CFWL_WidgetImp::GetScreenSize(FX_FLOAT& fx, FX_FLOAT& fy) { |
| } |
| void CFWL_WidgetImp::RegisterEventTarget(IFWL_Widget* pEventSource, |
| uint32_t dwFilter) { |
| - IFWL_Thread* pThread = GetOwnerThread(); |
| + IFWL_App* pThread = GetOwnerThread(); |
| if (!pThread) |
| return; |
| - IFWL_NoteDriver* pNoteDriver = pThread->GetNoteDriver(); |
| + CFWL_NoteDriver* pNoteDriver = pThread->GetNoteDriver(); |
| if (!pNoteDriver) |
| return; |
| pNoteDriver->RegisterEventTarget(m_pInterface, pEventSource, dwFilter); |
| } |
| void CFWL_WidgetImp::UnregisterEventTarget() { |
| - IFWL_Thread* pThread = GetOwnerThread(); |
| + IFWL_App* pThread = GetOwnerThread(); |
| if (!pThread) |
| return; |
| - IFWL_NoteDriver* pNoteDriver = pThread->GetNoteDriver(); |
| + CFWL_NoteDriver* pNoteDriver = pThread->GetNoteDriver(); |
| if (!pNoteDriver) |
| return; |
| pNoteDriver->UnregisterEventTarget(m_pInterface); |
| @@ -847,10 +885,10 @@ void CFWL_WidgetImp::DispatchEvent(CFWL_Event* pEvent) { |
| pDelegate->OnProcessEvent(pEvent); |
| return; |
| } |
| - IFWL_Thread* pThread = GetOwnerThread(); |
| + IFWL_App* pThread = GetOwnerThread(); |
| if (!pThread) |
| return; |
| - IFWL_NoteDriver* pNoteDriver = pThread->GetNoteDriver(); |
| + CFWL_NoteDriver* pNoteDriver = pThread->GetNoteDriver(); |
| if (!pNoteDriver) |
| return; |
| pNoteDriver->SendEvent(pEvent); |
| @@ -914,7 +952,7 @@ void CFWL_WidgetImp::DrawEdge(CFX_Graphics* pGraphics, |
| pTheme->DrawBackground(¶m); |
| } |
| void CFWL_WidgetImp::NotifyDriver() { |
| - IFWL_Thread* pThread = GetOwnerThread(); |
| + IFWL_App* pThread = GetOwnerThread(); |
| if (!pThread) |
| return; |
| CFWL_NoteDriver* pDriver = |