| 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 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "xfa/src/foxitlib.h" | 9 #include "xfa/src/foxitlib.h" |
| 10 | 10 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 int32_t CFWL_ComboBox::AddString(const CFX_WideStringC& wsText, | 37 int32_t CFWL_ComboBox::AddString(const CFX_WideStringC& wsText, |
| 38 CFX_DIBitmap* pIcon) { | 38 CFX_DIBitmap* pIcon) { |
| 39 std::unique_ptr<CFWL_ComboBoxItem> pItem(new CFWL_ComboBoxItem); | 39 std::unique_ptr<CFWL_ComboBoxItem> pItem(new CFWL_ComboBoxItem); |
| 40 pItem->m_wsText = wsText; | 40 pItem->m_wsText = wsText; |
| 41 pItem->m_dwStyles = 0; | 41 pItem->m_dwStyles = 0; |
| 42 pItem->m_pDIB = pIcon; | 42 pItem->m_pDIB = pIcon; |
| 43 m_comboBoxData.m_ItemArray.push_back(std::move(pItem)); | 43 m_comboBoxData.m_ItemArray.push_back(std::move(pItem)); |
| 44 return m_comboBoxData.m_ItemArray.size() - 1; | 44 return m_comboBoxData.m_ItemArray.size() - 1; |
| 45 } | 45 } |
| 46 bool CFWL_ComboBox::RemoveAt(int32_t iIndex) { | 46 bool CFWL_ComboBox::RemoveAt(int32_t iIndex) { |
| 47 if (iIndex < 0 || iIndex >= m_comboBoxData.m_ItemArray.size()) | 47 if (iIndex < 0 || |
| 48 static_cast<size_t>(iIndex) >= m_comboBoxData.m_ItemArray.size()) { |
| 48 return false; | 49 return false; |
| 49 | 50 } |
| 50 m_comboBoxData.m_ItemArray.erase(m_comboBoxData.m_ItemArray.begin() + iIndex); | 51 m_comboBoxData.m_ItemArray.erase(m_comboBoxData.m_ItemArray.begin() + iIndex); |
| 51 return true; | 52 return true; |
| 52 } | 53 } |
| 53 void CFWL_ComboBox::RemoveAll() { | 54 void CFWL_ComboBox::RemoveAll() { |
| 54 m_comboBoxData.m_ItemArray.clear(); | 55 m_comboBoxData.m_ItemArray.clear(); |
| 55 } | 56 } |
| 56 int32_t CFWL_ComboBox::CountItems() { | 57 int32_t CFWL_ComboBox::CountItems() { |
| 57 return m_comboBoxData.CountItems(GetWidget()); | 58 return m_comboBoxData.CountItems(GetWidget()); |
| 58 } | 59 } |
| 59 FWL_ERR CFWL_ComboBox::GetTextByIndex(int32_t iIndex, CFX_WideString& wsText) { | 60 FWL_ERR CFWL_ComboBox::GetTextByIndex(int32_t iIndex, CFX_WideString& wsText) { |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 238 CFWL_ComboBox::CFWL_ComboBoxDP::CFWL_ComboBoxDP() { | 239 CFWL_ComboBox::CFWL_ComboBoxDP::CFWL_ComboBoxDP() { |
| 239 m_fItemHeight = 0; | 240 m_fItemHeight = 0; |
| 240 m_fMaxListHeight = 0; | 241 m_fMaxListHeight = 0; |
| 241 } | 242 } |
| 242 CFWL_ComboBox::CFWL_ComboBoxDP::~CFWL_ComboBoxDP() {} | 243 CFWL_ComboBox::CFWL_ComboBoxDP::~CFWL_ComboBoxDP() {} |
| 243 int32_t CFWL_ComboBox::CFWL_ComboBoxDP::CountItems(IFWL_Widget* pWidget) { | 244 int32_t CFWL_ComboBox::CFWL_ComboBoxDP::CountItems(IFWL_Widget* pWidget) { |
| 244 return m_ItemArray.size(); | 245 return m_ItemArray.size(); |
| 245 } | 246 } |
| 246 FWL_HLISTITEM CFWL_ComboBox::CFWL_ComboBoxDP::GetItem(IFWL_Widget* pWidget, | 247 FWL_HLISTITEM CFWL_ComboBox::CFWL_ComboBoxDP::GetItem(IFWL_Widget* pWidget, |
| 247 int32_t nIndex) { | 248 int32_t nIndex) { |
| 248 return nIndex >= 0 && nIndex < m_ItemArray.size() | 249 if (nIndex < 0 || static_cast<size_t>(nIndex) >= m_ItemArray.size()) |
| 249 ? reinterpret_cast<FWL_HLISTITEM>(m_ItemArray[nIndex].get()) | 250 return nullptr; |
| 250 : nullptr; | 251 |
| 252 return reinterpret_cast<FWL_HLISTITEM>(m_ItemArray[nIndex].get()); |
| 251 } | 253 } |
| 252 int32_t CFWL_ComboBox::CFWL_ComboBoxDP::GetItemIndex(IFWL_Widget* pWidget, | 254 int32_t CFWL_ComboBox::CFWL_ComboBoxDP::GetItemIndex(IFWL_Widget* pWidget, |
| 253 FWL_HLISTITEM hItem) { | 255 FWL_HLISTITEM hItem) { |
| 254 auto it = std::find_if( | 256 auto it = std::find_if( |
| 255 m_ItemArray.begin(), m_ItemArray.end(), | 257 m_ItemArray.begin(), m_ItemArray.end(), |
| 256 [hItem](const std::unique_ptr<CFWL_ComboBoxItem>& candidate) { | 258 [hItem](const std::unique_ptr<CFWL_ComboBoxItem>& candidate) { |
| 257 return candidate.get() == reinterpret_cast<CFWL_ComboBoxItem*>(hItem); | 259 return candidate.get() == reinterpret_cast<CFWL_ComboBoxItem*>(hItem); |
| 258 }); | 260 }); |
| 259 return it != m_ItemArray.end() ? it - m_ItemArray.begin() : -1; | 261 return it != m_ItemArray.end() ? it - m_ItemArray.begin() : -1; |
| 260 } | 262 } |
| 261 FX_BOOL CFWL_ComboBox::CFWL_ComboBoxDP::SetItemIndex(IFWL_Widget* pWidget, | 263 FX_BOOL CFWL_ComboBox::CFWL_ComboBoxDP::SetItemIndex(IFWL_Widget* pWidget, |
| 262 FWL_HLISTITEM hItem, | 264 FWL_HLISTITEM hItem, |
| 263 int32_t nIndex) { | 265 int32_t nIndex) { |
| 264 if (nIndex < 0 || nIndex >= m_ItemArray.size()) | 266 if (nIndex < 0 || static_cast<size_t>(nIndex) >= m_ItemArray.size()) |
| 265 return FALSE; | 267 return FALSE; |
| 266 | 268 |
| 267 m_ItemArray[nIndex].reset(reinterpret_cast<CFWL_ComboBoxItem*>(hItem)); | 269 m_ItemArray[nIndex].reset(reinterpret_cast<CFWL_ComboBoxItem*>(hItem)); |
| 268 return TRUE; | 270 return TRUE; |
| 269 } | 271 } |
| 270 FX_DWORD CFWL_ComboBox::CFWL_ComboBoxDP::GetItemStyles(IFWL_Widget* pWidget, | 272 FX_DWORD CFWL_ComboBox::CFWL_ComboBoxDP::GetItemStyles(IFWL_Widget* pWidget, |
| 271 FWL_HLISTITEM hItem) { | 273 FWL_HLISTITEM hItem) { |
| 272 if (!hItem) | 274 if (!hItem) |
| 273 return 0; | 275 return 0; |
| 274 return reinterpret_cast<CFWL_ComboBoxItem*>(hItem)->m_dwStyles; | 276 return reinterpret_cast<CFWL_ComboBoxItem*>(hItem)->m_dwStyles; |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 356 IFWL_Widget* pWidget, | 358 IFWL_Widget* pWidget, |
| 357 FWL_HLISTITEM hItem, | 359 FWL_HLISTITEM hItem, |
| 358 FX_DWORD dwCheckState) { | 360 FX_DWORD dwCheckState) { |
| 359 CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(hItem); | 361 CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(hItem); |
| 360 pItem->m_dwCheckState = dwCheckState; | 362 pItem->m_dwCheckState = dwCheckState; |
| 361 return FWL_ERR_Succeeded; | 363 return FWL_ERR_Succeeded; |
| 362 } | 364 } |
| 363 FX_FLOAT CFWL_ComboBox::CFWL_ComboBoxDP::GetListHeight(IFWL_Widget* pWidget) { | 365 FX_FLOAT CFWL_ComboBox::CFWL_ComboBoxDP::GetListHeight(IFWL_Widget* pWidget) { |
| 364 return m_fMaxListHeight; | 366 return m_fMaxListHeight; |
| 365 } | 367 } |
| OLD | NEW |