Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(36)

Side by Side Diff: fpdfsdk/pdfwindow/PWL_ComboBox.cpp

Issue 2453683011: Remove FX_BOOL from fpdfsdk. (Closed)
Patch Set: Regenerate patch after rebase. Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « fpdfsdk/pdfwindow/PWL_ComboBox.h ('k') | fpdfsdk/pdfwindow/PWL_Edit.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "fpdfsdk/pdfwindow/PWL_ComboBox.h" 7 #include "fpdfsdk/pdfwindow/PWL_ComboBox.h"
8 8
9 #include "core/fxge/cfx_pathdata.h" 9 #include "core/fxge/cfx_pathdata.h"
10 #include "core/fxge/cfx_renderdevice.h" 10 #include "core/fxge/cfx_renderdevice.h"
11 #include "fpdfsdk/fxedit/fxet_list.h" 11 #include "fpdfsdk/fxedit/fxet_list.h"
12 #include "fpdfsdk/pdfwindow/PWL_Edit.h" 12 #include "fpdfsdk/pdfwindow/PWL_Edit.h"
13 #include "fpdfsdk/pdfwindow/PWL_EditCtrl.h" 13 #include "fpdfsdk/pdfwindow/PWL_EditCtrl.h"
14 #include "fpdfsdk/pdfwindow/PWL_ListBox.h" 14 #include "fpdfsdk/pdfwindow/PWL_ListBox.h"
15 #include "fpdfsdk/pdfwindow/PWL_Utils.h" 15 #include "fpdfsdk/pdfwindow/PWL_Utils.h"
16 #include "fpdfsdk/pdfwindow/PWL_Wnd.h" 16 #include "fpdfsdk/pdfwindow/PWL_Wnd.h"
17 #include "public/fpdf_fwlevent.h" 17 #include "public/fpdf_fwlevent.h"
18 18
19 #define PWLCB_DEFAULTFONTSIZE 12.0f 19 #define PWLCB_DEFAULTFONTSIZE 12.0f
20 20
21 FX_BOOL CPWL_CBListBox::OnLButtonUp(const CFX_FloatPoint& point, 21 bool CPWL_CBListBox::OnLButtonUp(const CFX_FloatPoint& point, uint32_t nFlag) {
22 uint32_t nFlag) {
23 CPWL_Wnd::OnLButtonUp(point, nFlag); 22 CPWL_Wnd::OnLButtonUp(point, nFlag);
24 23
25 if (!m_bMouseDown) 24 if (!m_bMouseDown)
26 return TRUE; 25 return true;
27 26
28 ReleaseCapture(); 27 ReleaseCapture();
29 m_bMouseDown = FALSE; 28 m_bMouseDown = false;
30 29
31 if (!ClientHitTest(point)) 30 if (!ClientHitTest(point))
32 return TRUE; 31 return true;
33 if (CPWL_Wnd* pParent = GetParentWindow()) 32 if (CPWL_Wnd* pParent = GetParentWindow())
34 pParent->OnNotify(this, PNM_LBUTTONUP, 0, PWL_MAKEDWORD(point.x, point.y)); 33 pParent->OnNotify(this, PNM_LBUTTONUP, 0, PWL_MAKEDWORD(point.x, point.y));
35 34
36 FX_BOOL bExit = FALSE; 35 bool bExit = false;
37 OnNotifySelChanged(FALSE, bExit, nFlag); 36 OnNotifySelChanged(false, bExit, nFlag);
38 37
39 return !bExit; 38 return !bExit;
40 } 39 }
41 40
42 FX_BOOL CPWL_CBListBox::OnKeyDownWithExit(uint16_t nChar, 41 bool CPWL_CBListBox::OnKeyDownWithExit(uint16_t nChar,
43 FX_BOOL& bExit, 42 bool& bExit,
44 uint32_t nFlag) { 43 uint32_t nFlag) {
45 switch (nChar) { 44 switch (nChar) {
46 case FWL_VKEY_Up: 45 case FWL_VKEY_Up:
47 case FWL_VKEY_Down: 46 case FWL_VKEY_Down:
48 case FWL_VKEY_Home: 47 case FWL_VKEY_Home:
49 case FWL_VKEY_Left: 48 case FWL_VKEY_Left:
50 case FWL_VKEY_End: 49 case FWL_VKEY_End:
51 case FWL_VKEY_Right: 50 case FWL_VKEY_Right:
52 break; 51 break;
53 default: 52 default:
54 return FALSE; 53 return false;
55 } 54 }
56 55
57 switch (nChar) { 56 switch (nChar) {
58 case FWL_VKEY_Up: 57 case FWL_VKEY_Up:
59 m_pList->OnVK_UP(IsSHIFTpressed(nFlag), IsCTRLpressed(nFlag)); 58 m_pList->OnVK_UP(IsSHIFTpressed(nFlag), IsCTRLpressed(nFlag));
60 break; 59 break;
61 case FWL_VKEY_Down: 60 case FWL_VKEY_Down:
62 m_pList->OnVK_DOWN(IsSHIFTpressed(nFlag), IsCTRLpressed(nFlag)); 61 m_pList->OnVK_DOWN(IsSHIFTpressed(nFlag), IsCTRLpressed(nFlag));
63 break; 62 break;
64 case FWL_VKEY_Home: 63 case FWL_VKEY_Home:
65 m_pList->OnVK_HOME(IsSHIFTpressed(nFlag), IsCTRLpressed(nFlag)); 64 m_pList->OnVK_HOME(IsSHIFTpressed(nFlag), IsCTRLpressed(nFlag));
66 break; 65 break;
67 case FWL_VKEY_Left: 66 case FWL_VKEY_Left:
68 m_pList->OnVK_LEFT(IsSHIFTpressed(nFlag), IsCTRLpressed(nFlag)); 67 m_pList->OnVK_LEFT(IsSHIFTpressed(nFlag), IsCTRLpressed(nFlag));
69 break; 68 break;
70 case FWL_VKEY_End: 69 case FWL_VKEY_End:
71 m_pList->OnVK_END(IsSHIFTpressed(nFlag), IsCTRLpressed(nFlag)); 70 m_pList->OnVK_END(IsSHIFTpressed(nFlag), IsCTRLpressed(nFlag));
72 break; 71 break;
73 case FWL_VKEY_Right: 72 case FWL_VKEY_Right:
74 m_pList->OnVK_RIGHT(IsSHIFTpressed(nFlag), IsCTRLpressed(nFlag)); 73 m_pList->OnVK_RIGHT(IsSHIFTpressed(nFlag), IsCTRLpressed(nFlag));
75 break; 74 break;
76 case FWL_VKEY_Delete: 75 case FWL_VKEY_Delete:
77 break; 76 break;
78 } 77 }
79 78
80 OnNotifySelChanged(TRUE, bExit, nFlag); 79 OnNotifySelChanged(true, bExit, nFlag);
81 80
82 return TRUE; 81 return true;
83 } 82 }
84 83
85 FX_BOOL CPWL_CBListBox::OnCharWithExit(uint16_t nChar, 84 bool CPWL_CBListBox::OnCharWithExit(uint16_t nChar,
86 FX_BOOL& bExit, 85 bool& bExit,
87 uint32_t nFlag) { 86 uint32_t nFlag) {
88 if (!m_pList->OnChar(nChar, IsSHIFTpressed(nFlag), IsCTRLpressed(nFlag))) 87 if (!m_pList->OnChar(nChar, IsSHIFTpressed(nFlag), IsCTRLpressed(nFlag)))
89 return FALSE; 88 return false;
90 if (CPWL_ComboBox* pComboBox = (CPWL_ComboBox*)GetParentWindow()) 89 if (CPWL_ComboBox* pComboBox = (CPWL_ComboBox*)GetParentWindow())
91 pComboBox->SetSelectText(); 90 pComboBox->SetSelectText();
92 91
93 OnNotifySelChanged(TRUE, bExit, nFlag); 92 OnNotifySelChanged(true, bExit, nFlag);
94 93
95 return TRUE; 94 return true;
96 } 95 }
97 96
98 void CPWL_CBButton::GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) { 97 void CPWL_CBButton::GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) {
99 CPWL_Wnd::GetThisAppearanceStream(sAppStream); 98 CPWL_Wnd::GetThisAppearanceStream(sAppStream);
100 99
101 CFX_FloatRect rectWnd = CPWL_Wnd::GetWindowRect(); 100 CFX_FloatRect rectWnd = CPWL_Wnd::GetWindowRect();
102 101
103 if (IsVisible() && !rectWnd.IsEmpty()) { 102 if (IsVisible() && !rectWnd.IsEmpty()) {
104 CFX_ByteTextBuf sButton; 103 CFX_ByteTextBuf sButton;
105 104
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 path.SetPoint(3, pt1.x, pt1.y, FXPT_LINETO); 155 path.SetPoint(3, pt1.x, pt1.y, FXPT_LINETO);
157 156
158 pDevice->DrawPath(&path, pUser2Device, nullptr, 157 pDevice->DrawPath(&path, pUser2Device, nullptr,
159 CPWL_Utils::PWLColorToFXColor(PWL_DEFAULT_BLACKCOLOR, 158 CPWL_Utils::PWLColorToFXColor(PWL_DEFAULT_BLACKCOLOR,
160 GetTransparency()), 159 GetTransparency()),
161 0, FXFILL_ALTERNATE); 160 0, FXFILL_ALTERNATE);
162 } 161 }
163 } 162 }
164 } 163 }
165 164
166 FX_BOOL CPWL_CBButton::OnLButtonDown(const CFX_FloatPoint& point, 165 bool CPWL_CBButton::OnLButtonDown(const CFX_FloatPoint& point, uint32_t nFlag) {
167 uint32_t nFlag) {
168 CPWL_Wnd::OnLButtonDown(point, nFlag); 166 CPWL_Wnd::OnLButtonDown(point, nFlag);
169 167
170 SetCapture(); 168 SetCapture();
171 169
172 if (CPWL_Wnd* pParent = GetParentWindow()) { 170 if (CPWL_Wnd* pParent = GetParentWindow()) {
173 pParent->OnNotify(this, PNM_LBUTTONDOWN, 0, 171 pParent->OnNotify(this, PNM_LBUTTONDOWN, 0,
174 PWL_MAKEDWORD(point.x, point.y)); 172 PWL_MAKEDWORD(point.x, point.y));
175 } 173 }
176 174
177 return TRUE; 175 return true;
178 } 176 }
179 177
180 FX_BOOL CPWL_CBButton::OnLButtonUp(const CFX_FloatPoint& point, 178 bool CPWL_CBButton::OnLButtonUp(const CFX_FloatPoint& point, uint32_t nFlag) {
181 uint32_t nFlag) {
182 CPWL_Wnd::OnLButtonUp(point, nFlag); 179 CPWL_Wnd::OnLButtonUp(point, nFlag);
183 180
184 ReleaseCapture(); 181 ReleaseCapture();
185 182
186 return TRUE; 183 return true;
187 } 184 }
188 185
189 CPWL_ComboBox::CPWL_ComboBox() 186 CPWL_ComboBox::CPWL_ComboBox()
190 : m_pEdit(nullptr), 187 : m_pEdit(nullptr),
191 m_pButton(nullptr), 188 m_pButton(nullptr),
192 m_pList(nullptr), 189 m_pList(nullptr),
193 m_bPopup(FALSE), 190 m_bPopup(false),
194 m_nPopupWhere(0), 191 m_nPopupWhere(0),
195 m_nSelectItem(-1), 192 m_nSelectItem(-1),
196 m_pFillerNotify(nullptr) {} 193 m_pFillerNotify(nullptr) {}
197 194
198 CFX_ByteString CPWL_ComboBox::GetClassName() const { 195 CFX_ByteString CPWL_ComboBox::GetClassName() const {
199 return "CPWL_ComboBox"; 196 return "CPWL_ComboBox";
200 } 197 }
201 198
202 void CPWL_ComboBox::OnCreate(PWL_CREATEPARAM& cp) { 199 void CPWL_ComboBox::OnCreate(PWL_CREATEPARAM& cp) {
203 cp.dwFlags &= ~PWS_HSCROLL; 200 cp.dwFlags &= ~PWS_HSCROLL;
204 cp.dwFlags &= ~PWS_VSCROLL; 201 cp.dwFlags &= ~PWS_VSCROLL;
205 } 202 }
206 203
207 void CPWL_ComboBox::SetFocus() { 204 void CPWL_ComboBox::SetFocus() {
208 if (m_pEdit) 205 if (m_pEdit)
209 m_pEdit->SetFocus(); 206 m_pEdit->SetFocus();
210 } 207 }
211 208
212 void CPWL_ComboBox::KillFocus() { 209 void CPWL_ComboBox::KillFocus() {
213 SetPopup(FALSE); 210 SetPopup(false);
214 CPWL_Wnd::KillFocus(); 211 CPWL_Wnd::KillFocus();
215 } 212 }
216 213
217 CFX_WideString CPWL_ComboBox::GetText() const { 214 CFX_WideString CPWL_ComboBox::GetText() const {
218 if (m_pEdit) { 215 if (m_pEdit) {
219 return m_pEdit->GetText(); 216 return m_pEdit->GetText();
220 } 217 }
221 return CFX_WideString(); 218 return CFX_WideString();
222 } 219 }
223 220
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 rcEdit.right = rcEdit.left; 384 rcEdit.right = rcEdit.left;
388 385
389 rcEdit.top = rcEdit.bottom + fOldClientHeight; 386 rcEdit.top = rcEdit.bottom + fOldClientHeight;
390 387
391 rcList.bottom += fOldWindowHeight; 388 rcList.bottom += fOldWindowHeight;
392 389
393 break; 390 break;
394 } 391 }
395 392
396 if (m_pButton) 393 if (m_pButton)
397 m_pButton->Move(rcButton, TRUE, FALSE); 394 m_pButton->Move(rcButton, true, false);
398 395
399 if (m_pEdit) 396 if (m_pEdit)
400 m_pEdit->Move(rcEdit, TRUE, FALSE); 397 m_pEdit->Move(rcEdit, true, false);
401 398
402 if (m_pList) { 399 if (m_pList) {
403 m_pList->SetVisible(TRUE); 400 m_pList->SetVisible(true);
404 m_pList->Move(rcList, TRUE, FALSE); 401 m_pList->Move(rcList, true, false);
405 m_pList->ScrollToListItem(m_nSelectItem); 402 m_pList->ScrollToListItem(m_nSelectItem);
406 } 403 }
407 } else { 404 } else {
408 CFX_FloatRect rcButton = rcClient; 405 CFX_FloatRect rcButton = rcClient;
409 406
410 rcButton.left = rcButton.right - PWL_COMBOBOX_BUTTON_WIDTH; 407 rcButton.left = rcButton.right - PWL_COMBOBOX_BUTTON_WIDTH;
411 408
412 if (rcButton.left < rcClient.left) 409 if (rcButton.left < rcClient.left)
413 rcButton.left = rcClient.left; 410 rcButton.left = rcClient.left;
414 411
415 if (m_pButton) 412 if (m_pButton)
416 m_pButton->Move(rcButton, TRUE, FALSE); 413 m_pButton->Move(rcButton, true, false);
417 414
418 CFX_FloatRect rcEdit = rcClient; 415 CFX_FloatRect rcEdit = rcClient;
419 rcEdit.right = rcButton.left - 1.0f; 416 rcEdit.right = rcButton.left - 1.0f;
420 417
421 if (rcEdit.left < rcClient.left) 418 if (rcEdit.left < rcClient.left)
422 rcEdit.left = rcClient.left; 419 rcEdit.left = rcClient.left;
423 420
424 if (rcEdit.right < rcEdit.left) 421 if (rcEdit.right < rcEdit.left)
425 rcEdit.right = rcEdit.left; 422 rcEdit.right = rcEdit.left;
426 423
427 if (m_pEdit) 424 if (m_pEdit)
428 m_pEdit->Move(rcEdit, TRUE, FALSE); 425 m_pEdit->Move(rcEdit, true, false);
429 426
430 if (m_pList) 427 if (m_pList)
431 m_pList->SetVisible(FALSE); 428 m_pList->SetVisible(false);
432 } 429 }
433 } 430 }
434 431
435 void CPWL_ComboBox::SelectAll() { 432 void CPWL_ComboBox::SelectAll() {
436 if (m_pEdit && HasFlag(PCBS_ALLOWCUSTOMTEXT)) 433 if (m_pEdit && HasFlag(PCBS_ALLOWCUSTOMTEXT))
437 m_pEdit->SelectAll(); 434 m_pEdit->SelectAll();
438 } 435 }
439 436
440 CFX_FloatRect CPWL_ComboBox::GetFocusRect() const { 437 CFX_FloatRect CPWL_ComboBox::GetFocusRect() const {
441 return CFX_FloatRect(); 438 return CFX_FloatRect();
442 } 439 }
443 440
444 void CPWL_ComboBox::SetPopup(FX_BOOL bPopup) { 441 void CPWL_ComboBox::SetPopup(bool bPopup) {
445 if (!m_pList) 442 if (!m_pList)
446 return; 443 return;
447 if (bPopup == m_bPopup) 444 if (bPopup == m_bPopup)
448 return; 445 return;
449 FX_FLOAT fListHeight = m_pList->GetContentRect().Height(); 446 FX_FLOAT fListHeight = m_pList->GetContentRect().Height();
450 if (!IsFloatBigger(fListHeight, 0.0f)) 447 if (!IsFloatBigger(fListHeight, 0.0f))
451 return; 448 return;
452 449
453 if (bPopup) { 450 if (bPopup) {
454 if (m_pFillerNotify) { 451 if (m_pFillerNotify) {
455 #ifdef PDF_ENABLE_XFA 452 #ifdef PDF_ENABLE_XFA
456 FX_BOOL bExit = FALSE; 453 bool bExit = false;
457 m_pFillerNotify->OnPopupPreOpen(GetAttachedData(), bExit, 0); 454 m_pFillerNotify->OnPopupPreOpen(GetAttachedData(), bExit, 0);
458 if (bExit) 455 if (bExit)
459 return; 456 return;
460 #endif // PDF_ENABLE_XFA 457 #endif // PDF_ENABLE_XFA
461 int32_t nWhere = 0; 458 int32_t nWhere = 0;
462 FX_FLOAT fPopupRet = 0.0f; 459 FX_FLOAT fPopupRet = 0.0f;
463 FX_FLOAT fPopupMin = 0.0f; 460 FX_FLOAT fPopupMin = 0.0f;
464 if (m_pList->GetCount() > 3) 461 if (m_pList->GetCount() > 3)
465 fPopupMin = 462 fPopupMin =
466 m_pList->GetFirstHeight() * 3 + m_pList->GetBorderWidth() * 2; 463 m_pList->GetFirstHeight() * 3 + m_pList->GetBorderWidth() * 2;
(...skipping 10 matching lines...) Expand all
477 default: 474 default:
478 case 0: 475 case 0:
479 rcWindow.bottom -= fPopupRet; 476 rcWindow.bottom -= fPopupRet;
480 break; 477 break;
481 case 1: 478 case 1:
482 rcWindow.top += fPopupRet; 479 rcWindow.top += fPopupRet;
483 break; 480 break;
484 } 481 }
485 482
486 m_nPopupWhere = nWhere; 483 m_nPopupWhere = nWhere;
487 Move(rcWindow, TRUE, TRUE); 484 Move(rcWindow, true, true);
488 #ifdef PDF_ENABLE_XFA 485 #ifdef PDF_ENABLE_XFA
489 bExit = FALSE; 486 bExit = false;
490 m_pFillerNotify->OnPopupPostOpen(GetAttachedData(), bExit, 0); 487 m_pFillerNotify->OnPopupPostOpen(GetAttachedData(), bExit, 0);
491 if (bExit) 488 if (bExit)
492 return; 489 return;
493 #endif // PDF_ENABLE_XFA 490 #endif // PDF_ENABLE_XFA
494 } 491 }
495 } 492 }
496 } else { 493 } else {
497 m_bPopup = bPopup; 494 m_bPopup = bPopup;
498 Move(m_rcOldWindow, TRUE, TRUE); 495 Move(m_rcOldWindow, true, true);
499 } 496 }
500 } 497 }
501 498
502 FX_BOOL CPWL_ComboBox::OnKeyDown(uint16_t nChar, uint32_t nFlag) { 499 bool CPWL_ComboBox::OnKeyDown(uint16_t nChar, uint32_t nFlag) {
503 if (!m_pList) 500 if (!m_pList)
504 return FALSE; 501 return false;
505 if (!m_pEdit) 502 if (!m_pEdit)
506 return FALSE; 503 return false;
507 504
508 m_nSelectItem = -1; 505 m_nSelectItem = -1;
509 506
510 switch (nChar) { 507 switch (nChar) {
511 case FWL_VKEY_Up: 508 case FWL_VKEY_Up:
512 if (m_pList->GetCurSel() > 0) { 509 if (m_pList->GetCurSel() > 0) {
513 FX_BOOL bExit = FALSE; 510 bool bExit = false;
514 #ifdef PDF_ENABLE_XFA 511 #ifdef PDF_ENABLE_XFA
515 if (m_pFillerNotify) { 512 if (m_pFillerNotify) {
516 m_pFillerNotify->OnPopupPreOpen(GetAttachedData(), bExit, nFlag); 513 m_pFillerNotify->OnPopupPreOpen(GetAttachedData(), bExit, nFlag);
517 if (bExit) 514 if (bExit)
518 return FALSE; 515 return false;
519 bExit = FALSE; 516 bExit = false;
520 m_pFillerNotify->OnPopupPostOpen(GetAttachedData(), bExit, nFlag); 517 m_pFillerNotify->OnPopupPostOpen(GetAttachedData(), bExit, nFlag);
521 if (bExit) 518 if (bExit)
522 return FALSE; 519 return false;
523 } 520 }
524 #endif // PDF_ENABLE_XFA 521 #endif // PDF_ENABLE_XFA
525 if (m_pList->OnKeyDownWithExit(nChar, bExit, nFlag)) { 522 if (m_pList->OnKeyDownWithExit(nChar, bExit, nFlag)) {
526 if (bExit) 523 if (bExit)
527 return FALSE; 524 return false;
528 SetSelectText(); 525 SetSelectText();
529 } 526 }
530 } 527 }
531 return TRUE; 528 return true;
532 case FWL_VKEY_Down: 529 case FWL_VKEY_Down:
533 if (m_pList->GetCurSel() < m_pList->GetCount() - 1) { 530 if (m_pList->GetCurSel() < m_pList->GetCount() - 1) {
534 FX_BOOL bExit = FALSE; 531 bool bExit = false;
535 #ifdef PDF_ENABLE_XFA 532 #ifdef PDF_ENABLE_XFA
536 if (m_pFillerNotify) { 533 if (m_pFillerNotify) {
537 m_pFillerNotify->OnPopupPreOpen(GetAttachedData(), bExit, nFlag); 534 m_pFillerNotify->OnPopupPreOpen(GetAttachedData(), bExit, nFlag);
538 if (bExit) 535 if (bExit)
539 return FALSE; 536 return false;
540 bExit = FALSE; 537 bExit = false;
541 m_pFillerNotify->OnPopupPostOpen(GetAttachedData(), bExit, nFlag); 538 m_pFillerNotify->OnPopupPostOpen(GetAttachedData(), bExit, nFlag);
542 if (bExit) 539 if (bExit)
543 return FALSE; 540 return false;
544 } 541 }
545 #endif // PDF_ENABLE_XFA 542 #endif // PDF_ENABLE_XFA
546 if (m_pList->OnKeyDownWithExit(nChar, bExit, nFlag)) { 543 if (m_pList->OnKeyDownWithExit(nChar, bExit, nFlag)) {
547 if (bExit) 544 if (bExit)
548 return FALSE; 545 return false;
549 SetSelectText(); 546 SetSelectText();
550 } 547 }
551 } 548 }
552 return TRUE; 549 return true;
553 } 550 }
554 551
555 if (HasFlag(PCBS_ALLOWCUSTOMTEXT)) 552 if (HasFlag(PCBS_ALLOWCUSTOMTEXT))
556 return m_pEdit->OnKeyDown(nChar, nFlag); 553 return m_pEdit->OnKeyDown(nChar, nFlag);
557 554
558 return FALSE; 555 return false;
559 } 556 }
560 557
561 FX_BOOL CPWL_ComboBox::OnChar(uint16_t nChar, uint32_t nFlag) { 558 bool CPWL_ComboBox::OnChar(uint16_t nChar, uint32_t nFlag) {
562 if (!m_pList) 559 if (!m_pList)
563 return FALSE; 560 return false;
564 561
565 if (!m_pEdit) 562 if (!m_pEdit)
566 return FALSE; 563 return false;
567 564
568 m_nSelectItem = -1; 565 m_nSelectItem = -1;
569 if (HasFlag(PCBS_ALLOWCUSTOMTEXT)) 566 if (HasFlag(PCBS_ALLOWCUSTOMTEXT))
570 return m_pEdit->OnChar(nChar, nFlag); 567 return m_pEdit->OnChar(nChar, nFlag);
571 568
572 FX_BOOL bExit = FALSE; 569 bool bExit = false;
573 #ifdef PDF_ENABLE_XFA 570 #ifdef PDF_ENABLE_XFA
574 if (m_pFillerNotify) { 571 if (m_pFillerNotify) {
575 m_pFillerNotify->OnPopupPreOpen(GetAttachedData(), bExit, nFlag); 572 m_pFillerNotify->OnPopupPreOpen(GetAttachedData(), bExit, nFlag);
576 if (bExit) 573 if (bExit)
577 return FALSE; 574 return false;
578 575
579 m_pFillerNotify->OnPopupPostOpen(GetAttachedData(), bExit, nFlag); 576 m_pFillerNotify->OnPopupPostOpen(GetAttachedData(), bExit, nFlag);
580 if (bExit) 577 if (bExit)
581 return FALSE; 578 return false;
582 } 579 }
583 #endif // PDF_ENABLE_XFA 580 #endif // PDF_ENABLE_XFA
584 return m_pList->OnCharWithExit(nChar, bExit, nFlag) ? bExit : FALSE; 581 return m_pList->OnCharWithExit(nChar, bExit, nFlag) ? bExit : false;
585 } 582 }
586 583
587 void CPWL_ComboBox::OnNotify(CPWL_Wnd* pWnd, 584 void CPWL_ComboBox::OnNotify(CPWL_Wnd* pWnd,
588 uint32_t msg, 585 uint32_t msg,
589 intptr_t wParam, 586 intptr_t wParam,
590 intptr_t lParam) { 587 intptr_t lParam) {
591 switch (msg) { 588 switch (msg) {
592 case PNM_LBUTTONDOWN: 589 case PNM_LBUTTONDOWN:
593 if (pWnd == m_pButton) { 590 if (pWnd == m_pButton) {
594 SetPopup(!m_bPopup); 591 SetPopup(!m_bPopup);
595 return; 592 return;
596 } 593 }
597 break; 594 break;
598 case PNM_LBUTTONUP: 595 case PNM_LBUTTONUP:
599 if (m_pEdit && m_pList) { 596 if (m_pEdit && m_pList) {
600 if (pWnd == m_pList) { 597 if (pWnd == m_pList) {
601 SetSelectText(); 598 SetSelectText();
602 SelectAll(); 599 SelectAll();
603 m_pEdit->SetFocus(); 600 m_pEdit->SetFocus();
604 SetPopup(FALSE); 601 SetPopup(false);
605 return; 602 return;
606 } 603 }
607 } 604 }
608 } 605 }
609 606
610 CPWL_Wnd::OnNotify(pWnd, msg, wParam, lParam); 607 CPWL_Wnd::OnNotify(pWnd, msg, wParam, lParam);
611 } 608 }
612 609
613 FX_BOOL CPWL_ComboBox::IsPopup() const { 610 bool CPWL_ComboBox::IsPopup() const {
614 return m_bPopup; 611 return m_bPopup;
615 } 612 }
616 613
617 void CPWL_ComboBox::SetSelectText() { 614 void CPWL_ComboBox::SetSelectText() {
618 m_pEdit->SelectAll(); 615 m_pEdit->SelectAll();
619 m_pEdit->ReplaceSel(m_pList->GetText()); 616 m_pEdit->ReplaceSel(m_pList->GetText());
620 m_pEdit->SelectAll(); 617 m_pEdit->SelectAll();
621 m_nSelectItem = m_pList->GetCurSel(); 618 m_nSelectItem = m_pList->GetCurSel();
622 } 619 }
623 620
624 void CPWL_ComboBox::SetFillerNotify(IPWL_Filler_Notify* pNotify) { 621 void CPWL_ComboBox::SetFillerNotify(IPWL_Filler_Notify* pNotify) {
625 m_pFillerNotify = pNotify; 622 m_pFillerNotify = pNotify;
626 623
627 if (m_pEdit) 624 if (m_pEdit)
628 m_pEdit->SetFillerNotify(pNotify); 625 m_pEdit->SetFillerNotify(pNotify);
629 626
630 if (m_pList) 627 if (m_pList)
631 m_pList->SetFillerNotify(pNotify); 628 m_pList->SetFillerNotify(pNotify);
632 } 629 }
OLDNEW
« no previous file with comments | « fpdfsdk/pdfwindow/PWL_ComboBox.h ('k') | fpdfsdk/pdfwindow/PWL_Edit.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698