diff options
Diffstat (limited to 'xfa/fwl')
58 files changed, 225 insertions, 298 deletions
diff --git a/xfa/fwl/core/cfwl_barcode.cpp b/xfa/fwl/core/cfwl_barcode.cpp index d738f68955..b12a875ee2 100644 --- a/xfa/fwl/core/cfwl_barcode.cpp +++ b/xfa/fwl/core/cfwl_barcode.cpp @@ -26,7 +26,7 @@ void CFWL_Barcode::Initialize() { ASSERT(!m_pIface); m_pIface = pdfium::MakeUnique<IFWL_Barcode>( - m_pApp, m_pProperties->MakeWidgetImpProperties(&m_barcodeData)); + m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>(&m_barcodeData)); CFWL_Widget::Initialize(); } diff --git a/xfa/fwl/core/cfwl_barcode.h b/xfa/fwl/core/cfwl_barcode.h index 8df93ff628..b5642d21c5 100644 --- a/xfa/fwl/core/cfwl_barcode.h +++ b/xfa/fwl/core/cfwl_barcode.h @@ -12,7 +12,6 @@ #include "xfa/fwl/core/ifwl_barcode.h" class CFWL_Widget; -class CFWL_WidgetProperties; class CFWL_Barcode : public CFWL_Edit { public: diff --git a/xfa/fwl/core/cfwl_checkbox.cpp b/xfa/fwl/core/cfwl_checkbox.cpp index 4fbb04891d..9baea41c4d 100644 --- a/xfa/fwl/core/cfwl_checkbox.cpp +++ b/xfa/fwl/core/cfwl_checkbox.cpp @@ -27,7 +27,7 @@ void CFWL_CheckBox::Initialize() { ASSERT(!m_pIface); m_pIface = pdfium::MakeUnique<IFWL_CheckBox>( - m_pApp, m_pProperties->MakeWidgetImpProperties(&m_checkboxData)); + m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>(&m_checkboxData)); CFWL_Widget::Initialize(); } diff --git a/xfa/fwl/core/cfwl_combobox.cpp b/xfa/fwl/core/cfwl_combobox.cpp index e8dde06039..60b6e507d1 100644 --- a/xfa/fwl/core/cfwl_combobox.cpp +++ b/xfa/fwl/core/cfwl_combobox.cpp @@ -32,7 +32,7 @@ void CFWL_ComboBox::Initialize() { ASSERT(!m_pIface); m_pIface = pdfium::MakeUnique<IFWL_ComboBox>( - m_pApp, m_pProperties->MakeWidgetImpProperties(&m_comboBoxData)); + m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>(&m_comboBoxData)); CFWL_Widget::Initialize(); } diff --git a/xfa/fwl/core/cfwl_combobox.h b/xfa/fwl/core/cfwl_combobox.h index 9511a36f3d..c85b0e7bca 100644 --- a/xfa/fwl/core/cfwl_combobox.h +++ b/xfa/fwl/core/cfwl_combobox.h @@ -13,7 +13,6 @@ #include "xfa/fwl/core/cfwl_widget.h" #include "xfa/fwl/core/ifwl_combobox.h" -class CFWL_WidgetProperties; class IFWL_ComboBoxDP; class CFWL_ComboBoxDP; class CFWL_ComboBoxItem; diff --git a/xfa/fwl/core/cfwl_datetimepicker.cpp b/xfa/fwl/core/cfwl_datetimepicker.cpp index 8e377c2ca9..fba04b6fd5 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, m_pProperties->MakeWidgetImpProperties(&m_DateTimePickerDP)); + m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>(&m_DateTimePickerDP)); CFWL_Widget::Initialize(); } diff --git a/xfa/fwl/core/cfwl_edit.cpp b/xfa/fwl/core/cfwl_edit.cpp index 3d19e57f29..579442b369 100644 --- a/xfa/fwl/core/cfwl_edit.cpp +++ b/xfa/fwl/core/cfwl_edit.cpp @@ -31,7 +31,7 @@ void CFWL_Edit::Initialize() { ASSERT(!m_pIface); m_pIface = pdfium::MakeUnique<IFWL_Edit>( - m_pApp, m_pProperties->MakeWidgetImpProperties(nullptr), nullptr); + m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>(), nullptr); CFWL_Widget::Initialize(); } diff --git a/xfa/fwl/core/cfwl_edit.h b/xfa/fwl/core/cfwl_edit.h index 8fc0a13776..2f2983b092 100644 --- a/xfa/fwl/core/cfwl_edit.h +++ b/xfa/fwl/core/cfwl_edit.h @@ -12,7 +12,6 @@ #include "xfa/fwl/core/cfwl_widget.h" #include "xfa/fwl/core/ifwl_edit.h" -class CFWL_WidgetProperties; class IFDE_TxtEdtDoRecord; class CFWL_Edit : public CFWL_Widget { diff --git a/xfa/fwl/core/cfwl_listbox.cpp b/xfa/fwl/core/cfwl_listbox.cpp index f7e167125d..859054005f 100644 --- a/xfa/fwl/core/cfwl_listbox.cpp +++ b/xfa/fwl/core/cfwl_listbox.cpp @@ -27,7 +27,7 @@ void CFWL_ListBox::Initialize() { ASSERT(!m_pIface); m_pIface = pdfium::MakeUnique<IFWL_ListBox>( - m_pApp, m_pProperties->MakeWidgetImpProperties(&m_ListBoxDP), nullptr); + m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>(&m_ListBoxDP), nullptr); CFWL_Widget::Initialize(); } diff --git a/xfa/fwl/core/cfwl_picturebox.cpp b/xfa/fwl/core/cfwl_picturebox.cpp index dcd716ca02..a0e1c30c6c 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, m_pProperties->MakeWidgetImpProperties(&m_PictureBoxDP)); + m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>(&m_PictureBoxDP)); CFWL_Widget::Initialize(); } diff --git a/xfa/fwl/core/cfwl_pushbutton.cpp b/xfa/fwl/core/cfwl_pushbutton.cpp index 1510cc1a05..1b98d2514e 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, m_pProperties->MakeWidgetImpProperties(&m_buttonData)); + m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>(&m_buttonData)); CFWL_Widget::Initialize(); } diff --git a/xfa/fwl/core/cfwl_widget.cpp b/xfa/fwl/core/cfwl_widget.cpp index 074803776b..98f73cf40e 100644 --- a/xfa/fwl/core/cfwl_widget.cpp +++ b/xfa/fwl/core/cfwl_widget.cpp @@ -19,9 +19,7 @@ #define FWL_WGT_CalcMultiLineDefWidth 120.0f CFWL_Widget::CFWL_Widget(const IFWL_App* app) - : m_pApp(app), - m_pWidgetMgr(app->GetWidgetMgr()), - m_pProperties(new CFWL_WidgetProperties) { + : m_pApp(app), m_pWidgetMgr(app->GetWidgetMgr()) { ASSERT(m_pWidgetMgr); } diff --git a/xfa/fwl/core/cfwl_widget.h b/xfa/fwl/core/cfwl_widget.h index 0c590e2319..b3c09f9738 100644 --- a/xfa/fwl/core/cfwl_widget.h +++ b/xfa/fwl/core/cfwl_widget.h @@ -10,7 +10,6 @@ #include <memory> #include "xfa/fwl/core/cfwl_event.h" -#include "xfa/fwl/core/cfwl_widgetproperties.h" #include "xfa/fwl/core/ifwl_widget.h" class CFWL_Event; @@ -60,7 +59,6 @@ class CFWL_Widget { const IFWL_App* m_pApp; std::unique_ptr<IFWL_Widget> m_pIface; CFWL_WidgetMgr* const m_pWidgetMgr; - std::unique_ptr<CFWL_WidgetProperties> m_pProperties; }; #endif // XFA_FWL_CORE_CFWL_WIDGET_H_ diff --git a/xfa/fwl/core/cfwl_widgetimpproperties.h b/xfa/fwl/core/cfwl_widgetimpproperties.h deleted file mode 100644 index 4d7dee6834..0000000000 --- a/xfa/fwl/core/cfwl_widgetimpproperties.h +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2016 PDFium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com - -#ifndef XFA_FWL_CORE_CFWL_WIDGETIMPPROPERTIES_H_ -#define XFA_FWL_CORE_CFWL_WIDGETIMPPROPERTIES_H_ - -#include "core/fxcrt/fx_coordinates.h" -#include "core/fxcrt/fx_system.h" -#include "xfa/fwl/core/fwl_widgetdef.h" - -class IFWL_DataProvider; -class IFWL_ThemeProvider; -class IFWL_Widget; - -class CFWL_WidgetImpProperties { - public: - CFWL_WidgetImpProperties(); - ~CFWL_WidgetImpProperties(); - CFWL_WidgetImpProperties(const CFWL_WidgetImpProperties& other); - - CFX_Matrix m_ctmOnParent; - CFX_RectF m_rtWidget; - uint32_t m_dwStyles; - uint32_t m_dwStyleExes; - uint32_t m_dwStates; - IFWL_ThemeProvider* m_pThemeProvider; - IFWL_DataProvider* m_pDataProvider; - IFWL_Widget* m_pParent; - IFWL_Widget* m_pOwner; -}; - -inline CFWL_WidgetImpProperties::CFWL_WidgetImpProperties() - : m_dwStyles(FWL_WGTSTYLE_Child), - m_dwStyleExes(0), - m_dwStates(0), - m_pThemeProvider(nullptr), - m_pDataProvider(nullptr), - m_pParent(nullptr), - m_pOwner(nullptr) { - m_ctmOnParent.SetIdentity(); - m_rtWidget.Set(0, 0, 0, 0); -} - -inline CFWL_WidgetImpProperties::~CFWL_WidgetImpProperties() {} - -inline CFWL_WidgetImpProperties::CFWL_WidgetImpProperties( - const CFWL_WidgetImpProperties& other) = default; - -#endif // XFA_FWL_CORE_CFWL_WIDGETIMPPROPERTIES_H_ diff --git a/xfa/fwl/core/cfwl_widgetproperties.cpp b/xfa/fwl/core/cfwl_widgetproperties.cpp deleted file mode 100644 index fae1ff605a..0000000000 --- a/xfa/fwl/core/cfwl_widgetproperties.cpp +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2016 PDFium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com - -#include "xfa/fwl/core/cfwl_widgetproperties.h" - -#include "xfa/fwl/core/cfwl_widget.h" - -CFWL_WidgetProperties::CFWL_WidgetProperties() - : m_dwStyles(FWL_WGTSTYLE_Child), - m_dwStyleExes(0), - m_dwStates(0), - m_pParent(nullptr), - m_pOwner(nullptr) { - m_rtWidget.Set(0, 0, 0, 0); -} - -CFWL_WidgetProperties::~CFWL_WidgetProperties() {} - -CFWL_WidgetProperties::CFWL_WidgetProperties( - const CFWL_WidgetProperties& other) = default; - -CFWL_WidgetImpProperties CFWL_WidgetProperties::MakeWidgetImpProperties( - IFWL_DataProvider* pDataProvider) const { - CFWL_WidgetImpProperties result; - result.m_ctmOnParent = m_ctmOnParent; - result.m_rtWidget = m_rtWidget; - result.m_dwStyles = m_dwStyles; - result.m_dwStyleExes = m_dwStyleExes; - result.m_dwStates = m_dwStates; - if (m_pParent) - result.m_pParent = m_pParent->GetWidget(); - if (m_pOwner) - result.m_pOwner = m_pOwner->GetWidget(); - result.m_pDataProvider = pDataProvider; - return result; -} diff --git a/xfa/fwl/core/cfwl_widgetproperties.h b/xfa/fwl/core/cfwl_widgetproperties.h index afadfc49f1..21040b9ee9 100644 --- a/xfa/fwl/core/cfwl_widgetproperties.h +++ b/xfa/fwl/core/cfwl_widgetproperties.h @@ -8,30 +8,46 @@ #define XFA_FWL_CORE_CFWL_WIDGETPROPERTIES_H_ #include "core/fxcrt/fx_coordinates.h" -#include "core/fxcrt/fx_string.h" #include "core/fxcrt/fx_system.h" -#include "xfa/fwl/core/cfwl_widgetimpproperties.h" +#include "xfa/fwl/core/fwl_widgetdef.h" -class CFWL_Widget; class IFWL_DataProvider; +class IFWL_ThemeProvider; +class IFWL_Widget; class CFWL_WidgetProperties { public: CFWL_WidgetProperties(); + CFWL_WidgetProperties(IFWL_DataProvider* dataProvider); ~CFWL_WidgetProperties(); - CFWL_WidgetProperties(const CFWL_WidgetProperties& other); - CFWL_WidgetImpProperties MakeWidgetImpProperties( - IFWL_DataProvider* pDataProvider) const; - - CFX_WideString m_wsWindowclass; CFX_Matrix m_ctmOnParent; CFX_RectF m_rtWidget; uint32_t m_dwStyles; uint32_t m_dwStyleExes; uint32_t m_dwStates; - CFWL_Widget* m_pParent; - CFWL_Widget* m_pOwner; + IFWL_ThemeProvider* m_pThemeProvider; + IFWL_DataProvider* m_pDataProvider; + IFWL_Widget* m_pParent; + IFWL_Widget* m_pOwner; }; +inline CFWL_WidgetProperties::CFWL_WidgetProperties() + : CFWL_WidgetProperties(nullptr) {} + +inline CFWL_WidgetProperties::CFWL_WidgetProperties( + IFWL_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_ctmOnParent.SetIdentity(); + m_rtWidget.Set(0, 0, 0, 0); +} + +inline CFWL_WidgetProperties::~CFWL_WidgetProperties() {} + #endif // XFA_FWL_CORE_CFWL_WIDGETPROPERTIES_H_ diff --git a/xfa/fwl/core/ifwl_barcode.cpp b/xfa/fwl/core/ifwl_barcode.cpp index 9495dd96b5..3fb430d71b 100644 --- a/xfa/fwl/core/ifwl_barcode.cpp +++ b/xfa/fwl/core/ifwl_barcode.cpp @@ -14,9 +14,10 @@ #include "xfa/fwl/core/ifwl_themeprovider.h" IFWL_Barcode::IFWL_Barcode(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties) - : IFWL_Edit(app, properties, nullptr), m_dwStatus(0), m_type(BC_UNKNOWN) { -} + std::unique_ptr<CFWL_WidgetProperties> properties) + : IFWL_Edit(app, std::move(properties), nullptr), + m_dwStatus(0), + m_type(BC_UNKNOWN) {} IFWL_Barcode::~IFWL_Barcode() {} diff --git a/xfa/fwl/core/ifwl_barcode.h b/xfa/fwl/core/ifwl_barcode.h index 36befa469b..a0bdc75342 100644 --- a/xfa/fwl/core/ifwl_barcode.h +++ b/xfa/fwl/core/ifwl_barcode.h @@ -13,7 +13,7 @@ #include "xfa/fwl/core/ifwl_scrollbar.h" #include "xfa/fxbarcode/BC_Library.h" -class CFWL_WidgetImpProperties; +class CFWL_WidgetProperties; class CFX_Barcode; class IFWL_Widget; @@ -58,7 +58,7 @@ class IFWL_BarcodeDP : public IFWL_EditDP { class IFWL_Barcode : public IFWL_Edit { public: explicit IFWL_Barcode(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties); + std::unique_ptr<CFWL_WidgetProperties> properties); ~IFWL_Barcode() override; // IFWL_Widget diff --git a/xfa/fwl/core/ifwl_caret.cpp b/xfa/fwl/core/ifwl_caret.cpp index 4e9b7f64b5..8971c2ee8c 100644 --- a/xfa/fwl/core/ifwl_caret.cpp +++ b/xfa/fwl/core/ifwl_caret.cpp @@ -8,15 +8,15 @@ #include "third_party/base/ptr_util.h" #include "xfa/fwl/core/cfwl_themebackground.h" -#include "xfa/fwl/core/cfwl_widgetimpproperties.h" +#include "xfa/fwl/core/cfwl_widgetproperties.h" #include "xfa/fwl/core/fwl_noteimp.h" #include "xfa/fwl/core/ifwl_caret.h" #include "xfa/fwl/core/ifwl_themeprovider.h" IFWL_Caret::IFWL_Caret(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter) - : IFWL_Widget(app, properties, pOuter), + : IFWL_Widget(app, std::move(properties), pOuter), m_pTimer(new IFWL_Caret::Timer(this)), m_pTimerInfo(nullptr), m_dwElapse(400), diff --git a/xfa/fwl/core/ifwl_caret.h b/xfa/fwl/core/ifwl_caret.h index 7d91d5760f..5a02d4266c 100644 --- a/xfa/fwl/core/ifwl_caret.h +++ b/xfa/fwl/core/ifwl_caret.h @@ -13,7 +13,7 @@ #include "xfa/fwl/core/ifwl_widget.h" #include "xfa/fxgraphics/cfx_color.h" -class CFWL_WidgetImpProperties; +class CFWL_WidgetProperties; class IFWL_Widget; #define FWL_STATE_CAT_HightLight 1 @@ -21,7 +21,7 @@ class IFWL_Widget; class IFWL_Caret : public IFWL_Widget { public: IFWL_Caret(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter); ~IFWL_Caret() override; diff --git a/xfa/fwl/core/ifwl_checkbox.cpp b/xfa/fwl/core/ifwl_checkbox.cpp index f03b864717..a8f4936b29 100644 --- a/xfa/fwl/core/ifwl_checkbox.cpp +++ b/xfa/fwl/core/ifwl_checkbox.cpp @@ -26,8 +26,8 @@ const int kCaptionMargin = 5; } // namespace IFWL_CheckBox::IFWL_CheckBox(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties) - : IFWL_Widget(app, properties, nullptr), + std::unique_ptr<CFWL_WidgetProperties> properties) + : IFWL_Widget(app, std::move(properties), nullptr), m_dwTTOStyles(FDE_TTOSTYLE_SingleLine), m_iTTOAlign(FDE_TTOALIGNMENT_Center), m_bBtnDown(false) { diff --git a/xfa/fwl/core/ifwl_checkbox.h b/xfa/fwl/core/ifwl_checkbox.h index c08d845d29..19ab626175 100644 --- a/xfa/fwl/core/ifwl_checkbox.h +++ b/xfa/fwl/core/ifwl_checkbox.h @@ -8,7 +8,7 @@ #define XFA_FWL_CORE_IFWL_CHECKBOX_H_ #include "xfa/fwl/core/cfwl_event.h" -#include "xfa/fwl/core/cfwl_widgetimpproperties.h" +#include "xfa/fwl/core/cfwl_widgetproperties.h" #include "xfa/fwl/core/ifwl_dataprovider.h" #include "xfa/fwl/core/ifwl_widget.h" @@ -44,7 +44,7 @@ #define FWL_STATE_CKB_CheckMask (3L << (FWL_WGTSTATE_MAX + 2)) class CFWL_MsgMouse; -class CFWL_WidgetImpProperties; +class CFWL_WidgetProperties; class IFWL_Widget; FWL_EVENT_DEF(CFWL_EvtCkbCheckStateChanged, CFWL_EventType::CheckStateChanged) @@ -57,7 +57,7 @@ class IFWL_CheckBoxDP : public IFWL_DataProvider { class IFWL_CheckBox : public IFWL_Widget { public: explicit IFWL_CheckBox(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties); + std::unique_ptr<CFWL_WidgetProperties> properties); ~IFWL_CheckBox() override; // IFWL_Widget diff --git a/xfa/fwl/core/ifwl_combobox.cpp b/xfa/fwl/core/ifwl_combobox.cpp index 4be684abb9..6d0a814157 100644 --- a/xfa/fwl/core/ifwl_combobox.cpp +++ b/xfa/fwl/core/ifwl_combobox.cpp @@ -23,8 +23,8 @@ #include "xfa/fwl/core/ifwl_themeprovider.h" IFWL_ComboBox::IFWL_ComboBox(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties) - : IFWL_Widget(app, properties, nullptr), + std::unique_ptr<CFWL_WidgetProperties> properties) + : IFWL_Widget(app, std::move(properties), nullptr), m_pComboBoxProxy(nullptr), m_bLButtonDown(false), m_iCurSel(-1), @@ -41,17 +41,17 @@ IFWL_ComboBox::IFWL_ComboBox(const IFWL_App* app, return; } - CFWL_WidgetImpProperties prop; - prop.m_pThemeProvider = m_pProperties->m_pThemeProvider; - prop.m_dwStyles |= FWL_WGTSTYLE_Border | FWL_WGTSTYLE_VScroll; + auto prop = + pdfium::MakeUnique<CFWL_WidgetProperties>(m_pProperties->m_pDataProvider); + 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; + prop->m_dwStyleExes |= FWL_STYLEEXT_LTB_Icon; - prop.m_pDataProvider = m_pProperties->m_pDataProvider; - m_pListBox.reset(new IFWL_ComboList(m_pOwnerApp, 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) { - CFWL_WidgetImpProperties prop2; - m_pEdit.reset(new IFWL_ComboEdit(m_pOwnerApp, prop2, this)); + m_pEdit.reset(new IFWL_ComboEdit( + m_pOwnerApp, pdfium::MakeUnique<CFWL_WidgetProperties>(), this)); m_pEdit->SetOuter(this); } if (m_pEdit) @@ -99,8 +99,8 @@ FWL_Error IFWL_ComboBox::ModifyStylesEx(uint32_t dwStylesExAdded, bool bAddDropDown = !!(dwStylesExAdded & FWL_STYLEEXT_CMB_DropDown); bool bRemoveDropDown = !!(dwStylesExRemoved & FWL_STYLEEXT_CMB_DropDown); if (bAddDropDown && !m_pEdit) { - CFWL_WidgetImpProperties prop; - m_pEdit.reset(new IFWL_ComboEdit(m_pOwnerApp, prop, nullptr)); + m_pEdit.reset(new IFWL_ComboEdit( + m_pOwnerApp, pdfium::MakeUnique<CFWL_WidgetProperties>(), nullptr)); m_pEdit->SetOuter(this); m_pEdit->SetParent(this); } else if (bRemoveDropDown && m_pEdit) { @@ -693,13 +693,13 @@ void IFWL_ComboBox::InitProxyForm() { if (!m_pListBox) return; - CFWL_WidgetImpProperties propForm; - propForm.m_pOwner = this; - propForm.m_dwStyles = FWL_WGTSTYLE_Popup; - propForm.m_dwStates = FWL_WGTSTATE_Invisible; + auto prop = pdfium::MakeUnique<CFWL_WidgetProperties>(); + prop->m_pOwner = this; + prop->m_dwStyles = FWL_WGTSTYLE_Popup; + prop->m_dwStates = FWL_WGTSTATE_Invisible; - m_pComboBoxProxy = - new IFWL_ComboBoxProxy(this, m_pOwnerApp, propForm, m_pListBox.get()); + m_pComboBoxProxy = new IFWL_ComboBoxProxy(this, m_pOwnerApp, std::move(prop), + m_pListBox.get()); m_pListBox->SetParent(m_pComboBoxProxy); } @@ -707,23 +707,23 @@ void IFWL_ComboBox::DisForm_InitComboList() { if (m_pListBox) return; - CFWL_WidgetImpProperties prop; - prop.m_pParent = this; - prop.m_dwStyles = FWL_WGTSTYLE_Border | FWL_WGTSTYLE_VScroll; - prop.m_dwStates = FWL_WGTSTATE_Invisible; - prop.m_pDataProvider = m_pProperties->m_pDataProvider; - prop.m_pThemeProvider = m_pProperties->m_pThemeProvider; - m_pListBox.reset(new IFWL_ComboList(m_pOwnerApp, prop, this)); + auto prop = + pdfium::MakeUnique<CFWL_WidgetProperties>(m_pProperties->m_pDataProvider); + 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.reset(new IFWL_ComboList(m_pOwnerApp, std::move(prop), this)); } void IFWL_ComboBox::DisForm_InitComboEdit() { if (m_pEdit) return; - CFWL_WidgetImpProperties prop; - prop.m_pParent = this; - prop.m_pThemeProvider = m_pProperties->m_pThemeProvider; - m_pEdit.reset(new IFWL_ComboEdit(m_pOwnerApp, prop, this)); + auto prop = pdfium::MakeUnique<CFWL_WidgetProperties>(); + prop->m_pParent = this; + prop->m_pThemeProvider = m_pProperties->m_pThemeProvider; + m_pEdit.reset(new IFWL_ComboEdit(m_pOwnerApp, std::move(prop), this)); m_pEdit->SetOuter(this); } diff --git a/xfa/fwl/core/ifwl_combobox.h b/xfa/fwl/core/ifwl_combobox.h index 7d11541e7f..8de93a62f6 100644 --- a/xfa/fwl/core/ifwl_combobox.h +++ b/xfa/fwl/core/ifwl_combobox.h @@ -11,7 +11,7 @@ #include "xfa/fwl/core/ifwl_listbox.h" #include "xfa/fxgraphics/cfx_graphics.h" -class CFWL_WidgetImpProperties; +class CFWL_WidgetProperties; class IFWL_ComboBox; class IFWL_ComboBoxProxy; class IFWL_ComboEdit; @@ -80,7 +80,7 @@ class IFWL_ComboBoxDP : public IFWL_ListBoxDP { class IFWL_ComboBox : public IFWL_Widget { public: explicit IFWL_ComboBox(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties); + std::unique_ptr<CFWL_WidgetProperties> properties); ~IFWL_ComboBox() override; // IFWL_Widget diff --git a/xfa/fwl/core/ifwl_comboboxproxy.cpp b/xfa/fwl/core/ifwl_comboboxproxy.cpp index 0675a3b9ec..c8d1f793c6 100644 --- a/xfa/fwl/core/ifwl_comboboxproxy.cpp +++ b/xfa/fwl/core/ifwl_comboboxproxy.cpp @@ -13,9 +13,9 @@ IFWL_ComboBoxProxy::IFWL_ComboBoxProxy( IFWL_ComboBox* pComboBox, const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter) - : IFWL_FormProxy(app, properties, pOuter), + : IFWL_FormProxy(app, std::move(properties), pOuter), m_bLButtonDown(false), m_bLButtonUpSelf(false), m_pComboBox(pComboBox) {} diff --git a/xfa/fwl/core/ifwl_comboboxproxy.h b/xfa/fwl/core/ifwl_comboboxproxy.h index 7b5c929d36..f6da41299f 100644 --- a/xfa/fwl/core/ifwl_comboboxproxy.h +++ b/xfa/fwl/core/ifwl_comboboxproxy.h @@ -15,7 +15,7 @@ class IFWL_ComboBoxProxy : public IFWL_FormProxy { public: IFWL_ComboBoxProxy(IFWL_ComboBox* pCombobBox, const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter); ~IFWL_ComboBoxProxy() override; diff --git a/xfa/fwl/core/ifwl_comboedit.cpp b/xfa/fwl/core/ifwl_comboedit.cpp index 26106e14cf..a8b04fda89 100644 --- a/xfa/fwl/core/ifwl_comboedit.cpp +++ b/xfa/fwl/core/ifwl_comboedit.cpp @@ -9,10 +9,11 @@ #include "xfa/fde/cfde_txtedtengine.h" #include "xfa/fwl/core/ifwl_combobox.h" -IFWL_ComboEdit::IFWL_ComboEdit(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, - IFWL_Widget* pOuter) - : IFWL_Edit(app, properties, pOuter) { +IFWL_ComboEdit::IFWL_ComboEdit( + const IFWL_App* app, + std::unique_ptr<CFWL_WidgetProperties> properties, + IFWL_Widget* pOuter) + : IFWL_Edit(app, std::move(properties), pOuter) { m_pOuter = static_cast<IFWL_ComboBox*>(pOuter); } diff --git a/xfa/fwl/core/ifwl_comboedit.h b/xfa/fwl/core/ifwl_comboedit.h index 59aa9956e9..f50a7258dd 100644 --- a/xfa/fwl/core/ifwl_comboedit.h +++ b/xfa/fwl/core/ifwl_comboedit.h @@ -7,7 +7,7 @@ #ifndef XFA_FWL_CORE_IFWL_COMBOEDIT_H_ #define XFA_FWL_CORE_IFWL_COMBOEDIT_H_ -#include "xfa/fwl/core/cfwl_widgetimpproperties.h" +#include "xfa/fwl/core/cfwl_widgetproperties.h" #include "xfa/fwl/core/ifwl_edit.h" #include "xfa/fwl/core/ifwl_widget.h" @@ -16,7 +16,7 @@ class IFWL_ComboBox; class IFWL_ComboEdit : public IFWL_Edit { public: IFWL_ComboEdit(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter); // IFWL_Edit. diff --git a/xfa/fwl/core/ifwl_combolist.cpp b/xfa/fwl/core/ifwl_combolist.cpp index 452cdff1e0..04fefc628a 100644 --- a/xfa/fwl/core/ifwl_combolist.cpp +++ b/xfa/fwl/core/ifwl_combolist.cpp @@ -10,10 +10,11 @@ #include "xfa/fwl/core/ifwl_combobox.h" #include "xfa/fwl/core/ifwl_comboedit.h" -IFWL_ComboList::IFWL_ComboList(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, - IFWL_Widget* pOuter) - : IFWL_ListBox(app, properties, pOuter), m_bNotifyOwner(true) { +IFWL_ComboList::IFWL_ComboList( + const IFWL_App* app, + std::unique_ptr<CFWL_WidgetProperties> properties, + IFWL_Widget* pOuter) + : IFWL_ListBox(app, std::move(properties), pOuter), m_bNotifyOwner(true) { ASSERT(pOuter); } diff --git a/xfa/fwl/core/ifwl_combolist.h b/xfa/fwl/core/ifwl_combolist.h index 6da1640023..6c380f4f07 100644 --- a/xfa/fwl/core/ifwl_combolist.h +++ b/xfa/fwl/core/ifwl_combolist.h @@ -7,14 +7,14 @@ #ifndef XFA_FWL_CORE_IFWL_COMBOLIST_H_ #define XFA_FWL_CORE_IFWL_COMBOLIST_H_ -#include "xfa/fwl/core/cfwl_widgetimpproperties.h" +#include "xfa/fwl/core/cfwl_widgetproperties.h" #include "xfa/fwl/core/ifwl_listbox.h" #include "xfa/fwl/core/ifwl_widget.h" class IFWL_ComboList : public IFWL_ListBox { public: IFWL_ComboList(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter); // IFWL_ListBox. diff --git a/xfa/fwl/core/ifwl_datetimecalendar.cpp b/xfa/fwl/core/ifwl_datetimecalendar.cpp index 4e274fca7f..c9f640fe63 100644 --- a/xfa/fwl/core/ifwl_datetimecalendar.cpp +++ b/xfa/fwl/core/ifwl_datetimecalendar.cpp @@ -13,9 +13,9 @@ IFWL_DateTimeCalendar::IFWL_DateTimeCalendar( const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter) - : IFWL_MonthCalendar(app, properties, pOuter), m_bFlag(false) {} + : IFWL_MonthCalendar(app, std::move(properties), pOuter), m_bFlag(false) {} void IFWL_DateTimeCalendar::OnProcessMessage(CFWL_Message* pMessage) { CFWL_MessageType dwCode = pMessage->GetClassID(); diff --git a/xfa/fwl/core/ifwl_datetimecalendar.h b/xfa/fwl/core/ifwl_datetimecalendar.h index 07f0373e1e..d47e32edb5 100644 --- a/xfa/fwl/core/ifwl_datetimecalendar.h +++ b/xfa/fwl/core/ifwl_datetimecalendar.h @@ -12,7 +12,7 @@ class IFWL_DateTimeCalendar : public IFWL_MonthCalendar { public: IFWL_DateTimeCalendar(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter); // IFWL_MonthCalendar diff --git a/xfa/fwl/core/ifwl_datetimeedit.cpp b/xfa/fwl/core/ifwl_datetimeedit.cpp index 62675a3586..492f8f3303 100644 --- a/xfa/fwl/core/ifwl_datetimeedit.cpp +++ b/xfa/fwl/core/ifwl_datetimeedit.cpp @@ -10,10 +10,11 @@ #include "xfa/fwl/core/cfwl_widgetmgr.h" #include "xfa/fwl/core/ifwl_datetimepicker.h" -IFWL_DateTimeEdit::IFWL_DateTimeEdit(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, - IFWL_Widget* pOuter) - : IFWL_Edit(app, properties, pOuter) {} +IFWL_DateTimeEdit::IFWL_DateTimeEdit( + const IFWL_App* app, + std::unique_ptr<CFWL_WidgetProperties> properties, + IFWL_Widget* pOuter) + : IFWL_Edit(app, std::move(properties), pOuter) {} void IFWL_DateTimeEdit::OnProcessMessage(CFWL_Message* pMessage) { if (m_pWidgetMgr->IsFormDisabled()) { diff --git a/xfa/fwl/core/ifwl_datetimeedit.h b/xfa/fwl/core/ifwl_datetimeedit.h index 84ff7e7ee7..1649d39539 100644 --- a/xfa/fwl/core/ifwl_datetimeedit.h +++ b/xfa/fwl/core/ifwl_datetimeedit.h @@ -8,7 +8,7 @@ #define XFA_FWL_CORE_IFWL_DATETIMEEDIT_H_ #include "xfa/fwl/core/cfwl_message.h" -#include "xfa/fwl/core/cfwl_widgetimpproperties.h" +#include "xfa/fwl/core/cfwl_widgetproperties.h" #include "xfa/fwl/core/fwl_error.h" #include "xfa/fwl/core/ifwl_edit.h" #include "xfa/fwl/core/ifwl_widget.h" @@ -16,7 +16,7 @@ class IFWL_DateTimeEdit : public IFWL_Edit { public: IFWL_DateTimeEdit(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter); // IFWL_Edit. diff --git a/xfa/fwl/core/ifwl_datetimepicker.cpp b/xfa/fwl/core/ifwl_datetimepicker.cpp index 5237326b9e..8a59b0034d 100644 --- a/xfa/fwl/core/ifwl_datetimepicker.cpp +++ b/xfa/fwl/core/ifwl_datetimepicker.cpp @@ -26,8 +26,8 @@ const int kDateTimePickerHeight = 20; IFWL_DateTimePicker::IFWL_DateTimePicker( const IFWL_App* app, - const CFWL_WidgetImpProperties& properties) - : IFWL_Widget(app, properties, nullptr), + std::unique_ptr<CFWL_WidgetProperties> properties) + : IFWL_Widget(app, std::move(properties), nullptr), m_iBtnState(1), m_iYear(-1), m_iMonth(-1), @@ -36,23 +36,26 @@ IFWL_DateTimePicker::IFWL_DateTimePicker( m_rtBtn.Set(0, 0, 0, 0); m_pProperties->m_dwStyleExes = FWL_STYLEEXT_DTP_ShortDateFormat; - CFWL_WidgetImpProperties propMonth; - propMonth.m_dwStyles = FWL_WGTSTYLE_Popup | FWL_WGTSTYLE_Border; - propMonth.m_dwStates = FWL_WGTSTATE_Invisible; - propMonth.m_pDataProvider = &m_MonthCalendarDP; - propMonth.m_pParent = this; - propMonth.m_pThemeProvider = m_pProperties->m_pThemeProvider; - - m_pMonthCal.reset(new IFWL_DateTimeCalendar(m_pOwnerApp, propMonth, this)); + + auto monthProp = + pdfium::MakeUnique<CFWL_WidgetProperties>(&m_MonthCalendarDP); + monthProp->m_dwStyles = FWL_WGTSTYLE_Popup | FWL_WGTSTYLE_Border; + monthProp->m_dwStates = FWL_WGTSTATE_Invisible; + monthProp->m_pParent = this; + monthProp->m_pThemeProvider = m_pProperties->m_pThemeProvider; + m_pMonthCal.reset( + new IFWL_DateTimeCalendar(m_pOwnerApp, std::move(monthProp), this)); + CFX_RectF rtMonthCal; m_pMonthCal->GetWidgetRect(rtMonthCal, true); rtMonthCal.Set(0, 0, rtMonthCal.width, rtMonthCal.height); m_pMonthCal->SetWidgetRect(rtMonthCal); - CFWL_WidgetImpProperties propEdit; - propEdit.m_pParent = this; - propEdit.m_pThemeProvider = m_pProperties->m_pThemeProvider; - m_pEdit.reset(new IFWL_DateTimeEdit(m_pOwnerApp, propEdit, this)); + auto editProp = pdfium::MakeUnique<CFWL_WidgetProperties>(); + editProp->m_pParent = this; + editProp->m_pThemeProvider = m_pProperties->m_pThemeProvider; + + m_pEdit.reset(new IFWL_DateTimeEdit(m_pOwnerApp, std::move(editProp), this)); RegisterEventTarget(m_pMonthCal.get()); RegisterEventTarget(m_pEdit.get()); } @@ -433,12 +436,14 @@ void IFWL_DateTimePicker::InitProxyForm() { return; if (!m_pMonthCal) return; - CFWL_WidgetImpProperties propForm; - propForm.m_dwStyles = FWL_WGTSTYLE_Popup; - propForm.m_dwStates = FWL_WGTSTATE_Invisible; - propForm.m_pOwner = this; - m_pForm.reset(new IFWL_FormProxy(m_pOwnerApp, propForm, m_pMonthCal.get())); + auto prop = pdfium::MakeUnique<CFWL_WidgetProperties>(); + prop->m_dwStyles = FWL_WGTSTYLE_Popup; + prop->m_dwStates = FWL_WGTSTATE_Invisible; + prop->m_pOwner = this; + + m_pForm.reset( + new IFWL_FormProxy(m_pOwnerApp, std::move(prop), m_pMonthCal.get())); m_pMonthCal->SetParent(m_pForm.get()); } @@ -456,18 +461,18 @@ FWL_Error IFWL_DateTimePicker::DisForm_Initialize() { } void IFWL_DateTimePicker::DisForm_InitDateTimeCalendar() { - if (m_pMonthCal) { + if (m_pMonthCal) return; - } - CFWL_WidgetImpProperties propMonth; - propMonth.m_dwStyles = + + auto prop = pdfium::MakeUnique<CFWL_WidgetProperties>(&m_MonthCalendarDP); + prop->m_dwStyles = FWL_WGTSTYLE_Popup | FWL_WGTSTYLE_Border | FWL_WGTSTYLE_EdgeSunken; - propMonth.m_dwStates = FWL_WGTSTATE_Invisible; - propMonth.m_pParent = this; - propMonth.m_pDataProvider = &m_MonthCalendarDP; - propMonth.m_pThemeProvider = m_pProperties->m_pThemeProvider; + prop->m_dwStates = FWL_WGTSTATE_Invisible; + prop->m_pParent = this; + prop->m_pThemeProvider = m_pProperties->m_pThemeProvider; - m_pMonthCal.reset(new IFWL_DateTimeCalendar(m_pOwnerApp, propMonth, this)); + m_pMonthCal.reset( + new IFWL_DateTimeCalendar(m_pOwnerApp, std::move(prop), this)); CFX_RectF rtMonthCal; m_pMonthCal->GetWidgetRect(rtMonthCal, true); rtMonthCal.Set(0, 0, rtMonthCal.width, rtMonthCal.height); @@ -475,14 +480,14 @@ void IFWL_DateTimePicker::DisForm_InitDateTimeCalendar() { } void IFWL_DateTimePicker::DisForm_InitDateTimeEdit() { - if (m_pEdit) { + if (m_pEdit) return; - } - CFWL_WidgetImpProperties propEdit; - propEdit.m_pParent = this; - propEdit.m_pThemeProvider = m_pProperties->m_pThemeProvider; - m_pEdit.reset(new IFWL_DateTimeEdit(m_pOwnerApp, propEdit, this)); + auto prop = pdfium::MakeUnique<CFWL_WidgetProperties>(); + prop->m_pParent = this; + prop->m_pThemeProvider = m_pProperties->m_pThemeProvider; + + m_pEdit.reset(new IFWL_DateTimeEdit(m_pOwnerApp, std::move(prop), this)); } bool IFWL_DateTimePicker::DisForm_IsMonthCalendarShowed() { diff --git a/xfa/fwl/core/ifwl_datetimepicker.h b/xfa/fwl/core/ifwl_datetimepicker.h index 17eb7b851c..8ebe54ad25 100644 --- a/xfa/fwl/core/ifwl_datetimepicker.h +++ b/xfa/fwl/core/ifwl_datetimepicker.h @@ -8,7 +8,7 @@ #define XFA_FWL_CORE_IFWL_DATETIMEPICKER_H_ #include "xfa/fwl/core/cfwl_event.h" -#include "xfa/fwl/core/cfwl_widgetimpproperties.h" +#include "xfa/fwl/core/cfwl_widgetproperties.h" #include "xfa/fwl/core/ifwl_dataprovider.h" #include "xfa/fwl/core/ifwl_monthcalendar.h" #include "xfa/fwl/core/ifwl_widget.h" @@ -62,8 +62,9 @@ class IFWL_DateTimePickerDP : public IFWL_DataProvider { class IFWL_DateTimePicker : public IFWL_Widget { public: - explicit IFWL_DateTimePicker(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties); + explicit IFWL_DateTimePicker( + const IFWL_App* app, + std::unique_ptr<CFWL_WidgetProperties> properties); ~IFWL_DateTimePicker() override; // IFWL_Widget diff --git a/xfa/fwl/core/ifwl_edit.cpp b/xfa/fwl/core/ifwl_edit.cpp index 111df72733..7b3d083c3e 100644 --- a/xfa/fwl/core/ifwl_edit.cpp +++ b/xfa/fwl/core/ifwl_edit.cpp @@ -53,9 +53,9 @@ void AddSquigglyPath(CFX_Path* pPathData, } // namespace IFWL_Edit::IFWL_Edit(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter) - : IFWL_Widget(app, properties, pOuter), + : IFWL_Widget(app, std::move(properties), pOuter), m_fVAlignOffset(0.0f), m_fScrollOffsetX(0.0f), m_fScrollOffsetY(0.0f), @@ -1449,13 +1449,14 @@ void IFWL_Edit::InitScrollBar(bool bVert) { if ((bVert && m_pVertScrollBar) || (!bVert && m_pHorzScrollBar)) { return; } - CFWL_WidgetImpProperties prop; - prop.m_dwStyleExes = bVert ? FWL_STYLEEXT_SCB_Vert : FWL_STYLEEXT_SCB_Horz; - prop.m_dwStates = FWL_WGTSTATE_Disabled | FWL_WGTSTATE_Invisible; - prop.m_pParent = this; - prop.m_pThemeProvider = m_pProperties->m_pThemeProvider; - IFWL_ScrollBar* sb = new IFWL_ScrollBar(m_pOwnerApp, prop, this); + auto prop = pdfium::MakeUnique<CFWL_WidgetProperties>(); + prop->m_dwStyleExes = bVert ? FWL_STYLEEXT_SCB_Vert : FWL_STYLEEXT_SCB_Horz; + prop->m_dwStates = FWL_WGTSTATE_Disabled | FWL_WGTSTATE_Invisible; + prop->m_pParent = this; + prop->m_pThemeProvider = m_pProperties->m_pThemeProvider; + + IFWL_ScrollBar* sb = new IFWL_ScrollBar(m_pOwnerApp, std::move(prop), this); if (bVert) m_pVertScrollBar.reset(sb); else @@ -1554,8 +1555,8 @@ bool IFWL_Edit::ValidateNumberChar(FX_WCHAR cNum) { void IFWL_Edit::InitCaret() { if (!m_pCaret) { if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_InnerCaret)) { - CFWL_WidgetImpProperties prop; - m_pCaret.reset(new IFWL_Caret(m_pOwnerApp, prop, this)); + m_pCaret.reset(new IFWL_Caret( + m_pOwnerApp, pdfium::MakeUnique<CFWL_WidgetProperties>(), this)); m_pCaret->SetParent(this); m_pCaret->SetStates(m_pProperties->m_dwStates); } diff --git a/xfa/fwl/core/ifwl_edit.h b/xfa/fwl/core/ifwl_edit.h index c210ac20c5..8ff69d0324 100644 --- a/xfa/fwl/core/ifwl_edit.h +++ b/xfa/fwl/core/ifwl_edit.h @@ -91,13 +91,12 @@ FWL_EVENT_DEF(CFWL_EvtEdtGetSuggestWords, CFX_ByteString bsWord; std::vector<CFX_ByteString> bsArraySuggestWords;) -class CFWL_WidgetImpProperties; class IFDE_TxtEdtDoRecord; class IFWL_Edit; class CFWL_MsgActivate; class CFWL_MsgDeactivate; class CFWL_MsgMouse; -class CFWL_WidgetImpProperties; +class CFWL_WidgetProperties; class IFWL_Caret; class IFWL_EditDP : public IFWL_DataProvider {}; @@ -105,7 +104,7 @@ class IFWL_EditDP : public IFWL_DataProvider {}; class IFWL_Edit : public IFWL_Widget { public: IFWL_Edit(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter); ~IFWL_Edit() override; diff --git a/xfa/fwl/core/ifwl_form.cpp b/xfa/fwl/core/ifwl_form.cpp index ab6887fec8..82148a07cf 100644 --- a/xfa/fwl/core/ifwl_form.cpp +++ b/xfa/fwl/core/ifwl_form.cpp @@ -38,9 +38,9 @@ RestoreInfo::RestoreInfo() {} RestoreInfo::~RestoreInfo() {} IFWL_Form::IFWL_Form(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter) - : IFWL_Widget(app, properties, pOuter), + : IFWL_Widget(app, std::move(properties), pOuter), m_pCloseBox(nullptr), m_pMinBox(nullptr), m_pMaxBox(nullptr), diff --git a/xfa/fwl/core/ifwl_form.h b/xfa/fwl/core/ifwl_form.h index 4936af6855..8042bb57bd 100644 --- a/xfa/fwl/core/ifwl_form.h +++ b/xfa/fwl/core/ifwl_form.h @@ -10,7 +10,7 @@ #include <memory> #include "core/fxcrt/fx_system.h" -#include "xfa/fwl/core/cfwl_widgetimpproperties.h" +#include "xfa/fwl/core/cfwl_widgetproperties.h" #include "xfa/fwl/core/ifwl_dataprovider.h" #include "xfa/fwl/core/ifwl_widget.h" @@ -72,7 +72,6 @@ class CFWL_MsgMouse; class CFWL_MsgClose; class CFWL_MsgWindowMove; class CFWL_NoteLoop; -class CFWL_WidgetImpProperties; class IFWL_Widget; class IFWL_ThemeProvider; class CFWL_SysBtn; @@ -85,7 +84,7 @@ class IFWL_FormDP : public IFWL_DataProvider { class IFWL_Form : public IFWL_Widget { public: IFWL_Form(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter); ~IFWL_Form() override; diff --git a/xfa/fwl/core/ifwl_formproxy.cpp b/xfa/fwl/core/ifwl_formproxy.cpp index d06cf0b7a6..8bb1091326 100644 --- a/xfa/fwl/core/ifwl_formproxy.cpp +++ b/xfa/fwl/core/ifwl_formproxy.cpp @@ -9,11 +9,11 @@ #include "third_party/base/ptr_util.h" #include "xfa/fwl/core/fwl_noteimp.h" -IFWL_FormProxy::IFWL_FormProxy(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, - IFWL_Widget* pOuter) - : IFWL_Form(app, properties, pOuter) { -} +IFWL_FormProxy::IFWL_FormProxy( + const IFWL_App* app, + std::unique_ptr<CFWL_WidgetProperties> properties, + IFWL_Widget* pOuter) + : IFWL_Form(app, std::move(properties), pOuter) {} IFWL_FormProxy::~IFWL_FormProxy() {} diff --git a/xfa/fwl/core/ifwl_formproxy.h b/xfa/fwl/core/ifwl_formproxy.h index 7bab976307..4eaeb5ab2f 100644 --- a/xfa/fwl/core/ifwl_formproxy.h +++ b/xfa/fwl/core/ifwl_formproxy.h @@ -9,12 +9,12 @@ #include "xfa/fwl/core/ifwl_form.h" -class CFWL_WidgetImpProperties; +class CFWL_WidgetProperties; class IFWL_FormProxy : public IFWL_Form { public: IFWL_FormProxy(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter); ~IFWL_FormProxy() override; diff --git a/xfa/fwl/core/ifwl_listbox.cpp b/xfa/fwl/core/ifwl_listbox.cpp index b462c8e34b..f0d2f019d3 100644 --- a/xfa/fwl/core/ifwl_listbox.cpp +++ b/xfa/fwl/core/ifwl_listbox.cpp @@ -22,9 +22,9 @@ const int kItemTextMargin = 2; } // namespace IFWL_ListBox::IFWL_ListBox(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter) - : IFWL_Widget(app, properties, pOuter), + : IFWL_Widget(app, std::move(properties), pOuter), m_dwTTOStyles(0), m_iTTOAligns(0), m_hAnchor(nullptr), @@ -873,13 +873,13 @@ void IFWL_ListBox::InitScrollBar(bool bVert) { if ((bVert && m_pVertScrollBar) || (!bVert && m_pHorzScrollBar)) { return; } - CFWL_WidgetImpProperties prop; - prop.m_dwStyleExes = bVert ? FWL_STYLEEXT_SCB_Vert : FWL_STYLEEXT_SCB_Horz; - prop.m_dwStates = FWL_WGTSTATE_Invisible; - prop.m_pParent = this; - prop.m_pThemeProvider = m_pScrollBarTP; + auto prop = pdfium::MakeUnique<CFWL_WidgetProperties>(); + prop->m_dwStyleExes = bVert ? FWL_STYLEEXT_SCB_Vert : FWL_STYLEEXT_SCB_Horz; + prop->m_dwStates = FWL_WGTSTATE_Invisible; + prop->m_pParent = this; + prop->m_pThemeProvider = m_pScrollBarTP; (bVert ? &m_pVertScrollBar : &m_pHorzScrollBar) - ->reset(new IFWL_ScrollBar(m_pOwnerApp, prop, this)); + ->reset(new IFWL_ScrollBar(m_pOwnerApp, std::move(prop), this)); } bool IFWL_ListBox::IsShowScrollBar(bool bVert) { diff --git a/xfa/fwl/core/ifwl_listbox.h b/xfa/fwl/core/ifwl_listbox.h index e16778f23e..99006caa18 100644 --- a/xfa/fwl/core/ifwl_listbox.h +++ b/xfa/fwl/core/ifwl_listbox.h @@ -10,7 +10,7 @@ #include <memory> #include "xfa/fwl/core/cfwl_event.h" -#include "xfa/fwl/core/cfwl_widgetimpproperties.h" +#include "xfa/fwl/core/cfwl_widgetproperties.h" #include "xfa/fwl/core/ifwl_dataprovider.h" #include "xfa/fwl/core/ifwl_edit.h" #include "xfa/fwl/core/ifwl_listbox.h" @@ -102,7 +102,7 @@ class IFWL_ListBoxCompare { class IFWL_ListBox : public IFWL_Widget { public: IFWL_ListBox(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter); ~IFWL_ListBox() override; diff --git a/xfa/fwl/core/ifwl_monthcalendar.cpp b/xfa/fwl/core/ifwl_monthcalendar.cpp index 4190dbdefd..28d529787d 100644 --- a/xfa/fwl/core/ifwl_monthcalendar.cpp +++ b/xfa/fwl/core/ifwl_monthcalendar.cpp @@ -120,9 +120,9 @@ CFX_WideString* GetCapacityForMonth(IFWL_ThemeProvider* pTheme, IFWL_MonthCalendar::IFWL_MonthCalendar( const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter) - : IFWL_Widget(app, properties, pOuter), + : IFWL_Widget(app, std::move(properties), pOuter), m_bInit(false), m_pDateTime(new CFX_DateTime), m_iCurYear(2011), diff --git a/xfa/fwl/core/ifwl_monthcalendar.h b/xfa/fwl/core/ifwl_monthcalendar.h index 1017c8653e..ec8cdcda85 100644 --- a/xfa/fwl/core/ifwl_monthcalendar.h +++ b/xfa/fwl/core/ifwl_monthcalendar.h @@ -9,7 +9,7 @@ #include "xfa/fgas/localization/fgas_datetime.h" #include "xfa/fwl/core/cfwl_event.h" -#include "xfa/fwl/core/cfwl_widgetimpproperties.h" +#include "xfa/fwl/core/cfwl_widgetproperties.h" #include "xfa/fwl/core/ifwl_dataprovider.h" #include "xfa/fwl/core/ifwl_widget.h" @@ -35,7 +35,6 @@ FWL_EVENT_DEF(CFWL_EventMcdDateChanged, int32_t m_iEndDay;) class CFWL_MsgMouse; -class CFWL_WidgetImpProperties; class IFWL_Widget; struct FWL_DATEINFO; @@ -52,7 +51,7 @@ class IFWL_MonthCalendarDP : public IFWL_DataProvider { class IFWL_MonthCalendar : public IFWL_Widget { public: IFWL_MonthCalendar(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter); ~IFWL_MonthCalendar() override; diff --git a/xfa/fwl/core/ifwl_picturebox.cpp b/xfa/fwl/core/ifwl_picturebox.cpp index d820573f30..f97ee709c3 100644 --- a/xfa/fwl/core/ifwl_picturebox.cpp +++ b/xfa/fwl/core/ifwl_picturebox.cpp @@ -10,9 +10,10 @@ #include "xfa/fwl/core/cfwl_picturebox.h" #include "xfa/fwl/core/fwl_noteimp.h" -IFWL_PictureBox::IFWL_PictureBox(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties) - : IFWL_Widget(app, properties, nullptr), +IFWL_PictureBox::IFWL_PictureBox( + const IFWL_App* app, + std::unique_ptr<CFWL_WidgetProperties> properties) + : IFWL_Widget(app, std::move(properties), nullptr), m_bTop(false), m_bVCenter(false), m_bButton(false) { diff --git a/xfa/fwl/core/ifwl_picturebox.h b/xfa/fwl/core/ifwl_picturebox.h index edd8e7efa5..2eeacae3af 100644 --- a/xfa/fwl/core/ifwl_picturebox.h +++ b/xfa/fwl/core/ifwl_picturebox.h @@ -7,7 +7,7 @@ #ifndef XFA_FWL_CORE_IFWL_PICTUREBOX_H_ #define XFA_FWL_CORE_IFWL_PICTUREBOX_H_ -#include "xfa/fwl/core/cfwl_widgetimpproperties.h" +#include "xfa/fwl/core/cfwl_widgetproperties.h" #include "xfa/fwl/core/fwl_error.h" #include "xfa/fwl/core/ifwl_dataprovider.h" #include "xfa/fwl/core/ifwl_widget.h" @@ -27,7 +27,6 @@ #define FWL_STYLEEXT_PTB_VAlignMask 3L << 2 #define FWL_STYLEEXT_PTB_StretchAlignMask 7L << 4 -class CFWL_WidgetImpProperties; class CFX_DIBitmap; class IFWL_Widget; @@ -44,7 +43,7 @@ class IFWL_PictureBoxDP : public IFWL_DataProvider { class IFWL_PictureBox : public IFWL_Widget { public: explicit IFWL_PictureBox(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties); + std::unique_ptr<CFWL_WidgetProperties> properties); ~IFWL_PictureBox() override; // IFWL_Widget diff --git a/xfa/fwl/core/ifwl_pushbutton.cpp b/xfa/fwl/core/ifwl_pushbutton.cpp index f9f996ac2d..c03b26a9b6 100644 --- a/xfa/fwl/core/ifwl_pushbutton.cpp +++ b/xfa/fwl/core/ifwl_pushbutton.cpp @@ -15,9 +15,10 @@ #include "xfa/fwl/core/ifwl_pushbutton.h" #include "xfa/fwl/core/ifwl_themeprovider.h" -IFWL_PushButton::IFWL_PushButton(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties) - : IFWL_Widget(app, properties, nullptr), +IFWL_PushButton::IFWL_PushButton( + const IFWL_App* app, + std::unique_ptr<CFWL_WidgetProperties> properties) + : IFWL_Widget(app, std::move(properties), nullptr), m_bBtnDown(false), m_dwTTOStyles(FDE_TTOSTYLE_SingleLine), m_iTTOAlign(FDE_TTOALIGNMENT_Center) { diff --git a/xfa/fwl/core/ifwl_pushbutton.h b/xfa/fwl/core/ifwl_pushbutton.h index 422e597e06..94078bbfdc 100644 --- a/xfa/fwl/core/ifwl_pushbutton.h +++ b/xfa/fwl/core/ifwl_pushbutton.h @@ -7,7 +7,7 @@ #ifndef XFA_FWL_CORE_IFWL_PUSHBUTTON_H_ #define XFA_FWL_CORE_IFWL_PUSHBUTTON_H_ -#include "xfa/fwl/core/cfwl_widgetimpproperties.h" +#include "xfa/fwl/core/cfwl_widgetproperties.h" #include "xfa/fwl/core/ifwl_dataprovider.h" #include "xfa/fwl/core/ifwl_widget.h" @@ -28,7 +28,6 @@ #define FWL_STATE_PSB_Default (1 << (FWL_WGTSTATE_MAX + 2)) class CFWL_MsgMouse; -class CFWL_WidgetImpProperties; class CFX_DIBitmap; class IFWL_Widget; @@ -40,7 +39,7 @@ class IFWL_PushButtonDP : public IFWL_DataProvider { class IFWL_PushButton : public IFWL_Widget { public: IFWL_PushButton(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties); + std::unique_ptr<CFWL_WidgetProperties> properties); ~IFWL_PushButton() override; // IFWL_Widget diff --git a/xfa/fwl/core/ifwl_scrollbar.cpp b/xfa/fwl/core/ifwl_scrollbar.cpp index 9369bd8ada..777ca593e9 100644 --- a/xfa/fwl/core/ifwl_scrollbar.cpp +++ b/xfa/fwl/core/ifwl_scrollbar.cpp @@ -17,10 +17,11 @@ #define FWL_SCROLLBAR_Elapse 500 #define FWL_SCROLLBAR_MinThumb 5 -IFWL_ScrollBar::IFWL_ScrollBar(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, - IFWL_Widget* pOuter) - : IFWL_Widget(app, properties, pOuter), +IFWL_ScrollBar::IFWL_ScrollBar( + const IFWL_App* app, + std::unique_ptr<CFWL_WidgetProperties> properties, + IFWL_Widget* pOuter) + : IFWL_Widget(app, std::move(properties), pOuter), m_pTimerInfo(nullptr), m_fRangeMin(0), m_fRangeMax(-1), diff --git a/xfa/fwl/core/ifwl_scrollbar.h b/xfa/fwl/core/ifwl_scrollbar.h index 5c41fdd2a1..15b1b95f0e 100644 --- a/xfa/fwl/core/ifwl_scrollbar.h +++ b/xfa/fwl/core/ifwl_scrollbar.h @@ -8,13 +8,12 @@ #define XFA_FWL_CORE_IFWL_SCROLLBAR_H_ #include "core/fxcrt/fx_system.h" -#include "xfa/fwl/core/cfwl_widgetimpproperties.h" +#include "xfa/fwl/core/cfwl_widgetproperties.h" #include "xfa/fwl/core/fwl_error.h" #include "xfa/fwl/core/ifwl_dataprovider.h" #include "xfa/fwl/core/ifwl_timer.h" #include "xfa/fwl/core/ifwl_widget.h" -class CFWL_WidgetImpProperties; class IFWL_Widget; #define FWL_STYLEEXT_SCB_Horz (0L << 0) @@ -38,7 +37,7 @@ class IFWL_ScrollBarDP : public IFWL_DataProvider {}; class IFWL_ScrollBar : public IFWL_Widget { public: IFWL_ScrollBar(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter); ~IFWL_ScrollBar() override; diff --git a/xfa/fwl/core/ifwl_spinbutton.cpp b/xfa/fwl/core/ifwl_spinbutton.cpp index 16032345da..a669493574 100644 --- a/xfa/fwl/core/ifwl_spinbutton.cpp +++ b/xfa/fwl/core/ifwl_spinbutton.cpp @@ -9,7 +9,7 @@ #include "third_party/base/ptr_util.h" #include "xfa/fwl/core/cfwl_message.h" #include "xfa/fwl/core/cfwl_themebackground.h" -#include "xfa/fwl/core/cfwl_widgetimpproperties.h" +#include "xfa/fwl/core/cfwl_widgetproperties.h" #include "xfa/fwl/core/fwl_noteimp.h" #include "xfa/fwl/core/ifwl_spinbutton.h" #include "xfa/fwl/core/ifwl_themeprovider.h" @@ -24,9 +24,10 @@ const int kElapseTime = 200; } // namespace -IFWL_SpinButton::IFWL_SpinButton(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties) - : IFWL_Widget(app, properties, nullptr), +IFWL_SpinButton::IFWL_SpinButton( + const IFWL_App* app, + std::unique_ptr<CFWL_WidgetProperties> properties) + : IFWL_Widget(app, std::move(properties), nullptr), m_dwUpState(CFWL_PartState_Normal), m_dwDnState(CFWL_PartState_Normal), m_iButtonIndex(0), diff --git a/xfa/fwl/core/ifwl_spinbutton.h b/xfa/fwl/core/ifwl_spinbutton.h index a388489a9b..73c2fc0639 100644 --- a/xfa/fwl/core/ifwl_spinbutton.h +++ b/xfa/fwl/core/ifwl_spinbutton.h @@ -15,14 +15,14 @@ #define FWL_STYLEEXE_SPB_Vert (1L << 0) class CFWL_MsgMouse; -class CFWL_WidgetImpProperties; +class CFWL_WidgetProperties; FWL_EVENT_DEF(CFWL_EvtSpbClick, CFWL_EventType::Click, bool m_bUp;) class IFWL_SpinButton : public IFWL_Widget { public: explicit IFWL_SpinButton(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties); + std::unique_ptr<CFWL_WidgetProperties> properties); ~IFWL_SpinButton() override; // IFWL_Widget diff --git a/xfa/fwl/core/ifwl_tooltip.cpp b/xfa/fwl/core/ifwl_tooltip.cpp index 2d518c5f83..99d3b98e95 100644 --- a/xfa/fwl/core/ifwl_tooltip.cpp +++ b/xfa/fwl/core/ifwl_tooltip.cpp @@ -17,9 +17,9 @@ #include "xfa/fwl/theme/cfwl_widgettp.h" IFWL_ToolTip::IFWL_ToolTip(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter) - : IFWL_Form(app, properties, pOuter), + : IFWL_Form(app, std::move(properties), pOuter), m_bBtnDown(false), m_dwTTOStyles(FDE_TTOSTYLE_SingleLine), m_iTTOAlign(FDE_TTOALIGNMENT_Center), diff --git a/xfa/fwl/core/ifwl_tooltip.h b/xfa/fwl/core/ifwl_tooltip.h index c2ad663739..78b7535ebf 100644 --- a/xfa/fwl/core/ifwl_tooltip.h +++ b/xfa/fwl/core/ifwl_tooltip.h @@ -10,7 +10,7 @@ #include "xfa/fwl/core/ifwl_form.h" #include "xfa/fwl/core/ifwl_timer.h" -class CFWL_WidgetImpProperties; +class CFWL_WidgetProperties; class IFWL_Widget; class CFWL_ToolTipImpDelegate; @@ -35,7 +35,7 @@ class IFWL_ToolTipDP : public IFWL_DataProvider { class IFWL_ToolTip : public IFWL_Form { public: IFWL_ToolTip(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter); ~IFWL_ToolTip() override; diff --git a/xfa/fwl/core/ifwl_widget.cpp b/xfa/fwl/core/ifwl_widget.cpp index 7bcdf18386..a041f4e2d0 100644 --- a/xfa/fwl/core/ifwl_widget.cpp +++ b/xfa/fwl/core/ifwl_widget.cpp @@ -25,11 +25,11 @@ #define FWL_STYLEEXT_MNU_Vert (1L << 0) IFWL_Widget::IFWL_Widget(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter) : m_pOwnerApp(app), m_pWidgetMgr(app->GetWidgetMgr()), - m_pProperties(new CFWL_WidgetImpProperties(properties)), + m_pProperties(std::move(properties)), m_pOuter(pOuter), m_pLayoutItem(nullptr), m_pAssociate(nullptr), diff --git a/xfa/fwl/core/ifwl_widget.h b/xfa/fwl/core/ifwl_widget.h index b5dc1f9391..862f357f7e 100644 --- a/xfa/fwl/core/ifwl_widget.h +++ b/xfa/fwl/core/ifwl_widget.h @@ -54,7 +54,7 @@ enum class FWL_Type { class CFWL_AppImp; class CFWL_MsgKey; class CFWL_Widget; -class CFWL_WidgetImpProperties; +class CFWL_WidgetProperties; class CFWL_WidgetMgr; class IFWL_App; class IFWL_DataProvider; @@ -145,7 +145,7 @@ class IFWL_Widget : public IFWL_WidgetDelegate { friend class CFWL_WidgetImpDelegate; IFWL_Widget(const IFWL_App* app, - const CFWL_WidgetImpProperties& properties, + std::unique_ptr<CFWL_WidgetProperties> properties, IFWL_Widget* pOuter); bool IsEnabled() const; @@ -215,7 +215,7 @@ class IFWL_Widget : public IFWL_WidgetDelegate { const IFWL_App* const m_pOwnerApp; CFWL_WidgetMgr* const m_pWidgetMgr; - std::unique_ptr<CFWL_WidgetImpProperties> m_pProperties; + std::unique_ptr<CFWL_WidgetProperties> m_pProperties; IFWL_Widget* m_pOuter; void* m_pLayoutItem; CFWL_Widget* m_pAssociate; |