OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef XFA_FWL_CORE_IFWL_COMBOLIST_H_ | 7 #ifndef XFA_FWL_CORE_IFWL_COMBOLIST_H_ |
8 #define XFA_FWL_CORE_IFWL_COMBOLIST_H_ | 8 #define XFA_FWL_CORE_IFWL_COMBOLIST_H_ |
9 | 9 |
10 #include "xfa/fwl/core/cfwl_widgetproperties.h" | 10 #include "xfa/fwl/core/cfwl_widgetproperties.h" |
11 #include "xfa/fwl/core/ifwl_listbox.h" | 11 #include "xfa/fwl/core/ifwl_listbox.h" |
12 #include "xfa/fwl/core/ifwl_widget.h" | 12 #include "xfa/fwl/core/ifwl_widget.h" |
13 | 13 |
14 class IFWL_ComboList : public IFWL_ListBox { | 14 class IFWL_ComboList : public IFWL_ListBox { |
15 public: | 15 public: |
16 IFWL_ComboList(const IFWL_App* app, | 16 IFWL_ComboList(const IFWL_App* app, |
17 std::unique_ptr<CFWL_WidgetProperties> properties, | 17 std::unique_ptr<CFWL_WidgetProperties> properties, |
18 IFWL_Widget* pOuter); | 18 IFWL_Widget* pOuter); |
19 | 19 |
20 // IFWL_ListBox. | 20 // IFWL_ListBox. |
21 void OnProcessMessage(CFWL_Message* pMessage) override; | 21 void OnProcessMessage(CFWL_Message* pMessage) override; |
22 | 22 |
23 int32_t MatchItem(const CFX_WideString& wsMatch); | 23 int32_t MatchItem(const CFX_WideString& wsMatch); |
| 24 |
24 void ChangeSelected(int32_t iSel); | 25 void ChangeSelected(int32_t iSel); |
25 int32_t CountItems(); | 26 int32_t CountItems(); |
| 27 |
| 28 void SetFocus(bool bSet); |
| 29 void SetNotifyOwner(bool notify) { m_bNotifyOwner = notify; } |
| 30 |
| 31 private: |
26 void GetItemRect(int32_t nIndex, CFX_RectF& rtItem); | 32 void GetItemRect(int32_t nIndex, CFX_RectF& rtItem); |
27 void ClientToOuter(FX_FLOAT& fx, FX_FLOAT& fy); | 33 void ClientToOuter(FX_FLOAT& fx, FX_FLOAT& fy); |
28 void SetFocus(bool bSet); | |
29 | |
30 bool m_bNotifyOwner; | |
31 | |
32 friend class IFWL_ComboBox; | |
33 | |
34 private: | |
35 void OnDropListFocusChanged(CFWL_Message* pMsg, bool bSet); | 34 void OnDropListFocusChanged(CFWL_Message* pMsg, bool bSet); |
36 int32_t OnDropListMouseMove(CFWL_MsgMouse* pMsg); | 35 int32_t OnDropListMouseMove(CFWL_MsgMouse* pMsg); |
37 int32_t OnDropListLButtonDown(CFWL_MsgMouse* pMsg); | 36 int32_t OnDropListLButtonDown(CFWL_MsgMouse* pMsg); |
38 int32_t OnDropListLButtonUp(CFWL_MsgMouse* pMsg); | 37 int32_t OnDropListLButtonUp(CFWL_MsgMouse* pMsg); |
39 int32_t OnDropListKey(CFWL_MsgKey* pKey); | 38 int32_t OnDropListKey(CFWL_MsgKey* pKey); |
40 void OnDropListKeyDown(CFWL_MsgKey* pKey); | 39 void OnDropListKeyDown(CFWL_MsgKey* pKey); |
| 40 |
| 41 bool m_bNotifyOwner; |
41 }; | 42 }; |
42 | 43 |
43 #endif // XFA_FWL_CORE_IFWL_COMBOLIST_H_ | 44 #endif // XFA_FWL_CORE_IFWL_COMBOLIST_H_ |
OLD | NEW |