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 "xfa/fwl/core/cfwl_combobox.h" | 7 #include "xfa/fwl/core/cfwl_combobox.h" |
8 | 8 |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
11 #include "xfa/fwl/core/fwl_error.h" | 11 #include "xfa/fwl/core/fwl_error.h" |
12 #include "xfa/fwl/core/ifwl_widget.h" | 12 #include "xfa/fwl/core/ifwl_widget.h" |
13 | 13 |
| 14 CFWL_ComboBox::CFWL_ComboBox(const IFWL_App* app) : CFWL_Widget(app) {} |
| 15 |
| 16 CFWL_ComboBox::~CFWL_ComboBox() {} |
| 17 |
| 18 void CFWL_ComboBox::Initialize(const CFWL_WidgetProperties* pProperties) { |
| 19 ASSERT(!m_pIface); |
| 20 |
| 21 if (pProperties) |
| 22 *m_pProperties = *pProperties; |
| 23 |
| 24 std::unique_ptr<IFWL_ComboBox> pComboBox(new IFWL_ComboBox( |
| 25 m_pApp, m_pProperties->MakeWidgetImpProperties(&m_comboBoxData))); |
| 26 pComboBox->Initialize(); |
| 27 |
| 28 m_pIface = std::move(pComboBox); |
| 29 CFWL_Widget::Initialize(pProperties); |
| 30 } |
| 31 |
14 IFWL_ComboBox* CFWL_ComboBox::GetWidget() { | 32 IFWL_ComboBox* CFWL_ComboBox::GetWidget() { |
15 return static_cast<IFWL_ComboBox*>(m_pIface.get()); | 33 return static_cast<IFWL_ComboBox*>(m_pIface.get()); |
16 } | 34 } |
17 | 35 |
18 const IFWL_ComboBox* CFWL_ComboBox::GetWidget() const { | 36 const IFWL_ComboBox* CFWL_ComboBox::GetWidget() const { |
19 return static_cast<IFWL_ComboBox*>(m_pIface.get()); | 37 return static_cast<IFWL_ComboBox*>(m_pIface.get()); |
20 } | 38 } |
21 | 39 |
22 FWL_Error CFWL_ComboBox::Initialize(const CFWL_WidgetProperties* pProperties) { | |
23 if (m_pIface) | |
24 return FWL_Error::Indefinite; | |
25 if (pProperties) { | |
26 *m_pProperties = *pProperties; | |
27 } | |
28 std::unique_ptr<IFWL_ComboBox> pComboBox(new IFWL_ComboBox( | |
29 m_pProperties->MakeWidgetImpProperties(&m_comboBoxData))); | |
30 FWL_Error ret = pComboBox->Initialize(); | |
31 if (ret != FWL_Error::Succeeded) { | |
32 return ret; | |
33 } | |
34 m_pIface = std::move(pComboBox); | |
35 CFWL_Widget::Initialize(); | |
36 return FWL_Error::Succeeded; | |
37 } | |
38 | |
39 int32_t CFWL_ComboBox::AddString(const CFX_WideStringC& wsText) { | 40 int32_t CFWL_ComboBox::AddString(const CFX_WideStringC& wsText) { |
40 std::unique_ptr<CFWL_ComboBoxItem> pItem(new CFWL_ComboBoxItem); | 41 std::unique_ptr<CFWL_ComboBoxItem> pItem(new CFWL_ComboBoxItem); |
41 pItem->m_wsText = wsText; | 42 pItem->m_wsText = wsText; |
42 pItem->m_dwStyles = 0; | 43 pItem->m_dwStyles = 0; |
43 m_comboBoxData.m_ItemArray.push_back(std::move(pItem)); | 44 m_comboBoxData.m_ItemArray.push_back(std::move(pItem)); |
44 return m_comboBoxData.m_ItemArray.size() - 1; | 45 return m_comboBoxData.m_ItemArray.size() - 1; |
45 } | 46 } |
46 | 47 |
47 int32_t CFWL_ComboBox::AddString(const CFX_WideStringC& wsText, | 48 int32_t CFWL_ComboBox::AddString(const CFX_WideStringC& wsText, |
48 CFX_DIBitmap* pIcon) { | 49 CFX_DIBitmap* pIcon) { |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 } | 225 } |
225 | 226 |
226 FWL_Error CFWL_ComboBox::EditModifyStylesEx(uint32_t dwStylesExAdded, | 227 FWL_Error CFWL_ComboBox::EditModifyStylesEx(uint32_t dwStylesExAdded, |
227 uint32_t dwStylesExRemoved) { | 228 uint32_t dwStylesExRemoved) { |
228 return GetWidget() | 229 return GetWidget() |
229 ? GetWidget()->EditModifyStylesEx(dwStylesExAdded, | 230 ? GetWidget()->EditModifyStylesEx(dwStylesExAdded, |
230 dwStylesExRemoved) | 231 dwStylesExRemoved) |
231 : FWL_Error::Indefinite; | 232 : FWL_Error::Indefinite; |
232 } | 233 } |
233 | 234 |
234 CFWL_ComboBox::CFWL_ComboBox() {} | |
235 | |
236 CFWL_ComboBox::~CFWL_ComboBox() {} | |
237 | |
238 CFWL_ComboBox::CFWL_ComboBoxDP::CFWL_ComboBoxDP() { | 235 CFWL_ComboBox::CFWL_ComboBoxDP::CFWL_ComboBoxDP() { |
239 m_fItemHeight = 0; | 236 m_fItemHeight = 0; |
240 m_fMaxListHeight = 0; | 237 m_fMaxListHeight = 0; |
241 } | 238 } |
242 | 239 |
243 CFWL_ComboBox::CFWL_ComboBoxDP::~CFWL_ComboBoxDP() {} | 240 CFWL_ComboBox::CFWL_ComboBoxDP::~CFWL_ComboBoxDP() {} |
244 | 241 |
245 FWL_Error CFWL_ComboBox::CFWL_ComboBoxDP::GetCaption( | 242 FWL_Error CFWL_ComboBox::CFWL_ComboBoxDP::GetCaption( |
246 IFWL_Widget* pWidget, | 243 IFWL_Widget* pWidget, |
247 CFX_WideString& wsCaption) { | 244 CFX_WideString& wsCaption) { |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
379 return FWL_Error::Succeeded; | 376 return FWL_Error::Succeeded; |
380 } | 377 } |
381 | 378 |
382 FX_FLOAT CFWL_ComboBox::CFWL_ComboBoxDP::GetListHeight(IFWL_Widget* pWidget) { | 379 FX_FLOAT CFWL_ComboBox::CFWL_ComboBoxDP::GetListHeight(IFWL_Widget* pWidget) { |
383 return m_fMaxListHeight; | 380 return m_fMaxListHeight; |
384 } | 381 } |
385 | 382 |
386 CFWL_ComboBoxItem::CFWL_ComboBoxItem() : m_pDIB(nullptr), m_pData(nullptr) {} | 383 CFWL_ComboBoxItem::CFWL_ComboBoxItem() : m_pDIB(nullptr), m_pData(nullptr) {} |
387 | 384 |
388 CFWL_ComboBoxItem::~CFWL_ComboBoxItem() {} | 385 CFWL_ComboBoxItem::~CFWL_ComboBoxItem() {} |
OLD | NEW |