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

Side by Side Diff: xfa/fwl/cfwl_combobox.cpp

Issue 2559173002: Move xfa/fwl/core to xfa/fwl. (Closed)
Patch Set: Created 4 years 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 | « xfa/fwl/cfwl_combobox.h ('k') | xfa/fwl/cfwl_comboboxproxy.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 "xfa/fwl/core/cfwl_combobox.h" 7 #include "xfa/fwl/cfwl_combobox.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <memory> 10 #include <memory>
11 #include <utility> 11 #include <utility>
12 12
13 #include "third_party/base/ptr_util.h" 13 #include "third_party/base/ptr_util.h"
14 #include "xfa/fde/cfde_txtedtengine.h" 14 #include "xfa/fde/cfde_txtedtengine.h"
15 #include "xfa/fde/tto/fde_textout.h" 15 #include "xfa/fde/tto/fde_textout.h"
16 #include "xfa/fwl/core/cfwl_app.h" 16 #include "xfa/fwl/cfwl_app.h"
17 #include "xfa/fwl/core/cfwl_event.h" 17 #include "xfa/fwl/cfwl_event.h"
18 #include "xfa/fwl/core/cfwl_evtselectchanged.h" 18 #include "xfa/fwl/cfwl_eventselectchanged.h"
19 #include "xfa/fwl/core/cfwl_evttextchanged.h" 19 #include "xfa/fwl/cfwl_eventtextchanged.h"
20 #include "xfa/fwl/core/cfwl_formproxy.h" 20 #include "xfa/fwl/cfwl_formproxy.h"
21 #include "xfa/fwl/core/cfwl_listbox.h" 21 #include "xfa/fwl/cfwl_listbox.h"
22 #include "xfa/fwl/core/cfwl_msgkey.h" 22 #include "xfa/fwl/cfwl_messagekey.h"
23 #include "xfa/fwl/core/cfwl_msgkillfocus.h" 23 #include "xfa/fwl/cfwl_messagekillfocus.h"
24 #include "xfa/fwl/core/cfwl_msgmouse.h" 24 #include "xfa/fwl/cfwl_messagemouse.h"
25 #include "xfa/fwl/core/cfwl_msgsetfocus.h" 25 #include "xfa/fwl/cfwl_messagesetfocus.h"
26 #include "xfa/fwl/core/cfwl_notedriver.h" 26 #include "xfa/fwl/cfwl_notedriver.h"
27 #include "xfa/fwl/core/cfwl_themebackground.h" 27 #include "xfa/fwl/cfwl_themebackground.h"
28 #include "xfa/fwl/core/cfwl_themepart.h" 28 #include "xfa/fwl/cfwl_themepart.h"
29 #include "xfa/fwl/core/cfwl_themetext.h" 29 #include "xfa/fwl/cfwl_themetext.h"
30 #include "xfa/fwl/core/cfwl_widgetmgr.h" 30 #include "xfa/fwl/cfwl_widgetmgr.h"
31 #include "xfa/fwl/core/ifwl_themeprovider.h" 31 #include "xfa/fwl/ifwl_themeprovider.h"
32 32
33 CFWL_ComboBox::CFWL_ComboBox(const CFWL_App* app) 33 CFWL_ComboBox::CFWL_ComboBox(const CFWL_App* app)
34 : CFWL_Widget(app, pdfium::MakeUnique<CFWL_WidgetProperties>(), nullptr), 34 : CFWL_Widget(app, pdfium::MakeUnique<CFWL_WidgetProperties>(), nullptr),
35 m_pComboBoxProxy(nullptr), 35 m_pComboBoxProxy(nullptr),
36 m_bLButtonDown(false), 36 m_bLButtonDown(false),
37 m_iCurSel(-1), 37 m_iCurSel(-1),
38 m_iBtnState(CFWL_PartState_Normal), 38 m_iBtnState(CFWL_PartState_Normal),
39 m_fComboFormHandler(0) { 39 m_fComboFormHandler(0) {
40 m_rtClient.Reset(); 40 m_rtClient.Reset();
41 m_rtBtn.Reset(); 41 m_rtBtn.Reset();
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after
520 if (!hItem) 520 if (!hItem)
521 return; 521 return;
522 522
523 CFX_WideString wsText = m_pListBox->GetItemText(this, hItem); 523 CFX_WideString wsText = m_pListBox->GetItemText(this, hItem);
524 if (m_pEdit) { 524 if (m_pEdit) {
525 m_pEdit->SetText(wsText); 525 m_pEdit->SetText(wsText);
526 m_pEdit->Update(); 526 m_pEdit->Update();
527 m_pEdit->SetSelected(); 527 m_pEdit->SetSelected();
528 } 528 }
529 529
530 CFWL_EvtSelectChanged ev(this); 530 CFWL_EventSelectChanged ev(this);
531 ev.bLButtonUp = bLButtonUp; 531 ev.bLButtonUp = bLButtonUp;
532 DispatchEvent(&ev); 532 DispatchEvent(&ev);
533 } 533 }
534 534
535 void CFWL_ComboBox::InitProxyForm() { 535 void CFWL_ComboBox::InitProxyForm() {
536 if (m_pComboBoxProxy) 536 if (m_pComboBoxProxy)
537 return; 537 return;
538 if (!m_pListBox) 538 if (!m_pListBox)
539 return; 539 return;
540 540
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
765 return; 765 return;
766 766
767 switch (pMessage->GetType()) { 767 switch (pMessage->GetType()) {
768 case CFWL_Message::Type::SetFocus: 768 case CFWL_Message::Type::SetFocus:
769 OnFocusChanged(pMessage, true); 769 OnFocusChanged(pMessage, true);
770 break; 770 break;
771 case CFWL_Message::Type::KillFocus: 771 case CFWL_Message::Type::KillFocus:
772 OnFocusChanged(pMessage, false); 772 OnFocusChanged(pMessage, false);
773 break; 773 break;
774 case CFWL_Message::Type::Mouse: { 774 case CFWL_Message::Type::Mouse: {
775 CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage); 775 CFWL_MessageMouse* pMsg = static_cast<CFWL_MessageMouse*>(pMessage);
776 switch (pMsg->m_dwCmd) { 776 switch (pMsg->m_dwCmd) {
777 case FWL_MouseCommand::LeftButtonDown: 777 case FWL_MouseCommand::LeftButtonDown:
778 OnLButtonDown(pMsg); 778 OnLButtonDown(pMsg);
779 break; 779 break;
780 case FWL_MouseCommand::LeftButtonUp: 780 case FWL_MouseCommand::LeftButtonUp:
781 OnLButtonUp(pMsg); 781 OnLButtonUp(pMsg);
782 break; 782 break;
783 case FWL_MouseCommand::Move: 783 case FWL_MouseCommand::Move:
784 OnMouseMove(pMsg); 784 OnMouseMove(pMsg);
785 break; 785 break;
786 case FWL_MouseCommand::Leave: 786 case FWL_MouseCommand::Leave:
787 OnMouseLeave(pMsg); 787 OnMouseLeave(pMsg);
788 break; 788 break;
789 default: 789 default:
790 break; 790 break;
791 } 791 }
792 break; 792 break;
793 } 793 }
794 case CFWL_Message::Type::Key: 794 case CFWL_Message::Type::Key:
795 OnKey(static_cast<CFWL_MsgKey*>(pMessage)); 795 OnKey(static_cast<CFWL_MessageKey*>(pMessage));
796 break; 796 break;
797 default: 797 default:
798 break; 798 break;
799 } 799 }
800 800
801 CFWL_Widget::OnProcessMessage(pMessage); 801 CFWL_Widget::OnProcessMessage(pMessage);
802 } 802 }
803 803
804 void CFWL_ComboBox::OnProcessEvent(CFWL_Event* pEvent) { 804 void CFWL_ComboBox::OnProcessEvent(CFWL_Event* pEvent) {
805 CFWL_Event::Type type = pEvent->GetType(); 805 CFWL_Event::Type type = pEvent->GetType();
806 if (type == CFWL_Event::Type::Scroll) { 806 if (type == CFWL_Event::Type::Scroll) {
807 CFWL_EvtScroll* pScrollEvent = static_cast<CFWL_EvtScroll*>(pEvent); 807 CFWL_EventScroll* pScrollEvent = static_cast<CFWL_EventScroll*>(pEvent);
808 CFWL_EvtScroll pScrollEv(this); 808 CFWL_EventScroll pScrollEv(this);
809 pScrollEv.m_iScrollCode = pScrollEvent->m_iScrollCode; 809 pScrollEv.m_iScrollCode = pScrollEvent->m_iScrollCode;
810 pScrollEv.m_fPos = pScrollEvent->m_fPos; 810 pScrollEv.m_fPos = pScrollEvent->m_fPos;
811 DispatchEvent(&pScrollEv); 811 DispatchEvent(&pScrollEv);
812 } else if (type == CFWL_Event::Type::TextChanged) { 812 } else if (type == CFWL_Event::Type::TextChanged) {
813 CFWL_Event pTemp(CFWL_Event::Type::EditChanged, this); 813 CFWL_Event pTemp(CFWL_Event::Type::EditChanged, this);
814 DispatchEvent(&pTemp); 814 DispatchEvent(&pTemp);
815 } 815 }
816 } 816 }
817 817
818 void CFWL_ComboBox::OnDrawWidget(CFX_Graphics* pGraphics, 818 void CFWL_ComboBox::OnDrawWidget(CFX_Graphics* pGraphics,
(...skipping 20 matching lines...) Expand all
839 Repaint(&m_rtClient); 839 Repaint(&m_rtClient);
840 return; 840 return;
841 } 841 }
842 if (!m_pEdit) 842 if (!m_pEdit)
843 return; 843 return;
844 844
845 m_pEdit->FlagFocus(false); 845 m_pEdit->FlagFocus(false);
846 m_pEdit->ClearSelected(); 846 m_pEdit->ClearSelected();
847 } 847 }
848 848
849 void CFWL_ComboBox::OnLButtonDown(CFWL_MsgMouse* pMsg) { 849 void CFWL_ComboBox::OnLButtonDown(CFWL_MessageMouse* pMsg) {
850 if (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled) 850 if (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)
851 return; 851 return;
852 852
853 CFX_RectF& rtBtn = IsDropDownStyle() ? m_rtBtn : m_rtClient; 853 CFX_RectF& rtBtn = IsDropDownStyle() ? m_rtBtn : m_rtClient;
854 if (!rtBtn.Contains(pMsg->m_fx, pMsg->m_fy)) 854 if (!rtBtn.Contains(pMsg->m_fx, pMsg->m_fy))
855 return; 855 return;
856 856
857 if (IsDropDownStyle() && m_pEdit) 857 if (IsDropDownStyle() && m_pEdit)
858 MatchEditText(); 858 MatchEditText();
859 859
860 m_bLButtonDown = true; 860 m_bLButtonDown = true;
861 m_iBtnState = CFWL_PartState_Pressed; 861 m_iBtnState = CFWL_PartState_Pressed;
862 Repaint(&m_rtClient); 862 Repaint(&m_rtClient);
863 863
864 ShowDropList(true); 864 ShowDropList(true);
865 m_iBtnState = CFWL_PartState_Normal; 865 m_iBtnState = CFWL_PartState_Normal;
866 Repaint(&m_rtClient); 866 Repaint(&m_rtClient);
867 } 867 }
868 868
869 void CFWL_ComboBox::OnLButtonUp(CFWL_MsgMouse* pMsg) { 869 void CFWL_ComboBox::OnLButtonUp(CFWL_MessageMouse* pMsg) {
870 m_bLButtonDown = false; 870 m_bLButtonDown = false;
871 if (m_rtBtn.Contains(pMsg->m_fx, pMsg->m_fy)) 871 if (m_rtBtn.Contains(pMsg->m_fx, pMsg->m_fy))
872 m_iBtnState = CFWL_PartState_Hovered; 872 m_iBtnState = CFWL_PartState_Hovered;
873 else 873 else
874 m_iBtnState = CFWL_PartState_Normal; 874 m_iBtnState = CFWL_PartState_Normal;
875 875
876 Repaint(&m_rtBtn); 876 Repaint(&m_rtBtn);
877 } 877 }
878 878
879 void CFWL_ComboBox::OnMouseMove(CFWL_MsgMouse* pMsg) { 879 void CFWL_ComboBox::OnMouseMove(CFWL_MessageMouse* pMsg) {
880 int32_t iOldState = m_iBtnState; 880 int32_t iOldState = m_iBtnState;
881 if (m_rtBtn.Contains(pMsg->m_fx, pMsg->m_fy)) { 881 if (m_rtBtn.Contains(pMsg->m_fx, pMsg->m_fy)) {
882 m_iBtnState = 882 m_iBtnState =
883 m_bLButtonDown ? CFWL_PartState_Pressed : CFWL_PartState_Hovered; 883 m_bLButtonDown ? CFWL_PartState_Pressed : CFWL_PartState_Hovered;
884 } else { 884 } else {
885 m_iBtnState = CFWL_PartState_Normal; 885 m_iBtnState = CFWL_PartState_Normal;
886 } 886 }
887 if ((iOldState != m_iBtnState) && 887 if ((iOldState != m_iBtnState) &&
888 !((m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled) == 888 !((m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled) ==
889 FWL_WGTSTATE_Disabled)) { 889 FWL_WGTSTATE_Disabled)) {
890 Repaint(&m_rtBtn); 890 Repaint(&m_rtBtn);
891 } 891 }
892 } 892 }
893 893
894 void CFWL_ComboBox::OnMouseLeave(CFWL_MsgMouse* pMsg) { 894 void CFWL_ComboBox::OnMouseLeave(CFWL_MessageMouse* pMsg) {
895 if (!IsDropListVisible() && 895 if (!IsDropListVisible() &&
896 !((m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled) == 896 !((m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled) ==
897 FWL_WGTSTATE_Disabled)) { 897 FWL_WGTSTATE_Disabled)) {
898 m_iBtnState = CFWL_PartState_Normal; 898 m_iBtnState = CFWL_PartState_Normal;
899 Repaint(&m_rtBtn); 899 Repaint(&m_rtBtn);
900 } 900 }
901 } 901 }
902 902
903 void CFWL_ComboBox::OnKey(CFWL_MsgKey* pMsg) { 903 void CFWL_ComboBox::OnKey(CFWL_MessageKey* pMsg) {
904 uint32_t dwKeyCode = pMsg->m_dwKeyCode; 904 uint32_t dwKeyCode = pMsg->m_dwKeyCode;
905 if (dwKeyCode == FWL_VKEY_Tab) 905 if (dwKeyCode == FWL_VKEY_Tab)
906 return; 906 return;
907 if (pMsg->m_pDstTarget == this) 907 if (pMsg->m_pDstTarget == this)
908 DoSubCtrlKey(pMsg); 908 DoSubCtrlKey(pMsg);
909 } 909 }
910 910
911 void CFWL_ComboBox::DoSubCtrlKey(CFWL_MsgKey* pMsg) { 911 void CFWL_ComboBox::DoSubCtrlKey(CFWL_MessageKey* pMsg) {
912 uint32_t dwKeyCode = pMsg->m_dwKeyCode; 912 uint32_t dwKeyCode = pMsg->m_dwKeyCode;
913 const bool bUp = dwKeyCode == FWL_VKEY_Up; 913 const bool bUp = dwKeyCode == FWL_VKEY_Up;
914 const bool bDown = dwKeyCode == FWL_VKEY_Down; 914 const bool bDown = dwKeyCode == FWL_VKEY_Down;
915 if (bUp || bDown) { 915 if (bUp || bDown) {
916 int32_t iCount = m_pListBox->CountItems(nullptr); 916 int32_t iCount = m_pListBox->CountItems(nullptr);
917 if (iCount < 1) 917 if (iCount < 1)
918 return; 918 return;
919 919
920 bool bMatchEqual = false; 920 bool bMatchEqual = false;
921 int32_t iCurSel = m_iCurSel; 921 int32_t iCurSel = m_iCurSel;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
962 DisForm_OnFocusChanged(pMessage, true); 962 DisForm_OnFocusChanged(pMessage, true);
963 break; 963 break;
964 } 964 }
965 case CFWL_Message::Type::KillFocus: { 965 case CFWL_Message::Type::KillFocus: {
966 backDefault = false; 966 backDefault = false;
967 DisForm_OnFocusChanged(pMessage, false); 967 DisForm_OnFocusChanged(pMessage, false);
968 break; 968 break;
969 } 969 }
970 case CFWL_Message::Type::Mouse: { 970 case CFWL_Message::Type::Mouse: {
971 backDefault = false; 971 backDefault = false;
972 CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage); 972 CFWL_MessageMouse* pMsg = static_cast<CFWL_MessageMouse*>(pMessage);
973 switch (pMsg->m_dwCmd) { 973 switch (pMsg->m_dwCmd) {
974 case FWL_MouseCommand::LeftButtonDown: 974 case FWL_MouseCommand::LeftButtonDown:
975 DisForm_OnLButtonDown(pMsg); 975 DisForm_OnLButtonDown(pMsg);
976 break; 976 break;
977 case FWL_MouseCommand::LeftButtonUp: 977 case FWL_MouseCommand::LeftButtonUp:
978 OnLButtonUp(pMsg); 978 OnLButtonUp(pMsg);
979 break; 979 break;
980 default: 980 default:
981 break; 981 break;
982 } 982 }
983 break; 983 break;
984 } 984 }
985 case CFWL_Message::Type::Key: { 985 case CFWL_Message::Type::Key: {
986 backDefault = false; 986 backDefault = false;
987 CFWL_MsgKey* pKey = static_cast<CFWL_MsgKey*>(pMessage); 987 CFWL_MessageKey* pKey = static_cast<CFWL_MessageKey*>(pMessage);
988 if (pKey->m_dwCmd == FWL_KeyCommand::KeyUp) 988 if (pKey->m_dwCmd == FWL_KeyCommand::KeyUp)
989 break; 989 break;
990 if (DisForm_IsDropListVisible() && 990 if (DisForm_IsDropListVisible() &&
991 pKey->m_dwCmd == FWL_KeyCommand::KeyDown) { 991 pKey->m_dwCmd == FWL_KeyCommand::KeyDown) {
992 bool bListKey = pKey->m_dwKeyCode == FWL_VKEY_Up || 992 bool bListKey = pKey->m_dwKeyCode == FWL_VKEY_Up ||
993 pKey->m_dwKeyCode == FWL_VKEY_Down || 993 pKey->m_dwKeyCode == FWL_VKEY_Down ||
994 pKey->m_dwKeyCode == FWL_VKEY_Return || 994 pKey->m_dwKeyCode == FWL_VKEY_Return ||
995 pKey->m_dwKeyCode == FWL_VKEY_Escape; 995 pKey->m_dwKeyCode == FWL_VKEY_Escape;
996 if (bListKey) { 996 if (bListKey) {
997 m_pListBox->GetDelegate()->OnProcessMessage(pMessage); 997 m_pListBox->GetDelegate()->OnProcessMessage(pMessage);
998 break; 998 break;
999 } 999 }
1000 } 1000 }
1001 DisForm_OnKey(pKey); 1001 DisForm_OnKey(pKey);
1002 break; 1002 break;
1003 } 1003 }
1004 default: 1004 default:
1005 break; 1005 break;
1006 } 1006 }
1007 if (backDefault) 1007 if (backDefault)
1008 CFWL_Widget::OnProcessMessage(pMessage); 1008 CFWL_Widget::OnProcessMessage(pMessage);
1009 } 1009 }
1010 1010
1011 void CFWL_ComboBox::DisForm_OnLButtonDown(CFWL_MsgMouse* pMsg) { 1011 void CFWL_ComboBox::DisForm_OnLButtonDown(CFWL_MessageMouse* pMsg) {
1012 bool bDropDown = DisForm_IsDropListVisible(); 1012 bool bDropDown = DisForm_IsDropListVisible();
1013 CFX_RectF& rtBtn = bDropDown ? m_rtBtn : m_rtClient; 1013 CFX_RectF& rtBtn = bDropDown ? m_rtBtn : m_rtClient;
1014 if (!rtBtn.Contains(pMsg->m_fx, pMsg->m_fy)) 1014 if (!rtBtn.Contains(pMsg->m_fx, pMsg->m_fy))
1015 return; 1015 return;
1016 1016
1017 if (DisForm_IsDropListVisible()) { 1017 if (DisForm_IsDropListVisible()) {
1018 DisForm_ShowDropList(false); 1018 DisForm_ShowDropList(false);
1019 return; 1019 return;
1020 } 1020 }
1021 if (m_pEdit) 1021 if (m_pEdit)
1022 MatchEditText(); 1022 MatchEditText();
1023 DisForm_ShowDropList(true); 1023 DisForm_ShowDropList(true);
1024 } 1024 }
1025 1025
1026 void CFWL_ComboBox::DisForm_OnFocusChanged(CFWL_Message* pMsg, bool bSet) { 1026 void CFWL_ComboBox::DisForm_OnFocusChanged(CFWL_Message* pMsg, bool bSet) {
1027 if (bSet) { 1027 if (bSet) {
1028 m_pProperties->m_dwStates |= FWL_WGTSTATE_Focused; 1028 m_pProperties->m_dwStates |= FWL_WGTSTATE_Focused;
1029 if ((m_pEdit->GetStates() & FWL_WGTSTATE_Focused) == 0) { 1029 if ((m_pEdit->GetStates() & FWL_WGTSTATE_Focused) == 0) {
1030 CFWL_MsgSetFocus msg(nullptr, m_pEdit.get()); 1030 CFWL_MessageSetFocus msg(nullptr, m_pEdit.get());
1031 m_pEdit->GetDelegate()->OnProcessMessage(&msg); 1031 m_pEdit->GetDelegate()->OnProcessMessage(&msg);
1032 } 1032 }
1033 } else { 1033 } else {
1034 m_pProperties->m_dwStates &= ~FWL_WGTSTATE_Focused; 1034 m_pProperties->m_dwStates &= ~FWL_WGTSTATE_Focused;
1035 DisForm_ShowDropList(false); 1035 DisForm_ShowDropList(false);
1036 CFWL_MsgKillFocus msg(m_pEdit.get()); 1036 CFWL_MessageKillFocus msg(m_pEdit.get());
1037 m_pEdit->GetDelegate()->OnProcessMessage(&msg); 1037 m_pEdit->GetDelegate()->OnProcessMessage(&msg);
1038 } 1038 }
1039 } 1039 }
1040 1040
1041 void CFWL_ComboBox::DisForm_OnKey(CFWL_MsgKey* pMsg) { 1041 void CFWL_ComboBox::DisForm_OnKey(CFWL_MessageKey* pMsg) {
1042 uint32_t dwKeyCode = pMsg->m_dwKeyCode; 1042 uint32_t dwKeyCode = pMsg->m_dwKeyCode;
1043 const bool bUp = dwKeyCode == FWL_VKEY_Up; 1043 const bool bUp = dwKeyCode == FWL_VKEY_Up;
1044 const bool bDown = dwKeyCode == FWL_VKEY_Down; 1044 const bool bDown = dwKeyCode == FWL_VKEY_Down;
1045 if (bUp || bDown) { 1045 if (bUp || bDown) {
1046 CFWL_ComboList* pComboList = m_pListBox.get(); 1046 CFWL_ComboList* pComboList = m_pListBox.get();
1047 int32_t iCount = pComboList->CountItems(nullptr); 1047 int32_t iCount = pComboList->CountItems(nullptr);
1048 if (iCount < 1) 1048 if (iCount < 1)
1049 return; 1049 return;
1050 1050
1051 bool bMatchEqual = false; 1051 bool bMatchEqual = false;
(...skipping 17 matching lines...) Expand all
1069 else 1069 else
1070 iCurSel++; 1070 iCurSel++;
1071 } 1071 }
1072 m_iCurSel = iCurSel; 1072 m_iCurSel = iCurSel;
1073 SyncEditText(m_iCurSel); 1073 SyncEditText(m_iCurSel);
1074 return; 1074 return;
1075 } 1075 }
1076 if (m_pEdit) 1076 if (m_pEdit)
1077 m_pEdit->GetDelegate()->OnProcessMessage(pMsg); 1077 m_pEdit->GetDelegate()->OnProcessMessage(pMsg);
1078 } 1078 }
OLDNEW
« no previous file with comments | « xfa/fwl/cfwl_combobox.h ('k') | xfa/fwl/cfwl_comboboxproxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698