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_pushbutton.h" | 7 #include "xfa/fwl/core/cfwl_pushbutton.h" |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
| 11 CFWL_PushButton::CFWL_PushButton(const IFWL_App* app) : CFWL_Widget(app) {} |
| 12 |
| 13 CFWL_PushButton::~CFWL_PushButton() {} |
| 14 |
| 15 void CFWL_PushButton::Initialize(const CFWL_WidgetProperties* pProperties) { |
| 16 ASSERT(!m_pIface); |
| 17 |
| 18 if (pProperties) |
| 19 *m_pProperties = *pProperties; |
| 20 |
| 21 std::unique_ptr<IFWL_PushButton> pPushButton(new IFWL_PushButton( |
| 22 m_pApp, m_pProperties->MakeWidgetImpProperties(&m_buttonData))); |
| 23 pPushButton->Initialize(); |
| 24 |
| 25 m_pIface = std::move(pPushButton); |
| 26 CFWL_Widget::Initialize(pProperties); |
| 27 } |
| 28 |
11 IFWL_PushButton* CFWL_PushButton::GetWidget() { | 29 IFWL_PushButton* CFWL_PushButton::GetWidget() { |
12 return static_cast<IFWL_PushButton*>(m_pIface.get()); | 30 return static_cast<IFWL_PushButton*>(m_pIface.get()); |
13 } | 31 } |
14 | 32 |
15 const IFWL_PushButton* CFWL_PushButton::GetWidget() const { | 33 const IFWL_PushButton* CFWL_PushButton::GetWidget() const { |
16 return static_cast<IFWL_PushButton*>(m_pIface.get()); | 34 return static_cast<IFWL_PushButton*>(m_pIface.get()); |
17 } | 35 } |
18 | 36 |
19 FWL_Error CFWL_PushButton::Initialize( | |
20 const CFWL_WidgetProperties* pProperties) { | |
21 if (m_pIface) | |
22 return FWL_Error::Indefinite; | |
23 if (pProperties) { | |
24 *m_pProperties = *pProperties; | |
25 } | |
26 std::unique_ptr<IFWL_PushButton> pPushButton(new IFWL_PushButton( | |
27 m_pProperties->MakeWidgetImpProperties(&m_buttonData))); | |
28 FWL_Error ret = pPushButton->Initialize(); | |
29 if (ret != FWL_Error::Succeeded) { | |
30 return ret; | |
31 } | |
32 m_pIface = std::move(pPushButton); | |
33 CFWL_Widget::Initialize(); | |
34 return FWL_Error::Succeeded; | |
35 } | |
36 | |
37 FWL_Error CFWL_PushButton::GetCaption(CFX_WideString& wsCaption) { | 37 FWL_Error CFWL_PushButton::GetCaption(CFX_WideString& wsCaption) { |
38 wsCaption = m_buttonData.m_wsCaption; | 38 wsCaption = m_buttonData.m_wsCaption; |
39 return FWL_Error::Succeeded; | 39 return FWL_Error::Succeeded; |
40 } | 40 } |
41 | 41 |
42 FWL_Error CFWL_PushButton::SetCaption(const CFX_WideStringC& wsCaption) { | 42 FWL_Error CFWL_PushButton::SetCaption(const CFX_WideStringC& wsCaption) { |
43 m_buttonData.m_wsCaption = wsCaption; | 43 m_buttonData.m_wsCaption = wsCaption; |
44 return FWL_Error::Succeeded; | 44 return FWL_Error::Succeeded; |
45 } | 45 } |
46 | 46 |
47 CFX_DIBitmap* CFWL_PushButton::GetPicture() { | 47 CFX_DIBitmap* CFWL_PushButton::GetPicture() { |
48 return m_buttonData.m_pBitmap; | 48 return m_buttonData.m_pBitmap; |
49 } | 49 } |
50 | 50 |
51 FWL_Error CFWL_PushButton::SetPicture(CFX_DIBitmap* pBitmap) { | 51 FWL_Error CFWL_PushButton::SetPicture(CFX_DIBitmap* pBitmap) { |
52 m_buttonData.m_pBitmap = pBitmap; | 52 m_buttonData.m_pBitmap = pBitmap; |
53 return FWL_Error::Succeeded; | 53 return FWL_Error::Succeeded; |
54 } | 54 } |
55 | 55 |
56 CFWL_PushButton::CFWL_PushButton() {} | |
57 | |
58 CFWL_PushButton::~CFWL_PushButton() {} | |
59 | |
60 FWL_Error CFWL_PushButton::CFWL_PushButtonDP::GetCaption( | 56 FWL_Error CFWL_PushButton::CFWL_PushButtonDP::GetCaption( |
61 IFWL_Widget* pWidget, | 57 IFWL_Widget* pWidget, |
62 CFX_WideString& wsCaption) { | 58 CFX_WideString& wsCaption) { |
63 wsCaption = m_wsCaption; | 59 wsCaption = m_wsCaption; |
64 return FWL_Error::Succeeded; | 60 return FWL_Error::Succeeded; |
65 } | 61 } |
66 | 62 |
67 CFX_DIBitmap* CFWL_PushButton::CFWL_PushButtonDP::GetPicture( | 63 CFX_DIBitmap* CFWL_PushButton::CFWL_PushButtonDP::GetPicture( |
68 IFWL_Widget* pWidget) { | 64 IFWL_Widget* pWidget) { |
69 return m_pBitmap; | 65 return m_pBitmap; |
70 } | 66 } |
OLD | NEW |