diff options
author | dsinclair <dsinclair@chromium.org> | 2016-11-23 10:49:33 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-11-23 10:49:33 -0800 |
commit | 7c47e1d3172ce6f625b93be50aac2ebf86a45d0c (patch) | |
tree | bb7beae7637635cd0c631f015411a63fd2892486 | |
parent | 7172b71a005c181e9f103ac0e19f6675bf3bc8e8 (diff) | |
download | pdfium-chromium/2931.tar.xz |
Remove DataProvider from CFWL_WidgetPropertieschromium/2931chromium/2930
This CL removes the generic DataProvider code from CFWL_WidgetProperties and
adds the specific providers to the two classes that require them.
Review-Url: https://codereview.chromium.org/2527683002
25 files changed, 59 insertions, 86 deletions
diff --git a/xfa/fwl/core/cfwl_barcode.cpp b/xfa/fwl/core/cfwl_barcode.cpp index 97249c92cf..49e417ea9c 100644 --- a/xfa/fwl/core/cfwl_barcode.cpp +++ b/xfa/fwl/core/cfwl_barcode.cpp @@ -7,6 +7,7 @@ #include "xfa/fwl/core/cfwl_barcode.h" #include <memory> +#include <utility> #include "third_party/base/ptr_util.h" @@ -26,8 +27,10 @@ CFWL_Barcode::~CFWL_Barcode() {} void CFWL_Barcode::Initialize() { ASSERT(!m_pIface); - m_pIface = pdfium::MakeUnique<IFWL_Barcode>( - m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>(this)); + auto iface = pdfium::MakeUnique<IFWL_Barcode>( + m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>()); + iface->SetDataProvider(this); + m_pIface = std::move(iface); CFWL_Widget::Initialize(); } diff --git a/xfa/fwl/core/cfwl_checkbox.cpp b/xfa/fwl/core/cfwl_checkbox.cpp index 0e757c326a..5053d2f934 100644 --- a/xfa/fwl/core/cfwl_checkbox.cpp +++ b/xfa/fwl/core/cfwl_checkbox.cpp @@ -7,6 +7,7 @@ #include "xfa/fwl/core/cfwl_checkbox.h" #include <memory> +#include <utility> #include "third_party/base/ptr_util.h" #include "xfa/fwl/core/fwl_error.h" @@ -19,8 +20,10 @@ CFWL_CheckBox::~CFWL_CheckBox() {} void CFWL_CheckBox::Initialize() { ASSERT(!m_pIface); - m_pIface = pdfium::MakeUnique<IFWL_CheckBox>( - m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>(this)); + auto iface = pdfium::MakeUnique<IFWL_CheckBox>( + m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>()); + iface->SetDataProvider(this); + m_pIface = std::move(iface); CFWL_Widget::Initialize(); } diff --git a/xfa/fwl/core/cfwl_combobox.cpp b/xfa/fwl/core/cfwl_combobox.cpp index 7eb04b5118..532f49fdd2 100644 --- a/xfa/fwl/core/cfwl_combobox.cpp +++ b/xfa/fwl/core/cfwl_combobox.cpp @@ -29,7 +29,7 @@ void CFWL_ComboBox::Initialize() { ASSERT(!m_pIface); m_pIface = pdfium::MakeUnique<IFWL_ComboBox>( - m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>(this)); + m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>()); CFWL_Widget::Initialize(); } diff --git a/xfa/fwl/core/cfwl_combobox.h b/xfa/fwl/core/cfwl_combobox.h index a670ef22cb..7b6f43419b 100644 --- a/xfa/fwl/core/cfwl_combobox.h +++ b/xfa/fwl/core/cfwl_combobox.h @@ -13,7 +13,7 @@ #include "xfa/fwl/core/cfwl_widget.h" #include "xfa/fwl/core/ifwl_combobox.h" -class CFWL_ComboBox : public CFWL_Widget, public IFWL_Widget::DataProvider { +class CFWL_ComboBox : public CFWL_Widget { public: explicit CFWL_ComboBox(const CFWL_App* pApp); ~CFWL_ComboBox() override; diff --git a/xfa/fwl/core/cfwl_datetimepicker.cpp b/xfa/fwl/core/cfwl_datetimepicker.cpp index a1d628d692..98aae94fc3 100644 --- a/xfa/fwl/core/cfwl_datetimepicker.cpp +++ b/xfa/fwl/core/cfwl_datetimepicker.cpp @@ -30,7 +30,7 @@ void CFWL_DateTimePicker::Initialize() { ASSERT(!m_pIface); m_pIface = pdfium::MakeUnique<IFWL_DateTimePicker>( - m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>(this)); + m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>()); CFWL_Widget::Initialize(); } diff --git a/xfa/fwl/core/cfwl_datetimepicker.h b/xfa/fwl/core/cfwl_datetimepicker.h index 67d0ff1163..08e092e12a 100644 --- a/xfa/fwl/core/cfwl_datetimepicker.h +++ b/xfa/fwl/core/cfwl_datetimepicker.h @@ -10,8 +10,7 @@ #include "xfa/fwl/core/cfwl_widget.h" #include "xfa/fwl/core/ifwl_datetimepicker.h" -class CFWL_DateTimePicker : public CFWL_Widget, - public IFWL_Widget::DataProvider { +class CFWL_DateTimePicker : public CFWL_Widget { public: explicit CFWL_DateTimePicker(const CFWL_App* pApp); ~CFWL_DateTimePicker() override; diff --git a/xfa/fwl/core/cfwl_listbox.cpp b/xfa/fwl/core/cfwl_listbox.cpp index bf7798978a..784bf24de8 100644 --- a/xfa/fwl/core/cfwl_listbox.cpp +++ b/xfa/fwl/core/cfwl_listbox.cpp @@ -29,7 +29,7 @@ void CFWL_ListBox::Initialize() { ASSERT(!m_pIface); m_pIface = pdfium::MakeUnique<IFWL_ListBox>( - m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>(this), nullptr); + m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>(), nullptr); CFWL_Widget::Initialize(); } diff --git a/xfa/fwl/core/cfwl_listbox.h b/xfa/fwl/core/cfwl_listbox.h index 941cbfb408..36d13bd2ce 100644 --- a/xfa/fwl/core/cfwl_listbox.h +++ b/xfa/fwl/core/cfwl_listbox.h @@ -10,12 +10,11 @@ #include <memory> #include <vector> +#include "xfa/fwl/core/cfwl_listitem.h" #include "xfa/fwl/core/cfwl_widget.h" #include "xfa/fwl/core/fwl_error.h" -#include "xfa/fwl/core/ifwl_listbox.h" -#include "xfa/fwl/core/ifwl_widget.h" -class CFWL_ListBox : public CFWL_Widget, public IFWL_ListBox::DataProvider { +class CFWL_ListBox : public CFWL_Widget { public: explicit CFWL_ListBox(const CFWL_App* pApp); ~CFWL_ListBox() override; diff --git a/xfa/fwl/core/cfwl_picturebox.cpp b/xfa/fwl/core/cfwl_picturebox.cpp index c1a331a89f..af0cb86514 100644 --- a/xfa/fwl/core/cfwl_picturebox.cpp +++ b/xfa/fwl/core/cfwl_picturebox.cpp @@ -18,7 +18,7 @@ void CFWL_PictureBox::Initialize() { ASSERT(!m_pIface); m_pIface = pdfium::MakeUnique<IFWL_PictureBox>( - m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>(this)); + m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>()); CFWL_Widget::Initialize(); } diff --git a/xfa/fwl/core/cfwl_picturebox.h b/xfa/fwl/core/cfwl_picturebox.h index e23a6ab2da..a7b3f1ff9d 100644 --- a/xfa/fwl/core/cfwl_picturebox.h +++ b/xfa/fwl/core/cfwl_picturebox.h @@ -9,9 +9,8 @@ #include "xfa/fwl/core/cfwl_widget.h" #include "xfa/fwl/core/ifwl_picturebox.h" -#include "xfa/fwl/core/ifwl_widget.h" -class CFWL_PictureBox : public CFWL_Widget, public IFWL_Widget::DataProvider { +class CFWL_PictureBox : public CFWL_Widget { public: explicit CFWL_PictureBox(const CFWL_App* pApp); ~CFWL_PictureBox() override; diff --git a/xfa/fwl/core/cfwl_pushbutton.cpp b/xfa/fwl/core/cfwl_pushbutton.cpp index 33c669822a..5fddff0c64 100644 --- a/xfa/fwl/core/cfwl_pushbutton.cpp +++ b/xfa/fwl/core/cfwl_pushbutton.cpp @@ -18,7 +18,7 @@ void CFWL_PushButton::Initialize() { ASSERT(!m_pIface); m_pIface = pdfium::MakeUnique<IFWL_PushButton>( - m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>(this)); + m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>()); CFWL_Widget::Initialize(); } diff --git a/xfa/fwl/core/cfwl_pushbutton.h b/xfa/fwl/core/cfwl_pushbutton.h index be8c5ebc43..66fa406fe9 100644 --- a/xfa/fwl/core/cfwl_pushbutton.h +++ b/xfa/fwl/core/cfwl_pushbutton.h @@ -9,9 +9,8 @@ #include "xfa/fwl/core/cfwl_widget.h" #include "xfa/fwl/core/ifwl_pushbutton.h" -#include "xfa/fwl/core/ifwl_widget.h" -class CFWL_PushButton : public CFWL_Widget, public IFWL_Widget::DataProvider { +class CFWL_PushButton : public CFWL_Widget { public: explicit CFWL_PushButton(const CFWL_App*); ~CFWL_PushButton() override; diff --git a/xfa/fwl/core/cfwl_widgetproperties.cpp b/xfa/fwl/core/cfwl_widgetproperties.cpp index 409b7f5211..6e0330012c 100644 --- a/xfa/fwl/core/cfwl_widgetproperties.cpp +++ b/xfa/fwl/core/cfwl_widgetproperties.cpp @@ -7,15 +7,10 @@ #include "xfa/fwl/core/cfwl_widgetproperties.h" CFWL_WidgetProperties::CFWL_WidgetProperties() - : CFWL_WidgetProperties(nullptr) {} - -CFWL_WidgetProperties::CFWL_WidgetProperties( - IFWL_Widget::DataProvider* dataProvider) : m_dwStyles(FWL_WGTSTYLE_Child), m_dwStyleExes(0), m_dwStates(0), m_pThemeProvider(nullptr), - m_pDataProvider(dataProvider), m_pParent(nullptr), m_pOwner(nullptr) { m_rtWidget.Set(0, 0, 0, 0); diff --git a/xfa/fwl/core/cfwl_widgetproperties.h b/xfa/fwl/core/cfwl_widgetproperties.h index 5b2a602c6d..c8746f57d8 100644 --- a/xfa/fwl/core/cfwl_widgetproperties.h +++ b/xfa/fwl/core/cfwl_widgetproperties.h @@ -18,7 +18,6 @@ class IFWL_Widget; class CFWL_WidgetProperties { public: CFWL_WidgetProperties(); - explicit CFWL_WidgetProperties(IFWL_Widget::DataProvider* dataProvider); ~CFWL_WidgetProperties(); CFX_RectF m_rtWidget; @@ -26,7 +25,6 @@ class CFWL_WidgetProperties { uint32_t m_dwStyleExes; uint32_t m_dwStates; IFWL_ThemeProvider* m_pThemeProvider; - IFWL_Widget::DataProvider* m_pDataProvider; IFWL_Widget* m_pParent; IFWL_Widget* m_pOwner; }; diff --git a/xfa/fwl/core/ifwl_barcode.cpp b/xfa/fwl/core/ifwl_barcode.cpp index d5ab17f66b..b4cd13a6c1 100644 --- a/xfa/fwl/core/ifwl_barcode.cpp +++ b/xfa/fwl/core/ifwl_barcode.cpp @@ -66,10 +66,6 @@ void IFWL_Barcode::GenerateBarcodeImageCache() { m_dwStatus = 0; CreateBarcodeEngine(); - IFWL_Barcode::DataProvider* pData = - static_cast<IFWL_Barcode::DataProvider*>(m_pProperties->m_pDataProvider); - if (!pData) - return; if (!m_pBarcodeEngine) return; @@ -98,33 +94,35 @@ void IFWL_Barcode::GenerateBarcodeImageCache() { m_pBarcodeEngine->SetHeight(int32_t(GetRTClient().height)); m_pBarcodeEngine->SetWidth(int32_t(GetRTClient().width)); - uint32_t dwAttributeMask = pData->GetBarcodeAttributeMask(); + uint32_t dwAttributeMask = m_pDataProvider->GetBarcodeAttributeMask(); if (dwAttributeMask & FWL_BCDATTRIBUTE_CHARENCODING) - m_pBarcodeEngine->SetCharEncoding(pData->GetCharEncoding()); + m_pBarcodeEngine->SetCharEncoding(m_pDataProvider->GetCharEncoding()); if (dwAttributeMask & FWL_BCDATTRIBUTE_MODULEHEIGHT) - m_pBarcodeEngine->SetModuleHeight(pData->GetModuleHeight()); + m_pBarcodeEngine->SetModuleHeight(m_pDataProvider->GetModuleHeight()); if (dwAttributeMask & FWL_BCDATTRIBUTE_MODULEWIDTH) - m_pBarcodeEngine->SetModuleWidth(pData->GetModuleWidth()); + m_pBarcodeEngine->SetModuleWidth(m_pDataProvider->GetModuleWidth()); if (dwAttributeMask & FWL_BCDATTRIBUTE_DATALENGTH) - m_pBarcodeEngine->SetDataLength(pData->GetDataLength()); + m_pBarcodeEngine->SetDataLength(m_pDataProvider->GetDataLength()); if (dwAttributeMask & FWL_BCDATTRIBUTE_CALCHECKSUM) - m_pBarcodeEngine->SetCalChecksum(pData->GetCalChecksum()); + m_pBarcodeEngine->SetCalChecksum(m_pDataProvider->GetCalChecksum()); if (dwAttributeMask & FWL_BCDATTRIBUTE_PRINTCHECKSUM) - m_pBarcodeEngine->SetPrintChecksum(pData->GetPrintChecksum()); + m_pBarcodeEngine->SetPrintChecksum(m_pDataProvider->GetPrintChecksum()); if (dwAttributeMask & FWL_BCDATTRIBUTE_TEXTLOCATION) - m_pBarcodeEngine->SetTextLocation(pData->GetTextLocation()); + m_pBarcodeEngine->SetTextLocation(m_pDataProvider->GetTextLocation()); if (dwAttributeMask & FWL_BCDATTRIBUTE_WIDENARROWRATIO) - m_pBarcodeEngine->SetWideNarrowRatio(pData->GetWideNarrowRatio()); + m_pBarcodeEngine->SetWideNarrowRatio(m_pDataProvider->GetWideNarrowRatio()); if (dwAttributeMask & FWL_BCDATTRIBUTE_STARTCHAR) - m_pBarcodeEngine->SetStartChar(pData->GetStartChar()); + m_pBarcodeEngine->SetStartChar(m_pDataProvider->GetStartChar()); if (dwAttributeMask & FWL_BCDATTRIBUTE_ENDCHAR) - m_pBarcodeEngine->SetEndChar(pData->GetEndChar()); + m_pBarcodeEngine->SetEndChar(m_pDataProvider->GetEndChar()); if (dwAttributeMask & FWL_BCDATTRIBUTE_VERSION) - m_pBarcodeEngine->SetVersion(pData->GetVersion()); - if (dwAttributeMask & FWL_BCDATTRIBUTE_ECLEVEL) - m_pBarcodeEngine->SetErrorCorrectionLevel(pData->GetErrorCorrectionLevel()); + m_pBarcodeEngine->SetVersion(m_pDataProvider->GetVersion()); + if (dwAttributeMask & FWL_BCDATTRIBUTE_ECLEVEL) { + m_pBarcodeEngine->SetErrorCorrectionLevel( + m_pDataProvider->GetErrorCorrectionLevel()); + } if (dwAttributeMask & FWL_BCDATTRIBUTE_TRUNCATED) - m_pBarcodeEngine->SetTruncated(pData->GetTruncated()); + m_pBarcodeEngine->SetTruncated(m_pDataProvider->GetTruncated()); int32_t errorCode = 0; m_dwStatus = m_pBarcodeEngine->Encode(wsText.AsStringC(), true, errorCode) diff --git a/xfa/fwl/core/ifwl_barcode.h b/xfa/fwl/core/ifwl_barcode.h index 2a4c9d7fd2..7c6f346708 100644 --- a/xfa/fwl/core/ifwl_barcode.h +++ b/xfa/fwl/core/ifwl_barcode.h @@ -40,7 +40,7 @@ enum FWL_BCDAttribute { class IFWL_Barcode : public IFWL_Edit { public: - class DataProvider : public IFWL_Widget::DataProvider { + class DataProvider { public: virtual BC_CHAR_ENCODING GetCharEncoding() const = 0; virtual int32_t GetModuleHeight() const = 0; @@ -75,11 +75,16 @@ class IFWL_Barcode : public IFWL_Edit { void SetType(BC_TYPE type); bool IsProtectedType() const; + void SetDataProvider(IFWL_Barcode::DataProvider* provider) { + m_pDataProvider = provider; + } + private: void GenerateBarcodeImageCache(); void CreateBarcodeEngine(); std::unique_ptr<CFX_Barcode> m_pBarcodeEngine; + IFWL_Barcode::DataProvider* m_pDataProvider; // Not owned. uint32_t m_dwStatus; BC_TYPE m_type; }; diff --git a/xfa/fwl/core/ifwl_checkbox.cpp b/xfa/fwl/core/ifwl_checkbox.cpp index 5268aceee7..b33eaa6559 100644 --- a/xfa/fwl/core/ifwl_checkbox.cpp +++ b/xfa/fwl/core/ifwl_checkbox.cpp @@ -57,8 +57,6 @@ void IFWL_CheckBox::GetWidgetRect(CFX_RectF& rect, bool bAutoSize) { m_pProperties->m_pThemeProvider = GetAvailableTheme(); if (!m_pProperties->m_pThemeProvider) return; - if (!m_pProperties->m_pDataProvider) - return; CFX_SizeF sz = CalcTextSize( L"Check box", m_pProperties->m_pThemeProvider, @@ -66,9 +64,7 @@ void IFWL_CheckBox::GetWidgetRect(CFX_RectF& rect, bool bAutoSize) { rect.Set(0, 0, sz.x, sz.y); rect.Inflate(kCaptionMargin, kCaptionMargin); - IFWL_CheckBox::DataProvider* pData = - static_cast<IFWL_CheckBox::DataProvider*>(m_pProperties->m_pDataProvider); - FX_FLOAT fCheckBox = pData->GetBoxSize(this); + FX_FLOAT fCheckBox = m_pDataProvider->GetBoxSize(this); rect.width += fCheckBox; rect.height = std::max(rect.height, fCheckBox); IFWL_Widget::GetWidgetRect(rect, true); @@ -117,9 +113,6 @@ void IFWL_CheckBox::DrawWidget(CFX_Graphics* pGraphics, param.m_rtPart = m_rtBox; pTheme->DrawBackground(¶m); - if (!m_pProperties->m_pDataProvider) - return; - CFWL_ThemeText textParam; textParam.m_pWidget = this; textParam.m_iPart = CFWL_Part::Caption; @@ -157,15 +150,10 @@ void IFWL_CheckBox::Layout() { FXSYS_round(m_pProperties->m_rtWidget.height); GetClientRect(m_rtClient); - if (!m_pProperties->m_pDataProvider) - return; - FX_FLOAT fBoxTop = m_rtClient.top; FX_FLOAT fClientBottom = m_rtClient.bottom(); - IFWL_CheckBox::DataProvider* pData = - static_cast<IFWL_CheckBox::DataProvider*>(m_pProperties->m_pDataProvider); - FX_FLOAT fCheckBox = pData->GetBoxSize(this); + FX_FLOAT fCheckBox = m_pDataProvider->GetBoxSize(this); switch (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_CKB_VLayoutMask) { case FWL_STYLEEXT_CKB_Top: break; diff --git a/xfa/fwl/core/ifwl_checkbox.h b/xfa/fwl/core/ifwl_checkbox.h index 8d777fc0f5..3a5b83cb5b 100644 --- a/xfa/fwl/core/ifwl_checkbox.h +++ b/xfa/fwl/core/ifwl_checkbox.h @@ -50,7 +50,7 @@ class IFWL_Widget; class IFWL_CheckBox : public IFWL_Widget { public: - class DataProvider : public IFWL_Widget::DataProvider { + class DataProvider { public: virtual FX_FLOAT GetBoxSize(IFWL_Widget* pWidget) = 0; }; @@ -70,6 +70,10 @@ class IFWL_CheckBox : public IFWL_Widget { void OnDrawWidget(CFX_Graphics* pGraphics, const CFX_Matrix* pMatrix) override; + void SetDataProvider(IFWL_CheckBox::DataProvider* pProvider) { + m_pDataProvider = pProvider; + } + private: void SetCheckState(int32_t iCheck); void Layout(); @@ -83,6 +87,7 @@ class IFWL_CheckBox : public IFWL_Widget { void OnMouseLeave(); void OnKeyDown(CFWL_MsgKey* pMsg); + IFWL_CheckBox::DataProvider* m_pDataProvider; // Not owned. CFX_RectF m_rtClient; CFX_RectF m_rtBox; CFX_RectF m_rtCaption; diff --git a/xfa/fwl/core/ifwl_combobox.cpp b/xfa/fwl/core/ifwl_combobox.cpp index 19d1c3f87f..7917b4eabf 100644 --- a/xfa/fwl/core/ifwl_combobox.cpp +++ b/xfa/fwl/core/ifwl_combobox.cpp @@ -50,14 +50,14 @@ IFWL_ComboBox::IFWL_ComboBox(const CFWL_App* app, return; } - auto prop = - pdfium::MakeUnique<CFWL_WidgetProperties>(m_pProperties->m_pDataProvider); + auto prop = pdfium::MakeUnique<CFWL_WidgetProperties>(); prop->m_pThemeProvider = m_pProperties->m_pThemeProvider; prop->m_dwStyles |= FWL_WGTSTYLE_Border | FWL_WGTSTYLE_VScroll; if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_CMB_ListItemIconText) prop->m_dwStyleExes |= FWL_STYLEEXT_LTB_Icon; + m_pListBox = + pdfium::MakeUnique<IFWL_ComboList>(m_pOwnerApp, std::move(prop), this); - m_pListBox.reset(new IFWL_ComboList(m_pOwnerApp, std::move(prop), this)); if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_CMB_DropDown) && !m_pEdit) { m_pEdit.reset(new IFWL_ComboEdit( m_pOwnerApp, pdfium::MakeUnique<CFWL_WidgetProperties>(), this)); @@ -590,13 +590,11 @@ void IFWL_ComboBox::DisForm_InitComboList() { if (m_pListBox) return; - auto prop = - pdfium::MakeUnique<CFWL_WidgetProperties>(m_pProperties->m_pDataProvider); + auto prop = pdfium::MakeUnique<CFWL_WidgetProperties>(); prop->m_pParent = this; prop->m_dwStyles = FWL_WGTSTYLE_Border | FWL_WGTSTYLE_VScroll; prop->m_dwStates = FWL_WGTSTATE_Invisible; prop->m_pThemeProvider = m_pProperties->m_pThemeProvider; - m_pListBox = pdfium::MakeUnique<IFWL_ComboList>(m_pOwnerApp, std::move(prop), this); } diff --git a/xfa/fwl/core/ifwl_datetimepicker.cpp b/xfa/fwl/core/ifwl_datetimepicker.cpp index 1a7cf2c06c..f97e95579c 100644 --- a/xfa/fwl/core/ifwl_datetimepicker.cpp +++ b/xfa/fwl/core/ifwl_datetimepicker.cpp @@ -41,7 +41,7 @@ IFWL_DateTimePicker::IFWL_DateTimePicker( m_pProperties->m_dwStyleExes = FWL_STYLEEXT_DTP_ShortDateFormat; - auto monthProp = pdfium::MakeUnique<CFWL_WidgetProperties>(this); + auto monthProp = pdfium::MakeUnique<CFWL_WidgetProperties>(); monthProp->m_dwStyles = FWL_WGTSTYLE_Popup | FWL_WGTSTYLE_Border; monthProp->m_dwStates = FWL_WGTSTATE_Invisible; monthProp->m_pParent = this; diff --git a/xfa/fwl/core/ifwl_datetimepicker.h b/xfa/fwl/core/ifwl_datetimepicker.h index 3b0dc39b1d..7d73002d20 100644 --- a/xfa/fwl/core/ifwl_datetimepicker.h +++ b/xfa/fwl/core/ifwl_datetimepicker.h @@ -35,8 +35,7 @@ class IFWL_DateTimeEdit; class IFWL_FormProxy; -class IFWL_DateTimePicker : public IFWL_Widget, - public IFWL_Widget::DataProvider { +class IFWL_DateTimePicker : public IFWL_Widget { public: explicit IFWL_DateTimePicker( const CFWL_App* app, diff --git a/xfa/fwl/core/ifwl_picturebox.cpp b/xfa/fwl/core/ifwl_picturebox.cpp index 3cffa52970..9a3fbf3067 100644 --- a/xfa/fwl/core/ifwl_picturebox.cpp +++ b/xfa/fwl/core/ifwl_picturebox.cpp @@ -35,8 +35,7 @@ void IFWL_PictureBox::GetWidgetRect(CFX_RectF& rect, bool bAutoSize) { } rect.Set(0, 0, 0, 0); - if (!m_pProperties->m_pDataProvider) - return; + IFWL_Widget::GetWidgetRect(rect, true); } diff --git a/xfa/fwl/core/ifwl_spinbutton.cpp b/xfa/fwl/core/ifwl_spinbutton.cpp index 39da43ec0d..d4b790afe9 100644 --- a/xfa/fwl/core/ifwl_spinbutton.cpp +++ b/xfa/fwl/core/ifwl_spinbutton.cpp @@ -221,8 +221,6 @@ void IFWL_SpinButton::OnLButtonDown(CFWL_MsgMouse* pMsg) { m_bLButtonDwn = true; SetGrab(true); SetFocus(true); - if (!m_pProperties->m_pDataProvider) - return; bool bUpPress = (m_rtUpButton.Contains(pMsg->m_fx, pMsg->m_fy) && IsButtonEnabled(true)); @@ -274,8 +272,6 @@ void IFWL_SpinButton::OnLButtonUp(CFWL_MsgMouse* pMsg) { } void IFWL_SpinButton::OnMouseMove(CFWL_MsgMouse* pMsg) { - if (!m_pProperties->m_pDataProvider) - return; if (m_bLButtonDwn) return; @@ -351,9 +347,6 @@ void IFWL_SpinButton::OnMouseLeave(CFWL_MsgMouse* pMsg) { } void IFWL_SpinButton::OnKeyDown(CFWL_MsgKey* pMsg) { - if (!m_pProperties->m_pDataProvider) - return; - bool bUp = pMsg->m_dwKeyCode == FWL_VKEY_Up || pMsg->m_dwKeyCode == FWL_VKEY_Left; bool bDown = diff --git a/xfa/fwl/core/ifwl_widget.cpp b/xfa/fwl/core/ifwl_widget.cpp index a44ad975cf..dca89c9c94 100644 --- a/xfa/fwl/core/ifwl_widget.cpp +++ b/xfa/fwl/core/ifwl_widget.cpp @@ -285,10 +285,6 @@ IFWL_ThemeProvider* IFWL_Widget::GetThemeProvider() const { return m_pProperties->m_pThemeProvider; } -IFWL_Widget::DataProvider* IFWL_Widget::GetDataProvider() const { - return m_pProperties->m_pDataProvider; -} - void IFWL_Widget::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) { m_pProperties->m_pThemeProvider = pThemeProvider; } diff --git a/xfa/fwl/core/ifwl_widget.h b/xfa/fwl/core/ifwl_widget.h index 7d2faf00e9..056a0c861e 100644 --- a/xfa/fwl/core/ifwl_widget.h +++ b/xfa/fwl/core/ifwl_widget.h @@ -64,8 +64,6 @@ enum class FWL_Type; class IFWL_Widget : public IFWL_WidgetDelegate { public: - class DataProvider {}; - ~IFWL_Widget() override; virtual FWL_Type GetClassID() const = 0; @@ -108,7 +106,6 @@ class IFWL_Widget : public IFWL_WidgetDelegate { void TransformTo(IFWL_Widget* pWidget, FX_FLOAT& fx, FX_FLOAT& fy); void GetMatrix(CFX_Matrix& matrix, bool bGlobal = false); IFWL_ThemeProvider* GetThemeProvider() const; - IFWL_Widget::DataProvider* GetDataProvider() const; void SetDelegate(IFWL_WidgetDelegate* delegate) { m_pDelegate = delegate; } IFWL_WidgetDelegate* GetDelegate() { |