Encapsulate CFWL_Widget.
Add some missing getters and setters.
Change-Id: Icbd513c6e62f7dffb7d4341a64c7f4441626c717
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/72610
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/xfa/fwl/cfwl_barcode.cpp b/xfa/fwl/cfwl_barcode.cpp
index b6833bf..31a3051 100644
--- a/xfa/fwl/cfwl_barcode.cpp
+++ b/xfa/fwl/cfwl_barcode.cpp
@@ -36,9 +36,9 @@
const CFX_Matrix& matrix) {
if (!pGraphics)
return;
- if (!m_pProperties->m_pThemeProvider)
+ if (!GetProperties()->m_pThemeProvider)
return;
- if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) == 0) {
+ if ((GetProperties()->m_dwStates & FWL_WGTSTATE_Focused) == 0) {
GenerateBarcodeImageCache();
if (!m_pBarcodeEngine || m_eStatus != Status::kEncodeSuccess)
return;
diff --git a/xfa/fwl/cfwl_caret.cpp b/xfa/fwl/cfwl_caret.cpp
index d17fc21..fabe4bb 100644
--- a/xfa/fwl/cfwl_caret.cpp
+++ b/xfa/fwl/cfwl_caret.cpp
@@ -41,12 +41,12 @@
const CFX_Matrix& matrix) {
if (!pGraphics)
return;
- if (!m_pProperties->m_pThemeProvider)
- m_pProperties->m_pThemeProvider = GetAvailableTheme();
- if (!m_pProperties->m_pThemeProvider)
+ if (!GetProperties()->m_pThemeProvider)
+ GetProperties()->m_pThemeProvider = GetAvailableTheme();
+ if (!GetProperties()->m_pThemeProvider)
return;
- DrawCaretBK(pGraphics, m_pProperties->m_pThemeProvider.Get(), &matrix);
+ DrawCaretBK(pGraphics, GetProperties()->m_pThemeProvider.Get(), &matrix);
}
void CFWL_Caret::ShowCaret() {
@@ -65,7 +65,7 @@
void CFWL_Caret::DrawCaretBK(CXFA_Graphics* pGraphics,
IFWL_ThemeProvider* pTheme,
const CFX_Matrix* pMatrix) {
- if (!(m_pProperties->m_dwStates & kStateHighlight))
+ if (!(GetProperties()->m_dwStates & kStateHighlight))
return;
CFWL_ThemeBackground param;
diff --git a/xfa/fwl/cfwl_checkbox.cpp b/xfa/fwl/cfwl_checkbox.cpp
index 7bd4fe9..baf7133 100644
--- a/xfa/fwl/cfwl_checkbox.cpp
+++ b/xfa/fwl/cfwl_checkbox.cpp
@@ -46,8 +46,8 @@
void CFWL_CheckBox::Update() {
if (IsLocked())
return;
- if (!m_pProperties->m_pThemeProvider)
- m_pProperties->m_pThemeProvider = GetAvailableTheme();
+ if (!GetProperties()->m_pThemeProvider)
+ GetProperties()->m_pThemeProvider = GetAvailableTheme();
UpdateTextOutStyles();
Layout();
@@ -58,7 +58,7 @@
if (!pGraphics)
return;
- IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider.Get();
+ IFWL_ThemeProvider* pTheme = GetProperties()->m_pThemeProvider.Get();
if (!pTheme)
return;
@@ -74,7 +74,7 @@
param.m_pGraphics = pGraphics;
param.m_matrix.Concat(matrix);
param.m_PartRect = m_ClientRect;
- if (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused)
+ if (GetProperties()->m_dwStates & FWL_WGTSTATE_Focused)
param.m_pRtData = &m_FocusRect;
pTheme->DrawBackground(param);
@@ -97,14 +97,14 @@
}
void CFWL_CheckBox::SetCheckState(int32_t iCheck) {
- m_pProperties->m_dwStates &= ~FWL_STATE_CKB_CheckMask;
+ GetProperties()->m_dwStates &= ~FWL_STATE_CKB_CheckMask;
switch (iCheck) {
case 1:
- m_pProperties->m_dwStates |= FWL_STATE_CKB_Checked;
+ GetProperties()->m_dwStates |= FWL_STATE_CKB_Checked;
break;
case 2:
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_CKB_3State)
- m_pProperties->m_dwStates |= FWL_STATE_CKB_Neutral;
+ if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_CKB_3State)
+ GetProperties()->m_dwStates |= FWL_STATE_CKB_Neutral;
break;
default:
break;
@@ -113,10 +113,10 @@
}
void CFWL_CheckBox::Layout() {
- m_pProperties->m_WidgetRect.width =
- FXSYS_roundf(m_pProperties->m_WidgetRect.width);
- m_pProperties->m_WidgetRect.height =
- FXSYS_roundf(m_pProperties->m_WidgetRect.height);
+ GetProperties()->m_WidgetRect.width =
+ FXSYS_roundf(GetProperties()->m_WidgetRect.width);
+ GetProperties()->m_WidgetRect.height =
+ FXSYS_roundf(GetProperties()->m_WidgetRect.height);
m_ClientRect = GetClientRect();
float fTextLeft = m_ClientRect.left + m_fBoxHeight;
@@ -127,8 +127,8 @@
m_CaptionRect.Inflate(-kCaptionMargin, -kCaptionMargin);
CFX_RectF rtFocus = m_CaptionRect;
- CalcTextRect(L"Check box", m_pProperties->m_pThemeProvider.Get(), m_TTOStyles,
- m_iTTOAlign, &rtFocus);
+ CalcTextRect(L"Check box", GetProperties()->m_pThemeProvider.Get(),
+ m_TTOStyles, m_iTTOAlign, &rtFocus);
m_FocusRect = CFX_RectF(m_CaptionRect.TopLeft(),
std::max(m_CaptionRect.width, rtFocus.width),
@@ -138,22 +138,22 @@
uint32_t CFWL_CheckBox::GetPartStates() const {
int32_t dwStates = CFWL_PartState_Normal;
- if ((m_pProperties->m_dwStates & FWL_STATE_CKB_CheckMask) ==
+ if ((GetProperties()->m_dwStates & FWL_STATE_CKB_CheckMask) ==
FWL_STATE_CKB_Neutral) {
dwStates = CFWL_PartState_Neutral;
- } else if ((m_pProperties->m_dwStates & FWL_STATE_CKB_CheckMask) ==
+ } else if ((GetProperties()->m_dwStates & FWL_STATE_CKB_CheckMask) ==
FWL_STATE_CKB_Checked) {
dwStates = CFWL_PartState_Checked;
}
- if (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)
+ if (GetProperties()->m_dwStates & FWL_WGTSTATE_Disabled)
dwStates |= CFWL_PartState_Disabled;
- else if (m_pProperties->m_dwStates & FWL_STATE_CKB_Hovered)
+ else if (GetProperties()->m_dwStates & FWL_STATE_CKB_Hovered)
dwStates |= CFWL_PartState_Hovered;
- else if (m_pProperties->m_dwStates & FWL_STATE_CKB_Pressed)
+ else if (GetProperties()->m_dwStates & FWL_STATE_CKB_Pressed)
dwStates |= CFWL_PartState_Pressed;
else
dwStates |= CFWL_PartState_Normal;
- if (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused)
+ if (GetProperties()->m_dwStates & FWL_WGTSTATE_Focused)
dwStates |= CFWL_PartState_Focused;
return dwStates;
}
@@ -165,31 +165,31 @@
}
void CFWL_CheckBox::NextStates() {
- uint32_t dwFirststate = m_pProperties->m_dwStates;
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_CKB_RadioButton) {
- if ((m_pProperties->m_dwStates & FWL_STATE_CKB_CheckMask) ==
+ uint32_t dwFirststate = GetProperties()->m_dwStates;
+ if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_CKB_RadioButton) {
+ if ((GetProperties()->m_dwStates & FWL_STATE_CKB_CheckMask) ==
FWL_STATE_CKB_Unchecked) {
- m_pProperties->m_dwStates |= FWL_STATE_CKB_Checked;
+ GetProperties()->m_dwStates |= FWL_STATE_CKB_Checked;
}
} else {
- if ((m_pProperties->m_dwStates & FWL_STATE_CKB_CheckMask) ==
+ if ((GetProperties()->m_dwStates & FWL_STATE_CKB_CheckMask) ==
FWL_STATE_CKB_Neutral) {
- m_pProperties->m_dwStates &= ~FWL_STATE_CKB_CheckMask;
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_CKB_3State)
- m_pProperties->m_dwStates |= FWL_STATE_CKB_Checked;
- } else if ((m_pProperties->m_dwStates & FWL_STATE_CKB_CheckMask) ==
+ GetProperties()->m_dwStates &= ~FWL_STATE_CKB_CheckMask;
+ if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_CKB_3State)
+ GetProperties()->m_dwStates |= FWL_STATE_CKB_Checked;
+ } else if ((GetProperties()->m_dwStates & FWL_STATE_CKB_CheckMask) ==
FWL_STATE_CKB_Checked) {
- m_pProperties->m_dwStates &= ~FWL_STATE_CKB_CheckMask;
+ GetProperties()->m_dwStates &= ~FWL_STATE_CKB_CheckMask;
} else {
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_CKB_3State)
- m_pProperties->m_dwStates |= FWL_STATE_CKB_Neutral;
+ if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_CKB_3State)
+ GetProperties()->m_dwStates |= FWL_STATE_CKB_Neutral;
else
- m_pProperties->m_dwStates |= FWL_STATE_CKB_Checked;
+ GetProperties()->m_dwStates |= FWL_STATE_CKB_Checked;
}
}
RepaintRect(m_ClientRect);
- if (dwFirststate == m_pProperties->m_dwStates)
+ if (dwFirststate == GetProperties()->m_dwStates)
return;
CFWL_Event wmCheckBoxState(CFWL_Event::Type::CheckStateChanged, this);
@@ -248,20 +248,20 @@
void CFWL_CheckBox::OnFocusChanged(bool bSet) {
if (bSet)
- m_pProperties->m_dwStates |= FWL_WGTSTATE_Focused;
+ GetProperties()->m_dwStates |= FWL_WGTSTATE_Focused;
else
- m_pProperties->m_dwStates &= ~FWL_WGTSTATE_Focused;
+ GetProperties()->m_dwStates &= ~FWL_WGTSTATE_Focused;
RepaintRect(m_ClientRect);
}
void CFWL_CheckBox::OnLButtonDown() {
- if (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)
+ if (GetProperties()->m_dwStates & FWL_WGTSTATE_Disabled)
return;
m_bBtnDown = true;
- m_pProperties->m_dwStates &= ~FWL_STATE_CKB_Hovered;
- m_pProperties->m_dwStates |= FWL_STATE_CKB_Pressed;
+ GetProperties()->m_dwStates &= ~FWL_STATE_CKB_Hovered;
+ GetProperties()->m_dwStates |= FWL_STATE_CKB_Pressed;
RepaintRect(m_ClientRect);
}
@@ -273,41 +273,41 @@
if (!m_ClientRect.Contains(pMsg->m_pos))
return;
- m_pProperties->m_dwStates |= FWL_STATE_CKB_Hovered;
- m_pProperties->m_dwStates &= ~FWL_STATE_CKB_Pressed;
+ GetProperties()->m_dwStates |= FWL_STATE_CKB_Hovered;
+ GetProperties()->m_dwStates &= ~FWL_STATE_CKB_Pressed;
NextStates();
}
void CFWL_CheckBox::OnMouseMove(CFWL_MessageMouse* pMsg) {
- if (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)
+ if (GetProperties()->m_dwStates & FWL_WGTSTATE_Disabled)
return;
bool bRepaint = false;
if (m_bBtnDown) {
if (m_ClientRect.Contains(pMsg->m_pos)) {
- if ((m_pProperties->m_dwStates & FWL_STATE_CKB_Pressed) == 0) {
+ if ((GetProperties()->m_dwStates & FWL_STATE_CKB_Pressed) == 0) {
bRepaint = true;
- m_pProperties->m_dwStates |= FWL_STATE_CKB_Pressed;
+ GetProperties()->m_dwStates |= FWL_STATE_CKB_Pressed;
}
- if ((m_pProperties->m_dwStates & FWL_STATE_CKB_Hovered)) {
+ if ((GetProperties()->m_dwStates & FWL_STATE_CKB_Hovered)) {
bRepaint = true;
- m_pProperties->m_dwStates &= ~FWL_STATE_CKB_Hovered;
+ GetProperties()->m_dwStates &= ~FWL_STATE_CKB_Hovered;
}
} else {
- if (m_pProperties->m_dwStates & FWL_STATE_CKB_Pressed) {
+ if (GetProperties()->m_dwStates & FWL_STATE_CKB_Pressed) {
bRepaint = true;
- m_pProperties->m_dwStates &= ~FWL_STATE_CKB_Pressed;
+ GetProperties()->m_dwStates &= ~FWL_STATE_CKB_Pressed;
}
- if ((m_pProperties->m_dwStates & FWL_STATE_CKB_Hovered) == 0) {
+ if ((GetProperties()->m_dwStates & FWL_STATE_CKB_Hovered) == 0) {
bRepaint = true;
- m_pProperties->m_dwStates |= FWL_STATE_CKB_Hovered;
+ GetProperties()->m_dwStates |= FWL_STATE_CKB_Hovered;
}
}
} else {
if (m_ClientRect.Contains(pMsg->m_pos)) {
- if ((m_pProperties->m_dwStates & FWL_STATE_CKB_Hovered) == 0) {
+ if ((GetProperties()->m_dwStates & FWL_STATE_CKB_Hovered) == 0) {
bRepaint = true;
- m_pProperties->m_dwStates |= FWL_STATE_CKB_Hovered;
+ GetProperties()->m_dwStates |= FWL_STATE_CKB_Hovered;
}
}
}
@@ -317,9 +317,9 @@
void CFWL_CheckBox::OnMouseLeave() {
if (m_bBtnDown)
- m_pProperties->m_dwStates |= FWL_STATE_CKB_Hovered;
+ GetProperties()->m_dwStates |= FWL_STATE_CKB_Hovered;
else
- m_pProperties->m_dwStates &= ~FWL_STATE_CKB_Hovered;
+ GetProperties()->m_dwStates &= ~FWL_STATE_CKB_Hovered;
RepaintRect(m_BoxRect);
}
diff --git a/xfa/fwl/cfwl_combobox.cpp b/xfa/fwl/cfwl_combobox.cpp
index 8cce9ff..920fbd4 100644
--- a/xfa/fwl/cfwl_combobox.cpp
+++ b/xfa/fwl/cfwl_combobox.cpp
@@ -61,7 +61,7 @@
bool bDelDropDown = !!(dwStylesExRemoved & FWL_STYLEEXT_CMB_DropDown);
dwStylesExRemoved &= ~FWL_STYLEEXT_CMB_DropDown;
- m_pProperties->m_dwStyleExes |= FWL_STYLEEXT_CMB_DropDown;
+ GetProperties()->m_dwStyleExes |= FWL_STYLEEXT_CMB_DropDown;
if (bAddDropDown)
m_pEdit->ModifyStylesEx(0, FWL_STYLEEXT_EDT_ReadOnly);
@@ -71,8 +71,9 @@
}
void CFWL_ComboBox::Update() {
- if (m_iLock)
+ if (IsLocked())
return;
+
if (m_pEdit)
ResetEditAlignment();
ResetTheme();
@@ -80,8 +81,8 @@
}
FWL_WidgetHit CFWL_ComboBox::HitTest(const CFX_PointF& point) {
- CFX_RectF rect(0, 0, m_pProperties->m_WidgetRect.width - m_BtnRect.width,
- m_pProperties->m_WidgetRect.height);
+ CFX_RectF rect(0, 0, GetProperties()->m_WidgetRect.width - m_BtnRect.width,
+ GetProperties()->m_WidgetRect.height);
if (rect.Contains(point))
return FWL_WidgetHit::Edit;
if (m_BtnRect.Contains(point))
@@ -96,7 +97,7 @@
void CFWL_ComboBox::DrawWidget(CXFA_Graphics* pGraphics,
const CFX_Matrix& matrix) {
- IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider.Get();
+ IFWL_ThemeProvider* pTheme = GetProperties()->m_pThemeProvider.Get();
pGraphics->SaveGraphState();
pGraphics->ConcatMatrix(&matrix);
if (!m_BtnRect.IsEmpty(0.1f)) {
@@ -128,7 +129,7 @@
if (!pThemeProvider)
return;
- m_pProperties->m_pThemeProvider = pThemeProvider;
+ GetProperties()->m_pThemeProvider = pThemeProvider;
if (m_pListBox)
m_pListBox->SetThemeProvider(pThemeProvider);
if (m_pEdit)
@@ -195,7 +196,7 @@
}
CFX_RectF CFWL_ComboBox::GetBBox() const {
- CFX_RectF rect = m_pProperties->m_WidgetRect;
+ CFX_RectF rect = GetProperties()->m_WidgetRect;
if (!m_pListBox || !IsDropListVisible())
return rect;
@@ -236,9 +237,9 @@
fPopupMin = fItemHeight * 3 + fBorder * 2;
float fPopupMax = fItemHeight * iItems + fBorder * 2;
- CFX_RectF rtList(m_ClientRect.left, 0, m_pProperties->m_WidgetRect.width,
+ CFX_RectF rtList(m_ClientRect.left, 0, GetProperties()->m_WidgetRect.width,
0);
- GetPopupPos(fPopupMin, fPopupMax, m_pProperties->m_WidgetRect, &rtList);
+ GetPopupPos(fPopupMin, fPopupMax, GetProperties()->m_WidgetRect, &rtList);
m_pListBox->SetWidgetRect(rtList);
m_pListBox->Update();
@@ -314,10 +315,10 @@
}
void CFWL_ComboBox::ResetTheme() {
- if (!m_pProperties->m_pThemeProvider)
- m_pProperties->m_pThemeProvider = GetAvailableTheme();
+ if (!GetProperties()->m_pThemeProvider)
+ GetProperties()->m_pThemeProvider = GetAvailableTheme();
- IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider.Get();
+ IFWL_ThemeProvider* pTheme = GetProperties()->m_pThemeProvider.Get();
if (m_pListBox && !m_pListBox->GetThemeProvider())
m_pListBox->SetThemeProvider(pTheme);
if (m_pEdit && !m_pEdit->GetThemeProvider())
@@ -329,7 +330,7 @@
return;
uint32_t dwAdd = 0;
- switch (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_CMB_EditHAlignMask) {
+ switch (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_CMB_EditHAlignMask) {
case FWL_STYLEEXT_CMB_EditHCenter: {
dwAdd |= FWL_STYLEEXT_EDT_HCenter;
break;
@@ -339,7 +340,7 @@
break;
}
}
- switch (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_CMB_EditVAlignMask) {
+ switch (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_CMB_EditVAlignMask) {
case FWL_STYLEEXT_CMB_EditVCenter: {
dwAdd |= FWL_STYLEEXT_EDT_VCenter;
break;
@@ -353,7 +354,7 @@
break;
}
}
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_CMB_EditJustified)
+ if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_CMB_EditJustified)
dwAdd |= FWL_STYLEEXT_EDT_Justified;
m_pEdit->ModifyStylesEx(dwAdd, FWL_STYLEEXT_EDT_HAlignMask |
@@ -366,7 +367,7 @@
return;
uint32_t dwAdd = 0;
- switch (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_CMB_ListItemAlignMask) {
+ switch (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_CMB_ListItemAlignMask) {
case FWL_STYLEEXT_CMB_ListItemCenterAlign: {
dwAdd |= FWL_STYLEEXT_LTB_CenterAlign;
break;
@@ -408,9 +409,9 @@
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 = std::make_unique<CFWL_ComboList>(m_pOwnerApp.Get(),
- std::move(prop), this);
+ prop->m_pThemeProvider = GetProperties()->m_pThemeProvider;
+ m_pListBox =
+ std::make_unique<CFWL_ComboList>(GetOwnerApp(), std::move(prop), this);
}
void CFWL_ComboBox::InitComboEdit() {
@@ -419,10 +420,10 @@
auto prop = std::make_unique<CFWL_WidgetProperties>();
prop->m_pParent = this;
- prop->m_pThemeProvider = m_pProperties->m_pThemeProvider;
+ prop->m_pThemeProvider = GetProperties()->m_pThemeProvider;
- m_pEdit = std::make_unique<CFWL_ComboEdit>(m_pOwnerApp.Get(), std::move(prop),
- this);
+ m_pEdit =
+ std::make_unique<CFWL_ComboEdit>(GetOwnerApp(), std::move(prop), this);
m_pEdit->SetOuter(this);
}
@@ -529,13 +530,13 @@
void CFWL_ComboBox::OnFocusChanged(CFWL_Message* pMsg, bool bSet) {
if (bSet) {
- m_pProperties->m_dwStates |= FWL_WGTSTATE_Focused;
+ GetProperties()->m_dwStates |= FWL_WGTSTATE_Focused;
if ((m_pEdit->GetStates() & FWL_WGTSTATE_Focused) == 0) {
CFWL_MessageSetFocus msg(nullptr, m_pEdit.get());
m_pEdit->GetDelegate()->OnProcessMessage(&msg);
}
} else {
- m_pProperties->m_dwStates &= ~FWL_WGTSTATE_Focused;
+ GetProperties()->m_dwStates &= ~FWL_WGTSTATE_Focused;
ShowDropList(false);
CFWL_MessageKillFocus msg(m_pEdit.get());
m_pEdit->GetDelegate()->OnProcessMessage(&msg);
@@ -584,6 +585,6 @@
float fMaxHeight,
const CFX_RectF& rtAnchor,
CFX_RectF* pPopupRect) {
- m_pWidgetMgr->GetAdapterPopupPos(this, fMinHeight, fMaxHeight, rtAnchor,
- pPopupRect);
+ GetWidgetMgr()->GetAdapterPopupPos(this, fMinHeight, fMaxHeight, rtAnchor,
+ pPopupRect);
}
diff --git a/xfa/fwl/cfwl_combobox.h b/xfa/fwl/cfwl_combobox.h
index 5b82dd3..50908cf 100644
--- a/xfa/fwl/cfwl_combobox.h
+++ b/xfa/fwl/cfwl_combobox.h
@@ -97,7 +97,7 @@
private:
bool IsDropDownStyle() const {
- return !!(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_CMB_DropDown);
+ return !!(GetProperties()->m_dwStyleExes & FWL_STYLEEXT_CMB_DropDown);
}
void MatchEditText();
void SyncEditText(int32_t iListItem);
diff --git a/xfa/fwl/cfwl_comboedit.cpp b/xfa/fwl/cfwl_comboedit.cpp
index 720ce05..a8ac57f 100644
--- a/xfa/fwl/cfwl_comboedit.cpp
+++ b/xfa/fwl/cfwl_comboedit.cpp
@@ -33,11 +33,11 @@
void CFWL_ComboEdit::FlagFocus(bool bSet) {
if (bSet) {
- m_pProperties->m_dwStates |= FWL_WGTSTATE_Focused;
+ GetProperties()->m_dwStates |= FWL_WGTSTATE_Focused;
return;
}
- m_pProperties->m_dwStates &= ~FWL_WGTSTATE_Focused;
+ GetProperties()->m_dwStates &= ~FWL_WGTSTATE_Focused;
HideCaret(nullptr);
}
@@ -48,19 +48,19 @@
bool backDefault = true;
switch (pMessage->GetType()) {
case CFWL_Message::Type::kSetFocus: {
- m_pProperties->m_dwStates |= FWL_WGTSTATE_Focused;
+ GetProperties()->m_dwStates |= FWL_WGTSTATE_Focused;
backDefault = false;
break;
}
case CFWL_Message::Type::kKillFocus: {
- m_pProperties->m_dwStates &= ~FWL_WGTSTATE_Focused;
+ GetProperties()->m_dwStates &= ~FWL_WGTSTATE_Focused;
backDefault = false;
break;
}
case CFWL_Message::Type::kMouse: {
CFWL_MessageMouse* pMsg = static_cast<CFWL_MessageMouse*>(pMessage);
if ((pMsg->m_dwCmd == FWL_MouseCommand::LeftButtonDown) &&
- ((m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) == 0)) {
+ ((GetProperties()->m_dwStates & FWL_WGTSTATE_Focused) == 0)) {
SetSelected();
}
break;
diff --git a/xfa/fwl/cfwl_combolist.cpp b/xfa/fwl/cfwl_combolist.cpp
index 3884a60..745ebb4 100644
--- a/xfa/fwl/cfwl_combolist.cpp
+++ b/xfa/fwl/cfwl_combolist.cpp
@@ -64,10 +64,10 @@
}
CFX_PointF CFWL_ComboList::ClientToOuter(const CFX_PointF& point) {
- CFX_PointF ret = point + CFX_PointF(m_pProperties->m_WidgetRect.left,
- m_pProperties->m_WidgetRect.top);
+ CFX_PointF ret = point + CFX_PointF(GetProperties()->m_WidgetRect.left,
+ GetProperties()->m_WidgetRect.top);
CFWL_Widget* pOwner = GetOwner();
- return pOwner ? pOwner->TransformTo(m_pOuter, ret) : ret;
+ return pOwner ? pOwner->TransformTo(GetOuter(), ret) : ret;
}
void CFWL_ComboList::OnProcessMessage(CFWL_Message* pMessage) {
@@ -121,8 +121,8 @@
return;
CFWL_MessageKillFocus* pKill = static_cast<CFWL_MessageKillFocus*>(pMsg);
- CFWL_ComboBox* pOuter = static_cast<CFWL_ComboBox*>(m_pOuter);
- if (pKill->IsFocusedOnWidget(m_pOuter) ||
+ CFWL_ComboBox* pOuter = static_cast<CFWL_ComboBox*>(GetOuter());
+ if (pKill->IsFocusedOnWidget(pOuter) ||
pKill->IsFocusedOnWidget(pOuter->GetComboEdit())) {
pOuter->ShowDropList(false);
}
@@ -148,7 +148,7 @@
} else if (m_bNotifyOwner) {
pMsg->m_pos = ClientToOuter(pMsg->m_pos);
- CFWL_ComboBox* pOuter = static_cast<CFWL_ComboBox*>(m_pOuter);
+ CFWL_ComboBox* pOuter = static_cast<CFWL_ComboBox*>(GetOuter());
pOuter->GetDelegate()->OnProcessMessage(pMsg);
}
}
@@ -157,12 +157,12 @@
if (GetRTClient().Contains(pMsg->m_pos))
return;
- CFWL_ComboBox* pOuter = static_cast<CFWL_ComboBox*>(m_pOuter);
+ CFWL_ComboBox* pOuter = static_cast<CFWL_ComboBox*>(GetOuter());
pOuter->ShowDropList(false);
}
void CFWL_ComboList::OnDropListLButtonUp(CFWL_MessageMouse* pMsg) {
- CFWL_ComboBox* pOuter = static_cast<CFWL_ComboBox*>(m_pOuter);
+ CFWL_ComboBox* pOuter = static_cast<CFWL_ComboBox*>(GetOuter());
if (m_bNotifyOwner) {
pMsg->m_pos = ClientToOuter(pMsg->m_pos);
pOuter->GetDelegate()->OnProcessMessage(pMsg);
@@ -183,7 +183,7 @@
}
bool CFWL_ComboList::OnDropListKey(CFWL_MessageKey* pKey) {
- CFWL_ComboBox* pOuter = static_cast<CFWL_ComboBox*>(m_pOuter);
+ CFWL_ComboBox* pOuter = static_cast<CFWL_ComboBox*>(GetOuter());
bool bPropagate = false;
if (pKey->m_dwCmd == CFWL_MessageKey::Type::kKeyDown) {
uint32_t dwKeyCode = pKey->m_dwKeyCode;
@@ -208,7 +208,7 @@
bPropagate = true;
}
if (bPropagate) {
- pKey->SetDstTarget(m_pOuter);
+ pKey->SetDstTarget(GetOuter());
pOuter->GetDelegate()->OnProcessMessage(pKey);
return true;
}
@@ -222,7 +222,7 @@
case XFA_FWL_VKEY_Down:
case XFA_FWL_VKEY_Home:
case XFA_FWL_VKEY_End: {
- CFWL_ComboBox* pOuter = static_cast<CFWL_ComboBox*>(m_pOuter);
+ CFWL_ComboBox* pOuter = static_cast<CFWL_ComboBox*>(GetOuter());
CFWL_ListItem* hItem = GetItem(this, pOuter->GetCurrentSelection());
hItem = GetListItem(hItem, dwKeyCode);
if (!hItem)
@@ -230,8 +230,8 @@
SetSelection(hItem, hItem, true);
ScrollToVisible(hItem);
- CFX_RectF rtInvalidate(0, 0, m_pProperties->m_WidgetRect.width,
- m_pProperties->m_WidgetRect.height);
+ CFX_RectF rtInvalidate(0, 0, GetProperties()->m_WidgetRect.width,
+ GetProperties()->m_WidgetRect.height);
RepaintRect(rtInvalidate);
break;
}
diff --git a/xfa/fwl/cfwl_datetimeedit.cpp b/xfa/fwl/cfwl_datetimeedit.cpp
index 126c26c..e93d3af 100644
--- a/xfa/fwl/cfwl_datetimeedit.cpp
+++ b/xfa/fwl/cfwl_datetimeedit.cpp
@@ -30,11 +30,11 @@
CFWL_MessageMouse* pMouse = static_cast<CFWL_MessageMouse*>(pMessage);
if (pMouse->m_dwCmd == FWL_MouseCommand::LeftButtonDown ||
pMouse->m_dwCmd == FWL_MouseCommand::RightButtonDown) {
- if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) == 0)
- m_pProperties->m_dwStates |= FWL_WGTSTATE_Focused;
+ if ((GetProperties()->m_dwStates & FWL_WGTSTATE_Focused) == 0)
+ GetProperties()->m_dwStates |= FWL_WGTSTATE_Focused;
CFWL_DateTimePicker* pDateTime =
- static_cast<CFWL_DateTimePicker*>(m_pOuter);
+ static_cast<CFWL_DateTimePicker*>(GetOuter());
if (pDateTime->IsMonthCalendarVisible()) {
CFX_RectF rtInvalidate = pDateTime->GetWidgetRect();
pDateTime->ShowMonthCalendar(false);
diff --git a/xfa/fwl/cfwl_datetimepicker.cpp b/xfa/fwl/cfwl_datetimepicker.cpp
index 241e969..047e5c6 100644
--- a/xfa/fwl/cfwl_datetimepicker.cpp
+++ b/xfa/fwl/cfwl_datetimepicker.cpp
@@ -25,24 +25,24 @@
} // namespace
CFWL_DateTimePicker::CFWL_DateTimePicker(const CFWL_App* app)
: CFWL_Widget(app, std::make_unique<CFWL_WidgetProperties>(), nullptr) {
- m_pProperties->m_dwStyleExes = FWL_STYLEEXT_DTP_ShortDateFormat;
+ GetProperties()->m_dwStyleExes = FWL_STYLEEXT_DTP_ShortDateFormat;
auto monthProp = std::make_unique<CFWL_WidgetProperties>();
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;
+ monthProp->m_pThemeProvider = GetProperties()->m_pThemeProvider;
m_pMonthCal = std::make_unique<CFWL_MonthCalendar>(
- m_pOwnerApp.Get(), std::move(monthProp), this);
+ GetOwnerApp(), std::move(monthProp), this);
m_pMonthCal->SetWidgetRect(
CFX_RectF(0, 0, m_pMonthCal->GetAutosizedWidgetRect().Size()));
auto editProp = std::make_unique<CFWL_WidgetProperties>();
editProp->m_pParent = this;
- editProp->m_pThemeProvider = m_pProperties->m_pThemeProvider;
+ editProp->m_pThemeProvider = GetProperties()->m_pThemeProvider;
- m_pEdit = std::make_unique<CFWL_DateTimeEdit>(m_pOwnerApp.Get(),
+ m_pEdit = std::make_unique<CFWL_DateTimeEdit>(GetOwnerApp(),
std::move(editProp), this);
RegisterEventTarget(m_pMonthCal.get());
RegisterEventTarget(m_pEdit.get());
@@ -57,18 +57,18 @@
}
void CFWL_DateTimePicker::Update() {
- if (m_iLock)
+ if (IsLocked())
return;
- if (!m_pProperties->m_pThemeProvider)
- m_pProperties->m_pThemeProvider = GetAvailableTheme();
- m_pEdit->SetThemeProvider(m_pProperties->m_pThemeProvider.Get());
+ if (!GetProperties()->m_pThemeProvider)
+ GetProperties()->m_pThemeProvider = GetAvailableTheme();
+ m_pEdit->SetThemeProvider(GetProperties()->m_pThemeProvider.Get());
m_ClientRect = GetClientRect();
m_pEdit->SetWidgetRect(m_ClientRect);
ResetEditAlignment();
m_pEdit->Update();
if (!m_pMonthCal->GetThemeProvider())
- m_pMonthCal->SetThemeProvider(m_pProperties->m_pThemeProvider.Get());
+ m_pMonthCal->SetThemeProvider(GetProperties()->m_pThemeProvider.Get());
IFWL_ThemeProvider* theme = GetAvailableTheme();
if (!theme)
@@ -83,8 +83,8 @@
}
FWL_WidgetHit CFWL_DateTimePicker::HitTest(const CFX_PointF& point) {
- CFX_RectF rect(0, 0, m_pProperties->m_WidgetRect.width,
- m_pProperties->m_WidgetRect.height);
+ CFX_RectF rect(0, 0, GetProperties()->m_WidgetRect.width,
+ GetProperties()->m_WidgetRect.height);
if (rect.Contains(point))
return FWL_WidgetHit::Edit;
if (NeedsToShowButton())
@@ -103,7 +103,7 @@
if (!pGraphics)
return;
- IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider.Get();
+ IFWL_ThemeProvider* pTheme = GetProperties()->m_pThemeProvider.Get();
if (!pTheme)
return;
@@ -129,7 +129,7 @@
}
void CFWL_DateTimePicker::SetThemeProvider(IFWL_ThemeProvider* pTP) {
- m_pProperties->m_pThemeProvider = pTP;
+ GetProperties()->m_pThemeProvider = pTP;
m_pMonthCal->SetThemeProvider(pTP);
}
@@ -181,15 +181,15 @@
}
CFX_RectF CFWL_DateTimePicker::GetBBox() const {
- CFX_RectF rect = m_pProperties->m_WidgetRect;
+ CFX_RectF rect = GetProperties()->m_WidgetRect;
if (NeedsToShowButton())
rect.width += m_fBtn;
if (!IsMonthCalendarVisible())
return rect;
CFX_RectF rtMonth = m_pMonthCal->GetWidgetRect();
- rtMonth.Offset(m_pProperties->m_WidgetRect.left,
- m_pProperties->m_WidgetRect.top);
+ rtMonth.Offset(GetProperties()->m_WidgetRect.left,
+ GetProperties()->m_WidgetRect.top);
rect.Union(rtMonth);
return rect;
}
@@ -216,7 +216,7 @@
WideString CFWL_DateTimePicker::FormatDateString(int32_t iYear,
int32_t iMonth,
int32_t iDay) {
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_DTP_ShortDateFormat)
+ if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_DTP_ShortDateFormat)
return WideString::Format(L"%d-%d-%d", iYear, iMonth, iDay);
return WideString::Format(L"%d Year %d Month %d Day", iYear, iMonth, iDay);
@@ -230,7 +230,7 @@
CFX_RectF rtMonthCal = m_pMonthCal->GetAutosizedWidgetRect();
float fPopupMin = rtMonthCal.height;
float fPopupMax = rtMonthCal.height;
- CFX_RectF rtAnchor(m_pProperties->m_WidgetRect);
+ CFX_RectF rtAnchor(GetProperties()->m_WidgetRect);
rtAnchor.width = rtMonthCal.width;
rtMonthCal.left = m_ClientRect.left;
rtMonthCal.top = rtAnchor.Height();
@@ -250,8 +250,8 @@
m_pEdit->GetDelegate()->OnProcessMessage(&msg);
}
- CFX_RectF rtInvalidate(0, 0, m_pProperties->m_WidgetRect.width,
- m_pProperties->m_WidgetRect.height);
+ CFX_RectF rtInvalidate(0, 0, GetProperties()->m_WidgetRect.width,
+ GetProperties()->m_WidgetRect.height);
CFX_RectF rtCal = m_pMonthCal->GetWidgetRect();
rtInvalidate.Union(rtCal);
@@ -268,7 +268,7 @@
return;
uint32_t dwAdd = 0;
- switch (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_DTP_EditHAlignMask) {
+ switch (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_DTP_EditHAlignMask) {
case FWL_STYLEEXT_DTP_EditHCenter: {
dwAdd |= FWL_STYLEEXT_EDT_HCenter;
break;
@@ -282,7 +282,7 @@
break;
}
}
- switch (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_DTP_EditVAlignMask) {
+ switch (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_DTP_EditVAlignMask) {
case FWL_STYLEEXT_DTP_EditVCenter: {
dwAdd |= FWL_STYLEEXT_EDT_VCenter;
break;
@@ -296,7 +296,7 @@
break;
}
}
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_DTP_EditJustified)
+ if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_DTP_EditJustified)
dwAdd |= FWL_STYLEEXT_EDT_Justified;
m_pEdit->ModifyStylesEx(dwAdd, FWL_STYLEEXT_EDT_HAlignMask |
@@ -328,7 +328,7 @@
}
bool CFWL_DateTimePicker::NeedsToShowButton() const {
- return m_pProperties->m_dwStates & FWL_WGTSTATE_Focused ||
+ return GetProperties()->m_dwStates & FWL_WGTSTATE_Focused ||
m_pMonthCal->GetStates() & FWL_WGTSTATE_Focused ||
m_pEdit->GetStates() & FWL_WGTSTATE_Focused;
}
@@ -390,16 +390,16 @@
CFX_RectF rtInvalidate(m_BtnRect);
if (bSet) {
- m_pProperties->m_dwStates |= FWL_WGTSTATE_Focused;
+ GetProperties()->m_dwStates |= FWL_WGTSTATE_Focused;
if (m_pEdit && !(m_pEdit->GetStylesEx() & FWL_STYLEEXT_EDT_ReadOnly)) {
- m_BtnRect = CFX_RectF(m_pProperties->m_WidgetRect.width, 0, m_fBtn,
- m_pProperties->m_WidgetRect.height - 1);
+ m_BtnRect = CFX_RectF(GetProperties()->m_WidgetRect.width, 0, m_fBtn,
+ GetProperties()->m_WidgetRect.height - 1);
}
rtInvalidate = m_BtnRect;
pMsg->SetDstTarget(m_pEdit.get());
m_pEdit->GetDelegate()->OnProcessMessage(pMsg);
} else {
- m_pProperties->m_dwStates &= ~FWL_WGTSTATE_Focused;
+ GetProperties()->m_dwStates &= ~FWL_WGTSTATE_Focused;
m_BtnRect = CFX_RectF();
if (IsMonthCalendarVisible())
ShowMonthCalendar(false);
@@ -457,8 +457,8 @@
float fMaxHeight,
const CFX_RectF& rtAnchor,
CFX_RectF* pPopupRect) {
- m_pWidgetMgr->GetAdapterPopupPos(this, fMinHeight, fMaxHeight, rtAnchor,
- pPopupRect);
+ GetWidgetMgr()->GetAdapterPopupPos(this, fMinHeight, fMaxHeight, rtAnchor,
+ pPopupRect);
}
void CFWL_DateTimePicker::ClearText() {
diff --git a/xfa/fwl/cfwl_edit.cpp b/xfa/fwl/cfwl_edit.cpp
index 8c49480..3c9552d 100644
--- a/xfa/fwl/cfwl_edit.cpp
+++ b/xfa/fwl/cfwl_edit.cpp
@@ -54,7 +54,7 @@
CFWL_Edit::~CFWL_Edit() {
m_pEditEngine->SetDelegate(nullptr);
- if (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused)
+ if (GetProperties()->m_dwStates & FWL_WGTSTATE_Focused)
HideCaret(nullptr);
}
@@ -63,8 +63,8 @@
}
CFX_RectF CFWL_Edit::GetWidgetRect() {
- CFX_RectF rect = m_pProperties->m_WidgetRect;
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_OuterScrollbar) {
+ CFX_RectF rect = GetProperties()->m_WidgetRect;
+ if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_OuterScrollbar) {
IFWL_ThemeProvider* theme = GetAvailableTheme();
float scrollbarWidth = theme ? theme->GetScrollBarWidth() : 0.0f;
if (IsShowScrollBar(true)) {
@@ -84,8 +84,8 @@
if (m_pEditEngine->GetLength() > 0) {
CFX_SizeF size = CalcTextSize(
- m_pEditEngine->GetText(), m_pProperties->m_pThemeProvider.Get(),
- !!(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_MultiLine));
+ m_pEditEngine->GetText(), GetProperties()->m_pThemeProvider.Get(),
+ !!(GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_MultiLine));
rect = CFX_RectF(0, 0, size);
}
@@ -94,8 +94,8 @@
}
void CFWL_Edit::SetStates(uint32_t dwStates) {
- if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Invisible) ||
- (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)) {
+ if ((GetProperties()->m_dwStates & FWL_WGTSTATE_Invisible) ||
+ (GetProperties()->m_dwStates & FWL_WGTSTATE_Disabled)) {
HideCaret(nullptr);
}
CFWL_Widget::SetStates(dwStates);
@@ -104,8 +104,8 @@
void CFWL_Edit::Update() {
if (IsLocked())
return;
- if (!m_pProperties->m_pThemeProvider)
- m_pProperties->m_pThemeProvider = GetAvailableTheme();
+ if (!GetProperties()->m_pThemeProvider)
+ GetProperties()->m_pThemeProvider = GetAvailableTheme();
Layout();
if (m_ClientRect.IsEmpty())
@@ -118,7 +118,7 @@
}
FWL_WidgetHit CFWL_Edit::HitTest(const CFX_PointF& point) {
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_OuterScrollbar) {
+ if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_OuterScrollbar) {
if (IsShowScrollBar(true)) {
if (m_pVertScrollBar->GetWidgetRect().Contains(point))
return FWL_WidgetHit::VScrollBar;
@@ -140,7 +140,7 @@
if (m_ClientRect.IsEmpty())
return;
- IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider.Get();
+ IFWL_ThemeProvider* pTheme = GetProperties()->m_pThemeProvider.Get();
if (!pTheme)
return;
@@ -158,7 +158,7 @@
m_pVertScrollBar->SetThemeProvider(pThemeProvider);
if (m_pCaret)
m_pCaret->SetThemeProvider(pThemeProvider);
- m_pProperties->m_pThemeProvider = pThemeProvider;
+ GetProperties()->m_pThemeProvider = pThemeProvider;
}
void CFWL_Edit::SetText(const WideString& wsText) {
@@ -261,10 +261,6 @@
return m_pEditEngine->CanRedo();
}
-void CFWL_Edit::SetOuter(CFWL_Widget* pOuter) {
- m_pOuter = pOuter;
-}
-
void CFWL_Edit::NotifyTextFull() {
CFWL_Event evt(CFWL_Event::Type::TextFull, this);
DispatchEvent(&evt);
@@ -273,14 +269,14 @@
void CFWL_Edit::OnCaretChanged() {
if (m_EngineRect.IsEmpty())
return;
- if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) == 0)
+ if ((GetProperties()->m_dwStates & FWL_WGTSTATE_Focused) == 0)
return;
bool bRepaintContent = UpdateOffset();
UpdateCaret();
CFX_RectF rtInvalid;
bool bRepaintScroll = false;
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_MultiLine) {
+ if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_MultiLine) {
CFWL_ScrollBar* pScroll = UpdateScroll();
if (pScroll) {
rtInvalid = pScroll->GetWidgetRect();
@@ -311,7 +307,7 @@
}
void CFWL_Edit::OnTextChanged() {
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_VAlignMask)
+ if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_VAlignMask)
UpdateVAlignment();
LayoutScrollBar();
@@ -341,10 +337,10 @@
param.m_pWidget = this;
param.m_iPart = CFWL_Part::Background;
param.m_bStaticBackground = false;
- param.m_dwStates = m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_ReadOnly
+ param.m_dwStates = GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_ReadOnly
? CFWL_PartState_ReadOnly
: CFWL_PartState_Normal;
- uint32_t dwStates = (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled);
+ uint32_t dwStates = (GetProperties()->m_dwStates & FWL_WGTSTATE_Disabled);
if (dwStates)
param.m_dwStates = CFWL_PartState_Disabled;
param.m_pGraphics = pGraphics;
@@ -371,7 +367,7 @@
const CFX_Matrix* pMatrix) {
pGraphics->SaveGraphState();
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_CombText)
+ if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_CombText)
pGraphics->SaveGraphState();
CFX_RectF rtClip = m_EngineRect;
@@ -384,7 +380,7 @@
mt.Concat(*pMatrix);
}
- bool bShowSel = !!(m_pProperties->m_dwStates & FWL_WGTSTATE_Focused);
+ bool bShowSel = !!(GetProperties()->m_dwStates & FWL_WGTSTATE_Focused);
if (bShowSel && m_pEditEngine->HasSelection()) {
size_t sel_start;
size_t count;
@@ -412,7 +408,7 @@
CFX_RenderDevice* pRenderDev = pGraphics->GetRenderDevice();
RenderText(pRenderDev, rtClip, mt);
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_CombText) {
+ if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_CombText) {
pGraphics->RestoreGraphState();
CXFA_GEPath path;
@@ -478,15 +474,15 @@
void CFWL_Edit::UpdateEditParams() {
m_pEditEngine->SetAvailableWidth(m_EngineRect.width);
m_pEditEngine->SetCombText(
- !!(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_CombText));
+ !!(GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_CombText));
m_pEditEngine->EnableValidation(
- !!(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_Validate));
+ !!(GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_Validate));
m_pEditEngine->EnablePasswordMode(
- !!(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_Password));
+ !!(GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_Password));
uint32_t alignment = 0;
- switch (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_HAlignMask) {
+ switch (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_HAlignMask) {
case FWL_STYLEEXT_EDT_HNear: {
alignment |= CFX_TxtLineAlignment_Left;
break;
@@ -502,7 +498,7 @@
default:
break;
}
- switch (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_HAlignModeMask) {
+ switch (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_HAlignModeMask) {
case FWL_STYLEEXT_EDT_Justified: {
alignment |= CFX_TxtLineAlignment_Justified;
break;
@@ -513,13 +509,13 @@
m_pEditEngine->SetAlignment(alignment);
bool auto_hscroll =
- !!(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_AutoHScroll);
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_MultiLine) {
+ !!(GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_AutoHScroll);
+ if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_MultiLine) {
m_pEditEngine->EnableMultiLine(true);
m_pEditEngine->EnableLineWrap(!auto_hscroll);
m_pEditEngine->LimitVerticalScroll(
- (m_pProperties->m_dwStyles & FWL_WGTSTYLE_VScroll) == 0 &&
- (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_AutoVScroll) == 0);
+ (GetProperties()->m_dwStyles & FWL_WGTSTYLE_VScroll) == 0 &&
+ (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_AutoVScroll) == 0);
} else {
m_pEditEngine->EnableMultiLine(false);
m_pEditEngine->EnableLineWrap(false);
@@ -619,14 +615,14 @@
float fOffsetY = 0.0f;
CFX_RectF contents_bounds = m_pEditEngine->GetContentsBoundingBox();
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_VCenter) {
+ if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_VCenter) {
fOffsetY = (m_EngineRect.height - contents_bounds.height) / 2.0f;
if (fOffsetY < (fSpaceAbove + fSpaceBelow) / 2.0f &&
fSpaceAbove < fSpaceBelow) {
return;
}
fOffsetY += (fSpaceAbove - fSpaceBelow) / 2.0f;
- } else if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_VFar) {
+ } else if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_VFar) {
fOffsetY = (m_EngineRect.height - contents_bounds.height);
fOffsetY -= fSpaceBelow;
} else {
@@ -648,7 +644,7 @@
rtCaret.width = right - rtCaret.left;
}
- if (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused && !rtCaret.IsEmpty())
+ if (GetProperties()->m_dwStates & FWL_WGTSTATE_Focused && !rtCaret.IsEmpty())
ShowCaret(&rtCaret);
else
HideCaret(&rtCaret);
@@ -726,12 +722,12 @@
if (!bVert)
return false;
bool bShow =
- (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_ShowScrollbarFocus)
- ? (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) ==
+ (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_ShowScrollbarFocus)
+ ? (GetProperties()->m_dwStates & FWL_WGTSTATE_Focused) ==
FWL_WGTSTATE_Focused
: true;
- return bShow && (m_pProperties->m_dwStyles & FWL_WGTSTYLE_VScroll) &&
- (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_MultiLine) &&
+ return bShow && (GetProperties()->m_dwStyles & FWL_WGTSTYLE_VScroll) &&
+ (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_MultiLine) &&
IsContentHeightOverflow();
}
@@ -749,13 +745,13 @@
float fWidth = theme->GetScrollBarWidth();
CFWL_ThemePart part;
- if (!m_pOuter) {
+ if (!GetOuter()) {
part.m_pWidget = this;
CFX_RectF pUIMargin = theme->GetUIMargin(part);
m_EngineRect.Deflate(pUIMargin.left, pUIMargin.top, pUIMargin.width,
pUIMargin.height);
- } else if (m_pOuter->GetClassID() == FWL_Type::DateTimePicker) {
- part.m_pWidget = m_pOuter;
+ } else if (GetOuter()->GetClassID() == FWL_Type::DateTimePicker) {
+ part.m_pWidget = GetOuter();
CFX_RectF pUIMargin = theme->GetUIMargin(part);
m_EngineRect.Deflate(pUIMargin.left, pUIMargin.top, pUIMargin.width,
pUIMargin.height);
@@ -767,7 +763,7 @@
InitVerticalScrollBar();
CFX_RectF rtVertScr;
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_OuterScrollbar) {
+ if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_OuterScrollbar) {
rtVertScr = CFX_RectF(m_ClientRect.right() + kEditMargin,
m_ClientRect.top, fWidth, m_ClientRect.height);
} else {
@@ -789,7 +785,7 @@
InitHorizontalScrollBar();
CFX_RectF rtHoriScr;
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_OuterScrollbar) {
+ if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_OuterScrollbar) {
rtHoriScr =
CFX_RectF(m_ClientRect.left, m_ClientRect.bottom() + kEditMargin,
m_ClientRect.width, fWidth);
@@ -809,7 +805,7 @@
}
void CFWL_Edit::LayoutScrollBar() {
- if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_ShowScrollbarFocus) ==
+ if ((GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_ShowScrollbarFocus) ==
0) {
return;
}
@@ -823,7 +819,7 @@
if (!m_pVertScrollBar) {
InitVerticalScrollBar();
CFX_RectF rtVertScr;
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_OuterScrollbar) {
+ if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_OuterScrollbar) {
rtVertScr = CFX_RectF(m_ClientRect.right() + kEditMargin,
m_ClientRect.top, fWidth, m_ClientRect.height);
} else {
@@ -844,7 +840,7 @@
if (!m_pHorzScrollBar) {
InitHorizontalScrollBar();
CFX_RectF rtHoriScr;
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_OuterScrollbar) {
+ if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_OuterScrollbar) {
rtHoriScr =
CFX_RectF(m_ClientRect.left, m_ClientRect.bottom() + kEditMargin,
m_ClientRect.width, fWidth);
@@ -878,9 +874,9 @@
prop->m_dwStyleExes = FWL_STYLEEXT_SCB_Vert;
prop->m_dwStates = FWL_WGTSTATE_Disabled | FWL_WGTSTATE_Invisible;
prop->m_pParent = this;
- prop->m_pThemeProvider = m_pProperties->m_pThemeProvider;
- m_pVertScrollBar = std::make_unique<CFWL_ScrollBar>(m_pOwnerApp.Get(),
- std::move(prop), this);
+ prop->m_pThemeProvider = GetProperties()->m_pThemeProvider;
+ m_pVertScrollBar =
+ std::make_unique<CFWL_ScrollBar>(GetOwnerApp(), std::move(prop), this);
}
void CFWL_Edit::InitHorizontalScrollBar() {
@@ -891,9 +887,9 @@
prop->m_dwStyleExes = FWL_STYLEEXT_SCB_Horz;
prop->m_dwStates = FWL_WGTSTATE_Disabled | FWL_WGTSTATE_Invisible;
prop->m_pParent = this;
- prop->m_pThemeProvider = m_pProperties->m_pThemeProvider;
- m_pHorzScrollBar = std::make_unique<CFWL_ScrollBar>(m_pOwnerApp.Get(),
- std::move(prop), this);
+ prop->m_pThemeProvider = GetProperties()->m_pThemeProvider;
+ m_pHorzScrollBar =
+ std::make_unique<CFWL_ScrollBar>(GetOwnerApp(), std::move(prop), this);
}
void CFWL_Edit::ShowCaret(CFX_RectF* pRect) {
@@ -906,8 +902,8 @@
}
CFWL_Widget* pOuter = this;
- pRect->Offset(m_pProperties->m_WidgetRect.left,
- m_pProperties->m_WidgetRect.top);
+ pRect->Offset(GetProperties()->m_WidgetRect.left,
+ GetProperties()->m_WidgetRect.top);
while (pOuter->GetOuter()) {
pOuter = pOuter->GetOuter();
@@ -966,9 +962,9 @@
return;
m_pCaret = std::make_unique<CFWL_Caret>(
- m_pOwnerApp.Get(), std::make_unique<CFWL_WidgetProperties>(), this);
+ GetOwnerApp(), std::make_unique<CFWL_WidgetProperties>(), this);
m_pCaret->SetParent(this);
- m_pCaret->SetStates(m_pProperties->m_dwStates);
+ m_pCaret->SetStates(GetProperties()->m_dwStates);
UpdateCursorRect();
}
@@ -1077,13 +1073,13 @@
void CFWL_Edit::OnFocusChanged(CFWL_Message* pMsg, bool bSet) {
bool bRepaint = false;
if (bSet) {
- m_pProperties->m_dwStates |= FWL_WGTSTATE_Focused;
+ GetProperties()->m_dwStates |= FWL_WGTSTATE_Focused;
UpdateVAlignment();
UpdateOffset();
UpdateCaret();
- } else if (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) {
- m_pProperties->m_dwStates &= ~FWL_WGTSTATE_Focused;
+ } else if (GetProperties()->m_dwStates & FWL_WGTSTATE_Focused) {
+ GetProperties()->m_dwStates &= ~FWL_WGTSTATE_Focused;
HideCaret(nullptr);
if (HasSelection()) {
@@ -1097,13 +1093,13 @@
if (!bRepaint)
return;
- CFX_RectF rtInvalidate(0, 0, m_pProperties->m_WidgetRect.width,
- m_pProperties->m_WidgetRect.height);
+ CFX_RectF rtInvalidate(0, 0, GetProperties()->m_WidgetRect.width,
+ GetProperties()->m_WidgetRect.height);
RepaintRect(rtInvalidate);
}
void CFWL_Edit::OnLButtonDown(CFWL_MessageMouse* pMsg) {
- if (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)
+ if (GetProperties()->m_dwStates & FWL_WGTSTATE_Disabled)
return;
m_bLButtonDown = true;
@@ -1212,8 +1208,8 @@
: m_pEditEngine->GetIndexAtEndOfLine(m_CursorPosition));
break;
case XFA_FWL_VKEY_Delete: {
- if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_ReadOnly) ||
- (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)) {
+ if ((GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_ReadOnly) ||
+ (GetProperties()->m_dwStates & FWL_WGTSTATE_Disabled)) {
break;
}
@@ -1237,8 +1233,8 @@
}
void CFWL_Edit::OnChar(CFWL_MessageKey* pMsg) {
- if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_ReadOnly) ||
- (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)) {
+ if ((GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_ReadOnly) ||
+ (GetProperties()->m_dwStates & FWL_WGTSTATE_Disabled)) {
return;
}
@@ -1260,7 +1256,7 @@
SetCursorPosition(m_CursorPosition + 1);
break;
case L'\r':
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_WantReturn) {
+ if (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_EDT_WantReturn) {
m_pEditEngine->Insert(m_CursorPosition, L"\n");
SetCursorPosition(m_CursorPosition + 1);
}
diff --git a/xfa/fwl/cfwl_edit.h b/xfa/fwl/cfwl_edit.h
index c991163..8151946 100644
--- a/xfa/fwl/cfwl_edit.h
+++ b/xfa/fwl/cfwl_edit.h
@@ -88,8 +88,6 @@
bool CanUndo();
bool CanRedo();
- void SetOuter(CFWL_Widget* pOuter);
-
// CFDE_TextEditEngine::Delegate
void NotifyTextFull() override;
void OnCaretChanged() override;
diff --git a/xfa/fwl/cfwl_listbox.cpp b/xfa/fwl/cfwl_listbox.cpp
index f473a09..51da1b3 100644
--- a/xfa/fwl/cfwl_listbox.cpp
+++ b/xfa/fwl/cfwl_listbox.cpp
@@ -42,10 +42,10 @@
void CFWL_ListBox::Update() {
if (IsLocked())
return;
- if (!m_pProperties->m_pThemeProvider)
- m_pProperties->m_pThemeProvider = GetAvailableTheme();
+ if (!GetProperties()->m_pThemeProvider)
+ GetProperties()->m_pThemeProvider = GetAvailableTheme();
- switch (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_LTB_AlignMask) {
+ switch (GetProperties()->m_dwStyleExes & FWL_STYLEEXT_LTB_AlignMask) {
case FWL_STYLEEXT_LTB_LeftAlign: {
m_iTTOAligns = FDE_TextAlignment::kCenterLeft;
break;
@@ -86,7 +86,7 @@
if (!pGraphics)
return;
- IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider.Get();
+ IFWL_ThemeProvider* pTheme = GetProperties()->m_pThemeProvider.Get();
if (!pTheme)
return;
@@ -101,7 +101,7 @@
rtClip.width -= m_fScorllBarWidth;
pGraphics->SetClipRect(matrix.TransformRect(rtClip));
- if ((m_pProperties->m_dwStyles & FWL_WGTSTYLE_NoBackground) == 0)
+ if ((GetProperties()->m_dwStyles & FWL_WGTSTYLE_NoBackground) == 0)
DrawBkground(pGraphics, pTheme, &matrix);
DrawItems(pGraphics, pTheme, &matrix);
@@ -110,7 +110,7 @@
void CFWL_ListBox::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) {
if (pThemeProvider)
- m_pProperties->m_pThemeProvider = pThemeProvider;
+ GetProperties()->m_pThemeProvider = pThemeProvider;
}
int32_t CFWL_ListBox::CountSelItems() {
@@ -229,7 +229,7 @@
}
bool CFWL_ListBox::IsMultiSelection() const {
- return m_pProperties->m_dwStyleExes & FWL_STYLEEXT_LTB_MultiSelection;
+ return GetProperties()->m_dwStyleExes & FWL_STYLEEXT_LTB_MultiSelection;
}
bool CFWL_ListBox::IsItemSelected(CFWL_ListItem* pItem) {
@@ -405,12 +405,12 @@
const CFX_Matrix* pMatrix) {
uint32_t dwItemStyles = pItem ? pItem->GetStates() : 0;
uint32_t dwPartStates = CFWL_PartState_Normal;
- if (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)
+ if (GetProperties()->m_dwStates & FWL_WGTSTATE_Disabled)
dwPartStates = CFWL_PartState_Disabled;
else if (dwItemStyles & FWL_ITEMSTATE_LTB_Selected)
dwPartStates = CFWL_PartState_Selected;
- if (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused &&
+ if (GetProperties()->m_dwStates & FWL_WGTSTATE_Focused &&
dwItemStyles & FWL_ITEMSTATE_LTB_Focused) {
dwPartStates |= CFWL_PartState_Focused;
}
@@ -458,13 +458,13 @@
}
CFX_SizeF CFWL_ListBox::CalcSize(bool bAutoSize) {
- if (!m_pProperties->m_pThemeProvider)
+ if (!GetProperties()->m_pThemeProvider)
return CFX_SizeF();
m_ClientRect = GetClientRect();
m_ContentRect = m_ClientRect;
CFX_RectF rtUIMargin;
- if (!m_pOuter) {
+ if (!GetOuter()) {
CFWL_ThemePart part;
part.m_pWidget = this;
IFWL_ThemeProvider* theme = GetAvailableTheme();
@@ -494,7 +494,7 @@
float iHeight = m_ClientRect.height;
bool bShowVertScr = false;
bool bShowHorzScr = false;
- if (!bShowVertScr && (m_pProperties->m_dwStyles & FWL_WGTSTYLE_VScroll))
+ if (!bShowVertScr && (GetProperties()->m_dwStyles & FWL_WGTSTYLE_VScroll))
bShowVertScr = (fs.height > iHeight);
CFX_SizeF szRange;
@@ -520,9 +520,9 @@
pdfium::clamp(m_pVertScrollBar->GetPos(), 0.0f, szRange.height);
m_pVertScrollBar->SetPos(fPos);
m_pVertScrollBar->SetTrackPos(fPos);
- if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_LTB_ShowScrollBarFocus) ==
- 0 ||
- (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused)) {
+ if ((GetProperties()->m_dwStyleExes &
+ FWL_STYLEEXT_LTB_ShowScrollBarFocus) == 0 ||
+ (GetProperties()->m_dwStates & FWL_WGTSTATE_Focused)) {
m_pVertScrollBar->RemoveStates(FWL_WGTSTATE_Invisible);
}
m_pVertScrollBar->Update();
@@ -552,9 +552,9 @@
pdfium::clamp(m_pHorzScrollBar->GetPos(), 0.0f, szRange.height);
m_pHorzScrollBar->SetPos(fPos);
m_pHorzScrollBar->SetTrackPos(fPos);
- if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_LTB_ShowScrollBarFocus) ==
- 0 ||
- (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused)) {
+ if ((GetProperties()->m_dwStyleExes &
+ FWL_STYLEEXT_LTB_ShowScrollBarFocus) == 0 ||
+ (GetProperties()->m_dwStates & FWL_WGTSTATE_Focused)) {
m_pHorzScrollBar->RemoveStates(FWL_WGTSTATE_Invisible);
}
m_pHorzScrollBar->Update();
@@ -593,7 +593,7 @@
continue;
CFX_SizeF sz = CalcTextSize(pItem->GetText(),
- m_pProperties->m_pThemeProvider.Get(), false);
+ GetProperties()->m_pThemeProvider.Get(), false);
fRet = std::max(fRet, sz.width);
}
return fRet;
@@ -620,8 +620,8 @@
prop->m_dwStates = FWL_WGTSTATE_Invisible;
prop->m_pParent = this;
prop->m_pThemeProvider = m_pScrollBarTP;
- m_pVertScrollBar = std::make_unique<CFWL_ScrollBar>(m_pOwnerApp.Get(),
- std::move(prop), this);
+ m_pVertScrollBar =
+ std::make_unique<CFWL_ScrollBar>(GetOwnerApp(), std::move(prop), this);
}
void CFWL_ListBox::InitHorizontalScrollBar() {
@@ -633,8 +633,8 @@
prop->m_dwStates = FWL_WGTSTATE_Invisible;
prop->m_pParent = this;
prop->m_pThemeProvider = m_pScrollBarTP;
- m_pHorzScrollBar = std::make_unique<CFWL_ScrollBar>(m_pOwnerApp.Get(),
- std::move(prop), this);
+ m_pHorzScrollBar =
+ std::make_unique<CFWL_ScrollBar>(GetOwnerApp(), std::move(prop), this);
}
bool CFWL_ListBox::IsShowScrollBar(bool bVert) {
@@ -643,9 +643,9 @@
if (!pScrollbar || !pScrollbar->IsVisible())
return false;
- return !(m_pProperties->m_dwStyleExes &
+ return !(GetProperties()->m_dwStyleExes &
FWL_STYLEEXT_LTB_ShowScrollBarFocus) ||
- (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused);
+ (GetProperties()->m_dwStates & FWL_WGTSTATE_Focused);
}
void CFWL_ListBox::OnProcessMessage(CFWL_Message* pMessage) {
@@ -728,9 +728,9 @@
}
}
if (bSet)
- m_pProperties->m_dwStates |= (FWL_WGTSTATE_Focused);
+ GetProperties()->m_dwStates |= (FWL_WGTSTATE_Focused);
else
- m_pProperties->m_dwStates &= ~(FWL_WGTSTATE_Focused);
+ GetProperties()->m_dwStates &= ~(FWL_WGTSTATE_Focused);
RepaintRect(m_ClientRect);
}
@@ -822,8 +822,8 @@
SetFocusItem(pItem);
ScrollToVisible(pItem);
- RepaintRect(CFX_RectF(0, 0, m_pProperties->m_WidgetRect.width,
- m_pProperties->m_WidgetRect.height));
+ RepaintRect(CFX_RectF(0, 0, GetProperties()->m_WidgetRect.width,
+ GetProperties()->m_WidgetRect.height));
}
bool CFWL_ListBox::OnScroll(CFWL_ScrollBar* pScrollBar,
diff --git a/xfa/fwl/cfwl_monthcalendar.cpp b/xfa/fwl/cfwl_monthcalendar.cpp
index c4bdb15..a122f86 100644
--- a/xfa/fwl/cfwl_monthcalendar.cpp
+++ b/xfa/fwl/cfwl_monthcalendar.cpp
@@ -107,8 +107,8 @@
void CFWL_MonthCalendar::Update() {
if (IsLocked())
return;
- if (!m_pProperties->m_pThemeProvider)
- m_pProperties->m_pThemeProvider = GetAvailableTheme();
+ if (!GetProperties()->m_pThemeProvider)
+ GetProperties()->m_pThemeProvider = GetAvailableTheme();
GetCapValue();
if (!m_bInitialized) {
@@ -126,10 +126,10 @@
if (!pGraphics)
return;
- if (!m_pProperties->m_pThemeProvider)
- m_pProperties->m_pThemeProvider = GetAvailableTheme();
+ if (!GetProperties()->m_pThemeProvider)
+ GetProperties()->m_pThemeProvider = GetAvailableTheme();
- IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider.Get();
+ IFWL_ThemeProvider* pTheme = GetProperties()->m_pThemeProvider.Get();
if (HasBorder())
DrawBorder(pGraphics, CFWL_Part::Border, pTheme, matrix);
@@ -220,7 +220,7 @@
textParam.m_pGraphics = pGraphics;
textParam.m_wsText = GetHeadText(m_iCurYear, m_iCurMonth);
m_HeadSize = CalcTextSize(textParam.m_wsText,
- m_pProperties->m_pThemeProvider.Get(), false);
+ GetProperties()->m_pThemeProvider.Get(), false);
CalcHeadSize();
textParam.m_PartRect = m_HeadTextRect;
textParam.m_dwTTOStyles.single_line_ = true;
@@ -312,7 +312,7 @@
params.m_wsText = GetTodayText(m_iYear, m_iMonth, m_iDay);
m_TodaySize = CalcTextSize(params.m_wsText,
- m_pProperties->m_pThemeProvider.Get(), false);
+ GetProperties()->m_pThemeProvider.Get(), false);
CalcTodaySize();
params.m_PartRect = m_TodayRect;
params.m_dwTTOStyles.single_line_ = true;
@@ -387,7 +387,7 @@
}
CFX_SizeF CFWL_MonthCalendar::CalcSize() {
- IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider.Get();
+ IFWL_ThemeProvider* pTheme = GetProperties()->m_pThemeProvider.Get();
if (!pTheme)
return CFX_SizeF();
@@ -517,8 +517,8 @@
}
void CFWL_MonthCalendar::GetCapValue() {
- if (!m_pProperties->m_pThemeProvider)
- m_pProperties->m_pThemeProvider = GetAvailableTheme();
+ if (!GetProperties()->m_pThemeProvider)
+ GetProperties()->m_pThemeProvider = GetAvailableTheme();
}
void CFWL_MonthCalendar::InitDate() {
@@ -764,7 +764,7 @@
}
AddSelDay(iCurSel);
CFWL_DateTimePicker* pDateTime =
- static_cast<CFWL_DateTimePicker*>(m_pOuter);
+ static_cast<CFWL_DateTimePicker*>(GetOuter());
pDateTime->ProcessSelChanged(m_iCurYear, m_iCurMonth, iCurSel);
pDateTime->ShowMonthCalendar(false);
}
diff --git a/xfa/fwl/cfwl_picturebox.cpp b/xfa/fwl/cfwl_picturebox.cpp
index 353e03f..6746042 100644
--- a/xfa/fwl/cfwl_picturebox.cpp
+++ b/xfa/fwl/cfwl_picturebox.cpp
@@ -20,8 +20,8 @@
void CFWL_PictureBox::Update() {
if (IsLocked())
return;
- if (!m_pProperties->m_pThemeProvider)
- m_pProperties->m_pThemeProvider = GetAvailableTheme();
+ if (!GetProperties()->m_pThemeProvider)
+ GetProperties()->m_pThemeProvider = GetAvailableTheme();
m_ClientRect = GetClientRect();
}
@@ -30,7 +30,7 @@
const CFX_Matrix& matrix) {
if (!pGraphics)
return;
- if (!m_pProperties->m_pThemeProvider)
+ if (!GetProperties()->m_pThemeProvider)
return;
IFWL_ThemeProvider* pTheme = GetAvailableTheme();
diff --git a/xfa/fwl/cfwl_pushbutton.cpp b/xfa/fwl/cfwl_pushbutton.cpp
index 3f0cce3..2e5c962 100644
--- a/xfa/fwl/cfwl_pushbutton.cpp
+++ b/xfa/fwl/cfwl_pushbutton.cpp
@@ -31,7 +31,7 @@
void CFWL_PushButton::SetStates(uint32_t dwStates) {
if (dwStates & FWL_WGTSTATE_Disabled) {
- m_pProperties->m_dwStates = FWL_WGTSTATE_Disabled;
+ GetProperties()->m_dwStates = FWL_WGTSTATE_Disabled;
return;
}
CFWL_Widget::SetStates(dwStates);
@@ -40,8 +40,8 @@
void CFWL_PushButton::Update() {
if (IsLocked())
return;
- if (!m_pProperties->m_pThemeProvider)
- m_pProperties->m_pThemeProvider = GetAvailableTheme();
+ if (!GetProperties()->m_pThemeProvider)
+ GetProperties()->m_pThemeProvider = GetAvailableTheme();
m_ClientRect = GetClientRect();
m_CaptionRect = m_ClientRect;
@@ -52,7 +52,7 @@
if (!pGraphics)
return;
- IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider.Get();
+ IFWL_ThemeProvider* pTheme = GetProperties()->m_pThemeProvider.Get();
if (!pTheme)
return;
@@ -72,20 +72,20 @@
if (pMatrix)
param.m_matrix.Concat(*pMatrix);
param.m_PartRect = m_ClientRect;
- if (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused)
+ if (GetProperties()->m_dwStates & FWL_WGTSTATE_Focused)
param.m_pRtData = &m_CaptionRect;
pTheme->DrawBackground(param);
}
uint32_t CFWL_PushButton::GetPartStates() {
uint32_t dwStates = CFWL_PartState_Normal;
- if (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused)
+ if (GetProperties()->m_dwStates & FWL_WGTSTATE_Focused)
dwStates |= CFWL_PartState_Focused;
- if (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)
+ if (GetProperties()->m_dwStates & FWL_WGTSTATE_Disabled)
dwStates = CFWL_PartState_Disabled;
- else if (m_pProperties->m_dwStates & FWL_STATE_PSB_Pressed)
+ else if (GetProperties()->m_dwStates & FWL_STATE_PSB_Pressed)
dwStates |= CFWL_PartState_Pressed;
- else if (m_pProperties->m_dwStates & FWL_STATE_PSB_Hovered)
+ else if (GetProperties()->m_dwStates & FWL_STATE_PSB_Hovered)
dwStates |= CFWL_PartState_Hovered;
return dwStates;
}
@@ -144,28 +144,28 @@
void CFWL_PushButton::OnFocusChanged(CFWL_Message* pMsg, bool bSet) {
if (bSet)
- m_pProperties->m_dwStates |= FWL_WGTSTATE_Focused;
+ GetProperties()->m_dwStates |= FWL_WGTSTATE_Focused;
else
- m_pProperties->m_dwStates &= ~FWL_WGTSTATE_Focused;
+ GetProperties()->m_dwStates &= ~FWL_WGTSTATE_Focused;
RepaintRect(m_ClientRect);
}
void CFWL_PushButton::OnLButtonDown(CFWL_MessageMouse* pMsg) {
m_bBtnDown = true;
- m_pProperties->m_dwStates |= FWL_STATE_PSB_Hovered;
- m_pProperties->m_dwStates |= FWL_STATE_PSB_Pressed;
+ GetProperties()->m_dwStates |= FWL_STATE_PSB_Hovered;
+ GetProperties()->m_dwStates |= FWL_STATE_PSB_Pressed;
RepaintRect(m_ClientRect);
}
void CFWL_PushButton::OnLButtonUp(CFWL_MessageMouse* pMsg) {
m_bBtnDown = false;
if (m_ClientRect.Contains(pMsg->m_pos)) {
- m_pProperties->m_dwStates &= ~FWL_STATE_PSB_Pressed;
- m_pProperties->m_dwStates |= FWL_STATE_PSB_Hovered;
+ GetProperties()->m_dwStates &= ~FWL_STATE_PSB_Pressed;
+ GetProperties()->m_dwStates |= FWL_STATE_PSB_Hovered;
} else {
- m_pProperties->m_dwStates &= ~FWL_STATE_PSB_Hovered;
- m_pProperties->m_dwStates &= ~FWL_STATE_PSB_Pressed;
+ GetProperties()->m_dwStates &= ~FWL_STATE_PSB_Hovered;
+ GetProperties()->m_dwStates &= ~FWL_STATE_PSB_Pressed;
}
if (m_ClientRect.Contains(pMsg->m_pos)) {
CFWL_Event wmClick(CFWL_Event::Type::Click, this);
@@ -178,29 +178,29 @@
bool bRepaint = false;
if (m_bBtnDown) {
if (m_ClientRect.Contains(pMsg->m_pos)) {
- if ((m_pProperties->m_dwStates & FWL_STATE_PSB_Pressed) == 0) {
- m_pProperties->m_dwStates |= FWL_STATE_PSB_Pressed;
+ if ((GetProperties()->m_dwStates & FWL_STATE_PSB_Pressed) == 0) {
+ GetProperties()->m_dwStates |= FWL_STATE_PSB_Pressed;
bRepaint = true;
}
- if (m_pProperties->m_dwStates & FWL_STATE_PSB_Hovered) {
- m_pProperties->m_dwStates &= ~FWL_STATE_PSB_Hovered;
+ if (GetProperties()->m_dwStates & FWL_STATE_PSB_Hovered) {
+ GetProperties()->m_dwStates &= ~FWL_STATE_PSB_Hovered;
bRepaint = true;
}
} else {
- if (m_pProperties->m_dwStates & FWL_STATE_PSB_Pressed) {
- m_pProperties->m_dwStates &= ~FWL_STATE_PSB_Pressed;
+ if (GetProperties()->m_dwStates & FWL_STATE_PSB_Pressed) {
+ GetProperties()->m_dwStates &= ~FWL_STATE_PSB_Pressed;
bRepaint = true;
}
- if ((m_pProperties->m_dwStates & FWL_STATE_PSB_Hovered) == 0) {
- m_pProperties->m_dwStates |= FWL_STATE_PSB_Hovered;
+ if ((GetProperties()->m_dwStates & FWL_STATE_PSB_Hovered) == 0) {
+ GetProperties()->m_dwStates |= FWL_STATE_PSB_Hovered;
bRepaint = true;
}
}
} else {
if (!m_ClientRect.Contains(pMsg->m_pos))
return;
- if ((m_pProperties->m_dwStates & FWL_STATE_PSB_Hovered) == 0) {
- m_pProperties->m_dwStates |= FWL_STATE_PSB_Hovered;
+ if ((GetProperties()->m_dwStates & FWL_STATE_PSB_Hovered) == 0) {
+ GetProperties()->m_dwStates |= FWL_STATE_PSB_Hovered;
bRepaint = true;
}
}
@@ -210,8 +210,8 @@
void CFWL_PushButton::OnMouseLeave(CFWL_MessageMouse* pMsg) {
m_bBtnDown = false;
- m_pProperties->m_dwStates &= ~FWL_STATE_PSB_Hovered;
- m_pProperties->m_dwStates &= ~FWL_STATE_PSB_Pressed;
+ GetProperties()->m_dwStates &= ~FWL_STATE_PSB_Hovered;
+ GetProperties()->m_dwStates &= ~FWL_STATE_PSB_Pressed;
RepaintRect(m_ClientRect);
}
diff --git a/xfa/fwl/cfwl_scrollbar.cpp b/xfa/fwl/cfwl_scrollbar.cpp
index a7cfe8a..b550596 100644
--- a/xfa/fwl/cfwl_scrollbar.cpp
+++ b/xfa/fwl/cfwl_scrollbar.cpp
@@ -42,8 +42,8 @@
void CFWL_ScrollBar::Update() {
if (IsLocked())
return;
- if (!m_pProperties->m_pThemeProvider)
- m_pProperties->m_pThemeProvider = GetAvailableTheme();
+ if (!GetProperties()->m_pThemeProvider)
+ GetProperties()->m_pThemeProvider = GetAvailableTheme();
Layout();
}
@@ -52,10 +52,10 @@
const CFX_Matrix& matrix) {
if (!pGraphics)
return;
- if (!m_pProperties->m_pThemeProvider)
+ if (!GetProperties()->m_pThemeProvider)
return;
- IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider.Get();
+ IFWL_ThemeProvider* pTheme = GetProperties()->m_pThemeProvider.Get();
if (HasBorder())
DrawBorder(pGraphics, CFWL_Part::Border, pTheme, matrix);
DrawTrack(pGraphics, pTheme, true, &matrix);
@@ -85,7 +85,7 @@
CFWL_ThemeBackground param;
param.m_pWidget = this;
param.m_iPart = bLower ? CFWL_Part::LowerTrack : CFWL_Part::UpperTrack;
- param.m_dwStates = (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)
+ param.m_dwStates = (GetProperties()->m_dwStates & FWL_WGTSTATE_Disabled)
? CFWL_PartState_Disabled
: (bLower ? m_iMinTrackState : m_iMaxTrackState);
param.m_pGraphics = pGraphics;
@@ -101,7 +101,7 @@
CFWL_ThemeBackground param;
param.m_pWidget = this;
param.m_iPart = bMinBtn ? CFWL_Part::ForeArrow : CFWL_Part::BackArrow;
- param.m_dwStates = (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)
+ param.m_dwStates = (GetProperties()->m_dwStates & FWL_WGTSTATE_Disabled)
? CFWL_PartState_Disabled
: (bMinBtn ? m_iMinButtonState : m_iMaxButtonState);
param.m_pGraphics = pGraphics;
@@ -117,7 +117,7 @@
CFWL_ThemeBackground param;
param.m_pWidget = this;
param.m_iPart = CFWL_Part::Thumb;
- param.m_dwStates = (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)
+ param.m_dwStates = (GetProperties()->m_dwStates & FWL_WGTSTATE_Disabled)
? CFWL_PartState_Disabled
: m_iThumbButtonState;
param.m_pGraphics = pGraphics;
diff --git a/xfa/fwl/cfwl_scrollbar.h b/xfa/fwl/cfwl_scrollbar.h
index 42569b3..72368cd 100644
--- a/xfa/fwl/cfwl_scrollbar.h
+++ b/xfa/fwl/cfwl_scrollbar.h
@@ -60,7 +60,7 @@
private:
bool IsVertical() const {
- return !!(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_SCB_Vert);
+ return !!(GetProperties()->m_dwStyleExes & FWL_STYLEEXT_SCB_Vert);
}
void DrawTrack(CXFA_Graphics* pGraphics,
IFWL_ThemeProvider* pTheme,
diff --git a/xfa/fwl/cfwl_widget.h b/xfa/fwl/cfwl_widget.h
index 32e8908..c1111d2 100644
--- a/xfa/fwl/cfwl_widget.h
+++ b/xfa/fwl/cfwl_widget.h
@@ -101,8 +101,10 @@
bool IsPopup() const;
bool IsChild() const;
+ CFWL_WidgetMgr* GetWidgetMgr() const { return m_pWidgetMgr.Get(); }
CFWL_Widget* GetOwner() { return m_pWidgetMgr->GetOwnerWidget(this); }
CFWL_Widget* GetOuter() const { return m_pOuter; }
+ void SetOuter(CFWL_Widget* pOuter) { m_pOuter = pOuter; }
CFWL_Widget* GetOutmost() const;
void ModifyStyles(uint32_t dwStylesAdded, uint32_t dwStylesRemoved);
@@ -144,6 +146,10 @@
float GetCYBorderSize() const;
CFX_RectF GetRelativeRect() const;
IFWL_ThemeProvider* GetAvailableTheme() const;
+ CFWL_WidgetProperties* GetProperties() { return m_pProperties.get(); }
+ const CFWL_WidgetProperties* GetProperties() const {
+ return m_pProperties.get();
+ }
CFX_SizeF CalcTextSize(const WideString& wsText,
IFWL_ThemeProvider* pTheme,
bool bMultiLine);
@@ -161,12 +167,6 @@
IFWL_ThemeProvider* pTheme,
const CFX_Matrix& pMatrix);
- UnownedPtr<const CFWL_App> const m_pOwnerApp;
- UnownedPtr<CFWL_WidgetMgr> const m_pWidgetMgr;
- std::unique_ptr<CFWL_WidgetProperties> m_pProperties;
- CFWL_Widget* m_pOuter;
- int32_t m_iLock = 0;
-
private:
void LockUpdate() { m_iLock++; }
void UnlockUpdate() {
@@ -183,7 +183,12 @@
void NotifyDriver();
bool IsParent(CFWL_Widget* pParent);
+ int32_t m_iLock = 0;
uint64_t m_nEventKey = 0;
+ UnownedPtr<const CFWL_App> const m_pOwnerApp;
+ UnownedPtr<CFWL_WidgetMgr> const m_pWidgetMgr;
+ std::unique_ptr<CFWL_WidgetProperties> m_pProperties;
+ CFWL_Widget* m_pOuter;
AdapterIface* m_pAdapterIface = nullptr;
UnownedPtr<IFWL_WidgetDelegate> m_pDelegate;
};