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 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 FX_FLOAT GetItemHeight() const { return m_fItemHeight; } | 100 FX_FLOAT GetItemHeight() const { return m_fItemHeight; } |
101 FX_FLOAT CalcItemHeight(); | 101 FX_FLOAT CalcItemHeight(); |
102 | 102 |
103 protected: | 103 protected: |
104 CFWL_ListItem* GetListItem(CFWL_ListItem* hItem, uint32_t dwKeyCode); | 104 CFWL_ListItem* GetListItem(CFWL_ListItem* hItem, uint32_t dwKeyCode); |
105 void SetSelection(CFWL_ListItem* hStart, CFWL_ListItem* hEnd, bool bSelected); | 105 void SetSelection(CFWL_ListItem* hStart, CFWL_ListItem* hEnd, bool bSelected); |
106 CFWL_ListItem* GetItemAtPoint(FX_FLOAT fx, FX_FLOAT fy); | 106 CFWL_ListItem* GetItemAtPoint(FX_FLOAT fx, FX_FLOAT fy); |
107 bool ScrollToVisible(CFWL_ListItem* hItem); | 107 bool ScrollToVisible(CFWL_ListItem* hItem); |
108 void InitScrollBar(bool bVert = true); | 108 void InitScrollBar(bool bVert = true); |
109 bool IsShowScrollBar(bool bVert); | 109 bool IsShowScrollBar(bool bVert); |
110 IFWL_ScrollBar* GetVertScrollBar() const { return m_pVertScrollBar.get(); } | 110 CFWL_ScrollBar* GetVertScrollBar() const { return m_pVertScrollBar.get(); } |
111 const CFX_RectF& GetRTClient() const { return m_rtClient; } | 111 const CFX_RectF& GetRTClient() const { return m_rtClient; } |
112 | 112 |
113 private: | 113 private: |
114 void SetSelectionDirect(CFWL_ListItem* hItem, bool bSelect); | 114 void SetSelectionDirect(CFWL_ListItem* hItem, bool bSelect); |
115 bool IsItemSelected(CFWL_ListItem* hItem); | 115 bool IsItemSelected(CFWL_ListItem* hItem); |
116 void ClearSelection(); | 116 void ClearSelection(); |
117 void SelectAll(); | 117 void SelectAll(); |
118 CFWL_ListItem* GetFocusedItem(); | 118 CFWL_ListItem* GetFocusedItem(); |
119 void SetFocusItem(CFWL_ListItem* hItem); | 119 void SetFocusItem(CFWL_ListItem* hItem); |
120 bool GetItemCheckRectInternal(CFWL_ListItem* hItem, CFX_RectF& rtCheck); | 120 bool GetItemCheckRectInternal(CFWL_ListItem* hItem, CFX_RectF& rtCheck); |
(...skipping 20 matching lines...) Expand all Loading... |
141 bool bAutoSize = false); | 141 bool bAutoSize = false); |
142 FX_FLOAT GetMaxTextWidth(); | 142 FX_FLOAT GetMaxTextWidth(); |
143 FX_FLOAT GetScrollWidth(); | 143 FX_FLOAT GetScrollWidth(); |
144 | 144 |
145 void OnFocusChanged(CFWL_Message* pMsg, bool bSet = true); | 145 void OnFocusChanged(CFWL_Message* pMsg, bool bSet = true); |
146 void OnLButtonDown(CFWL_MsgMouse* pMsg); | 146 void OnLButtonDown(CFWL_MsgMouse* pMsg); |
147 void OnLButtonUp(CFWL_MsgMouse* pMsg); | 147 void OnLButtonUp(CFWL_MsgMouse* pMsg); |
148 void OnMouseWheel(CFWL_MsgMouseWheel* pMsg); | 148 void OnMouseWheel(CFWL_MsgMouseWheel* pMsg); |
149 void OnKeyDown(CFWL_MsgKey* pMsg); | 149 void OnKeyDown(CFWL_MsgKey* pMsg); |
150 void OnVK(CFWL_ListItem* hItem, bool bShift, bool bCtrl); | 150 void OnVK(CFWL_ListItem* hItem, bool bShift, bool bCtrl); |
151 bool OnScroll(IFWL_ScrollBar* pScrollBar, FWL_SCBCODE dwCode, FX_FLOAT fPos); | 151 bool OnScroll(CFWL_ScrollBar* pScrollBar, FWL_SCBCODE dwCode, FX_FLOAT fPos); |
152 | 152 |
153 CFX_RectF m_rtClient; | 153 CFX_RectF m_rtClient; |
154 CFX_RectF m_rtStatic; | 154 CFX_RectF m_rtStatic; |
155 CFX_RectF m_rtConent; | 155 CFX_RectF m_rtConent; |
156 std::unique_ptr<IFWL_ScrollBar> m_pHorzScrollBar; | 156 std::unique_ptr<CFWL_ScrollBar> m_pHorzScrollBar; |
157 std::unique_ptr<IFWL_ScrollBar> m_pVertScrollBar; | 157 std::unique_ptr<CFWL_ScrollBar> m_pVertScrollBar; |
158 uint32_t m_dwTTOStyles; | 158 uint32_t m_dwTTOStyles; |
159 int32_t m_iTTOAligns; | 159 int32_t m_iTTOAligns; |
160 CFWL_ListItem* m_hAnchor; | 160 CFWL_ListItem* m_hAnchor; |
161 FX_FLOAT m_fItemHeight; | 161 FX_FLOAT m_fItemHeight; |
162 FX_FLOAT m_fScorllBarWidth; | 162 FX_FLOAT m_fScorllBarWidth; |
163 bool m_bLButtonDown; | 163 bool m_bLButtonDown; |
164 IFWL_ThemeProvider* m_pScrollBarTP; | 164 IFWL_ThemeProvider* m_pScrollBarTP; |
165 std::vector<std::unique_ptr<CFWL_ListItem>> m_ItemArray; | 165 std::vector<std::unique_ptr<CFWL_ListItem>> m_ItemArray; |
166 }; | 166 }; |
167 | 167 |
168 #endif // XFA_FWL_CORE_IFWL_LISTBOX_H_ | 168 #endif // XFA_FWL_CORE_IFWL_LISTBOX_H_ |
OLD | NEW |