diff options
Diffstat (limited to 'xfa/fwl/core/fwl_panelimp.cpp')
-rw-r--r-- | xfa/fwl/core/fwl_panelimp.cpp | 117 |
1 files changed, 2 insertions, 115 deletions
diff --git a/xfa/fwl/core/fwl_panelimp.cpp b/xfa/fwl/core/fwl_panelimp.cpp index a3e304b810..29ff60634f 100644 --- a/xfa/fwl/core/fwl_panelimp.cpp +++ b/xfa/fwl/core/fwl_panelimp.cpp @@ -11,31 +11,13 @@ #include "xfa/fwl/core/fwl_targetimp.h" #include "xfa/fwl/core/fwl_widgetimp.h" #include "xfa/fwl/core/fwl_widgetmgrimp.h" -#include "xfa/fwl/core/ifwl_content.h" -#include "xfa/fwl/core/ifwl_custompanel.h" #include "xfa/fwl/core/ifwl_panel.h" -#include "xfa/fwl/core/ifwl_proxy.h" -// static -IFWL_Panel* IFWL_Panel::Create(CFWL_WidgetImpProperties& properties, - IFWL_Widget* pOuter) { - IFWL_Panel* pPanel = new IFWL_Panel; - CFWL_PanelImp* pPanelImpl = new CFWL_PanelImp(properties, pOuter); - pPanel->SetImpl(pPanelImpl); - pPanelImpl->SetInterface(pPanel); - return pPanel; -} IFWL_Panel::IFWL_Panel() {} -IFWL_Content* IFWL_Panel::GetContent() { - return static_cast<CFWL_PanelImp*>(GetImpl())->GetContent(); -} -FWL_ERR IFWL_Panel::SetContent(IFWL_Content* pContent) { - return static_cast<CFWL_PanelImp*>(GetImpl())->SetContent(pContent); -} CFWL_PanelImp::CFWL_PanelImp(const CFWL_WidgetImpProperties& properties, IFWL_Widget* pOuter) - : CFWL_WidgetImp(properties, pOuter), m_pContent(nullptr) {} + : CFWL_WidgetImp(properties, pOuter) {} CFWL_PanelImp::~CFWL_PanelImp() {} FWL_ERR CFWL_PanelImp::GetClassName(CFX_WideString& wsClass) const { wsClass = FWL_CLASS_Panel; @@ -45,103 +27,8 @@ uint32_t CFWL_PanelImp::GetClassID() const { return FWL_CLASSHASH_Panel; } FWL_ERR CFWL_PanelImp::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) { - if (bAutoSize) { - if (m_pContent) { - m_pContent->GetWidgetRect(rect, TRUE); - } - } else { + if (!bAutoSize) rect = m_pProperties->m_rtWidget; - } - return FWL_ERR_Succeeded; -} -FWL_ERR CFWL_PanelImp::Update() { - if (m_pContent) { - CFX_RectF rtClient; - GetClientRect(rtClient); - IFWL_WidgetMgr* pWidgetMgr = FWL_GetWidgetMgr(); - if (!pWidgetMgr) - return FWL_ERR_Indefinite; - m_pContent->SetWidgetRect(rtClient); - m_pContent->Update(); - } return FWL_ERR_Succeeded; } -IFWL_Content* CFWL_PanelImp::GetContent() { - return m_pContent; -} -FWL_ERR CFWL_PanelImp::SetContent(IFWL_Content* pContent) { - if (!pContent) - return FWL_ERR_Indefinite; - m_pContent = pContent; - return pContent->SetParent(m_pInterface); -} -class CFWL_CustomPanelImp : public CFWL_WidgetImp { - public: - CFWL_CustomPanelImp(const CFWL_WidgetImpProperties& properties, - IFWL_Widget* pOuter); - virtual ~CFWL_CustomPanelImp(); - virtual FWL_ERR GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize = FALSE); - virtual FWL_ERR Update(); - virtual IFWL_Content* GetContent(); - virtual FWL_ERR SetContent(IFWL_Content* pContent); - FWL_ERR SetProxy(IFWL_Proxy* pProxy); - - protected: - IFWL_Content* m_pContent; - IFWL_Proxy* m_pProxy; -}; -CFWL_CustomPanelImp::CFWL_CustomPanelImp( - const CFWL_WidgetImpProperties& properties, - IFWL_Widget* pOuter) - : CFWL_WidgetImp(properties, pOuter), - m_pContent(nullptr), - m_pProxy(nullptr) {} -CFWL_CustomPanelImp::~CFWL_CustomPanelImp() {} -FWL_ERR CFWL_CustomPanelImp::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) { - if (bAutoSize && m_pProxy && - (m_pProxy->GetWidgetRect(rect, bAutoSize) == FWL_ERR_Succeeded)) { - return FWL_ERR_Succeeded; - } - return CFWL_WidgetImp::GetWidgetRect(rect, bAutoSize); -} -FWL_ERR CFWL_CustomPanelImp::Update() { - if (m_pProxy) { - return m_pProxy->Update(); - } - return CFWL_WidgetImp::Update(); -} -IFWL_Content* CFWL_CustomPanelImp::GetContent() { - return m_pContent; -} -FWL_ERR CFWL_CustomPanelImp::SetContent(IFWL_Content* pContent) { - if (!pContent) - return FWL_ERR_Indefinite; - m_pContent = pContent; - return pContent->SetParent(m_pInterface); -} -FWL_ERR CFWL_CustomPanelImp::SetProxy(IFWL_Proxy* pProxy) { - m_pProxy = pProxy; - return FWL_ERR_Succeeded; -} - -// statuc -IFWL_CustomPanel* IFWL_CustomPanel::Create(CFWL_WidgetImpProperties& properties, - IFWL_Widget* pOuter) { - IFWL_CustomPanel* pCustomPanel = new IFWL_CustomPanel; - CFWL_CustomPanelImp* pCustomPanelImpl = - new CFWL_CustomPanelImp(properties, pOuter); - pCustomPanel->SetImpl(pCustomPanelImpl); - pCustomPanelImpl->SetInterface(pCustomPanel); - return pCustomPanel; -} -IFWL_CustomPanel::IFWL_CustomPanel() {} -IFWL_Content* IFWL_CustomPanel::GetContent() { - return static_cast<CFWL_CustomPanelImp*>(GetImpl())->GetContent(); -} -FWL_ERR IFWL_CustomPanel::SetContent(IFWL_Content* pContent) { - return static_cast<CFWL_CustomPanelImp*>(GetImpl())->SetContent(pContent); -} -FWL_ERR IFWL_CustomPanel::SetProxy(IFWL_Proxy* pProxy) { - return static_cast<CFWL_CustomPanelImp*>(GetImpl())->SetProxy(pProxy); -} |