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

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

Issue 2480233003: Fold DataProviders into parent 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
« no previous file with comments | « xfa/fwl/core/cfwl_listbox.h ('k') | xfa/fwl/core/cfwl_picturebox.h » ('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 #include "xfa/fwl/core/cfwl_listbox.h" 7 #include "xfa/fwl/core/cfwl_listbox.h"
8 8
9 #include <memory> 9 #include <memory>
10 10
11 #include "third_party/base/ptr_util.h" 11 #include "third_party/base/ptr_util.h"
12 #include "third_party/base/stl_util.h" 12 #include "third_party/base/stl_util.h"
13 13
14 namespace { 14 namespace {
15 15
16 IFWL_ListBox* ToListBox(IFWL_Widget* widget) { 16 IFWL_ListBox* ToListBox(IFWL_Widget* widget) {
17 return static_cast<IFWL_ListBox*>(widget); 17 return static_cast<IFWL_ListBox*>(widget);
18 } 18 }
19 19
20 } // namespace 20 } // namespace
21 21
22 CFWL_ListBox::CFWL_ListBox(const IFWL_App* app) : CFWL_Widget(app) {} 22 CFWL_ListBox::CFWL_ListBox(const IFWL_App* app) : CFWL_Widget(app) {}
23 23
24 CFWL_ListBox::~CFWL_ListBox() {} 24 CFWL_ListBox::~CFWL_ListBox() {}
25 25
26 void CFWL_ListBox::Initialize() { 26 void CFWL_ListBox::Initialize() {
27 ASSERT(!m_pIface); 27 ASSERT(!m_pIface);
28 28
29 m_pIface = pdfium::MakeUnique<IFWL_ListBox>( 29 m_pIface = pdfium::MakeUnique<IFWL_ListBox>(
30 m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>(&m_ListBoxDP), nullptr); 30 m_pApp, pdfium::MakeUnique<CFWL_WidgetProperties>(this), nullptr);
31 31
32 CFWL_Widget::Initialize(); 32 CFWL_Widget::Initialize();
33 } 33 }
34 34
35 FWL_Error CFWL_ListBox::AddDIBitmap(CFX_DIBitmap* pDIB, IFWL_ListItem* pItem) { 35 FWL_Error CFWL_ListBox::AddDIBitmap(CFX_DIBitmap* pDIB, IFWL_ListItem* pItem) {
36 static_cast<CFWL_ListItem*>(pItem)->m_pDIB = pDIB; 36 static_cast<CFWL_ListItem*>(pItem)->m_pDIB = pDIB;
37 return FWL_Error::Succeeded; 37 return FWL_Error::Succeeded;
38 } 38 }
39 39
40 IFWL_ListItem* CFWL_ListBox::AddString(const CFX_WideStringC& wsAdd, 40 IFWL_ListItem* CFWL_ListBox::AddString(const CFX_WideStringC& wsAdd,
41 bool bSelect) { 41 bool bSelect) {
42 std::unique_ptr<CFWL_ListItem> pItem(new CFWL_ListItem); 42 std::unique_ptr<CFWL_ListItem> pItem(new CFWL_ListItem);
43 pItem->m_dwStates = 0; 43 pItem->m_dwStates = 0;
44 pItem->m_wsText = wsAdd; 44 pItem->m_wsText = wsAdd;
45 pItem->m_dwStates = bSelect ? FWL_ITEMSTATE_LTB_Selected : 0; 45 pItem->m_dwStates = bSelect ? FWL_ITEMSTATE_LTB_Selected : 0;
46 m_ListBoxDP.m_ItemArray.push_back(std::move(pItem)); 46 m_ItemArray.push_back(std::move(pItem));
47 return m_ListBoxDP.m_ItemArray.back().get(); 47 return m_ItemArray.back().get();
48 } 48 }
49 49
50 bool CFWL_ListBox::DeleteString(IFWL_ListItem* pItem) { 50 bool CFWL_ListBox::DeleteString(IFWL_ListItem* pItem) {
51 int32_t nIndex = m_ListBoxDP.GetItemIndex(GetWidget(), pItem); 51 int32_t nIndex = GetItemIndex(GetWidget(), pItem);
52 if (nIndex < 0 || 52 if (nIndex < 0 || static_cast<size_t>(nIndex) >= m_ItemArray.size()) {
53 static_cast<size_t>(nIndex) >= m_ListBoxDP.m_ItemArray.size()) {
54 return false; 53 return false;
55 } 54 }
56 int32_t iCount = m_ListBoxDP.CountItems(m_pIface.get()); 55 int32_t iCount = CountItems(m_pIface.get());
57 int32_t iSel = nIndex + 1; 56 int32_t iSel = nIndex + 1;
58 if (iSel >= iCount) { 57 if (iSel >= iCount) {
59 iSel = nIndex - 1; 58 iSel = nIndex - 1;
60 if (iSel < 0) { 59 if (iSel < 0) {
61 iSel = -1; 60 iSel = -1;
62 } 61 }
63 } 62 }
64 if (iSel >= 0) { 63 if (iSel >= 0) {
65 CFWL_ListItem* pSel = 64 CFWL_ListItem* pSel =
66 static_cast<CFWL_ListItem*>(m_ListBoxDP.GetItem(m_pIface.get(), iSel)); 65 static_cast<CFWL_ListItem*>(GetItem(m_pIface.get(), iSel));
67 pSel->m_dwStates |= FWL_ITEMSTATE_LTB_Selected; 66 pSel->m_dwStates |= FWL_ITEMSTATE_LTB_Selected;
68 } 67 }
69 m_ListBoxDP.m_ItemArray.erase(m_ListBoxDP.m_ItemArray.begin() + nIndex); 68 m_ItemArray.erase(m_ItemArray.begin() + nIndex);
70 return true; 69 return true;
71 } 70 }
72 71
73 void CFWL_ListBox::DeleteAll() { 72 void CFWL_ListBox::DeleteAll() {
74 m_ListBoxDP.m_ItemArray.clear(); 73 m_ItemArray.clear();
75 } 74 }
76 75
77 int32_t CFWL_ListBox::CountSelItems() { 76 int32_t CFWL_ListBox::CountSelItems() {
78 if (!GetWidget()) 77 if (!GetWidget())
79 return 0; 78 return 0;
80 return ToListBox(GetWidget())->CountSelItems(); 79 return ToListBox(GetWidget())->CountSelItems();
81 } 80 }
82 81
83 IFWL_ListItem* CFWL_ListBox::GetSelItem(int32_t nIndexSel) { 82 IFWL_ListItem* CFWL_ListBox::GetSelItem(int32_t nIndexSel) {
84 if (!GetWidget()) 83 if (!GetWidget())
(...skipping 20 matching lines...) Expand all
105 return ToListBox(GetWidget())->GetItemText(pItem, wsText); 104 return ToListBox(GetWidget())->GetItemText(pItem, wsText);
106 } 105 }
107 106
108 FWL_Error CFWL_ListBox::GetScrollPos(FX_FLOAT& fPos, bool bVert) { 107 FWL_Error CFWL_ListBox::GetScrollPos(FX_FLOAT& fPos, bool bVert) {
109 if (!GetWidget()) 108 if (!GetWidget())
110 return FWL_Error::Indefinite; 109 return FWL_Error::Indefinite;
111 return ToListBox(GetWidget())->GetScrollPos(fPos, bVert); 110 return ToListBox(GetWidget())->GetScrollPos(fPos, bVert);
112 } 111 }
113 112
114 FWL_Error CFWL_ListBox::SetItemHeight(FX_FLOAT fItemHeight) { 113 FWL_Error CFWL_ListBox::SetItemHeight(FX_FLOAT fItemHeight) {
115 m_ListBoxDP.m_fItemHeight = fItemHeight; 114 m_fItemHeight = fItemHeight;
116 return FWL_Error::Succeeded; 115 return FWL_Error::Succeeded;
117 } 116 }
118 117
119 IFWL_ListItem* CFWL_ListBox::GetFocusItem() { 118 IFWL_ListItem* CFWL_ListBox::GetFocusItem() {
120 for (const auto& pItem : m_ListBoxDP.m_ItemArray) { 119 for (const auto& pItem : m_ItemArray) {
121 if (pItem->m_dwStates & FWL_ITEMSTATE_LTB_Focused) 120 if (pItem->m_dwStates & FWL_ITEMSTATE_LTB_Focused)
122 return pItem.get(); 121 return pItem.get();
123 } 122 }
124 return nullptr; 123 return nullptr;
125 } 124 }
126 125
127 FWL_Error CFWL_ListBox::SetFocusItem(IFWL_ListItem* pItem) { 126 FWL_Error CFWL_ListBox::SetFocusItem(IFWL_ListItem* pItem) {
128 int32_t nIndex = m_ListBoxDP.GetItemIndex(GetWidget(), pItem); 127 int32_t nIndex = GetItemIndex(GetWidget(), pItem);
129 m_ListBoxDP.m_ItemArray[nIndex]->m_dwStates |= FWL_ITEMSTATE_LTB_Focused; 128 m_ItemArray[nIndex]->m_dwStates |= FWL_ITEMSTATE_LTB_Focused;
130 return FWL_Error::Succeeded; 129 return FWL_Error::Succeeded;
131 } 130 }
132 131
133 int32_t CFWL_ListBox::CountItems() { 132 int32_t CFWL_ListBox::CountItems() {
134 return pdfium::CollectionSize<int32_t>(m_ListBoxDP.m_ItemArray); 133 return pdfium::CollectionSize<int32_t>(m_ItemArray);
135 } 134 }
136 135
137 IFWL_ListItem* CFWL_ListBox::GetItem(int32_t nIndex) { 136 IFWL_ListItem* CFWL_ListBox::GetItem(int32_t nIndex) {
138 if (nIndex < 0 || nIndex >= CountItems()) 137 if (nIndex < 0 || nIndex >= CountItems())
139 return nullptr; 138 return nullptr;
140 139
141 return m_ListBoxDP.m_ItemArray[nIndex].get(); 140 return m_ItemArray[nIndex].get();
142 } 141 }
143 142
144 FWL_Error CFWL_ListBox::SetItemString(IFWL_ListItem* pItem, 143 FWL_Error CFWL_ListBox::SetItemString(IFWL_ListItem* pItem,
145 const CFX_WideStringC& wsText) { 144 const CFX_WideStringC& wsText) {
146 if (!pItem) 145 if (!pItem)
147 return FWL_Error::Indefinite; 146 return FWL_Error::Indefinite;
148 static_cast<CFWL_ListItem*>(pItem)->m_wsText = wsText; 147 static_cast<CFWL_ListItem*>(pItem)->m_wsText = wsText;
149 return FWL_Error::Succeeded; 148 return FWL_Error::Succeeded;
150 } 149 }
151 150
(...skipping 18 matching lines...) Expand all
170 169
171 IFWL_ListItem* CFWL_ListBox::GetItemAtPoint(FX_FLOAT fx, FX_FLOAT fy) { 170 IFWL_ListItem* CFWL_ListBox::GetItemAtPoint(FX_FLOAT fx, FX_FLOAT fy) {
172 CFX_RectF rtClient; 171 CFX_RectF rtClient;
173 GetWidget()->GetClientRect(rtClient); 172 GetWidget()->GetClientRect(rtClient);
174 fx -= rtClient.left; 173 fx -= rtClient.left;
175 fy -= rtClient.top; 174 fy -= rtClient.top;
176 FX_FLOAT fPosX = 0; 175 FX_FLOAT fPosX = 0;
177 FX_FLOAT fPosY = 0; 176 FX_FLOAT fPosY = 0;
178 ToListBox(GetWidget())->GetScrollPos(fx); 177 ToListBox(GetWidget())->GetScrollPos(fx);
179 ToListBox(GetWidget())->GetScrollPos(fy, false); 178 ToListBox(GetWidget())->GetScrollPos(fy, false);
180 int32_t nCount = m_ListBoxDP.CountItems(nullptr); 179 int32_t nCount = CountItems(nullptr);
181 for (int32_t i = 0; i < nCount; i++) { 180 for (int32_t i = 0; i < nCount; i++) {
182 IFWL_ListItem* pItem = m_ListBoxDP.GetItem(nullptr, i); 181 IFWL_ListItem* pItem = GetItem(nullptr, i);
183 if (!pItem) { 182 if (!pItem) {
184 continue; 183 continue;
185 } 184 }
186 CFX_RectF rtItem; 185 CFX_RectF rtItem;
187 m_ListBoxDP.GetItemRect(nullptr, pItem, rtItem); 186 GetItemRect(nullptr, pItem, rtItem);
188 rtItem.Offset(-fPosX, -fPosY); 187 rtItem.Offset(-fPosX, -fPosY);
189 if (rtItem.Contains(fx, fy)) { 188 if (rtItem.Contains(fx, fy)) {
190 return pItem; 189 return pItem;
191 } 190 }
192 } 191 }
193 return nullptr; 192 return nullptr;
194 } 193 }
195 194
196 uint32_t CFWL_ListBox::GetItemStates(IFWL_ListItem* pItem) { 195 uint32_t CFWL_ListBox::GetItemStates(IFWL_ListItem* pItem) {
197 if (!pItem) 196 if (!pItem)
198 return 0; 197 return 0;
199 CFWL_ListItem* pListItem = static_cast<CFWL_ListItem*>(pItem); 198 CFWL_ListItem* pListItem = static_cast<CFWL_ListItem*>(pItem);
200 return pListItem->m_dwStates | pListItem->m_dwCheckState; 199 return pListItem->m_dwStates | pListItem->m_dwCheckState;
201 } 200 }
202 201
203 CFWL_ListBox::CFWL_ListBoxDP::CFWL_ListBoxDP() {} 202 FWL_Error CFWL_ListBox::GetCaption(IFWL_Widget* pWidget,
204 203 CFX_WideString& wsCaption) {
205 CFWL_ListBox::CFWL_ListBoxDP::~CFWL_ListBoxDP() {}
206
207 FWL_Error CFWL_ListBox::CFWL_ListBoxDP::GetCaption(IFWL_Widget* pWidget,
208 CFX_WideString& wsCaption) {
209 wsCaption = m_wsData; 204 wsCaption = m_wsData;
210 return FWL_Error::Succeeded; 205 return FWL_Error::Succeeded;
211 } 206 }
212 207
213 int32_t CFWL_ListBox::CFWL_ListBoxDP::CountItems(const IFWL_Widget* pWidget) { 208 int32_t CFWL_ListBox::CountItems(const IFWL_Widget* pWidget) {
214 return pdfium::CollectionSize<int32_t>(m_ItemArray); 209 return pdfium::CollectionSize<int32_t>(m_ItemArray);
215 } 210 }
216 211
217 IFWL_ListItem* CFWL_ListBox::CFWL_ListBoxDP::GetItem(const IFWL_Widget* pWidget, 212 IFWL_ListItem* CFWL_ListBox::GetItem(const IFWL_Widget* pWidget,
218 int32_t nIndex) { 213 int32_t nIndex) {
219 if (nIndex < 0 || nIndex >= CountItems(pWidget)) 214 if (nIndex < 0 || nIndex >= CountItems(pWidget))
220 return nullptr; 215 return nullptr;
221 216
222 return m_ItemArray[nIndex].get(); 217 return m_ItemArray[nIndex].get();
223 } 218 }
224 219
225 int32_t CFWL_ListBox::CFWL_ListBoxDP::GetItemIndex(IFWL_Widget* pWidget, 220 int32_t CFWL_ListBox::GetItemIndex(IFWL_Widget* pWidget, IFWL_ListItem* pItem) {
226 IFWL_ListItem* pItem) {
227 auto it = std::find_if( 221 auto it = std::find_if(
228 m_ItemArray.begin(), m_ItemArray.end(), 222 m_ItemArray.begin(), m_ItemArray.end(),
229 [pItem](const std::unique_ptr<CFWL_ListItem>& candidate) { 223 [pItem](const std::unique_ptr<CFWL_ListItem>& candidate) {
230 return candidate.get() == static_cast<CFWL_ListItem*>(pItem); 224 return candidate.get() == static_cast<CFWL_ListItem*>(pItem);
231 }); 225 });
232 return it != m_ItemArray.end() ? it - m_ItemArray.begin() : -1; 226 return it != m_ItemArray.end() ? it - m_ItemArray.begin() : -1;
233 } 227 }
234 228
235 bool CFWL_ListBox::CFWL_ListBoxDP::SetItemIndex(IFWL_Widget* pWidget, 229 bool CFWL_ListBox::SetItemIndex(IFWL_Widget* pWidget,
236 IFWL_ListItem* pItem, 230 IFWL_ListItem* pItem,
237 int32_t nIndex) { 231 int32_t nIndex) {
238 if (nIndex < 0 || nIndex >= CountItems(pWidget)) 232 if (nIndex < 0 || nIndex >= CountItems(pWidget))
239 return false; 233 return false;
240 m_ItemArray[nIndex].reset(static_cast<CFWL_ListItem*>(pItem)); 234 m_ItemArray[nIndex].reset(static_cast<CFWL_ListItem*>(pItem));
241 return true; 235 return true;
242 } 236 }
243 237
244 uint32_t CFWL_ListBox::CFWL_ListBoxDP::GetItemStyles(IFWL_Widget* pWidget, 238 uint32_t CFWL_ListBox::GetItemStyles(IFWL_Widget* pWidget,
245 IFWL_ListItem* pItem) { 239 IFWL_ListItem* pItem) {
246 if (!pItem) 240 if (!pItem)
247 return 0; 241 return 0;
248 return static_cast<CFWL_ListItem*>(pItem)->m_dwStates; 242 return static_cast<CFWL_ListItem*>(pItem)->m_dwStates;
249 } 243 }
250 244
251 FWL_Error CFWL_ListBox::CFWL_ListBoxDP::GetItemText(IFWL_Widget* pWidget, 245 FWL_Error CFWL_ListBox::GetItemText(IFWL_Widget* pWidget,
252 IFWL_ListItem* pItem, 246 IFWL_ListItem* pItem,
253 CFX_WideString& wsText) { 247 CFX_WideString& wsText) {
254 if (!pItem) 248 if (!pItem)
255 return FWL_Error::Indefinite; 249 return FWL_Error::Indefinite;
256 wsText = static_cast<CFWL_ListItem*>(pItem)->m_wsText; 250 wsText = static_cast<CFWL_ListItem*>(pItem)->m_wsText;
257 return FWL_Error::Succeeded; 251 return FWL_Error::Succeeded;
258 } 252 }
259 253
260 FWL_Error CFWL_ListBox::CFWL_ListBoxDP::GetItemRect(IFWL_Widget* pWidget, 254 FWL_Error CFWL_ListBox::GetItemRect(IFWL_Widget* pWidget,
261 IFWL_ListItem* pItem, 255 IFWL_ListItem* pItem,
262 CFX_RectF& rtItem) { 256 CFX_RectF& rtItem) {
263 if (!pItem) 257 if (!pItem)
264 return FWL_Error::Indefinite; 258 return FWL_Error::Indefinite;
265 rtItem = static_cast<CFWL_ListItem*>(pItem)->m_rtItem; 259 rtItem = static_cast<CFWL_ListItem*>(pItem)->m_rtItem;
266 return FWL_Error::Succeeded; 260 return FWL_Error::Succeeded;
267 } 261 }
268 262
269 void* CFWL_ListBox::CFWL_ListBoxDP::GetItemData(IFWL_Widget* pWidget, 263 void* CFWL_ListBox::GetItemData(IFWL_Widget* pWidget, IFWL_ListItem* pItem) {
270 IFWL_ListItem* pItem) {
271 return pItem ? static_cast<CFWL_ListItem*>(pItem)->m_pData : nullptr; 264 return pItem ? static_cast<CFWL_ListItem*>(pItem)->m_pData : nullptr;
272 } 265 }
273 266
274 FWL_Error CFWL_ListBox::CFWL_ListBoxDP::SetItemStyles(IFWL_Widget* pWidget, 267 FWL_Error CFWL_ListBox::SetItemStyles(IFWL_Widget* pWidget,
275 IFWL_ListItem* pItem, 268 IFWL_ListItem* pItem,
276 uint32_t dwStyle) { 269 uint32_t dwStyle) {
277 if (!pItem) 270 if (!pItem)
278 return FWL_Error::Indefinite; 271 return FWL_Error::Indefinite;
279 static_cast<CFWL_ListItem*>(pItem)->m_dwStates = dwStyle; 272 static_cast<CFWL_ListItem*>(pItem)->m_dwStates = dwStyle;
280 return FWL_Error::Succeeded; 273 return FWL_Error::Succeeded;
281 } 274 }
282 275
283 FWL_Error CFWL_ListBox::CFWL_ListBoxDP::SetItemText(IFWL_Widget* pWidget, 276 FWL_Error CFWL_ListBox::SetItemText(IFWL_Widget* pWidget,
284 IFWL_ListItem* pItem, 277 IFWL_ListItem* pItem,
285 const FX_WCHAR* pszText) { 278 const FX_WCHAR* pszText) {
286 if (!pItem) 279 if (!pItem)
287 return FWL_Error::Indefinite; 280 return FWL_Error::Indefinite;
288 static_cast<CFWL_ListItem*>(pItem)->m_wsText = pszText; 281 static_cast<CFWL_ListItem*>(pItem)->m_wsText = pszText;
289 return FWL_Error::Succeeded; 282 return FWL_Error::Succeeded;
290 } 283 }
291 284
292 FWL_Error CFWL_ListBox::CFWL_ListBoxDP::SetItemRect(IFWL_Widget* pWidget, 285 FWL_Error CFWL_ListBox::SetItemRect(IFWL_Widget* pWidget,
293 IFWL_ListItem* pItem, 286 IFWL_ListItem* pItem,
294 const CFX_RectF& rtItem) { 287 const CFX_RectF& rtItem) {
295 if (!pItem) 288 if (!pItem)
296 return FWL_Error::Indefinite; 289 return FWL_Error::Indefinite;
297 static_cast<CFWL_ListItem*>(pItem)->m_rtItem = rtItem; 290 static_cast<CFWL_ListItem*>(pItem)->m_rtItem = rtItem;
298 return FWL_Error::Succeeded; 291 return FWL_Error::Succeeded;
299 } 292 }
300 293
301 FX_FLOAT CFWL_ListBox::CFWL_ListBoxDP::GetItemHeight(IFWL_Widget* pWidget) { 294 FX_FLOAT CFWL_ListBox::GetItemHeight(IFWL_Widget* pWidget) {
302 return m_fItemHeight; 295 return m_fItemHeight;
303 } 296 }
304 297
305 CFX_DIBitmap* CFWL_ListBox::CFWL_ListBoxDP::GetItemIcon(IFWL_Widget* pWidget, 298 CFX_DIBitmap* CFWL_ListBox::GetItemIcon(IFWL_Widget* pWidget,
306 IFWL_ListItem* pItem) { 299 IFWL_ListItem* pItem) {
307 return static_cast<CFWL_ListItem*>(pItem)->m_pDIB; 300 return static_cast<CFWL_ListItem*>(pItem)->m_pDIB;
308 } 301 }
309 302
310 FWL_Error CFWL_ListBox::CFWL_ListBoxDP::GetItemCheckRect(IFWL_Widget* pWidget, 303 FWL_Error CFWL_ListBox::GetItemCheckRect(IFWL_Widget* pWidget,
311 IFWL_ListItem* pItem, 304 IFWL_ListItem* pItem,
312 CFX_RectF& rtCheck) { 305 CFX_RectF& rtCheck) {
313 rtCheck = static_cast<CFWL_ListItem*>(pItem)->m_rtCheckBox; 306 rtCheck = static_cast<CFWL_ListItem*>(pItem)->m_rtCheckBox;
314 return FWL_Error::Succeeded; 307 return FWL_Error::Succeeded;
315 } 308 }
316 309
317 FWL_Error CFWL_ListBox::CFWL_ListBoxDP::SetItemCheckRect( 310 FWL_Error CFWL_ListBox::SetItemCheckRect(IFWL_Widget* pWidget,
318 IFWL_Widget* pWidget, 311 IFWL_ListItem* pItem,
319 IFWL_ListItem* pItem, 312 const CFX_RectF& rtCheck) {
320 const CFX_RectF& rtCheck) {
321 static_cast<CFWL_ListItem*>(pItem)->m_rtCheckBox = rtCheck; 313 static_cast<CFWL_ListItem*>(pItem)->m_rtCheckBox = rtCheck;
322 return FWL_Error::Succeeded; 314 return FWL_Error::Succeeded;
323 } 315 }
324 316
325 uint32_t CFWL_ListBox::CFWL_ListBoxDP::GetItemCheckState(IFWL_Widget* pWidget, 317 uint32_t CFWL_ListBox::GetItemCheckState(IFWL_Widget* pWidget,
326 IFWL_ListItem* pItem) { 318 IFWL_ListItem* pItem) {
327 return static_cast<CFWL_ListItem*>(pItem)->m_dwCheckState; 319 return static_cast<CFWL_ListItem*>(pItem)->m_dwCheckState;
328 } 320 }
329 321
330 FWL_Error CFWL_ListBox::CFWL_ListBoxDP::SetItemCheckState( 322 FWL_Error CFWL_ListBox::SetItemCheckState(IFWL_Widget* pWidget,
331 IFWL_Widget* pWidget, 323 IFWL_ListItem* pItem,
332 IFWL_ListItem* pItem, 324 uint32_t dwCheckState) {
333 uint32_t dwCheckState) {
334 static_cast<CFWL_ListItem*>(pItem)->m_dwCheckState = dwCheckState; 325 static_cast<CFWL_ListItem*>(pItem)->m_dwCheckState = dwCheckState;
335 return FWL_Error::Succeeded; 326 return FWL_Error::Succeeded;
336 } 327 }
337 328
338 CFWL_ListItem::CFWL_ListItem() { 329 CFWL_ListItem::CFWL_ListItem() {
339 m_rtItem.Reset(); 330 m_rtItem.Reset();
340 m_dwStates = 0; 331 m_dwStates = 0;
341 m_wsText = L""; 332 m_wsText = L"";
342 m_pDIB = nullptr; 333 m_pDIB = nullptr;
343 m_pData = nullptr; 334 m_pData = nullptr;
344 m_dwCheckState = 0; 335 m_dwCheckState = 0;
345 m_rtCheckBox.Reset(); 336 m_rtCheckBox.Reset();
346 } 337 }
347 338
348 CFWL_ListItem::~CFWL_ListItem() {} 339 CFWL_ListItem::~CFWL_ListItem() {}
OLDNEW
« no previous file with comments | « xfa/fwl/core/cfwl_listbox.h ('k') | xfa/fwl/core/cfwl_picturebox.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698