diff options
author | Henrique Nakashima <hnakashima@chromium.org> | 2018-05-11 18:37:26 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-05-11 18:37:26 +0000 |
commit | ce7a8158376dd81e2321a77a331dca5f451b471c (patch) | |
tree | 9de6a5e8356c8392bfe6890cc4822cadd5b56dae /xfa/fwl | |
parent | ddfa5177021f76b4d84c6fbdce964ab3ca17e046 (diff) | |
download | pdfium-ce7a8158376dd81e2321a77a331dca5f451b471c.tar.xz |
Remove CFWL_WidgetMgr::IsFormDisabled().
This method always returns true, so make that assumption and clean up
dead code.
More cleanups will follow this one to remove the code that can now
be inferred to be dead.
Change-Id: I73f077561ab511a1c2c09ac6990ab5cdc5bfb055
Reviewed-on: https://pdfium-review.googlesource.com/32391
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Diffstat (limited to 'xfa/fwl')
-rw-r--r-- | xfa/fwl/cfwl_checkbox.cpp | 15 | ||||
-rw-r--r-- | xfa/fwl/cfwl_combobox.cpp | 274 | ||||
-rw-r--r-- | xfa/fwl/cfwl_datetimeedit.cpp | 15 | ||||
-rw-r--r-- | xfa/fwl/cfwl_datetimepicker.cpp | 127 | ||||
-rw-r--r-- | xfa/fwl/cfwl_edit.cpp | 13 | ||||
-rw-r--r-- | xfa/fwl/cfwl_monthcalendar.cpp | 42 | ||||
-rw-r--r-- | xfa/fwl/cfwl_notedriver.cpp | 51 | ||||
-rw-r--r-- | xfa/fwl/cfwl_widget.cpp | 65 | ||||
-rw-r--r-- | xfa/fwl/cfwl_widgetmgr.cpp | 80 | ||||
-rw-r--r-- | xfa/fwl/cfwl_widgetmgr.h | 5 |
10 files changed, 54 insertions, 633 deletions
diff --git a/xfa/fwl/cfwl_checkbox.cpp b/xfa/fwl/cfwl_checkbox.cpp index 7e78efae63..290e59daae 100644 --- a/xfa/fwl/cfwl_checkbox.cpp +++ b/xfa/fwl/cfwl_checkbox.cpp @@ -179,21 +179,6 @@ void CFWL_CheckBox::NextStates() { if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_CKB_RadioButton) { if ((m_pProperties->m_dwStates & FWL_STATE_CKB_CheckMask) == FWL_STATE_CKB_Unchecked) { - CFWL_WidgetMgr* pWidgetMgr = GetOwnerApp()->GetWidgetMgr(); - if (!pWidgetMgr->IsFormDisabled()) { - std::vector<CFWL_Widget*> radioarr = - pWidgetMgr->GetSameGroupRadioButton(this); - for (auto* pWidget : radioarr) { - CFWL_CheckBox* pCheckBox = static_cast<CFWL_CheckBox*>(pWidget); - if (pCheckBox != this && - pCheckBox->GetStates() & FWL_STATE_CKB_Checked) { - pCheckBox->SetCheckState(0); - m_pWidgetMgr->RepaintWidget( - pCheckBox, CFX_RectF(0, 0, pCheckBox->GetWidgetRect().Size())); - break; - } - } - } m_pProperties->m_dwStates |= FWL_STATE_CKB_Checked; } } else { diff --git a/xfa/fwl/cfwl_combobox.cpp b/xfa/fwl/cfwl_combobox.cpp index 20134a830b..c60c27497f 100644 --- a/xfa/fwl/cfwl_combobox.cpp +++ b/xfa/fwl/cfwl_combobox.cpp @@ -40,27 +40,8 @@ CFWL_ComboBox::CFWL_ComboBox(const CFWL_App* app) m_rtBtn.Reset(); m_rtHandler.Reset(); - if (m_pWidgetMgr->IsFormDisabled()) { - DisForm_InitComboList(); - DisForm_InitComboEdit(); - return; - } - - auto prop = pdfium::MakeUnique<CFWL_WidgetProperties>(); - prop->m_pThemeProvider = m_pProperties->m_pThemeProvider; - prop->m_dwStyles |= FWL_WGTSTYLE_Border | FWL_WGTSTYLE_VScroll; - m_pListBox = pdfium::MakeUnique<CFWL_ComboList>(m_pOwnerApp.Get(), - std::move(prop), this); - - if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_CMB_DropDown) && !m_pEdit) { - m_pEdit = pdfium::MakeUnique<CFWL_ComboEdit>( - m_pOwnerApp.Get(), pdfium::MakeUnique<CFWL_WidgetProperties>(), this); - m_pEdit->SetOuter(this); - } - if (m_pEdit) - m_pEdit->SetParent(this); - - SetStates(m_pProperties->m_dwStates); + DisForm_InitComboList(); + DisForm_InitComboEdit(); } CFWL_ComboBox::~CFWL_ComboBox() {} @@ -83,118 +64,20 @@ void CFWL_ComboBox::RemoveAll() { void CFWL_ComboBox::ModifyStylesEx(uint32_t dwStylesExAdded, uint32_t dwStylesExRemoved) { - if (m_pWidgetMgr->IsFormDisabled()) { - DisForm_ModifyStylesEx(dwStylesExAdded, dwStylesExRemoved); - return; - } - - bool bAddDropDown = !!(dwStylesExAdded & FWL_STYLEEXT_CMB_DropDown); - bool bRemoveDropDown = !!(dwStylesExRemoved & FWL_STYLEEXT_CMB_DropDown); - if (bAddDropDown && !m_pEdit) { - m_pEdit = pdfium::MakeUnique<CFWL_ComboEdit>( - m_pOwnerApp.Get(), pdfium::MakeUnique<CFWL_WidgetProperties>(), - nullptr); - m_pEdit->SetOuter(this); - m_pEdit->SetParent(this); - } else if (bRemoveDropDown && m_pEdit) { - m_pEdit->SetStates(FWL_WGTSTATE_Invisible); - } - CFWL_Widget::ModifyStylesEx(dwStylesExAdded, dwStylesExRemoved); + DisForm_ModifyStylesEx(dwStylesExAdded, dwStylesExRemoved); } void CFWL_ComboBox::Update() { - if (m_pWidgetMgr->IsFormDisabled()) { - DisForm_Update(); - return; - } - if (IsLocked()) - return; - - ResetTheme(); - if (IsDropDownStyle() && m_pEdit) - ResetEditAlignment(); - if (!m_pProperties->m_pThemeProvider) - m_pProperties->m_pThemeProvider = GetAvailableTheme(); - - Layout(); + DisForm_Update(); } FWL_WidgetHit CFWL_ComboBox::HitTest(const CFX_PointF& point) { - if (m_pWidgetMgr->IsFormDisabled()) - return DisForm_HitTest(point); - return CFWL_Widget::HitTest(point); + return DisForm_HitTest(point); } void CFWL_ComboBox::DrawWidget(CXFA_Graphics* pGraphics, const CFX_Matrix& matrix) { - if (m_pWidgetMgr->IsFormDisabled()) { - DisForm_DrawWidget(pGraphics, &matrix); - return; - } - - if (!pGraphics) - return; - if (!m_pProperties->m_pThemeProvider) - return; - - IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider; - if (HasBorder()) - DrawBorder(pGraphics, CFWL_Part::Border, pTheme, matrix); - - if (!IsDropDownStyle()) { - CFX_RectF rtTextBk(m_rtClient); - rtTextBk.width -= m_rtBtn.width; - - CFWL_ThemeBackground param; - param.m_pWidget = this; - param.m_iPart = CFWL_Part::Background; - param.m_pGraphics = pGraphics; - param.m_matrix.Concat(matrix); - param.m_rtPart = rtTextBk; - - if (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled) { - param.m_dwStates = CFWL_PartState_Disabled; - } else if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) && - (m_iCurSel >= 0)) { - param.m_dwStates = CFWL_PartState_Selected; - } else { - param.m_dwStates = CFWL_PartState_Normal; - } - pTheme->DrawBackground(¶m); - - if (m_iCurSel >= 0) { - if (!m_pListBox) - return; - - CFWL_ListItem* hItem = m_pListBox->GetItem(this, m_iCurSel); - - CFWL_ThemeText theme_text; - theme_text.m_pWidget = this; - theme_text.m_iPart = CFWL_Part::Caption; - theme_text.m_dwStates = m_iBtnState; - theme_text.m_pGraphics = pGraphics; - theme_text.m_matrix.Concat(matrix); - theme_text.m_rtPart = rtTextBk; - theme_text.m_dwStates = (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) - ? CFWL_PartState_Selected - : CFWL_PartState_Normal; - theme_text.m_wsText = hItem ? hItem->GetText() : L""; - theme_text.m_dwTTOStyles.single_line_ = true; - theme_text.m_iTTOAlign = FDE_TextAlignment::kCenterLeft; - pTheme->DrawText(&theme_text); - } - } - - CFWL_ThemeBackground param; - param.m_pWidget = this; - param.m_iPart = CFWL_Part::DropDownButton; - param.m_dwStates = (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled) - ? CFWL_PartState_Disabled - : m_iBtnState; - param.m_pGraphics = pGraphics; - param.m_matrix.Concat(matrix); - param.m_rtPart = m_rtBtn; - pTheme->DrawBackground(¶m); + DisForm_DrawWidget(pGraphics, &matrix); } void CFWL_ComboBox::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) { @@ -268,17 +151,7 @@ void CFWL_ComboBox::OpenDropDownList(bool bActivate) { } CFX_RectF CFWL_ComboBox::GetBBox() const { - if (m_pWidgetMgr->IsFormDisabled()) - return DisForm_GetBBox(); - - CFX_RectF rect = m_pProperties->m_rtWidget; - if (!m_pListBox || !IsDropListVisible()) - return rect; - - CFX_RectF rtList = m_pListBox->GetWidgetRect(); - rtList.Offset(rect.left, rect.top); - rect.Union(rtList); - return rect; + return DisForm_GetBBox(); } void CFWL_ComboBox::EditModifyStylesEx(uint32_t dwStylesExAdded, @@ -301,50 +174,7 @@ void CFWL_ComboBox::DrawStretchHandler(CXFA_Graphics* pGraphics, } void CFWL_ComboBox::ShowDropList(bool bActivate) { - if (m_pWidgetMgr->IsFormDisabled()) - return DisForm_ShowDropList(bActivate); - if (IsDropListVisible() == bActivate) - return; - if (!m_pComboBoxProxy) - InitProxyForm(); - - m_pComboBoxProxy->Reset(); - if (!bActivate) { - m_pComboBoxProxy->EndDoModal(); - - m_bLButtonDown = false; - m_pListBox->SetNotifyOwner(true); - SetFocus(true); - return; - } - - m_pListBox->ChangeSelected(m_iCurSel); - ResetListItemAlignment(); - - uint32_t dwStyleAdd = m_pProperties->m_dwStyleExes & - (FWL_STYLEEXT_CMB_Sort | FWL_STYLEEXT_CMB_OwnerDraw); - m_pListBox->ModifyStylesEx(dwStyleAdd, 0); - m_rtList = m_pListBox->GetAutosizedWidgetRect(); - - CFX_RectF rtAnchor(0, 0, m_pProperties->m_rtWidget.width, - m_pProperties->m_rtWidget.height); - - m_rtList.width = std::max(m_rtList.width, m_rtClient.width); - m_rtProxy = m_rtList; - - GetPopupPos(0, m_rtProxy.height, rtAnchor, &m_rtProxy); - - m_pComboBoxProxy->SetWidgetRect(m_rtProxy); - m_pComboBoxProxy->Update(); - m_pListBox->SetWidgetRect(m_rtList); - m_pListBox->Update(); - - CFWL_Event ev(CFWL_Event::Type::PreDropDown, this); - DispatchEvent(&ev); - - m_pListBox->SetFocus(true); - m_pComboBoxProxy->DoModal(); - m_pListBox->SetFocus(false); + return DisForm_ShowDropList(bActivate); } void CFWL_ComboBox::MatchEditText() { @@ -368,31 +198,7 @@ void CFWL_ComboBox::SyncEditText(int32_t iListItem) { } void CFWL_ComboBox::Layout() { - if (m_pWidgetMgr->IsFormDisabled()) - return DisForm_Layout(); - - m_rtClient = GetClientRect(); - IFWL_ThemeProvider* theme = GetAvailableTheme(); - if (!theme) - return; - - float fBtn = theme->GetScrollBarWidth(); - m_rtBtn = CFX_RectF(m_rtClient.right() - fBtn, m_rtClient.top, fBtn, - m_rtClient.height); - if (!IsDropDownStyle() || !m_pEdit) - return; - - CFX_RectF rtEdit(m_rtClient.left, m_rtClient.top, m_rtClient.width - fBtn, - m_rtClient.height); - m_pEdit->SetWidgetRect(rtEdit); - - if (m_iCurSel >= 0) { - CFWL_ListItem* hItem = m_pListBox->GetItem(this, m_iCurSel); - m_pEdit->LockUpdate(); - m_pEdit->SetText(hItem ? hItem->GetText() : L""); - m_pEdit->UnlockUpdate(); - } - m_pEdit->Update(); + return DisForm_Layout(); } void CFWL_ComboBox::ResetTheme() { @@ -697,48 +503,7 @@ void CFWL_ComboBox::DisForm_Layout() { } void CFWL_ComboBox::OnProcessMessage(CFWL_Message* pMessage) { - if (m_pWidgetMgr->IsFormDisabled()) { - DisForm_OnProcessMessage(pMessage); - return; - } - if (!pMessage) - return; - - switch (pMessage->GetType()) { - case CFWL_Message::Type::SetFocus: - OnFocusChanged(pMessage, true); - break; - case CFWL_Message::Type::KillFocus: - OnFocusChanged(pMessage, false); - break; - case CFWL_Message::Type::Mouse: { - CFWL_MessageMouse* pMsg = static_cast<CFWL_MessageMouse*>(pMessage); - switch (pMsg->m_dwCmd) { - case FWL_MouseCommand::LeftButtonDown: - OnLButtonDown(pMsg); - break; - case FWL_MouseCommand::LeftButtonUp: - OnLButtonUp(pMsg); - break; - case FWL_MouseCommand::Move: - OnMouseMove(pMsg); - break; - case FWL_MouseCommand::Leave: - OnMouseLeave(pMsg); - break; - default: - break; - } - break; - } - case CFWL_Message::Type::Key: - OnKey(static_cast<CFWL_MessageKey*>(pMessage)); - break; - default: - break; - } - - CFWL_Widget::OnProcessMessage(pMessage); + DisForm_OnProcessMessage(pMessage); } void CFWL_ComboBox::OnProcessEvent(CFWL_Event* pEvent) { @@ -1019,21 +784,6 @@ void CFWL_ComboBox::GetPopupPos(float fMinHeight, float fMaxHeight, const CFX_RectF& rtAnchor, CFX_RectF* pPopupRect) { - if (m_pWidgetMgr->IsFormDisabled()) { - m_pWidgetMgr->GetAdapterPopupPos(this, fMinHeight, fMaxHeight, rtAnchor, - pPopupRect); - return; - } - - CFX_PointF point = TransformTo(nullptr, CFX_PointF()); - float fPopupHeight = - pdfium::clamp(pPopupRect->height, fMinHeight, fMaxHeight); - float fPopupWidth = std::max(rtAnchor.width, pPopupRect->width); - float fPopupBottom = rtAnchor.bottom() + fPopupHeight; - float fPopupTop = (fPopupBottom + point.y > 0.0f) - ? rtAnchor.top - fPopupHeight - : rtAnchor.bottom(); - - *pPopupRect = CFX_RectF(rtAnchor.left, fPopupTop, fPopupWidth, fPopupHeight); - pPopupRect->Offset(point.x, point.y); + m_pWidgetMgr->GetAdapterPopupPos(this, fMinHeight, fMaxHeight, rtAnchor, + pPopupRect); } diff --git a/xfa/fwl/cfwl_datetimeedit.cpp b/xfa/fwl/cfwl_datetimeedit.cpp index f1ddbb1afb..ae7cd1ed96 100644 --- a/xfa/fwl/cfwl_datetimeedit.cpp +++ b/xfa/fwl/cfwl_datetimeedit.cpp @@ -21,22 +21,11 @@ CFWL_DateTimeEdit::CFWL_DateTimeEdit( : CFWL_Edit(app, std::move(properties), pOuter) {} void CFWL_DateTimeEdit::OnProcessMessage(CFWL_Message* pMessage) { - if (m_pWidgetMgr->IsFormDisabled()) { - DisForm_OnProcessMessage(pMessage); - return; - } - - CFWL_Message::Type type = pMessage->GetType(); - if (type == CFWL_Message::Type::SetFocus || - type == CFWL_Message::Type::KillFocus) { - CFWL_Widget* pOuter = GetOuter(); - pOuter->GetDelegate()->OnProcessMessage(pMessage); - } + DisForm_OnProcessMessage(pMessage); } void CFWL_DateTimeEdit::DisForm_OnProcessMessage(CFWL_Message* pMessage) { - if (!m_pWidgetMgr->IsFormDisabled() || - pMessage->GetType() != CFWL_Message::Type::Mouse) { + if (pMessage->GetType() != CFWL_Message::Type::Mouse) { CFWL_Edit::OnProcessMessage(pMessage); return; } diff --git a/xfa/fwl/cfwl_datetimepicker.cpp b/xfa/fwl/cfwl_datetimepicker.cpp index 66e55dea9c..94d1d939b8 100644 --- a/xfa/fwl/cfwl_datetimepicker.cpp +++ b/xfa/fwl/cfwl_datetimepicker.cpp @@ -64,53 +64,11 @@ FWL_Type CFWL_DateTimePicker::GetClassID() const { } void CFWL_DateTimePicker::Update() { - if (m_pWidgetMgr->IsFormDisabled()) { - DisForm_Update(); - return; - } - if (m_iLock) - return; - if (!m_pProperties->m_pThemeProvider) - m_pProperties->m_pThemeProvider = GetAvailableTheme(); - - m_pEdit->SetThemeProvider(m_pProperties->m_pThemeProvider); - m_rtClient = GetClientRect(); - - IFWL_ThemeProvider* theme = GetAvailableTheme(); - if (!theme) - return; - - float fBtn = theme->GetScrollBarWidth(); - m_rtBtn = CFX_RectF(m_rtClient.right() - fBtn, m_rtClient.top, fBtn - 1, - m_rtClient.height - 1); - - CFX_RectF rtEdit(m_rtClient.left, m_rtClient.top, m_rtClient.width - fBtn, - m_rtClient.height); - m_pEdit->SetWidgetRect(rtEdit); - ResetEditAlignment(); - m_pEdit->Update(); - if (!(m_pMonthCal->GetThemeProvider())) - m_pMonthCal->SetThemeProvider(m_pProperties->m_pThemeProvider); - - CFX_RectF rtMonthCal = m_pMonthCal->GetAutosizedWidgetRect(); - CFX_RectF rtPopUp(rtMonthCal.left, rtMonthCal.top + kDateTimePickerHeight, - rtMonthCal.width, rtMonthCal.height); - m_pMonthCal->SetWidgetRect(rtPopUp); - m_pMonthCal->Update(); - return; + DisForm_Update(); } FWL_WidgetHit CFWL_DateTimePicker::HitTest(const CFX_PointF& point) { - if (m_pWidgetMgr->IsFormDisabled()) - return DisForm_HitTest(point); - if (m_rtClient.Contains(point)) - return FWL_WidgetHit::Client; - if (IsMonthCalendarVisible()) { - CFX_RectF rect = m_pMonthCal->GetWidgetRect(); - if (rect.Contains(point)) - return FWL_WidgetHit::Client; - } - return FWL_WidgetHit::Unknown; + return DisForm_HitTest(point); } void CFWL_DateTimePicker::DrawWidget(CXFA_Graphics* pGraphics, @@ -125,10 +83,7 @@ void CFWL_DateTimePicker::DrawWidget(CXFA_Graphics* pGraphics, DrawBorder(pGraphics, CFWL_Part::Border, pTheme, matrix); if (!m_rtBtn.IsEmpty()) DrawDropDownButton(pGraphics, pTheme, &matrix); - if (m_pWidgetMgr->IsFormDisabled()) { - DisForm_DrawWidget(pGraphics, &matrix); - return; - } + DisForm_DrawWidget(pGraphics, &matrix); } void CFWL_DateTimePicker::SetThemeProvider(IFWL_ThemeProvider* pTP) { @@ -176,17 +131,7 @@ WideString CFWL_DateTimePicker::GetEditText() const { } CFX_RectF CFWL_DateTimePicker::GetBBox() const { - if (m_pWidgetMgr->IsFormDisabled()) - return DisForm_GetBBox(); - - CFX_RectF rect = m_pProperties->m_rtWidget; - if (!IsMonthCalendarVisible()) - return rect; - - CFX_RectF rtMonth = m_pMonthCal->GetWidgetRect(); - rtMonth.Offset(m_pProperties->m_rtWidget.left, m_pProperties->m_rtWidget.top); - rect.Union(rtMonth); - return rect; + return DisForm_GetBBox(); } void CFWL_DateTimePicker::ModifyEditStylesEx(uint32_t dwStylesExAdded, @@ -225,41 +170,11 @@ WideString CFWL_DateTimePicker::FormatDateString(int32_t iYear, } void CFWL_DateTimePicker::ShowMonthCalendar(bool bActivate) { - if (m_pWidgetMgr->IsFormDisabled()) - return DisForm_ShowMonthCalendar(bActivate); - if (IsMonthCalendarVisible() == bActivate) - return; - if (!m_pForm) - InitProxyForm(); - - if (!bActivate) { - m_pForm->EndDoModal(); - return; - } - - CFX_RectF rtMonth = m_pMonthCal->GetWidgetRect(); - - CFX_RectF rtAnchor(0, 0, m_pProperties->m_rtWidget.width, - m_pProperties->m_rtWidget.height); - GetPopupPos(0, rtMonth.height, rtAnchor, &rtMonth); - m_pForm->SetWidgetRect(rtMonth); - - rtMonth.left = rtMonth.top = 0; - if (bActivate) - m_pMonthCal->RemoveStates(FWL_WGTSTATE_Invisible); - else - m_pMonthCal->SetStates(FWL_WGTSTATE_Invisible); - m_pMonthCal->SetWidgetRect(rtMonth); - m_pMonthCal->Update(); - m_pForm->DoModal(); + return DisForm_ShowMonthCalendar(bActivate); } bool CFWL_DateTimePicker::IsMonthCalendarVisible() const { - if (m_pWidgetMgr->IsFormDisabled()) - return DisForm_IsMonthCalendarVisible(); - if (!m_pForm) - return false; - return !(m_pForm->GetStates() & FWL_WGTSTATE_Invisible); + return DisForm_IsMonthCalendarVisible(); } void CFWL_DateTimePicker::ResetEditAlignment() { @@ -519,20 +434,7 @@ void CFWL_DateTimePicker::OnDrawWidget(CXFA_Graphics* pGraphics, void CFWL_DateTimePicker::OnFocusChanged(CFWL_Message* pMsg, bool bSet) { if (!pMsg) return; - if (m_pWidgetMgr->IsFormDisabled()) - return DisForm_OnFocusChanged(pMsg, bSet); - - if (bSet) { - m_pProperties->m_dwStates |= (FWL_WGTSTATE_Focused); - RepaintRect(m_rtClient); - } else { - m_pProperties->m_dwStates &= ~(FWL_WGTSTATE_Focused); - RepaintRect(m_rtClient); - } - if (pMsg->m_pSrcTarget == m_pMonthCal.get() && IsMonthCalendarVisible()) { - ShowMonthCalendar(false); - } - RepaintRect(m_rtClient); + DisForm_OnFocusChanged(pMsg, bSet); } void CFWL_DateTimePicker::OnLButtonDown(CFWL_MessageMouse* pMsg) { @@ -609,17 +511,6 @@ void CFWL_DateTimePicker::GetPopupPos(float fMinHeight, float fMaxHeight, const CFX_RectF& rtAnchor, CFX_RectF* pPopupRect) { - if (m_pWidgetMgr->IsFormDisabled()) { - m_pWidgetMgr->GetAdapterPopupPos(this, fMinHeight, fMaxHeight, rtAnchor, - pPopupRect); - return; - } - - CFX_PointF point = TransformTo(nullptr, CFX_PointF()); - float fPopupTop = (rtAnchor.bottom() + point.y > 0.0f) - ? rtAnchor.top - pPopupRect->height - : rtAnchor.bottom(); - *pPopupRect = CFX_RectF(rtAnchor.left, fPopupTop, pPopupRect->width, - pPopupRect->height); - pPopupRect->Offset(point.x, point.y); + m_pWidgetMgr->GetAdapterPopupPos(this, fMinHeight, fMaxHeight, rtAnchor, + pPopupRect); } diff --git a/xfa/fwl/cfwl_edit.cpp b/xfa/fwl/cfwl_edit.cpp index dd7bcfae3a..7872369853 100644 --- a/xfa/fwl/cfwl_edit.cpp +++ b/xfa/fwl/cfwl_edit.cpp @@ -153,8 +153,6 @@ void CFWL_Edit::DrawWidget(CXFA_Graphics* pGraphics, const CFX_Matrix& matrix) { return; IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider; - if (!m_pWidgetMgr->IsFormDisabled()) - DrawTextBk(pGraphics, pTheme, &matrix); DrawContent(pGraphics, pTheme, &matrix); if (HasBorder()) @@ -1275,17 +1273,6 @@ void CFWL_Edit::OnChar(CFWL_MessageKey* pMsg) { } break; default: { - if (!m_pWidgetMgr->IsFormDisabled()) { - if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_Number) { - if (((pMsg->m_dwKeyCode < FWL_VKEY_0) && - (pMsg->m_dwKeyCode != 0x2E && pMsg->m_dwKeyCode != 0x2D)) || - pMsg->m_dwKeyCode > FWL_VKEY_9) { - break; - } - if (!ValidateNumberChar(c)) - break; - } - } if (pMsg->m_dwFlags & kEditingModifier) break; diff --git a/xfa/fwl/cfwl_monthcalendar.cpp b/xfa/fwl/cfwl_monthcalendar.cpp index f2bd845a19..9ee6d6670c 100644 --- a/xfa/fwl/cfwl_monthcalendar.cpp +++ b/xfa/fwl/cfwl_monthcalendar.cpp @@ -765,47 +765,7 @@ void CFWL_MonthCalendar::OnLButtonDown(CFWL_MessageMouse* pMsg) { } void CFWL_MonthCalendar::OnLButtonUp(CFWL_MessageMouse* pMsg) { - if (m_pWidgetMgr->IsFormDisabled()) - return DisForm_OnLButtonUp(pMsg); - - if (m_rtLBtn.Contains(pMsg->m_pos)) { - m_iLBtnPartStates = 0; - RepaintRect(m_rtLBtn); - return; - } - if (m_rtRBtn.Contains(pMsg->m_pos)) { - m_iRBtnPartStates = 0; - RepaintRect(m_rtRBtn); - return; - } - if (m_rtToday.Contains(pMsg->m_pos)) - return; - - int32_t iOldSel = 0; - if (!m_arrSelDays.empty()) - iOldSel = m_arrSelDays[0]; - - int32_t iCurSel = GetDayAtPoint(pMsg->m_pos); - CFWL_DateTimePicker* pIPicker = static_cast<CFWL_DateTimePicker*>(m_pOuter); - if (iCurSel > 0) { - DATEINFO* lpDatesInfo = m_arrDates[iCurSel - 1].get(); - CFX_RectF rtInvalidate(lpDatesInfo->rect); - if (iOldSel > 0 && iOldSel <= pdfium::CollectionSize<int32_t>(m_arrDates)) { - lpDatesInfo = m_arrDates[iOldSel - 1].get(); - rtInvalidate.Union(lpDatesInfo->rect); - } - AddSelDay(iCurSel); - if (!m_pOuter) - return; - - pIPicker->ProcessSelChanged(m_iCurYear, m_iCurMonth, iCurSel); - pIPicker->ShowMonthCalendar(false); - } else if (m_bFlag && - (!CFX_RectF(0, 0, pIPicker->GetFormProxy()->GetWidgetRect().Size()) - .Contains(pMsg->m_pos))) { - pIPicker->ShowMonthCalendar(false); - } - m_bFlag = false; + return DisForm_OnLButtonUp(pMsg); } void CFWL_MonthCalendar::DisForm_OnLButtonUp(CFWL_MessageMouse* pMsg) { diff --git a/xfa/fwl/cfwl_notedriver.cpp b/xfa/fwl/cfwl_notedriver.cpp index 9a19f4b8a7..f585625882 100644 --- a/xfa/fwl/cfwl_notedriver.cpp +++ b/xfa/fwl/cfwl_notedriver.cpp @@ -185,11 +185,7 @@ CFWL_NoteLoop* CFWL_NoteDriver::GetTopLoop() const { } void CFWL_NoteDriver::ProcessMessage(std::unique_ptr<CFWL_Message> pMessage) { - CFWL_WidgetMgr* pWidgetMgr = - pMessage->m_pDstTarget->GetOwnerApp()->GetWidgetMgr(); - CFWL_Widget* pMessageForm = pWidgetMgr->IsFormDisabled() - ? pMessage->m_pDstTarget - : GetMessageForm(pMessage->m_pDstTarget); + CFWL_Widget* pMessageForm = pMessage->m_pDstTarget; if (!pMessageForm) return; @@ -239,50 +235,15 @@ bool CFWL_NoteDriver::DispatchMessage(CFWL_Message* pMessage, bool CFWL_NoteDriver::DoSetFocus(CFWL_Message* pMessage, CFWL_Widget* pMessageForm) { - CFWL_WidgetMgr* pWidgetMgr = pMessageForm->GetOwnerApp()->GetWidgetMgr(); - if (pWidgetMgr->IsFormDisabled()) { - m_pFocus = pMessage->m_pDstTarget; - return true; - } - - CFWL_Widget* pWidget = pMessage->m_pDstTarget; - if (!pWidget) - return false; - - CFWL_Form* pForm = static_cast<CFWL_Form*>(pWidget); - CFWL_Widget* pSubFocus = pForm->GetSubFocus(); - if (pSubFocus && ((pSubFocus->GetStates() & FWL_WGTSTATE_Focused) == 0)) { - pMessage->m_pDstTarget = pSubFocus; - if (m_pFocus != pMessage->m_pDstTarget) { - m_pFocus = pMessage->m_pDstTarget; - return true; - } - } - return false; + m_pFocus = pMessage->m_pDstTarget; + return true; } bool CFWL_NoteDriver::DoKillFocus(CFWL_Message* pMessage, CFWL_Widget* pMessageForm) { - CFWL_WidgetMgr* pWidgetMgr = pMessageForm->GetOwnerApp()->GetWidgetMgr(); - if (pWidgetMgr->IsFormDisabled()) { - if (m_pFocus == pMessage->m_pDstTarget) - m_pFocus = nullptr; - return true; - } - - CFWL_Form* pForm = static_cast<CFWL_Form*>(pMessage->m_pDstTarget); - if (!pForm) - return false; - - CFWL_Widget* pSubFocus = pForm->GetSubFocus(); - if (pSubFocus && (pSubFocus->GetStates() & FWL_WGTSTATE_Focused)) { - pMessage->m_pDstTarget = pSubFocus; - if (m_pFocus == pMessage->m_pDstTarget) { - m_pFocus = nullptr; - return true; - } - } - return false; + if (m_pFocus == pMessage->m_pDstTarget) + m_pFocus = nullptr; + return true; } bool CFWL_NoteDriver::DoKey(CFWL_Message* pMessage, CFWL_Widget* pMessageForm) { diff --git a/xfa/fwl/cfwl_widget.cpp b/xfa/fwl/cfwl_widget.cpp index e891cd1cbb..f7ba040866 100644 --- a/xfa/fwl/cfwl_widget.cpp +++ b/xfa/fwl/cfwl_widget.cpp @@ -161,44 +161,15 @@ FWL_WidgetHit CFWL_Widget::HitTest(const CFX_PointF& point) { CFX_PointF CFWL_Widget::TransformTo(CFWL_Widget* pWidget, const CFX_PointF& point) { - if (m_pWidgetMgr->IsFormDisabled()) { - CFX_SizeF szOffset; - if (IsParent(pWidget)) { - szOffset = GetOffsetFromParent(pWidget); - } else { - szOffset = pWidget->GetOffsetFromParent(this); - szOffset.width = -szOffset.width; - szOffset.height = -szOffset.height; - } - return point + CFX_PointF(szOffset.width, szOffset.height); + CFX_SizeF szOffset; + if (IsParent(pWidget)) { + szOffset = GetOffsetFromParent(pWidget); + } else { + szOffset = pWidget->GetOffsetFromParent(this); + szOffset.width = -szOffset.width; + szOffset.height = -szOffset.height; } - - CFX_PointF ret = point; - CFWL_Widget* parent = GetParent(); - if (parent) - ret = GetMatrix().Transform(ret + GetWidgetRect().TopLeft()); - - CFWL_Widget* form1 = m_pWidgetMgr->GetSystemFormWidget(this); - if (!form1) - return ret; - - if (!pWidget) - return ret + form1->GetWidgetRect().TopLeft(); - - CFWL_Widget* form2 = m_pWidgetMgr->GetSystemFormWidget(pWidget); - if (!form2) - return ret; - if (form1 != form2) { - ret += form1->GetWidgetRect().TopLeft(); - ret -= form2->GetWidgetRect().TopLeft(); - } - - parent = pWidget->GetParent(); - if (!parent) - return ret; - - return pWidget->GetMatrix().GetInverse().Transform(ret) - - pWidget->GetWidgetRect().TopLeft(); + return point + CFX_PointF(szOffset.width, szOffset.height); } CFX_Matrix CFWL_Widget::GetMatrix() { @@ -349,25 +320,7 @@ void CFWL_Widget::CalcTextRect(const WideString& wsText, pTheme->CalcTextRect(&calPart, pRect); } -void CFWL_Widget::SetFocus(bool bFocus) { - if (m_pWidgetMgr->IsFormDisabled()) - return; - - const CFWL_App* pApp = GetOwnerApp(); - if (!pApp) - return; - - CFWL_NoteDriver* pDriver = - static_cast<CFWL_NoteDriver*>(pApp->GetNoteDriver()); - if (!pDriver) - return; - - CFWL_Widget* curFocus = pDriver->GetFocus(); - if (bFocus && curFocus != this) - pDriver->SetFocus(this); - else if (!bFocus && curFocus == this) - pDriver->SetFocus(nullptr); -} +void CFWL_Widget::SetFocus(bool bFocus) {} void CFWL_Widget::SetGrab(bool bSet) { const CFWL_App* pApp = GetOwnerApp(); diff --git a/xfa/fwl/cfwl_widgetmgr.cpp b/xfa/fwl/cfwl_widgetmgr.cpp index 32b275cd2e..2aab88bcb0 100644 --- a/xfa/fwl/cfwl_widgetmgr.cpp +++ b/xfa/fwl/cfwl_widgetmgr.cpp @@ -29,8 +29,7 @@ struct FWL_NEEDREPAINTHITDATA { } // namespace CFWL_WidgetMgr::CFWL_WidgetMgr(CXFA_FFApp* pAdapterNative) - : m_dwCapability(FWL_WGTMGR_DisableForm), - m_pAdapter(pAdapterNative->GetFWLAdapterWidgetMgr()) { + : m_pAdapter(pAdapterNative->GetFWLAdapterWidgetMgr()) { ASSERT(m_pAdapter); m_mapWidgetItem[nullptr] = pdfium::MakeUnique<Item>(); #if _FX_PLATFORM_ == _FX_PLATFORM_WINDOWS_ @@ -147,24 +146,13 @@ void CFWL_WidgetMgr::RepaintWidget(CFWL_Widget* pWidget, CFWL_Widget* pNative = pWidget; CFX_RectF transformedRect = rect; - if (IsFormDisabled()) { - CFWL_Widget* pOuter = pWidget->GetOuter(); - while (pOuter) { - CFX_RectF rtTemp = pNative->GetWidgetRect(); - transformedRect.left += rtTemp.left; - transformedRect.top += rtTemp.top; - pNative = pOuter; - pOuter = pOuter->GetOuter(); - } - } else if (!IsAbleNative(pWidget)) { - pNative = GetSystemFormWidget(pWidget); - if (!pNative) - return; - - CFX_PointF pos = pWidget->TransformTo( - pNative, CFX_PointF(transformedRect.left, transformedRect.top)); - transformedRect.left = pos.x; - transformedRect.top = pos.y; + CFWL_Widget* pOuter = pWidget->GetOuter(); + while (pOuter) { + CFX_RectF rtTemp = pNative->GetWidgetRect(); + transformedRect.left += rtTemp.left; + transformedRect.top += rtTemp.top; + pNative = pOuter; + pOuter = pOuter->GetOuter(); } AddRedrawCounts(pNative); m_pAdapter->RepaintWidget(pNative); @@ -403,10 +391,7 @@ void CFWL_WidgetMgr::OnProcessMessageToForm(CFWL_Message* pMessage) { if (!pNoteDriver) return; - if (IsFormDisabled()) - pNoteDriver->ProcessMessage(pMessage->Clone()); - else - pNoteDriver->QueueMessage(pMessage->Clone()); + pNoteDriver->ProcessMessage(pMessage->Clone()); #if (_FX_OS_ == _FX_OS_MACOSX_) CFWL_NoteLoop* pTopLoop = pNoteDriver->GetTopLoop(); @@ -424,26 +409,10 @@ void CFWL_WidgetMgr::OnDrawWidget(CFWL_Widget* pWidget, CFX_RectF clipCopy(0, 0, pWidget->GetWidgetRect().Size()); CFX_RectF clipBounds; -#if _FX_OS_ == _FX_OS_MACOSX_ - if (IsFormDisabled()) { -#endif // _FX_OS_ == _FX_OS_MACOSX_ - - pWidget->GetDelegate()->OnDrawWidget(pGraphics, matrix); - clipBounds = pGraphics->GetClipRect(); - clipCopy = clipBounds; - -#if _FX_OS_ == _FX_OS_MACOSX_ - } else { - clipBounds = CFX_RectF(matrix.a, matrix.b, matrix.c, matrix.d); - // FIXME: const cast - CFX_Matrix* pMatrixHack = const_cast<CFX_Matrix*>(&matrix); - pMatrixHack->SetIdentity(); - pWidget->GetDelegate()->OnDrawWidget(pGraphics, *pMatrixHack); - } -#endif // _FX_OS_ == _FX_OS_MACOSX_ + pWidget->GetDelegate()->OnDrawWidget(pGraphics, matrix); + clipBounds = pGraphics->GetClipRect(); + clipCopy = clipBounds; - if (!IsFormDisabled()) - clipBounds.Intersect(pWidget->GetClientRect()); if (!clipBounds.IsEmpty()) DrawChild(pWidget, clipBounds, pGraphics, &matrix); @@ -458,7 +427,6 @@ void CFWL_WidgetMgr::DrawChild(CFWL_Widget* parent, if (!parent) return; - bool bFormDisable = IsFormDisabled(); CFWL_Widget* pNextChild = GetFirstChildWidget(parent); while (pNextChild) { CFWL_Widget* child = pNextChild; @@ -472,33 +440,15 @@ void CFWL_WidgetMgr::DrawChild(CFWL_Widget* parent, CFX_Matrix widgetMatrix; CFX_RectF clipBounds(rtWidget); - if (!bFormDisable) - widgetMatrix = child->GetMatrix(); if (pMatrix) widgetMatrix.Concat(*pMatrix); - if (!bFormDisable) { - CFX_PointF pos = widgetMatrix.Transform(clipBounds.TopLeft()); - clipBounds.left = pos.x; - clipBounds.top = pos.y; - clipBounds.Intersect(rtClip); - if (clipBounds.IsEmpty()) - continue; - - pGraphics->SaveGraphState(); - pGraphics->SetClipRect(clipBounds); - } widgetMatrix.Translate(rtWidget.left, rtWidget.top, true); - if (IFWL_WidgetDelegate* pDelegate = child->GetDelegate()) { - if (IsFormDisabled() || IsNeedRepaint(child, &widgetMatrix, rtClip)) - pDelegate->OnDrawWidget(pGraphics, widgetMatrix); - } - if (!bFormDisable) - pGraphics->RestoreGraphState(); + if (IFWL_WidgetDelegate* pDelegate = child->GetDelegate()) + pDelegate->OnDrawWidget(pGraphics, widgetMatrix); - DrawChild(child, clipBounds, pGraphics, - bFormDisable ? &widgetMatrix : pMatrix); + DrawChild(child, clipBounds, pGraphics, &widgetMatrix); child = GetNextSiblingWidget(child); } } diff --git a/xfa/fwl/cfwl_widgetmgr.h b/xfa/fwl/cfwl_widgetmgr.h index 8a6e974447..536dce9d2b 100644 --- a/xfa/fwl/cfwl_widgetmgr.h +++ b/xfa/fwl/cfwl_widgetmgr.h @@ -56,10 +56,6 @@ class CFWL_WidgetMgr { CFWL_Widget* GetDefaultButton(CFWL_Widget* pParent) const; void AddRedrawCounts(CFWL_Widget* pWidget); - bool IsFormDisabled() const { - return !!(m_dwCapability & FWL_WGTMGR_DisableForm); - } - void GetAdapterPopupPos(CFWL_Widget* pWidget, float fMinHeight, float fMaxHeight, @@ -111,7 +107,6 @@ class CFWL_WidgetMgr { bool IsAbleNative(CFWL_Widget* pWidget) const; - uint32_t m_dwCapability; std::map<CFWL_Widget*, std::unique_ptr<Item>> m_mapWidgetItem; UnownedPtr<CXFA_FWLAdapterWidgetMgr> const m_pAdapter; #if _FX_PLATFORM_ == _FX_PLATFORM_WINDOWS_ |