Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(477)

Side by Side Diff: xfa/fwl/core/ifwl_listbox.h

Issue 2509283003: Unify the three CFWL_EventType::SelectChange classes. (Closed)
Patch Set: Review feedback Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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_LISTBOX_H_ 7 #ifndef XFA_FWL_CORE_IFWL_LISTBOX_H_
8 #define XFA_FWL_CORE_IFWL_LISTBOX_H_ 8 #define XFA_FWL_CORE_IFWL_LISTBOX_H_
9 9
10 #include <memory> 10 #include <memory>
(...skipping 20 matching lines...) Expand all
31 #define FWL_STYLEEXT_LTB_ShowScrollBarFocus (1L << 10) 31 #define FWL_STYLEEXT_LTB_ShowScrollBarFocus (1L << 10)
32 #define FWL_ITEMSTATE_LTB_Selected (1L << 0) 32 #define FWL_ITEMSTATE_LTB_Selected (1L << 0)
33 #define FWL_ITEMSTATE_LTB_Focused (1L << 1) 33 #define FWL_ITEMSTATE_LTB_Focused (1L << 1)
34 #define FWL_ITEMSTATE_LTB_Checked (1L << 2) 34 #define FWL_ITEMSTATE_LTB_Checked (1L << 2)
35 35
36 class CFWL_MsgKillFocus; 36 class CFWL_MsgKillFocus;
37 class CFWL_MsgMouse; 37 class CFWL_MsgMouse;
38 class CFWL_MsgMouseWheel; 38 class CFWL_MsgMouseWheel;
39 class CFX_DIBitmap; 39 class CFX_DIBitmap;
40 40
41 FWL_EVENT_DEF(CFWL_EvtLtbSelChanged,
42 CFWL_EventType::SelectChanged,
43 CFX_Int32Array iarraySels;)
44
45 class IFWL_ListBoxDP : public IFWL_DataProvider { 41 class IFWL_ListBoxDP : public IFWL_DataProvider {
46 public: 42 public:
47 virtual int32_t CountItems(const IFWL_Widget* pWidget) const = 0; 43 virtual int32_t CountItems(const IFWL_Widget* pWidget) const = 0;
48 virtual CFWL_ListItem* GetItem(const IFWL_Widget* pWidget, 44 virtual CFWL_ListItem* GetItem(const IFWL_Widget* pWidget,
49 int32_t nIndex) const = 0; 45 int32_t nIndex) const = 0;
50 virtual int32_t GetItemIndex(IFWL_Widget* pWidget, CFWL_ListItem* pItem) = 0; 46 virtual int32_t GetItemIndex(IFWL_Widget* pWidget, CFWL_ListItem* pItem) = 0;
51 virtual uint32_t GetItemStyles(IFWL_Widget* pWidget, 47 virtual uint32_t GetItemStyles(IFWL_Widget* pWidget,
52 CFWL_ListItem* pItem) = 0; 48 CFWL_ListItem* pItem) = 0;
53 virtual void GetItemText(IFWL_Widget* pWidget, 49 virtual void GetItemText(IFWL_Widget* pWidget,
54 CFWL_ListItem* pItem, 50 CFWL_ListItem* pItem,
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 const CFX_Matrix* pMatrix = nullptr); 137 const CFX_Matrix* pMatrix = nullptr);
142 void DrawStatic(CFX_Graphics* pGraphics, IFWL_ThemeProvider* pTheme); 138 void DrawStatic(CFX_Graphics* pGraphics, IFWL_ThemeProvider* pTheme);
143 CFX_SizeF CalcSize(bool bAutoSize = false); 139 CFX_SizeF CalcSize(bool bAutoSize = false);
144 void GetItemSize(CFX_SizeF& size, 140 void GetItemSize(CFX_SizeF& size,
145 CFWL_ListItem* hItem, 141 CFWL_ListItem* hItem,
146 FX_FLOAT fWidth, 142 FX_FLOAT fWidth,
147 FX_FLOAT fHeight, 143 FX_FLOAT fHeight,
148 bool bAutoSize = false); 144 bool bAutoSize = false);
149 FX_FLOAT GetMaxTextWidth(); 145 FX_FLOAT GetMaxTextWidth();
150 FX_FLOAT GetScrollWidth(); 146 FX_FLOAT GetScrollWidth();
151 void ProcessSelChanged(); 147
152 void OnFocusChanged(CFWL_Message* pMsg, bool bSet = true); 148 void OnFocusChanged(CFWL_Message* pMsg, bool bSet = true);
153 void OnLButtonDown(CFWL_MsgMouse* pMsg); 149 void OnLButtonDown(CFWL_MsgMouse* pMsg);
154 void OnLButtonUp(CFWL_MsgMouse* pMsg); 150 void OnLButtonUp(CFWL_MsgMouse* pMsg);
155 void OnMouseWheel(CFWL_MsgMouseWheel* pMsg); 151 void OnMouseWheel(CFWL_MsgMouseWheel* pMsg);
156 void OnKeyDown(CFWL_MsgKey* pMsg); 152 void OnKeyDown(CFWL_MsgKey* pMsg);
157 void OnVK(CFWL_ListItem* hItem, bool bShift, bool bCtrl); 153 void OnVK(CFWL_ListItem* hItem, bool bShift, bool bCtrl);
158 bool OnScroll(IFWL_ScrollBar* pScrollBar, FWL_SCBCODE dwCode, FX_FLOAT fPos); 154 bool OnScroll(IFWL_ScrollBar* pScrollBar, FWL_SCBCODE dwCode, FX_FLOAT fPos);
159 void DispatchSelChangedEv();
160 155
161 CFX_RectF m_rtClient; 156 CFX_RectF m_rtClient;
162 CFX_RectF m_rtStatic; 157 CFX_RectF m_rtStatic;
163 CFX_RectF m_rtConent; 158 CFX_RectF m_rtConent;
164 std::unique_ptr<IFWL_ScrollBar> m_pHorzScrollBar; 159 std::unique_ptr<IFWL_ScrollBar> m_pHorzScrollBar;
165 std::unique_ptr<IFWL_ScrollBar> m_pVertScrollBar; 160 std::unique_ptr<IFWL_ScrollBar> m_pVertScrollBar;
166 uint32_t m_dwTTOStyles; 161 uint32_t m_dwTTOStyles;
167 int32_t m_iTTOAligns; 162 int32_t m_iTTOAligns;
168 CFWL_ListItem* m_hAnchor; 163 CFWL_ListItem* m_hAnchor;
169 FX_FLOAT m_fItemHeight; 164 FX_FLOAT m_fItemHeight;
170 FX_FLOAT m_fScorllBarWidth; 165 FX_FLOAT m_fScorllBarWidth;
171 bool m_bLButtonDown; 166 bool m_bLButtonDown;
172 IFWL_ThemeProvider* m_pScrollBarTP; 167 IFWL_ThemeProvider* m_pScrollBarTP;
173 }; 168 };
174 169
175 #endif // XFA_FWL_CORE_IFWL_LISTBOX_H_ 170 #endif // XFA_FWL_CORE_IFWL_LISTBOX_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698