summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordsinclair <dsinclair@chromium.org>2016-11-03 12:27:25 -0700
committerCommit bot <commit-bot@chromium.org>2016-11-03 12:27:25 -0700
commita5811f0edbaa3be7807dd84b3d4d7876289cef8a (patch)
tree1008064c03ae8288f6329f8fc1c3cec4b928a2f1
parent20ef5b93439a0e28cd612b824831f8dfcf234dfd (diff)
downloadpdfium-chromium/2909.tar.xz
Unify CFWL_WidgetProperties and CFWL_WidgetImpProperties.chromium/2909
The CFWL_WidgetProperties class was just being used to create default CFWL_WidgetImpProperties classes. This CL updates the code to make it clear that we have unique_ptrs to the properties and changes CFWL_WidgetImpProperties to be named CFWL_WidgetProperties. Review-Url: https://codereview.chromium.org/2469893004
-rw-r--r--BUILD.gn2
-rw-r--r--xfa/fwl/core/cfwl_barcode.cpp2
-rw-r--r--xfa/fwl/core/cfwl_barcode.h1
-rw-r--r--xfa/fwl/core/cfwl_checkbox.cpp2
-rw-r--r--xfa/fwl/core/cfwl_combobox.cpp2
-rw-r--r--xfa/fwl/core/cfwl_combobox.h1
-rw-r--r--xfa/fwl/core/cfwl_datetimepicker.cpp2
-rw-r--r--xfa/fwl/core/cfwl_edit.cpp2
-rw-r--r--xfa/fwl/core/cfwl_edit.h1
-rw-r--r--xfa/fwl/core/cfwl_listbox.cpp2
-rw-r--r--xfa/fwl/core/cfwl_picturebox.cpp2
-rw-r--r--xfa/fwl/core/cfwl_pushbutton.cpp2
-rw-r--r--xfa/fwl/core/cfwl_widget.cpp4
-rw-r--r--xfa/fwl/core/cfwl_widget.h2
-rw-r--r--xfa/fwl/core/cfwl_widgetimpproperties.h52
-rw-r--r--xfa/fwl/core/cfwl_widgetproperties.cpp39
-rw-r--r--xfa/fwl/core/cfwl_widgetproperties.h36
-rw-r--r--xfa/fwl/core/ifwl_barcode.cpp7
-rw-r--r--xfa/fwl/core/ifwl_barcode.h4
-rw-r--r--xfa/fwl/core/ifwl_caret.cpp6
-rw-r--r--xfa/fwl/core/ifwl_caret.h4
-rw-r--r--xfa/fwl/core/ifwl_checkbox.cpp4
-rw-r--r--xfa/fwl/core/ifwl_checkbox.h6
-rw-r--r--xfa/fwl/core/ifwl_combobox.cpp58
-rw-r--r--xfa/fwl/core/ifwl_combobox.h4
-rw-r--r--xfa/fwl/core/ifwl_comboboxproxy.cpp4
-rw-r--r--xfa/fwl/core/ifwl_comboboxproxy.h2
-rw-r--r--xfa/fwl/core/ifwl_comboedit.cpp9
-rw-r--r--xfa/fwl/core/ifwl_comboedit.h4
-rw-r--r--xfa/fwl/core/ifwl_combolist.cpp9
-rw-r--r--xfa/fwl/core/ifwl_combolist.h4
-rw-r--r--xfa/fwl/core/ifwl_datetimecalendar.cpp4
-rw-r--r--xfa/fwl/core/ifwl_datetimecalendar.h2
-rw-r--r--xfa/fwl/core/ifwl_datetimeedit.cpp9
-rw-r--r--xfa/fwl/core/ifwl_datetimeedit.h4
-rw-r--r--xfa/fwl/core/ifwl_datetimepicker.cpp73
-rw-r--r--xfa/fwl/core/ifwl_datetimepicker.h7
-rw-r--r--xfa/fwl/core/ifwl_edit.cpp21
-rw-r--r--xfa/fwl/core/ifwl_edit.h5
-rw-r--r--xfa/fwl/core/ifwl_form.cpp4
-rw-r--r--xfa/fwl/core/ifwl_form.h5
-rw-r--r--xfa/fwl/core/ifwl_formproxy.cpp10
-rw-r--r--xfa/fwl/core/ifwl_formproxy.h4
-rw-r--r--xfa/fwl/core/ifwl_listbox.cpp16
-rw-r--r--xfa/fwl/core/ifwl_listbox.h4
-rw-r--r--xfa/fwl/core/ifwl_monthcalendar.cpp4
-rw-r--r--xfa/fwl/core/ifwl_monthcalendar.h5
-rw-r--r--xfa/fwl/core/ifwl_picturebox.cpp7
-rw-r--r--xfa/fwl/core/ifwl_picturebox.h5
-rw-r--r--xfa/fwl/core/ifwl_pushbutton.cpp7
-rw-r--r--xfa/fwl/core/ifwl_pushbutton.h5
-rw-r--r--xfa/fwl/core/ifwl_scrollbar.cpp9
-rw-r--r--xfa/fwl/core/ifwl_scrollbar.h5
-rw-r--r--xfa/fwl/core/ifwl_spinbutton.cpp9
-rw-r--r--xfa/fwl/core/ifwl_spinbutton.h4
-rw-r--r--xfa/fwl/core/ifwl_tooltip.cpp4
-rw-r--r--xfa/fwl/core/ifwl_tooltip.h4
-rw-r--r--xfa/fwl/core/ifwl_widget.cpp4
-rw-r--r--xfa/fwl/core/ifwl_widget.h6
59 files changed, 225 insertions, 300 deletions
diff --git a/BUILD.gn b/BUILD.gn
index 962e20c9d0..a54f6e4018 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -1179,10 +1179,8 @@ if (pdf_enable_xfa) {
"xfa/fwl/core/cfwl_themetext.h",
"xfa/fwl/core/cfwl_widget.cpp",
"xfa/fwl/core/cfwl_widget.h",
- "xfa/fwl/core/cfwl_widgetimpproperties.h",
"xfa/fwl/core/cfwl_widgetmgr.cpp",
"xfa/fwl/core/cfwl_widgetmgr.h",
- "xfa/fwl/core/cfwl_widgetproperties.cpp",
"xfa/fwl/core/cfwl_widgetproperties.h",
"xfa/fwl/core/cfx_barcode.cpp",
"xfa/fwl/core/cfx_barcode.h",
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;