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

Side by Side Diff: xfa/fwl/core/cfwl_listbox.cpp

Issue 2530993002: Cleanup FWL Event and Message code. (Closed)
Patch Set: Review feedback 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
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_listbox.h" 7 #include "xfa/fwl/core/cfwl_listbox.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <memory> 10 #include <memory>
(...skipping 754 matching lines...) Expand 10 before | Expand all | Expand 10 after
765 FWL_STYLEEXT_LTB_ShowScrollBarFocus) || 765 FWL_STYLEEXT_LTB_ShowScrollBarFocus) ||
766 (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused); 766 (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused);
767 } 767 }
768 768
769 void CFWL_ListBox::OnProcessMessage(CFWL_Message* pMessage) { 769 void CFWL_ListBox::OnProcessMessage(CFWL_Message* pMessage) {
770 if (!pMessage) 770 if (!pMessage)
771 return; 771 return;
772 if (!IsEnabled()) 772 if (!IsEnabled())
773 return; 773 return;
774 774
775 CFWL_MessageType dwMsgCode = pMessage->GetClassID(); 775 switch (pMessage->GetType()) {
776 switch (dwMsgCode) { 776 case CFWL_Message::Type::SetFocus:
777 case CFWL_MessageType::SetFocus:
778 OnFocusChanged(pMessage, true); 777 OnFocusChanged(pMessage, true);
779 break; 778 break;
780 case CFWL_MessageType::KillFocus: 779 case CFWL_Message::Type::KillFocus:
781 OnFocusChanged(pMessage, false); 780 OnFocusChanged(pMessage, false);
782 break; 781 break;
783 case CFWL_MessageType::Mouse: { 782 case CFWL_Message::Type::Mouse: {
784 CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage); 783 CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage);
785 switch (pMsg->m_dwCmd) { 784 switch (pMsg->m_dwCmd) {
786 case FWL_MouseCommand::LeftButtonDown: 785 case FWL_MouseCommand::LeftButtonDown:
787 OnLButtonDown(pMsg); 786 OnLButtonDown(pMsg);
788 break; 787 break;
789 case FWL_MouseCommand::LeftButtonUp: 788 case FWL_MouseCommand::LeftButtonUp:
790 OnLButtonUp(pMsg); 789 OnLButtonUp(pMsg);
791 break; 790 break;
792 default: 791 default:
793 break; 792 break;
794 } 793 }
795 break; 794 break;
796 } 795 }
797 case CFWL_MessageType::MouseWheel: 796 case CFWL_Message::Type::MouseWheel:
798 OnMouseWheel(static_cast<CFWL_MsgMouseWheel*>(pMessage)); 797 OnMouseWheel(static_cast<CFWL_MsgMouseWheel*>(pMessage));
799 break; 798 break;
800 case CFWL_MessageType::Key: { 799 case CFWL_Message::Type::Key: {
801 CFWL_MsgKey* pMsg = static_cast<CFWL_MsgKey*>(pMessage); 800 CFWL_MsgKey* pMsg = static_cast<CFWL_MsgKey*>(pMessage);
802 if (pMsg->m_dwCmd == FWL_KeyCommand::KeyDown) 801 if (pMsg->m_dwCmd == FWL_KeyCommand::KeyDown)
803 OnKeyDown(pMsg); 802 OnKeyDown(pMsg);
804 break; 803 break;
805 } 804 }
806 default: 805 default:
807 break; 806 break;
808 } 807 }
809 CFWL_Widget::OnProcessMessage(pMessage); 808 CFWL_Widget::OnProcessMessage(pMessage);
810 } 809 }
811 810
812 void CFWL_ListBox::OnProcessEvent(CFWL_Event* pEvent) { 811 void CFWL_ListBox::OnProcessEvent(CFWL_Event* pEvent) {
813 if (!pEvent) 812 if (!pEvent)
814 return; 813 return;
815 if (pEvent->GetClassID() != CFWL_EventType::Scroll) 814 if (pEvent->GetType() != CFWL_Event::Type::Scroll)
816 return; 815 return;
817 816
818 CFWL_Widget* pSrcTarget = pEvent->m_pSrcTarget; 817 CFWL_Widget* pSrcTarget = pEvent->m_pSrcTarget;
819 if ((pSrcTarget == m_pVertScrollBar.get() && m_pVertScrollBar) || 818 if ((pSrcTarget == m_pVertScrollBar.get() && m_pVertScrollBar) ||
820 (pSrcTarget == m_pHorzScrollBar.get() && m_pHorzScrollBar)) { 819 (pSrcTarget == m_pHorzScrollBar.get() && m_pHorzScrollBar)) {
821 CFWL_EvtScroll* pScrollEvent = static_cast<CFWL_EvtScroll*>(pEvent); 820 CFWL_EvtScroll* pScrollEvent = static_cast<CFWL_EvtScroll*>(pEvent);
822 OnScroll(static_cast<CFWL_ScrollBar*>(pSrcTarget), 821 OnScroll(static_cast<CFWL_ScrollBar*>(pSrcTarget),
823 pScrollEvent->m_iScrollCode, pScrollEvent->m_fPos); 822 pScrollEvent->m_iScrollCode, pScrollEvent->m_fPos);
824 } 823 }
825 } 824 }
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
942 SetFocusItem(pItem); 941 SetFocusItem(pItem);
943 ScrollToVisible(pItem); 942 ScrollToVisible(pItem);
944 943
945 CFX_RectF rtInvalidate; 944 CFX_RectF rtInvalidate;
946 rtInvalidate.Set(0, 0, m_pProperties->m_rtWidget.width, 945 rtInvalidate.Set(0, 0, m_pProperties->m_rtWidget.width,
947 m_pProperties->m_rtWidget.height); 946 m_pProperties->m_rtWidget.height);
948 Repaint(&rtInvalidate); 947 Repaint(&rtInvalidate);
949 } 948 }
950 949
951 bool CFWL_ListBox::OnScroll(CFWL_ScrollBar* pScrollBar, 950 bool CFWL_ListBox::OnScroll(CFWL_ScrollBar* pScrollBar,
952 FWL_SCBCODE dwCode, 951 CFWL_EvtScroll::Code dwCode,
953 FX_FLOAT fPos) { 952 FX_FLOAT fPos) {
954 CFX_SizeF fs; 953 CFX_SizeF fs;
955 pScrollBar->GetRange(&fs.x, &fs.y); 954 pScrollBar->GetRange(&fs.x, &fs.y);
956 FX_FLOAT iCurPos = pScrollBar->GetPos(); 955 FX_FLOAT iCurPos = pScrollBar->GetPos();
957 FX_FLOAT fStep = pScrollBar->GetStepSize(); 956 FX_FLOAT fStep = pScrollBar->GetStepSize();
958 switch (dwCode) { 957 switch (dwCode) {
959 case FWL_SCBCODE::Min: { 958 case CFWL_EvtScroll::Code::Min: {
960 fPos = fs.x; 959 fPos = fs.x;
961 break; 960 break;
962 } 961 }
963 case FWL_SCBCODE::Max: { 962 case CFWL_EvtScroll::Code::Max: {
964 fPos = fs.y; 963 fPos = fs.y;
965 break; 964 break;
966 } 965 }
967 case FWL_SCBCODE::StepBackward: { 966 case CFWL_EvtScroll::Code::StepBackward: {
968 fPos -= fStep; 967 fPos -= fStep;
969 if (fPos < fs.x + fStep / 2) 968 if (fPos < fs.x + fStep / 2)
970 fPos = fs.x; 969 fPos = fs.x;
971 break; 970 break;
972 } 971 }
973 case FWL_SCBCODE::StepForward: { 972 case CFWL_EvtScroll::Code::StepForward: {
974 fPos += fStep; 973 fPos += fStep;
975 if (fPos > fs.y - fStep / 2) 974 if (fPos > fs.y - fStep / 2)
976 fPos = fs.y; 975 fPos = fs.y;
977 break; 976 break;
978 } 977 }
979 case FWL_SCBCODE::PageBackward: { 978 case CFWL_EvtScroll::Code::PageBackward: {
980 fPos -= pScrollBar->GetPageSize(); 979 fPos -= pScrollBar->GetPageSize();
981 if (fPos < fs.x) 980 if (fPos < fs.x)
982 fPos = fs.x; 981 fPos = fs.x;
983 break; 982 break;
984 } 983 }
985 case FWL_SCBCODE::PageForward: { 984 case CFWL_EvtScroll::Code::PageForward: {
986 fPos += pScrollBar->GetPageSize(); 985 fPos += pScrollBar->GetPageSize();
987 if (fPos > fs.y) 986 if (fPos > fs.y)
988 fPos = fs.y; 987 fPos = fs.y;
989 break; 988 break;
990 } 989 }
991 case FWL_SCBCODE::Pos: 990 case CFWL_EvtScroll::Code::Pos:
992 case FWL_SCBCODE::TrackPos: 991 case CFWL_EvtScroll::Code::TrackPos:
993 case FWL_SCBCODE::None: 992 case CFWL_EvtScroll::Code::None:
994 break; 993 break;
995 case FWL_SCBCODE::EndScroll: 994 case CFWL_EvtScroll::Code::EndScroll:
996 return false; 995 return false;
997 } 996 }
998 if (iCurPos != fPos) { 997 if (iCurPos != fPos) {
999 pScrollBar->SetPos(fPos); 998 pScrollBar->SetPos(fPos);
1000 pScrollBar->SetTrackPos(fPos); 999 pScrollBar->SetTrackPos(fPos);
1001 Repaint(&m_rtClient); 1000 Repaint(&m_rtClient);
1002 } 1001 }
1003 return true; 1002 return true;
1004 } 1003 }
1005 1004
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
1123 void CFWL_ListBox::DeleteAll() { 1122 void CFWL_ListBox::DeleteAll() {
1124 m_ItemArray.clear(); 1123 m_ItemArray.clear();
1125 } 1124 }
1126 1125
1127 uint32_t CFWL_ListBox::GetItemStates(CFWL_ListItem* pItem) { 1126 uint32_t CFWL_ListBox::GetItemStates(CFWL_ListItem* pItem) {
1128 if (!pItem) 1127 if (!pItem)
1129 return 0; 1128 return 0;
1130 return pItem->m_dwStates | pItem->m_dwCheckState; 1129 return pItem->m_dwStates | pItem->m_dwCheckState;
1131 } 1130 }
1132 1131
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698