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

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

Issue 2557103002: Cleanup FWL default values part II. (Closed)
Patch Set: Rebase to master Created 4 years 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
« no previous file with comments | « xfa/fwl/core/cfwl_form.cpp ('k') | xfa/fwl/core/cfwl_listbox.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_CFWL_LISTBOX_H_ 7 #ifndef XFA_FWL_CORE_CFWL_LISTBOX_H_
8 #define XFA_FWL_CORE_CFWL_LISTBOX_H_ 8 #define XFA_FWL_CORE_CFWL_LISTBOX_H_
9 9
10 #include <memory> 10 #include <memory>
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 void GetItemCheckRect(CFWL_Widget* pWidget, 77 void GetItemCheckRect(CFWL_Widget* pWidget,
78 CFWL_ListItem* pItem, 78 CFWL_ListItem* pItem,
79 CFX_RectF& rtCheck); 79 CFX_RectF& rtCheck);
80 void SetItemCheckRect(CFWL_Widget* pWidget, 80 void SetItemCheckRect(CFWL_Widget* pWidget,
81 CFWL_ListItem* pItem, 81 CFWL_ListItem* pItem,
82 const CFX_RectF& rtCheck); 82 const CFX_RectF& rtCheck);
83 uint32_t GetItemCheckState(CFWL_Widget* pWidget, CFWL_ListItem* pItem); 83 uint32_t GetItemCheckState(CFWL_Widget* pWidget, CFWL_ListItem* pItem);
84 void SetItemCheckState(CFWL_Widget* pWidget, 84 void SetItemCheckState(CFWL_Widget* pWidget,
85 CFWL_ListItem* pItem, 85 CFWL_ListItem* pItem,
86 uint32_t dwCheckState); 86 uint32_t dwCheckState);
87 CFWL_ListItem* AddString(const CFX_WideStringC& wsAdd, bool bSelect = false); 87 CFWL_ListItem* AddString(const CFX_WideStringC& wsAdd);
88 bool RemoveAt(int32_t iIndex); 88 bool RemoveAt(int32_t iIndex);
89 bool DeleteString(CFWL_ListItem* pItem); 89 bool DeleteString(CFWL_ListItem* pItem);
90 void DeleteAll(); 90 void DeleteAll();
91 91
92 int32_t CountSelItems(); 92 int32_t CountSelItems();
93 CFWL_ListItem* GetSelItem(int32_t nIndexSel); 93 CFWL_ListItem* GetSelItem(int32_t nIndexSel);
94 int32_t GetSelIndex(int32_t nIndex); 94 int32_t GetSelIndex(int32_t nIndex);
95 void SetSelItem(CFWL_ListItem* hItem, bool bSelect = true); 95 void SetSelItem(CFWL_ListItem* hItem, bool bSelect);
96 CFX_WideString GetDataProviderItemText(CFWL_ListItem* hItem); 96 CFX_WideString GetDataProviderItemText(CFWL_ListItem* hItem);
97 97
98 FX_FLOAT GetItemHeight() const { return m_fItemHeight; } 98 FX_FLOAT GetItemHeight() const { return m_fItemHeight; }
99 FX_FLOAT CalcItemHeight(); 99 FX_FLOAT CalcItemHeight();
100 100
101 protected: 101 protected:
102 CFWL_ListItem* GetListItem(CFWL_ListItem* hItem, uint32_t dwKeyCode); 102 CFWL_ListItem* GetListItem(CFWL_ListItem* hItem, uint32_t dwKeyCode);
103 void SetSelection(CFWL_ListItem* hStart, CFWL_ListItem* hEnd, bool bSelected); 103 void SetSelection(CFWL_ListItem* hStart, CFWL_ListItem* hEnd, bool bSelected);
104 CFWL_ListItem* GetItemAtPoint(FX_FLOAT fx, FX_FLOAT fy); 104 CFWL_ListItem* GetItemAtPoint(FX_FLOAT fx, FX_FLOAT fy);
105 bool ScrollToVisible(CFWL_ListItem* hItem); 105 bool ScrollToVisible(CFWL_ListItem* hItem);
106 void InitScrollBar(bool bVert = true); 106 void InitVerticalScrollBar();
107 void InitHorizontalScrollBar();
107 bool IsShowScrollBar(bool bVert); 108 bool IsShowScrollBar(bool bVert);
108 CFWL_ScrollBar* GetVertScrollBar() const { return m_pVertScrollBar.get(); } 109 CFWL_ScrollBar* GetVertScrollBar() const { return m_pVertScrollBar.get(); }
109 const CFX_RectF& GetRTClient() const { return m_rtClient; } 110 const CFX_RectF& GetRTClient() const { return m_rtClient; }
110 111
111 private: 112 private:
112 void SetSelectionDirect(CFWL_ListItem* hItem, bool bSelect); 113 void SetSelectionDirect(CFWL_ListItem* hItem, bool bSelect);
113 bool IsMultiSelection() const; 114 bool IsMultiSelection() const;
114 bool IsItemSelected(CFWL_ListItem* hItem); 115 bool IsItemSelected(CFWL_ListItem* hItem);
115 void ClearSelection(); 116 void ClearSelection();
116 void SelectAll(); 117 void SelectAll();
117 CFWL_ListItem* GetFocusedItem(); 118 CFWL_ListItem* GetFocusedItem();
118 void SetFocusItem(CFWL_ListItem* hItem); 119 void SetFocusItem(CFWL_ListItem* hItem);
119 bool GetItemCheckRectInternal(CFWL_ListItem* hItem, CFX_RectF& rtCheck); 120 bool GetItemCheckRectInternal(CFWL_ListItem* hItem, CFX_RectF& rtCheck);
120 bool SetItemChecked(CFWL_ListItem* hItem, bool bChecked); 121 bool SetItemChecked(CFWL_ListItem* hItem, bool bChecked);
121 bool GetItemChecked(CFWL_ListItem* hItem); 122 bool GetItemChecked(CFWL_ListItem* hItem);
122 void DrawBkground(CFX_Graphics* pGraphics, 123 void DrawBkground(CFX_Graphics* pGraphics,
123 IFWL_ThemeProvider* pTheme, 124 IFWL_ThemeProvider* pTheme,
124 const CFX_Matrix* pMatrix = nullptr); 125 const CFX_Matrix* pMatrix);
125 void DrawItems(CFX_Graphics* pGraphics, 126 void DrawItems(CFX_Graphics* pGraphics,
126 IFWL_ThemeProvider* pTheme, 127 IFWL_ThemeProvider* pTheme,
127 const CFX_Matrix* pMatrix = nullptr); 128 const CFX_Matrix* pMatrix);
128 void DrawItem(CFX_Graphics* pGraphics, 129 void DrawItem(CFX_Graphics* pGraphics,
129 IFWL_ThemeProvider* pTheme, 130 IFWL_ThemeProvider* pTheme,
130 CFWL_ListItem* hItem, 131 CFWL_ListItem* hItem,
131 int32_t Index, 132 int32_t Index,
132 const CFX_RectF& rtItem, 133 const CFX_RectF& rtItem,
133 const CFX_Matrix* pMatrix = nullptr); 134 const CFX_Matrix* pMatrix);
134 void DrawStatic(CFX_Graphics* pGraphics, IFWL_ThemeProvider* pTheme); 135 void DrawStatic(CFX_Graphics* pGraphics, IFWL_ThemeProvider* pTheme);
135 CFX_SizeF CalcSize(bool bAutoSize = false); 136 CFX_SizeF CalcSize(bool bAutoSize);
136 void GetItemSize(CFX_SizeF& size, 137 void GetItemSize(CFX_SizeF& size,
137 CFWL_ListItem* hItem, 138 CFWL_ListItem* hItem,
138 FX_FLOAT fWidth, 139 FX_FLOAT fWidth,
139 FX_FLOAT fHeight, 140 FX_FLOAT fHeight,
140 bool bAutoSize = false); 141 bool bAutoSize);
141 FX_FLOAT GetMaxTextWidth(); 142 FX_FLOAT GetMaxTextWidth();
142 FX_FLOAT GetScrollWidth(); 143 FX_FLOAT GetScrollWidth();
143 144
144 void OnFocusChanged(CFWL_Message* pMsg, bool bSet = true); 145 void OnFocusChanged(CFWL_Message* pMsg, bool bSet);
145 void OnLButtonDown(CFWL_MsgMouse* pMsg); 146 void OnLButtonDown(CFWL_MsgMouse* pMsg);
146 void OnLButtonUp(CFWL_MsgMouse* pMsg); 147 void OnLButtonUp(CFWL_MsgMouse* pMsg);
147 void OnMouseWheel(CFWL_MsgMouseWheel* pMsg); 148 void OnMouseWheel(CFWL_MsgMouseWheel* pMsg);
148 void OnKeyDown(CFWL_MsgKey* pMsg); 149 void OnKeyDown(CFWL_MsgKey* pMsg);
149 void OnVK(CFWL_ListItem* hItem, bool bShift, bool bCtrl); 150 void OnVK(CFWL_ListItem* hItem, bool bShift, bool bCtrl);
150 bool OnScroll(CFWL_ScrollBar* pScrollBar, 151 bool OnScroll(CFWL_ScrollBar* pScrollBar,
151 CFWL_EvtScroll::Code dwCode, 152 CFWL_EvtScroll::Code dwCode,
152 FX_FLOAT fPos); 153 FX_FLOAT fPos);
153 154
154 CFX_RectF m_rtClient; 155 CFX_RectF m_rtClient;
155 CFX_RectF m_rtStatic; 156 CFX_RectF m_rtStatic;
156 CFX_RectF m_rtConent; 157 CFX_RectF m_rtConent;
157 std::unique_ptr<CFWL_ScrollBar> m_pHorzScrollBar; 158 std::unique_ptr<CFWL_ScrollBar> m_pHorzScrollBar;
158 std::unique_ptr<CFWL_ScrollBar> m_pVertScrollBar; 159 std::unique_ptr<CFWL_ScrollBar> m_pVertScrollBar;
159 uint32_t m_dwTTOStyles; 160 uint32_t m_dwTTOStyles;
160 int32_t m_iTTOAligns; 161 int32_t m_iTTOAligns;
161 CFWL_ListItem* m_hAnchor; 162 CFWL_ListItem* m_hAnchor;
162 FX_FLOAT m_fItemHeight; 163 FX_FLOAT m_fItemHeight;
163 FX_FLOAT m_fScorllBarWidth; 164 FX_FLOAT m_fScorllBarWidth;
164 bool m_bLButtonDown; 165 bool m_bLButtonDown;
165 IFWL_ThemeProvider* m_pScrollBarTP; 166 IFWL_ThemeProvider* m_pScrollBarTP;
166 std::vector<std::unique_ptr<CFWL_ListItem>> m_ItemArray; 167 std::vector<std::unique_ptr<CFWL_ListItem>> m_ItemArray;
167 }; 168 };
168 169
169 #endif // XFA_FWL_CORE_CFWL_LISTBOX_H_ 170 #endif // XFA_FWL_CORE_CFWL_LISTBOX_H_
OLDNEW
« no previous file with comments | « xfa/fwl/core/cfwl_form.cpp ('k') | xfa/fwl/core/cfwl_listbox.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698