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

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

Issue 2492563002: Continue IFWL cleanup (Closed)
Patch Set: Rebase to master 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 | « xfa/fwl/core/ifwl_combobox.cpp ('k') | xfa/fwl/core/ifwl_formproxy.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 2016 PDFium Authors. All rights reserved. 1 // Copyright 2016 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/ifwl_combolist.h" 7 #include "xfa/fwl/core/ifwl_combolist.h"
8 8
9 #include "third_party/base/ptr_util.h" 9 #include "third_party/base/ptr_util.h"
10 #include "xfa/fwl/core/ifwl_combobox.h" 10 #include "xfa/fwl/core/ifwl_combobox.h"
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 if (!pMessage) 96 if (!pMessage)
97 return; 97 return;
98 98
99 CFWL_MessageType dwHashCode = pMessage->GetClassID(); 99 CFWL_MessageType dwHashCode = pMessage->GetClassID();
100 bool backDefault = true; 100 bool backDefault = true;
101 if (dwHashCode == CFWL_MessageType::SetFocus || 101 if (dwHashCode == CFWL_MessageType::SetFocus ||
102 dwHashCode == CFWL_MessageType::KillFocus) { 102 dwHashCode == CFWL_MessageType::KillFocus) {
103 OnDropListFocusChanged(pMessage, dwHashCode == CFWL_MessageType::SetFocus); 103 OnDropListFocusChanged(pMessage, dwHashCode == CFWL_MessageType::SetFocus);
104 } else if (dwHashCode == CFWL_MessageType::Mouse) { 104 } else if (dwHashCode == CFWL_MessageType::Mouse) {
105 CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage); 105 CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage);
106 if (IsShowScrollBar(true) && m_pVertScrollBar) { 106 IFWL_ScrollBar* vertSB = GetVertScrollBar();
107 if (IsShowScrollBar(true) && vertSB) {
107 CFX_RectF rect; 108 CFX_RectF rect;
108 m_pVertScrollBar->GetWidgetRect(rect); 109 vertSB->GetWidgetRect(rect);
109 if (rect.Contains(pMsg->m_fx, pMsg->m_fy)) { 110 if (rect.Contains(pMsg->m_fx, pMsg->m_fy)) {
110 pMsg->m_fx -= rect.left; 111 pMsg->m_fx -= rect.left;
111 pMsg->m_fy -= rect.top; 112 pMsg->m_fy -= rect.top;
112 m_pVertScrollBar->GetDelegate()->OnProcessMessage(pMsg); 113 vertSB->GetDelegate()->OnProcessMessage(pMsg);
113 return; 114 return;
114 } 115 }
115 } 116 }
116 switch (pMsg->m_dwCmd) { 117 switch (pMsg->m_dwCmd) {
117 case FWL_MouseCommand::Move: { 118 case FWL_MouseCommand::Move: {
118 backDefault = false; 119 backDefault = false;
119 OnDropListMouseMove(pMsg); 120 OnDropListMouseMove(pMsg);
120 break; 121 break;
121 } 122 }
122 case FWL_MouseCommand::LeftButtonDown: { 123 case FWL_MouseCommand::LeftButtonDown: {
(...skipping 22 matching lines...) Expand all
145 146
146 CFWL_MsgKillFocus* pKill = static_cast<CFWL_MsgKillFocus*>(pMsg); 147 CFWL_MsgKillFocus* pKill = static_cast<CFWL_MsgKillFocus*>(pMsg);
147 IFWL_ComboBox* pOuter = static_cast<IFWL_ComboBox*>(m_pOuter); 148 IFWL_ComboBox* pOuter = static_cast<IFWL_ComboBox*>(m_pOuter);
148 if (pKill->m_pSetFocus == m_pOuter || 149 if (pKill->m_pSetFocus == m_pOuter ||
149 pKill->m_pSetFocus == pOuter->GetComboEdit()) { 150 pKill->m_pSetFocus == pOuter->GetComboEdit()) {
150 pOuter->ShowDropList(false); 151 pOuter->ShowDropList(false);
151 } 152 }
152 } 153 }
153 154
154 int32_t IFWL_ComboList::OnDropListMouseMove(CFWL_MsgMouse* pMsg) { 155 int32_t IFWL_ComboList::OnDropListMouseMove(CFWL_MsgMouse* pMsg) {
155 if (m_rtClient.Contains(pMsg->m_fx, pMsg->m_fy)) { 156 if (GetRTClient().Contains(pMsg->m_fx, pMsg->m_fy)) {
156 if (m_bNotifyOwner) { 157 if (m_bNotifyOwner) {
157 m_bNotifyOwner = false; 158 m_bNotifyOwner = false;
158 } 159 }
159 if (IsShowScrollBar(true) && m_pVertScrollBar) { 160 IFWL_ScrollBar* vertSB = GetVertScrollBar();
161 if (IsShowScrollBar(true) && vertSB) {
160 CFX_RectF rect; 162 CFX_RectF rect;
161 m_pVertScrollBar->GetWidgetRect(rect); 163 vertSB->GetWidgetRect(rect);
162 if (rect.Contains(pMsg->m_fx, pMsg->m_fy)) { 164 if (rect.Contains(pMsg->m_fx, pMsg->m_fy)) {
163 return 1; 165 return 1;
164 } 166 }
165 } 167 }
166 CFWL_ListItem* hItem = GetItemAtPoint(pMsg->m_fx, pMsg->m_fy); 168 CFWL_ListItem* hItem = GetItemAtPoint(pMsg->m_fx, pMsg->m_fy);
167 if (hItem) { 169 if (hItem) {
168 if (!m_pProperties->m_pDataProvider) 170 if (!m_pProperties->m_pDataProvider)
169 return 0; 171 return 0;
170 IFWL_ListBoxDP* pData = 172 IFWL_ListBoxDP* pData =
171 static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); 173 static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider);
172 int32_t iSel = pData->GetItemIndex(this, hItem); 174 int32_t iSel = pData->GetItemIndex(this, hItem);
173 CFWL_EvtCmbHoverChanged event; 175 CFWL_EvtCmbHoverChanged event;
174 event.m_pSrcTarget = m_pOuter; 176 event.m_pSrcTarget = m_pOuter;
175 event.m_iCurHover = iSel; 177 event.m_iCurHover = iSel;
176 DispatchEvent(&event); 178 DispatchEvent(&event);
177 ChangeSelected(iSel); 179 ChangeSelected(iSel);
178 } 180 }
179 } else if (m_bNotifyOwner) { 181 } else if (m_bNotifyOwner) {
180 ClientToOuter(pMsg->m_fx, pMsg->m_fy); 182 ClientToOuter(pMsg->m_fx, pMsg->m_fy);
181 IFWL_ComboBox* pOuter = static_cast<IFWL_ComboBox*>(m_pOuter); 183 IFWL_ComboBox* pOuter = static_cast<IFWL_ComboBox*>(m_pOuter);
182 pOuter->GetDelegate()->OnProcessMessage(pMsg); 184 pOuter->GetDelegate()->OnProcessMessage(pMsg);
183 } 185 }
184 return 1; 186 return 1;
185 } 187 }
186 188
187 int32_t IFWL_ComboList::OnDropListLButtonDown(CFWL_MsgMouse* pMsg) { 189 int32_t IFWL_ComboList::OnDropListLButtonDown(CFWL_MsgMouse* pMsg) {
188 if (m_rtClient.Contains(pMsg->m_fx, pMsg->m_fy)) 190 if (GetRTClient().Contains(pMsg->m_fx, pMsg->m_fy))
189 return 0; 191 return 0;
190 192
191 IFWL_ComboBox* pOuter = static_cast<IFWL_ComboBox*>(m_pOuter); 193 IFWL_ComboBox* pOuter = static_cast<IFWL_ComboBox*>(m_pOuter);
192 pOuter->ShowDropList(false); 194 pOuter->ShowDropList(false);
193 return 1; 195 return 1;
194 } 196 }
195 197
196 int32_t IFWL_ComboList::OnDropListLButtonUp(CFWL_MsgMouse* pMsg) { 198 int32_t IFWL_ComboList::OnDropListLButtonUp(CFWL_MsgMouse* pMsg) {
197 IFWL_ComboBox* pOuter = static_cast<IFWL_ComboBox*>(m_pOuter); 199 IFWL_ComboBox* pOuter = static_cast<IFWL_ComboBox*>(m_pOuter);
198 if (m_bNotifyOwner) { 200 if (m_bNotifyOwner) {
199 ClientToOuter(pMsg->m_fx, pMsg->m_fy); 201 ClientToOuter(pMsg->m_fx, pMsg->m_fy);
200 pOuter->GetDelegate()->OnProcessMessage(pMsg); 202 pOuter->GetDelegate()->OnProcessMessage(pMsg);
201 } else { 203 } else {
202 if (IsShowScrollBar(true) && m_pVertScrollBar) { 204 IFWL_ScrollBar* vertSB = GetVertScrollBar();
205 if (IsShowScrollBar(true) && vertSB) {
203 CFX_RectF rect; 206 CFX_RectF rect;
204 m_pVertScrollBar->GetWidgetRect(rect); 207 vertSB->GetWidgetRect(rect);
205 if (rect.Contains(pMsg->m_fx, pMsg->m_fy)) { 208 if (rect.Contains(pMsg->m_fx, pMsg->m_fy)) {
206 return 1; 209 return 1;
207 } 210 }
208 } 211 }
209 pOuter->ShowDropList(false); 212 pOuter->ShowDropList(false);
210 CFWL_ListItem* hItem = GetItemAtPoint(pMsg->m_fx, pMsg->m_fy); 213 CFWL_ListItem* hItem = GetItemAtPoint(pMsg->m_fx, pMsg->m_fy);
211 if (hItem) 214 if (hItem)
212 pOuter->ProcessSelChanged(true); 215 pOuter->ProcessSelChanged(true);
213 } 216 }
214 return 1; 217 return 1;
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 CFX_RectF rtInvalidate; 268 CFX_RectF rtInvalidate;
266 rtInvalidate.Set(0, 0, m_pProperties->m_rtWidget.width, 269 rtInvalidate.Set(0, 0, m_pProperties->m_rtWidget.width,
267 m_pProperties->m_rtWidget.height); 270 m_pProperties->m_rtWidget.height);
268 Repaint(&rtInvalidate); 271 Repaint(&rtInvalidate);
269 break; 272 break;
270 } 273 }
271 default: 274 default:
272 break; 275 break;
273 } 276 }
274 } 277 }
OLDNEW
« no previous file with comments | « xfa/fwl/core/ifwl_combobox.cpp ('k') | xfa/fwl/core/ifwl_formproxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698