summaryrefslogtreecommitdiff
path: root/xfa
diff options
context:
space:
mode:
Diffstat (limited to 'xfa')
-rw-r--r--xfa/fwl/README.md1
-rw-r--r--xfa/fwl/cfwl_combobox.cpp22
-rw-r--r--xfa/fwl/cfwl_combobox.h8
-rw-r--r--xfa/fwl/cfwl_comboboxproxy.cpp112
-rw-r--r--xfa/fwl/cfwl_comboboxproxy.h41
5 files changed, 1 insertions, 183 deletions
diff --git a/xfa/fwl/README.md b/xfa/fwl/README.md
index 9285e89345..9ee5575b42 100644
--- a/xfa/fwl/README.md
+++ b/xfa/fwl/README.md
@@ -6,7 +6,6 @@ classes are both controllers and renderers for each widget. The hierarchy is:
* CFWL_Widget
* CFWL_Form
* CFWL_FormProxy
- * CFWL_ComboBoxProxy
* CFWL_Caret
* CFWL_CheckBox
* CFWL_ComboBox
diff --git a/xfa/fwl/cfwl_combobox.cpp b/xfa/fwl/cfwl_combobox.cpp
index d53a9e4aea..e4dde352d4 100644
--- a/xfa/fwl/cfwl_combobox.cpp
+++ b/xfa/fwl/cfwl_combobox.cpp
@@ -32,7 +32,6 @@
CFWL_ComboBox::CFWL_ComboBox(const CFWL_App* app)
: CFWL_Widget(app, pdfium::MakeUnique<CFWL_WidgetProperties>(), nullptr),
- m_pComboBoxProxy(nullptr),
m_bLButtonDown(false),
m_iCurSel(-1),
m_iBtnState(CFWL_PartState_Normal) {
@@ -399,24 +398,6 @@ void CFWL_ComboBox::ProcessSelChanged(bool bLButtonUp) {
DispatchEvent(&ev);
}
-void CFWL_ComboBox::InitProxyForm() {
- if (m_pComboBoxProxy)
- return;
- if (!m_pListBox)
- return;
-
- auto prop = pdfium::MakeUnique<CFWL_WidgetProperties>();
- prop->m_pOwner = this;
- prop->m_dwStyles = FWL_WGTSTYLE_Popup;
- prop->m_dwStates = FWL_WGTSTATE_Invisible;
-
- // TODO(dsinclair): Does this leak? I don't see a delete, but I'm not sure
- // if the SetParent call is going to transfer ownership.
- m_pComboBoxProxy = new CFWL_ComboBoxProxy(this, m_pOwnerApp.Get(),
- std::move(prop), m_pListBox.get());
- m_pListBox->SetParent(m_pComboBoxProxy);
-}
-
void CFWL_ComboBox::InitComboList() {
if (m_pListBox)
return;
@@ -572,8 +553,7 @@ void CFWL_ComboBox::OnMouseMove(CFWL_MessageMouse* pMsg) {
}
void CFWL_ComboBox::OnMouseLeave(CFWL_MessageMouse* pMsg) {
- if (!IsDropListVisible() &&
- !((m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled) ==
+ if (!((m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled) ==
FWL_WGTSTATE_Disabled)) {
m_iBtnState = CFWL_PartState_Normal;
RepaintRect(m_rtBtn);
diff --git a/xfa/fwl/cfwl_combobox.h b/xfa/fwl/cfwl_combobox.h
index 0f05f75650..6c70865550 100644
--- a/xfa/fwl/cfwl_combobox.h
+++ b/xfa/fwl/cfwl_combobox.h
@@ -9,7 +9,6 @@
#include <memory>
-#include "xfa/fwl/cfwl_comboboxproxy.h"
#include "xfa/fwl/cfwl_comboedit.h"
#include "xfa/fwl/cfwl_combolist.h"
#include "xfa/fwl/cfwl_form.h"
@@ -18,7 +17,6 @@
class CFWL_WidgetProperties;
class CFWL_ComboBox;
-class CFWL_ComboBoxProxy;
class CFWL_FormProxy;
class CFWL_ListBox;
class CFWL_Widget;
@@ -94,10 +92,6 @@ class CFWL_ComboBox : public CFWL_Widget {
void EditModifyStylesEx(uint32_t dwStylesExAdded, uint32_t dwStylesExRemoved);
void DrawStretchHandler(CXFA_Graphics* pGraphics, const CFX_Matrix* pMatrix);
- bool IsDropListVisible() const {
- return m_pComboBoxProxy &&
- !(m_pComboBoxProxy->GetStates() & FWL_WGTSTATE_Invisible);
- }
void ShowDropList(bool bActivate);
CFWL_ComboEdit* GetComboEdit() const { return m_pEdit.get(); }
@@ -115,7 +109,6 @@ class CFWL_ComboBox : public CFWL_Widget {
void ResetTheme();
void ResetEditAlignment();
void ResetListItemAlignment();
- void InitProxyForm();
void GetPopupPos(float fMinHeight,
float fMaxHeight,
const CFX_RectF& rtAnchor,
@@ -148,7 +141,6 @@ class CFWL_ComboBox : public CFWL_Widget {
CFX_RectF m_rtHandler;
std::unique_ptr<CFWL_ComboEdit> m_pEdit;
std::unique_ptr<CFWL_ComboList> m_pListBox;
- CFWL_ComboBoxProxy* m_pComboBoxProxy; // Can this be a unique_ptr?
bool m_bLButtonDown;
int32_t m_iCurSel;
int32_t m_iBtnState;
diff --git a/xfa/fwl/cfwl_comboboxproxy.cpp b/xfa/fwl/cfwl_comboboxproxy.cpp
deleted file mode 100644
index d1db1c01a8..0000000000
--- a/xfa/fwl/cfwl_comboboxproxy.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-// Copyright 2016 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#include "xfa/fwl/cfwl_comboboxproxy.h"
-
-#include <memory>
-#include <utility>
-
-#include "xfa/fwl/cfwl_app.h"
-#include "xfa/fwl/cfwl_combobox.h"
-#include "xfa/fwl/cfwl_messagekillfocus.h"
-#include "xfa/fwl/cfwl_messagemouse.h"
-#include "xfa/fwl/cfwl_notedriver.h"
-
-CFWL_ComboBoxProxy::CFWL_ComboBoxProxy(
- CFWL_ComboBox* pComboBox,
- const CFWL_App* app,
- std::unique_ptr<CFWL_WidgetProperties> properties,
- CFWL_Widget* pOuter)
- : CFWL_FormProxy(app, std::move(properties), pOuter),
- m_bLButtonDown(false),
- m_bLButtonUpSelf(false),
- m_pComboBox(pComboBox) {}
-
-CFWL_ComboBoxProxy::~CFWL_ComboBoxProxy() {}
-
-void CFWL_ComboBoxProxy::OnProcessMessage(CFWL_Message* pMessage) {
- if (!pMessage)
- return;
-
- switch (pMessage->GetType()) {
- 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;
- default:
- break;
- }
- break;
- }
- case CFWL_Message::Type::KillFocus:
- OnFocusChanged(pMessage, false);
- break;
- case CFWL_Message::Type::SetFocus:
- OnFocusChanged(pMessage, true);
- break;
- default:
- break;
- }
- CFWL_Widget::OnProcessMessage(pMessage);
-}
-
-void CFWL_ComboBoxProxy::OnDrawWidget(CXFA_Graphics* pGraphics,
- const CFX_Matrix& matrix) {
- m_pComboBox->DrawStretchHandler(pGraphics, &matrix);
-}
-
-void CFWL_ComboBoxProxy::OnLButtonDown(CFWL_Message* pMessage) {
- const CFWL_App* pApp = GetOwnerApp();
- if (!pApp)
- return;
-
- CFWL_NoteDriver* pDriver =
- static_cast<CFWL_NoteDriver*>(pApp->GetNoteDriver());
- CFWL_MessageMouse* pMsg = static_cast<CFWL_MessageMouse*>(pMessage);
- if (CFX_RectF(0, 0, GetWidgetRect().Size()).Contains(pMsg->m_pos)) {
- m_bLButtonDown = true;
- pDriver->SetGrab(this, true);
- } else {
- m_bLButtonDown = false;
- pDriver->SetGrab(this, false);
- m_pComboBox->ShowDropList(false);
- }
-}
-
-void CFWL_ComboBoxProxy::OnLButtonUp(CFWL_Message* pMessage) {
- m_bLButtonDown = false;
- const CFWL_App* pApp = GetOwnerApp();
- if (!pApp)
- return;
-
- CFWL_NoteDriver* pDriver =
- static_cast<CFWL_NoteDriver*>(pApp->GetNoteDriver());
- pDriver->SetGrab(this, false);
- if (!m_bLButtonUpSelf) {
- m_bLButtonUpSelf = true;
- return;
- }
-
- CFWL_MessageMouse* pMsg = static_cast<CFWL_MessageMouse*>(pMessage);
- if (!CFX_RectF(0, 0, GetWidgetRect().Size()).Contains(pMsg->m_pos) &&
- m_pComboBox->IsDropListVisible()) {
- m_pComboBox->ShowDropList(false);
- }
-}
-
-void CFWL_ComboBoxProxy::OnFocusChanged(CFWL_Message* pMessage, bool bSet) {
- if (bSet)
- return;
-
- CFWL_MessageKillFocus* pMsg = static_cast<CFWL_MessageKillFocus*>(pMessage);
- if (!pMsg->m_pSetFocus)
- m_pComboBox->ShowDropList(false);
-}
diff --git a/xfa/fwl/cfwl_comboboxproxy.h b/xfa/fwl/cfwl_comboboxproxy.h
deleted file mode 100644
index bb21707851..0000000000
--- a/xfa/fwl/cfwl_comboboxproxy.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2016 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#ifndef XFA_FWL_CFWL_COMBOBOXPROXY_H_
-#define XFA_FWL_CFWL_COMBOBOXPROXY_H_
-
-#include <memory>
-
-#include "xfa/fwl/cfwl_formproxy.h"
-
-class CFWL_ComboBox;
-
-class CFWL_ComboBoxProxy : public CFWL_FormProxy {
- public:
- CFWL_ComboBoxProxy(CFWL_ComboBox* pCombobBox,
- const CFWL_App* app,
- std::unique_ptr<CFWL_WidgetProperties> properties,
- CFWL_Widget* pOuter);
- ~CFWL_ComboBoxProxy() override;
-
- // CFWL_FormProxy
- void OnProcessMessage(CFWL_Message* pMessage) override;
- void OnDrawWidget(CXFA_Graphics* pGraphics,
- const CFX_Matrix& matrix) override;
-
- void Reset() { m_bLButtonUpSelf = false; }
-
- private:
- void OnLButtonDown(CFWL_Message* pMsg);
- void OnLButtonUp(CFWL_Message* pMsg);
- void OnFocusChanged(CFWL_Message* pMsg, bool bSet);
-
- bool m_bLButtonDown;
- bool m_bLButtonUpSelf;
- CFWL_ComboBox* m_pComboBox;
-};
-
-#endif // XFA_FWL_CFWL_COMBOBOXPROXY_H_