From fb5055947efd78e0e7f8a2bfd5b754c63dbb6076 Mon Sep 17 00:00:00 2001 From: dsinclair Date: Thu, 20 Oct 2016 06:44:03 -0700 Subject: Merge the CFWL_*Imp classes into the IFWL_* classes. This Cl merges the implementation classes up into the IFWL classes as the intermediate classes were just acting as proxies. Review-Url: https://chromiumcodereview.appspot.com/2432423002 --- xfa/fwl/core/ifwl_combolist.h | 54 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 xfa/fwl/core/ifwl_combolist.h (limited to 'xfa/fwl/core/ifwl_combolist.h') diff --git a/xfa/fwl/core/ifwl_combolist.h b/xfa/fwl/core/ifwl_combolist.h new file mode 100644 index 0000000000..74e79cd805 --- /dev/null +++ b/xfa/fwl/core/ifwl_combolist.h @@ -0,0 +1,54 @@ +// Copyright 2014 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef XFA_FWL_CORE_IFWL_COMBOLIST_H_ +#define XFA_FWL_CORE_IFWL_COMBOLIST_H_ + +#include "xfa/fwl/core/cfwl_widgetimpproperties.h" +#include "xfa/fwl/core/ifwl_listbox.h" +#include "xfa/fwl/core/ifwl_widget.h" + +class IFWL_ComboList : public IFWL_ListBox { + public: + static IFWL_ComboList* Create(const CFWL_WidgetImpProperties& properties, + IFWL_Widget* pOuter); + + IFWL_ComboList(const CFWL_WidgetImpProperties& properties, + IFWL_Widget* pOuter); + + // IFWL_Widget + FWL_Error Initialize() override; + FWL_Error Finalize() override; + + int32_t MatchItem(const CFX_WideString& wsMatch); + void ChangeSelected(int32_t iSel); + int32_t CountItems(); + void GetItemRect(int32_t nIndex, CFX_RectF& rtItem); + void ClientToOuter(FX_FLOAT& fx, FX_FLOAT& fy); + void SetFocus(FX_BOOL bSet); + + FX_BOOL m_bNotifyOwner; + + friend class CFWL_ComboListImpDelegate; + friend class IFWL_ComboBox; +}; + +class CFWL_ComboListImpDelegate : public CFWL_ListBoxImpDelegate { + public: + CFWL_ComboListImpDelegate(IFWL_ComboList* pOwner); + void OnProcessMessage(CFWL_Message* pMessage) override; + + protected: + void OnDropListFocusChanged(CFWL_Message* pMsg, FX_BOOL bSet = TRUE); + int32_t OnDropListMouseMove(CFWL_MsgMouse* pMsg); + int32_t OnDropListLButtonDown(CFWL_MsgMouse* pMsg); + int32_t OnDropListLButtonUp(CFWL_MsgMouse* pMsg); + int32_t OnDropListKey(CFWL_MsgKey* pKey); + void OnDropListKeyDown(CFWL_MsgKey* pKey); + IFWL_ComboList* m_pOwner; +}; + +#endif // XFA_FWL_CORE_IFWL_COMBOLIST_H_ -- cgit v1.2.3