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_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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 CFX_Matrix m_matrix; | 48 CFX_Matrix m_matrix; |
49 int32_t m_index; | 49 int32_t m_index; |
50 CFX_RectF m_rect;) | 50 CFX_RectF m_rect;) |
51 | 51 |
52 class IFWL_ListBoxDP : public IFWL_DataProvider { | 52 class IFWL_ListBoxDP : public IFWL_DataProvider { |
53 public: | 53 public: |
54 virtual int32_t CountItems(const IFWL_Widget* pWidget) const = 0; | 54 virtual int32_t CountItems(const IFWL_Widget* pWidget) const = 0; |
55 virtual CFWL_ListItem* GetItem(const IFWL_Widget* pWidget, | 55 virtual CFWL_ListItem* GetItem(const IFWL_Widget* pWidget, |
56 int32_t nIndex) const = 0; | 56 int32_t nIndex) const = 0; |
57 virtual int32_t GetItemIndex(IFWL_Widget* pWidget, CFWL_ListItem* pItem) = 0; | 57 virtual int32_t GetItemIndex(IFWL_Widget* pWidget, CFWL_ListItem* pItem) = 0; |
58 virtual bool SetItemIndex(IFWL_Widget* pWidget, | |
59 CFWL_ListItem* pItem, | |
60 int32_t nIndex) = 0; | |
61 virtual uint32_t GetItemStyles(IFWL_Widget* pWidget, | 58 virtual uint32_t GetItemStyles(IFWL_Widget* pWidget, |
62 CFWL_ListItem* pItem) = 0; | 59 CFWL_ListItem* pItem) = 0; |
63 virtual void GetItemText(IFWL_Widget* pWidget, | 60 virtual void GetItemText(IFWL_Widget* pWidget, |
64 CFWL_ListItem* pItem, | 61 CFWL_ListItem* pItem, |
65 CFX_WideString& wsText) = 0; | 62 CFX_WideString& wsText) = 0; |
66 virtual void GetItemRect(IFWL_Widget* pWidget, | 63 virtual void GetItemRect(IFWL_Widget* pWidget, |
67 CFWL_ListItem* pItem, | 64 CFWL_ListItem* pItem, |
68 CFX_RectF& rtItem) = 0; | 65 CFX_RectF& rtItem) = 0; |
69 virtual void* GetItemData(IFWL_Widget* pWidget, CFWL_ListItem* pItem) = 0; | 66 virtual void* GetItemData(IFWL_Widget* pWidget, CFWL_ListItem* pItem) = 0; |
70 virtual void SetItemStyles(IFWL_Widget* pWidget, | 67 virtual void SetItemStyles(IFWL_Widget* pWidget, |
71 CFWL_ListItem* pItem, | 68 CFWL_ListItem* pItem, |
72 uint32_t dwStyle) = 0; | 69 uint32_t dwStyle) = 0; |
73 virtual void SetItemText(IFWL_Widget* pWidget, | |
74 CFWL_ListItem* pItem, | |
75 const FX_WCHAR* pszText) = 0; | |
76 virtual void SetItemRect(IFWL_Widget* pWidget, | 70 virtual void SetItemRect(IFWL_Widget* pWidget, |
77 CFWL_ListItem* pItem, | 71 CFWL_ListItem* pItem, |
78 const CFX_RectF& rtItem) = 0; | 72 const CFX_RectF& rtItem) = 0; |
79 virtual FX_FLOAT GetItemHeight(IFWL_Widget* pWidget) = 0; | |
80 virtual CFX_DIBitmap* GetItemIcon(IFWL_Widget* pWidget, | 73 virtual CFX_DIBitmap* GetItemIcon(IFWL_Widget* pWidget, |
81 CFWL_ListItem* pItem) = 0; | 74 CFWL_ListItem* pItem) = 0; |
82 virtual void GetItemCheckRect(IFWL_Widget* pWidget, | 75 virtual void GetItemCheckRect(IFWL_Widget* pWidget, |
83 CFWL_ListItem* pItem, | 76 CFWL_ListItem* pItem, |
84 CFX_RectF& rtCheck) = 0; | 77 CFX_RectF& rtCheck) = 0; |
85 virtual void SetItemCheckRect(IFWL_Widget* pWidget, | 78 virtual void SetItemCheckRect(IFWL_Widget* pWidget, |
86 CFWL_ListItem* pItem, | 79 CFWL_ListItem* pItem, |
87 const CFX_RectF& rtCheck) = 0; | 80 const CFX_RectF& rtCheck) = 0; |
88 virtual uint32_t GetItemCheckState(IFWL_Widget* pWidget, | 81 virtual uint32_t GetItemCheckState(IFWL_Widget* pWidget, |
89 CFWL_ListItem* pItem) = 0; | 82 CFWL_ListItem* pItem) = 0; |
(...skipping 20 matching lines...) Expand all Loading... |
110 void OnProcessMessage(CFWL_Message* pMessage) override; | 103 void OnProcessMessage(CFWL_Message* pMessage) override; |
111 void OnProcessEvent(CFWL_Event* pEvent) override; | 104 void OnProcessEvent(CFWL_Event* pEvent) override; |
112 void OnDrawWidget(CFX_Graphics* pGraphics, | 105 void OnDrawWidget(CFX_Graphics* pGraphics, |
113 const CFX_Matrix* pMatrix) override; | 106 const CFX_Matrix* pMatrix) override; |
114 | 107 |
115 int32_t CountSelItems(); | 108 int32_t CountSelItems(); |
116 CFWL_ListItem* GetSelItem(int32_t nIndexSel); | 109 CFWL_ListItem* GetSelItem(int32_t nIndexSel); |
117 int32_t GetSelIndex(int32_t nIndex); | 110 int32_t GetSelIndex(int32_t nIndex); |
118 void SetSelItem(CFWL_ListItem* hItem, bool bSelect = true); | 111 void SetSelItem(CFWL_ListItem* hItem, bool bSelect = true); |
119 void GetItemText(CFWL_ListItem* hItem, CFX_WideString& wsText); | 112 void GetItemText(CFWL_ListItem* hItem, CFX_WideString& wsText); |
120 void GetScrollPos(FX_FLOAT& fPos, bool bVert = true); | |
121 | 113 |
122 FX_FLOAT GetItemHeight() const { return m_fItemHeight; } | 114 FX_FLOAT GetItemHeight() const { return m_fItemHeight; } |
123 FX_FLOAT CalcItemHeight(); | 115 FX_FLOAT CalcItemHeight(); |
124 | 116 |
125 protected: | 117 protected: |
126 CFWL_ListItem* GetItem(CFWL_ListItem* hItem, uint32_t dwKeyCode); | 118 CFWL_ListItem* GetItem(CFWL_ListItem* hItem, uint32_t dwKeyCode); |
127 void SetSelection(CFWL_ListItem* hStart, CFWL_ListItem* hEnd, bool bSelected); | 119 void SetSelection(CFWL_ListItem* hStart, CFWL_ListItem* hEnd, bool bSelected); |
128 CFWL_ListItem* GetItemAtPoint(FX_FLOAT fx, FX_FLOAT fy); | 120 CFWL_ListItem* GetItemAtPoint(FX_FLOAT fx, FX_FLOAT fy); |
129 bool ScrollToVisible(CFWL_ListItem* hItem); | 121 bool ScrollToVisible(CFWL_ListItem* hItem); |
130 void InitScrollBar(bool bVert = true); | 122 void InitScrollBar(bool bVert = true); |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 uint32_t m_dwTTOStyles; | 173 uint32_t m_dwTTOStyles; |
182 int32_t m_iTTOAligns; | 174 int32_t m_iTTOAligns; |
183 CFWL_ListItem* m_hAnchor; | 175 CFWL_ListItem* m_hAnchor; |
184 FX_FLOAT m_fItemHeight; | 176 FX_FLOAT m_fItemHeight; |
185 FX_FLOAT m_fScorllBarWidth; | 177 FX_FLOAT m_fScorllBarWidth; |
186 bool m_bLButtonDown; | 178 bool m_bLButtonDown; |
187 IFWL_ThemeProvider* m_pScrollBarTP; | 179 IFWL_ThemeProvider* m_pScrollBarTP; |
188 }; | 180 }; |
189 | 181 |
190 #endif // XFA_FWL_CORE_IFWL_LISTBOX_H_ | 182 #endif // XFA_FWL_CORE_IFWL_LISTBOX_H_ |
OLD | NEW |