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

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

Issue 2506253004: Split fwl/core class pt I. (Closed)
Patch Set: Rebase to master 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 class IFWL_ListBoxDP : public IFWL_DataProvider {
42 public:
43 virtual int32_t CountItems(const IFWL_Widget* pWidget) const = 0;
44 virtual CFWL_ListItem* GetItem(const IFWL_Widget* pWidget,
45 int32_t nIndex) const = 0;
46 virtual int32_t GetItemIndex(IFWL_Widget* pWidget, CFWL_ListItem* pItem) = 0;
47 virtual uint32_t GetItemStyles(IFWL_Widget* pWidget,
48 CFWL_ListItem* pItem) = 0;
49 virtual void GetItemText(IFWL_Widget* pWidget,
50 CFWL_ListItem* pItem,
51 CFX_WideString& wsText) = 0;
52 virtual void GetItemRect(IFWL_Widget* pWidget,
53 CFWL_ListItem* pItem,
54 CFX_RectF& rtItem) = 0;
55 virtual void* GetItemData(IFWL_Widget* pWidget, CFWL_ListItem* pItem) = 0;
56 virtual void SetItemStyles(IFWL_Widget* pWidget,
57 CFWL_ListItem* pItem,
58 uint32_t dwStyle) = 0;
59 virtual void SetItemRect(IFWL_Widget* pWidget,
60 CFWL_ListItem* pItem,
61 const CFX_RectF& rtItem) = 0;
62 virtual CFX_DIBitmap* GetItemIcon(IFWL_Widget* pWidget,
63 CFWL_ListItem* pItem) = 0;
64 virtual void GetItemCheckRect(IFWL_Widget* pWidget,
65 CFWL_ListItem* pItem,
66 CFX_RectF& rtCheck) = 0;
67 virtual void SetItemCheckRect(IFWL_Widget* pWidget,
68 CFWL_ListItem* pItem,
69 const CFX_RectF& rtCheck) = 0;
70 virtual uint32_t GetItemCheckState(IFWL_Widget* pWidget,
71 CFWL_ListItem* pItem) = 0;
72 virtual void SetItemCheckState(IFWL_Widget* pWidget,
73 CFWL_ListItem* pItem,
74 uint32_t dwCheckState) = 0;
75 };
76
77 class IFWL_ListBox : public IFWL_Widget { 41 class IFWL_ListBox : public IFWL_Widget {
78 public: 42 public:
79 IFWL_ListBox(const IFWL_App* app, 43 IFWL_ListBox(const IFWL_App* app,
80 std::unique_ptr<CFWL_WidgetProperties> properties, 44 std::unique_ptr<CFWL_WidgetProperties> properties,
81 IFWL_Widget* pOuter); 45 IFWL_Widget* pOuter);
82 ~IFWL_ListBox() override; 46 ~IFWL_ListBox() override;
83 47
84 // IFWL_Widget 48 // IFWL_Widget
85 FWL_Type GetClassID() const override; 49 FWL_Type GetClassID() const override;
86 void GetWidgetRect(CFX_RectF& rect, bool bAutoSize = false) override; 50 void GetWidgetRect(CFX_RectF& rect, bool bAutoSize = false) override;
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 uint32_t m_dwTTOStyles; 125 uint32_t m_dwTTOStyles;
162 int32_t m_iTTOAligns; 126 int32_t m_iTTOAligns;
163 CFWL_ListItem* m_hAnchor; 127 CFWL_ListItem* m_hAnchor;
164 FX_FLOAT m_fItemHeight; 128 FX_FLOAT m_fItemHeight;
165 FX_FLOAT m_fScorllBarWidth; 129 FX_FLOAT m_fScorllBarWidth;
166 bool m_bLButtonDown; 130 bool m_bLButtonDown;
167 IFWL_ThemeProvider* m_pScrollBarTP; 131 IFWL_ThemeProvider* m_pScrollBarTP;
168 }; 132 };
169 133
170 #endif // XFA_FWL_CORE_IFWL_LISTBOX_H_ 134 #endif // XFA_FWL_CORE_IFWL_LISTBOX_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698