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/basewidget/ifwl_edit.h" | 9 #include "xfa/fwl/basewidget/ifwl_edit.h" |
10 #include "xfa/fwl/core/ifwl_app.h" | 10 #include "xfa/fwl/core/ifwl_app.h" |
(...skipping 26 matching lines...) Expand all Loading... |
37 IFWL_Widget* pWidget = m_pNormalWidget->GetWidget(); | 37 IFWL_Widget* pWidget = m_pNormalWidget->GetWidget(); |
38 m_pNormalWidget->SetPrivateData(pWidget, this, NULL); | 38 m_pNormalWidget->SetPrivateData(pWidget, this, NULL); |
39 IFWL_NoteDriver* pNoteDriver = FWL_GetApp()->GetNoteDriver(); | 39 IFWL_NoteDriver* pNoteDriver = FWL_GetApp()->GetNoteDriver(); |
40 pNoteDriver->RegisterEventTarget(pWidget, pWidget); | 40 pNoteDriver->RegisterEventTarget(pWidget, pWidget); |
41 m_pOldDelegate = m_pNormalWidget->SetDelegate(this); | 41 m_pOldDelegate = m_pNormalWidget->SetDelegate(this); |
42 m_pNormalWidget->LockUpdate(); | 42 m_pNormalWidget->LockUpdate(); |
43 CFX_WideStringArray wsLabelArray; | 43 CFX_WideStringArray wsLabelArray; |
44 m_pDataAcc->GetChoiceListItems(wsLabelArray, FALSE); | 44 m_pDataAcc->GetChoiceListItems(wsLabelArray, FALSE); |
45 int32_t iItems = wsLabelArray.GetSize(); | 45 int32_t iItems = wsLabelArray.GetSize(); |
46 for (int32_t i = 0; i < iItems; i++) { | 46 for (int32_t i = 0; i < iItems; i++) { |
47 pListBox->AddString(wsLabelArray[i].AsWideStringC()); | 47 pListBox->AddString(wsLabelArray[i].AsStringC()); |
48 } | 48 } |
49 uint32_t dwExtendedStyle = FWL_STYLEEXT_LTB_ShowScrollBarFocus; | 49 uint32_t dwExtendedStyle = FWL_STYLEEXT_LTB_ShowScrollBarFocus; |
50 if (m_pDataAcc->GetChoiceListOpen() == XFA_ATTRIBUTEENUM_MultiSelect) { | 50 if (m_pDataAcc->GetChoiceListOpen() == XFA_ATTRIBUTEENUM_MultiSelect) { |
51 dwExtendedStyle |= FWL_STYLEEXT_LTB_MultiSelection; | 51 dwExtendedStyle |= FWL_STYLEEXT_LTB_MultiSelection; |
52 } | 52 } |
53 dwExtendedStyle |= GetAlignment(); | 53 dwExtendedStyle |= GetAlignment(); |
54 m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF); | 54 m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF); |
55 CFX_Int32Array iSelArray; | 55 CFX_Int32Array iSelArray; |
56 m_pDataAcc->GetSelectedItems(iSelArray); | 56 m_pDataAcc->GetSelectedItems(iSelArray); |
57 int32_t iSelCount = iSelArray.GetSize(); | 57 int32_t iSelCount = iSelArray.GetSize(); |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 } | 159 } |
160 void CXFA_FFListBox::SetItemState(int32_t nIndex, FX_BOOL bSelected) { | 160 void CXFA_FFListBox::SetItemState(int32_t nIndex, FX_BOOL bSelected) { |
161 FWL_HLISTITEM item = ((CFWL_ListBox*)m_pNormalWidget)->GetSelItem(nIndex); | 161 FWL_HLISTITEM item = ((CFWL_ListBox*)m_pNormalWidget)->GetSelItem(nIndex); |
162 ((CFWL_ListBox*)m_pNormalWidget)->SetSelItem(item, bSelected); | 162 ((CFWL_ListBox*)m_pNormalWidget)->SetSelItem(item, bSelected); |
163 m_pNormalWidget->Update(); | 163 m_pNormalWidget->Update(); |
164 AddInvalidateRect(); | 164 AddInvalidateRect(); |
165 } | 165 } |
166 void CXFA_FFListBox::InsertItem(const CFX_WideStringC& wsLabel, | 166 void CXFA_FFListBox::InsertItem(const CFX_WideStringC& wsLabel, |
167 int32_t nIndex) { | 167 int32_t nIndex) { |
168 CFX_WideString wsTemp(wsLabel); | 168 CFX_WideString wsTemp(wsLabel); |
169 ((CFWL_ListBox*)m_pNormalWidget)->AddString(wsTemp.AsWideStringC()); | 169 ((CFWL_ListBox*)m_pNormalWidget)->AddString(wsTemp.AsStringC()); |
170 m_pNormalWidget->Update(); | 170 m_pNormalWidget->Update(); |
171 AddInvalidateRect(); | 171 AddInvalidateRect(); |
172 } | 172 } |
173 void CXFA_FFListBox::DeleteItem(int32_t nIndex) { | 173 void CXFA_FFListBox::DeleteItem(int32_t nIndex) { |
174 if (nIndex < 0) { | 174 if (nIndex < 0) { |
175 ((CFWL_ListBox*)m_pNormalWidget)->DeleteAll(); | 175 ((CFWL_ListBox*)m_pNormalWidget)->DeleteAll(); |
176 } else { | 176 } else { |
177 ((CFWL_ListBox*)m_pNormalWidget) | 177 ((CFWL_ListBox*)m_pNormalWidget) |
178 ->DeleteString(((CFWL_ListBox*)m_pNormalWidget)->GetItem(nIndex)); | 178 ->DeleteString(((CFWL_ListBox*)m_pNormalWidget)->GetItem(nIndex)); |
179 } | 179 } |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
233 IFWL_Widget* pWidget = m_pNormalWidget->GetWidget(); | 233 IFWL_Widget* pWidget = m_pNormalWidget->GetWidget(); |
234 m_pNormalWidget->SetPrivateData(pWidget, this, NULL); | 234 m_pNormalWidget->SetPrivateData(pWidget, this, NULL); |
235 IFWL_NoteDriver* pNoteDriver = FWL_GetApp()->GetNoteDriver(); | 235 IFWL_NoteDriver* pNoteDriver = FWL_GetApp()->GetNoteDriver(); |
236 pNoteDriver->RegisterEventTarget(pWidget, pWidget); | 236 pNoteDriver->RegisterEventTarget(pWidget, pWidget); |
237 m_pOldDelegate = m_pNormalWidget->SetDelegate(this); | 237 m_pOldDelegate = m_pNormalWidget->SetDelegate(this); |
238 m_pNormalWidget->LockUpdate(); | 238 m_pNormalWidget->LockUpdate(); |
239 CFX_WideStringArray wsLabelArray; | 239 CFX_WideStringArray wsLabelArray; |
240 m_pDataAcc->GetChoiceListItems(wsLabelArray, FALSE); | 240 m_pDataAcc->GetChoiceListItems(wsLabelArray, FALSE); |
241 int32_t iItems = wsLabelArray.GetSize(); | 241 int32_t iItems = wsLabelArray.GetSize(); |
242 for (int32_t i = 0; i < iItems; i++) { | 242 for (int32_t i = 0; i < iItems; i++) { |
243 pComboBox->AddString(wsLabelArray[i].AsWideStringC()); | 243 pComboBox->AddString(wsLabelArray[i].AsStringC()); |
244 } | 244 } |
245 CFX_Int32Array iSelArray; | 245 CFX_Int32Array iSelArray; |
246 m_pDataAcc->GetSelectedItems(iSelArray); | 246 m_pDataAcc->GetSelectedItems(iSelArray); |
247 int32_t iSelCount = iSelArray.GetSize(); | 247 int32_t iSelCount = iSelArray.GetSize(); |
248 if (iSelCount > 0) { | 248 if (iSelCount > 0) { |
249 pComboBox->SetCurSel(iSelArray[0]); | 249 pComboBox->SetCurSel(iSelArray[0]); |
250 } else { | 250 } else { |
251 CFX_WideString wsText; | 251 CFX_WideString wsText; |
252 m_pDataAcc->GetValue(wsText, XFA_VALUEPICTURE_Raw); | 252 m_pDataAcc->GetValue(wsText, XFA_VALUEPICTURE_Raw); |
253 pComboBox->SetEditText(wsText.AsWideStringC()); | 253 pComboBox->SetEditText(wsText.AsStringC()); |
254 } | 254 } |
255 UpdateWidgetProperty(); | 255 UpdateWidgetProperty(); |
256 m_pNormalWidget->UnlockUpdate(); | 256 m_pNormalWidget->UnlockUpdate(); |
257 return CXFA_FFField::LoadWidget(); | 257 return CXFA_FFField::LoadWidget(); |
258 } | 258 } |
259 void CXFA_FFComboBox::UpdateWidgetProperty() { | 259 void CXFA_FFComboBox::UpdateWidgetProperty() { |
260 CFWL_ComboBox* pComboBox = (CFWL_ComboBox*)m_pNormalWidget; | 260 CFWL_ComboBox* pComboBox = (CFWL_ComboBox*)m_pNormalWidget; |
261 if (!pComboBox) { | 261 if (!pComboBox) { |
262 return; | 262 return; |
263 } | 263 } |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
375 } | 375 } |
376 CFX_Int32Array iSelArray; | 376 CFX_Int32Array iSelArray; |
377 m_pDataAcc->GetSelectedItems(iSelArray); | 377 m_pDataAcc->GetSelectedItems(iSelArray); |
378 int32_t iSelCount = iSelArray.GetSize(); | 378 int32_t iSelCount = iSelArray.GetSize(); |
379 if (iSelCount > 0) { | 379 if (iSelCount > 0) { |
380 ((CFWL_ComboBox*)m_pNormalWidget)->SetCurSel(iSelArray[0]); | 380 ((CFWL_ComboBox*)m_pNormalWidget)->SetCurSel(iSelArray[0]); |
381 } else { | 381 } else { |
382 CFX_WideString wsText; | 382 CFX_WideString wsText; |
383 ((CFWL_ComboBox*)m_pNormalWidget)->SetCurSel(-1); | 383 ((CFWL_ComboBox*)m_pNormalWidget)->SetCurSel(-1); |
384 m_pDataAcc->GetValue(wsText, XFA_VALUEPICTURE_Raw); | 384 m_pDataAcc->GetValue(wsText, XFA_VALUEPICTURE_Raw); |
385 ((CFWL_ComboBox*)m_pNormalWidget)->SetEditText(wsText.AsWideStringC()); | 385 ((CFWL_ComboBox*)m_pNormalWidget)->SetEditText(wsText.AsStringC()); |
386 } | 386 } |
387 m_pNormalWidget->Update(); | 387 m_pNormalWidget->Update(); |
388 return TRUE; | 388 return TRUE; |
389 } | 389 } |
390 FX_BOOL CXFA_FFComboBox::CanUndo() { | 390 FX_BOOL CXFA_FFComboBox::CanUndo() { |
391 return m_pDataAcc->IsChoiceListAllowTextEntry() && | 391 return m_pDataAcc->IsChoiceListAllowTextEntry() && |
392 ((CFWL_ComboBox*)m_pNormalWidget)->EditCanUndo(); | 392 ((CFWL_ComboBox*)m_pNormalWidget)->EditCanUndo(); |
393 } | 393 } |
394 FX_BOOL CXFA_FFComboBox::CanRedo() { | 394 FX_BOOL CXFA_FFComboBox::CanRedo() { |
395 return m_pDataAcc->IsChoiceListAllowTextEntry() && | 395 return m_pDataAcc->IsChoiceListAllowTextEntry() && |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
522 break; | 522 break; |
523 } | 523 } |
524 default: {} | 524 default: {} |
525 } | 525 } |
526 return m_pOldDelegate->OnProcessEvent(pEvent); | 526 return m_pOldDelegate->OnProcessEvent(pEvent); |
527 } | 527 } |
528 FWL_ERR CXFA_FFComboBox::OnDrawWidget(CFX_Graphics* pGraphics, | 528 FWL_ERR CXFA_FFComboBox::OnDrawWidget(CFX_Graphics* pGraphics, |
529 const CFX_Matrix* pMatrix) { | 529 const CFX_Matrix* pMatrix) { |
530 return m_pOldDelegate->OnDrawWidget(pGraphics, pMatrix); | 530 return m_pOldDelegate->OnDrawWidget(pGraphics, pMatrix); |
531 } | 531 } |
OLD | NEW |