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/fxfa/app/xfa_ffchoicelist.h" | 7 #include "xfa/fxfa/app/xfa_ffchoicelist.h" |
8 | 8 |
9 #include "xfa/fwl/core/cfwl_combobox.h" | 9 #include "xfa/fwl/core/cfwl_combobox.h" |
10 #include "xfa/fwl/core/cfwl_listbox.h" | 10 #include "xfa/fwl/core/cfwl_listbox.h" |
11 #include "xfa/fwl/core/fwl_noteimp.h" | 11 #include "xfa/fwl/core/fwl_noteimp.h" |
12 #include "xfa/fwl/core/ifwl_app.h" | 12 #include "xfa/fwl/core/ifwl_app.h" |
13 #include "xfa/fwl/core/ifwl_edit.h" | 13 #include "xfa/fwl/core/ifwl_edit.h" |
14 #include "xfa/fxfa/app/xfa_fffield.h" | 14 #include "xfa/fxfa/app/xfa_fffield.h" |
15 #include "xfa/fxfa/app/xfa_fwladapter.h" | 15 #include "xfa/fxfa/app/xfa_fwladapter.h" |
16 #include "xfa/fxfa/cxfa_eventparam.h" | 16 #include "xfa/fxfa/cxfa_eventparam.h" |
17 #include "xfa/fxfa/xfa_ffdoc.h" | 17 #include "xfa/fxfa/xfa_ffdoc.h" |
18 #include "xfa/fxfa/xfa_ffdocview.h" | 18 #include "xfa/fxfa/xfa_ffdocview.h" |
19 #include "xfa/fxfa/xfa_ffpageview.h" | 19 #include "xfa/fxfa/xfa_ffpageview.h" |
20 #include "xfa/fxfa/xfa_ffwidget.h" | 20 #include "xfa/fxfa/xfa_ffwidget.h" |
21 | 21 |
22 CXFA_FFListBox::CXFA_FFListBox(CXFA_FFPageView* pPageView, | 22 CXFA_FFListBox::CXFA_FFListBox(CXFA_FFPageView* pPageView, |
23 CXFA_WidgetAcc* pDataAcc) | 23 CXFA_WidgetAcc* pDataAcc) |
24 : CXFA_FFField(pPageView, pDataAcc), m_pOldDelegate(nullptr) {} | 24 : CXFA_FFField(pPageView, pDataAcc), m_pOldDelegate(nullptr) {} |
| 25 |
25 CXFA_FFListBox::~CXFA_FFListBox() { | 26 CXFA_FFListBox::~CXFA_FFListBox() { |
26 if (m_pNormalWidget) { | 27 if (m_pNormalWidget) { |
27 IFWL_Widget* pWidget = m_pNormalWidget->GetWidget(); | 28 IFWL_Widget* pWidget = m_pNormalWidget->GetWidget(); |
28 CFWL_NoteDriver* pNoteDriver = FWL_GetApp()->GetNoteDriver(); | 29 CFWL_NoteDriver* pNoteDriver = pWidget->GetOwnerApp()->GetNoteDriver(); |
29 pNoteDriver->UnregisterEventTarget(pWidget); | 30 pNoteDriver->UnregisterEventTarget(pWidget); |
30 } | 31 } |
31 } | 32 } |
| 33 |
32 FX_BOOL CXFA_FFListBox::LoadWidget() { | 34 FX_BOOL CXFA_FFListBox::LoadWidget() { |
33 CFWL_ListBox* pListBox = new CFWL_ListBox; | 35 CFWL_ListBox* pListBox = new CFWL_ListBox(GetFWLApp()); |
34 pListBox->Initialize(); | 36 pListBox->Initialize(nullptr); |
35 pListBox->ModifyStyles(FWL_WGTSTYLE_VScroll | FWL_WGTSTYLE_NoBackground, | 37 pListBox->ModifyStyles(FWL_WGTSTYLE_VScroll | FWL_WGTSTYLE_NoBackground, |
36 0xFFFFFFFF); | 38 0xFFFFFFFF); |
37 m_pNormalWidget = (CFWL_Widget*)pListBox; | 39 m_pNormalWidget = (CFWL_Widget*)pListBox; |
38 m_pNormalWidget->SetLayoutItem(this); | 40 m_pNormalWidget->SetLayoutItem(this); |
| 41 |
39 IFWL_Widget* pWidget = m_pNormalWidget->GetWidget(); | 42 IFWL_Widget* pWidget = m_pNormalWidget->GetWidget(); |
40 CFWL_NoteDriver* pNoteDriver = FWL_GetApp()->GetNoteDriver(); | 43 CFWL_NoteDriver* pNoteDriver = pWidget->GetOwnerApp()->GetNoteDriver(); |
41 pNoteDriver->RegisterEventTarget(pWidget, pWidget); | 44 pNoteDriver->RegisterEventTarget(pWidget, pWidget); |
42 m_pOldDelegate = m_pNormalWidget->SetDelegate(this); | 45 m_pOldDelegate = m_pNormalWidget->SetDelegate(this); |
43 m_pNormalWidget->LockUpdate(); | 46 m_pNormalWidget->LockUpdate(); |
44 CFX_WideStringArray wsLabelArray; | 47 CFX_WideStringArray wsLabelArray; |
45 m_pDataAcc->GetChoiceListItems(wsLabelArray, FALSE); | 48 m_pDataAcc->GetChoiceListItems(wsLabelArray, FALSE); |
46 int32_t iItems = wsLabelArray.GetSize(); | 49 int32_t iItems = wsLabelArray.GetSize(); |
47 for (int32_t i = 0; i < iItems; i++) { | 50 for (int32_t i = 0; i < iItems; i++) { |
48 pListBox->AddString(wsLabelArray[i].AsStringC()); | 51 pListBox->AddString(wsLabelArray[i].AsStringC()); |
49 } | 52 } |
50 uint32_t dwExtendedStyle = FWL_STYLEEXT_LTB_ShowScrollBarFocus; | 53 uint32_t dwExtendedStyle = FWL_STYLEEXT_LTB_ShowScrollBarFocus; |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
220 return FALSE; | 223 return FALSE; |
221 } | 224 } |
222 CFX_RectF rtWidget; | 225 CFX_RectF rtWidget; |
223 ((CFWL_ComboBox*)m_pNormalWidget)->GetBBox(rtWidget); | 226 ((CFWL_ComboBox*)m_pNormalWidget)->GetBBox(rtWidget); |
224 if (rtWidget.Contains(fx, fy)) { | 227 if (rtWidget.Contains(fx, fy)) { |
225 return TRUE; | 228 return TRUE; |
226 } | 229 } |
227 return FALSE; | 230 return FALSE; |
228 } | 231 } |
229 FX_BOOL CXFA_FFComboBox::LoadWidget() { | 232 FX_BOOL CXFA_FFComboBox::LoadWidget() { |
230 CFWL_ComboBox* pComboBox = new CFWL_ComboBox; | 233 CFWL_ComboBox* pComboBox = new CFWL_ComboBox(GetFWLApp()); |
231 pComboBox->Initialize(); | 234 pComboBox->Initialize(nullptr); |
232 m_pNormalWidget = (CFWL_Widget*)pComboBox; | 235 m_pNormalWidget = (CFWL_Widget*)pComboBox; |
233 m_pNormalWidget->SetLayoutItem(this); | 236 m_pNormalWidget->SetLayoutItem(this); |
| 237 |
234 IFWL_Widget* pWidget = m_pNormalWidget->GetWidget(); | 238 IFWL_Widget* pWidget = m_pNormalWidget->GetWidget(); |
235 CFWL_NoteDriver* pNoteDriver = FWL_GetApp()->GetNoteDriver(); | 239 CFWL_NoteDriver* pNoteDriver = pWidget->GetOwnerApp()->GetNoteDriver(); |
236 pNoteDriver->RegisterEventTarget(pWidget, pWidget); | 240 pNoteDriver->RegisterEventTarget(pWidget, pWidget); |
237 m_pOldDelegate = m_pNormalWidget->SetDelegate(this); | 241 m_pOldDelegate = m_pNormalWidget->SetDelegate(this); |
238 m_pNormalWidget->LockUpdate(); | 242 m_pNormalWidget->LockUpdate(); |
239 CFX_WideStringArray wsLabelArray; | 243 CFX_WideStringArray wsLabelArray; |
240 m_pDataAcc->GetChoiceListItems(wsLabelArray, FALSE); | 244 m_pDataAcc->GetChoiceListItems(wsLabelArray, FALSE); |
241 int32_t iItems = wsLabelArray.GetSize(); | 245 int32_t iItems = wsLabelArray.GetSize(); |
242 for (int32_t i = 0; i < iItems; i++) { | 246 for (int32_t i = 0; i < iItems; i++) { |
243 pComboBox->AddString(wsLabelArray[i].AsStringC()); | 247 pComboBox->AddString(wsLabelArray[i].AsStringC()); |
244 } | 248 } |
245 CFX_Int32Array iSelArray; | 249 CFX_Int32Array iSelArray; |
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
524 default: | 528 default: |
525 break; | 529 break; |
526 } | 530 } |
527 m_pOldDelegate->OnProcessEvent(pEvent); | 531 m_pOldDelegate->OnProcessEvent(pEvent); |
528 } | 532 } |
529 | 533 |
530 void CXFA_FFComboBox::OnDrawWidget(CFX_Graphics* pGraphics, | 534 void CXFA_FFComboBox::OnDrawWidget(CFX_Graphics* pGraphics, |
531 const CFX_Matrix* pMatrix) { | 535 const CFX_Matrix* pMatrix) { |
532 m_pOldDelegate->OnDrawWidget(pGraphics, pMatrix); | 536 m_pOldDelegate->OnDrawWidget(pGraphics, pMatrix); |
533 } | 537 } |
OLD | NEW |