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

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

Issue 2533623002: Cleanup default FWL params part I (Closed)
Patch Set: Rebase to master 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_datetimepicker.h" 7 #include "xfa/fwl/core/cfwl_datetimepicker.h"
8 8
9 #include <memory> 9 #include <memory>
10 #include <utility> 10 #include <utility>
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 return; 122 return;
123 } 123 }
124 124
125 FWL_WidgetHit CFWL_DateTimePicker::HitTest(FX_FLOAT fx, FX_FLOAT fy) { 125 FWL_WidgetHit CFWL_DateTimePicker::HitTest(FX_FLOAT fx, FX_FLOAT fy) {
126 if (m_pWidgetMgr->IsFormDisabled()) 126 if (m_pWidgetMgr->IsFormDisabled())
127 return DisForm_HitTest(fx, fy); 127 return DisForm_HitTest(fx, fy);
128 if (m_rtClient.Contains(fx, fy)) 128 if (m_rtClient.Contains(fx, fy))
129 return FWL_WidgetHit::Client; 129 return FWL_WidgetHit::Client;
130 if (IsMonthCalendarVisible()) { 130 if (IsMonthCalendarVisible()) {
131 CFX_RectF rect; 131 CFX_RectF rect;
132 m_pMonthCal->GetWidgetRect(rect); 132 m_pMonthCal->GetWidgetRect(rect, false);
133 if (rect.Contains(fx, fy)) 133 if (rect.Contains(fx, fy))
134 return FWL_WidgetHit::Client; 134 return FWL_WidgetHit::Client;
135 } 135 }
136 return FWL_WidgetHit::Unknown; 136 return FWL_WidgetHit::Unknown;
137 } 137 }
138 138
139 void CFWL_DateTimePicker::DrawWidget(CFX_Graphics* pGraphics, 139 void CFWL_DateTimePicker::DrawWidget(CFX_Graphics* pGraphics,
140 const CFX_Matrix* pMatrix) { 140 const CFX_Matrix* pMatrix) {
141 if (!pGraphics) 141 if (!pGraphics)
142 return; 142 return;
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 203
204 void CFWL_DateTimePicker::GetBBox(CFX_RectF& rect) const { 204 void CFWL_DateTimePicker::GetBBox(CFX_RectF& rect) const {
205 if (m_pWidgetMgr->IsFormDisabled()) { 205 if (m_pWidgetMgr->IsFormDisabled()) {
206 DisForm_GetBBox(rect); 206 DisForm_GetBBox(rect);
207 return; 207 return;
208 } 208 }
209 209
210 rect = m_pProperties->m_rtWidget; 210 rect = m_pProperties->m_rtWidget;
211 if (IsMonthCalendarVisible()) { 211 if (IsMonthCalendarVisible()) {
212 CFX_RectF rtMonth; 212 CFX_RectF rtMonth;
213 m_pMonthCal->GetWidgetRect(rtMonth); 213 m_pMonthCal->GetWidgetRect(rtMonth, false);
214 rtMonth.Offset(m_pProperties->m_rtWidget.left, 214 rtMonth.Offset(m_pProperties->m_rtWidget.left,
215 m_pProperties->m_rtWidget.top); 215 m_pProperties->m_rtWidget.top);
216 rect.Union(rtMonth); 216 rect.Union(rtMonth);
217 } 217 }
218 } 218 }
219 219
220 void CFWL_DateTimePicker::ModifyEditStylesEx(uint32_t dwStylesExAdded, 220 void CFWL_DateTimePicker::ModifyEditStylesEx(uint32_t dwStylesExAdded,
221 uint32_t dwStylesExRemoved) { 221 uint32_t dwStylesExRemoved) {
222 m_pEdit->ModifyStylesEx(dwStylesExAdded, dwStylesExRemoved); 222 m_pEdit->ModifyStylesEx(dwStylesExAdded, dwStylesExRemoved);
223 } 223 }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 return; 261 return;
262 if (!m_pForm) 262 if (!m_pForm)
263 InitProxyForm(); 263 InitProxyForm();
264 264
265 if (!bActivate) { 265 if (!bActivate) {
266 m_pForm->EndDoModal(); 266 m_pForm->EndDoModal();
267 return; 267 return;
268 } 268 }
269 269
270 CFX_RectF rtMonth; 270 CFX_RectF rtMonth;
271 m_pMonthCal->GetWidgetRect(rtMonth); 271 m_pMonthCal->GetWidgetRect(rtMonth, false);
272 272
273 CFX_RectF rtAnchor; 273 CFX_RectF rtAnchor;
274 rtAnchor.Set(0, 0, m_pProperties->m_rtWidget.width, 274 rtAnchor.Set(0, 0, m_pProperties->m_rtWidget.width,
275 m_pProperties->m_rtWidget.height); 275 m_pProperties->m_rtWidget.height);
276 GetPopupPos(0, rtMonth.height, rtAnchor, rtMonth); 276 GetPopupPos(0, rtMonth.height, rtAnchor, rtMonth);
277 m_pForm->SetWidgetRect(rtMonth); 277 m_pForm->SetWidgetRect(rtMonth);
278 278
279 rtMonth.left = rtMonth.top = 0; 279 rtMonth.left = rtMonth.top = 0;
280 m_pMonthCal->SetStates(FWL_WGTSTATE_Invisible, !bActivate); 280 if (bActivate)
281 m_pMonthCal->RemoveStates(FWL_WGTSTATE_Invisible);
282 else
283 m_pMonthCal->SetStates(FWL_WGTSTATE_Invisible);
281 m_pMonthCal->SetWidgetRect(rtMonth); 284 m_pMonthCal->SetWidgetRect(rtMonth);
282 m_pMonthCal->Update(); 285 m_pMonthCal->Update();
283 m_pForm->DoModal(); 286 m_pForm->DoModal();
284 } 287 }
285 288
286 bool CFWL_DateTimePicker::IsMonthCalendarVisible() const { 289 bool CFWL_DateTimePicker::IsMonthCalendarVisible() const {
287 if (m_pWidgetMgr->IsFormDisabled()) 290 if (m_pWidgetMgr->IsFormDisabled())
288 return DisForm_IsMonthCalendarVisible(); 291 return DisForm_IsMonthCalendarVisible();
289 if (!m_pForm) 292 if (!m_pForm)
290 return false; 293 return false;
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 CFX_RectF rtAnchor(m_pProperties->m_rtWidget); 392 CFX_RectF rtAnchor(m_pProperties->m_rtWidget);
390 rtAnchor.width = rtMonthCal.width; 393 rtAnchor.width = rtMonthCal.width;
391 rtMonthCal.left = m_rtClient.left; 394 rtMonthCal.left = m_rtClient.left;
392 rtMonthCal.top = rtAnchor.Height(); 395 rtMonthCal.top = rtAnchor.Height();
393 GetPopupPos(fPopupMin, fPopupMax, rtAnchor, rtMonthCal); 396 GetPopupPos(fPopupMin, fPopupMax, rtAnchor, rtMonthCal);
394 m_pMonthCal->SetWidgetRect(rtMonthCal); 397 m_pMonthCal->SetWidgetRect(rtMonthCal);
395 if (m_iYear > 0 && m_iMonth > 0 && m_iDay > 0) 398 if (m_iYear > 0 && m_iMonth > 0 && m_iDay > 0)
396 m_pMonthCal->SetSelect(m_iYear, m_iMonth, m_iDay); 399 m_pMonthCal->SetSelect(m_iYear, m_iMonth, m_iDay);
397 m_pMonthCal->Update(); 400 m_pMonthCal->Update();
398 } 401 }
399 m_pMonthCal->SetStates(FWL_WGTSTATE_Invisible, !bActivate); 402 if (bActivate)
403 m_pMonthCal->RemoveStates(FWL_WGTSTATE_Invisible);
404 else
405 m_pMonthCal->SetStates(FWL_WGTSTATE_Invisible);
400 406
401 if (bActivate) { 407 if (bActivate) {
402 CFWL_MsgSetFocus msg; 408 CFWL_MsgSetFocus msg;
403 msg.m_pDstTarget = m_pMonthCal.get(); 409 msg.m_pDstTarget = m_pMonthCal.get();
404 msg.m_pSrcTarget = m_pEdit.get(); 410 msg.m_pSrcTarget = m_pEdit.get();
405 m_pEdit->GetDelegate()->OnProcessMessage(&msg); 411 m_pEdit->GetDelegate()->OnProcessMessage(&msg);
406 } 412 }
407 413
408 CFX_RectF rtInvalidate, rtCal; 414 CFX_RectF rtInvalidate, rtCal;
409 rtInvalidate.Set(0, 0, m_pProperties->m_rtWidget.width, 415 rtInvalidate.Set(0, 0, m_pProperties->m_rtWidget.width,
410 m_pProperties->m_rtWidget.height); 416 m_pProperties->m_rtWidget.height);
411 m_pMonthCal->GetWidgetRect(rtCal); 417 m_pMonthCal->GetWidgetRect(rtCal, false);
412 rtInvalidate.Union(rtCal); 418 rtInvalidate.Union(rtCal);
413 rtInvalidate.Inflate(2, 2); 419 rtInvalidate.Inflate(2, 2);
414 Repaint(&rtInvalidate); 420 Repaint(&rtInvalidate);
415 } 421 }
416 422
417 FWL_WidgetHit CFWL_DateTimePicker::DisForm_HitTest(FX_FLOAT fx, 423 FWL_WidgetHit CFWL_DateTimePicker::DisForm_HitTest(FX_FLOAT fx,
418 FX_FLOAT fy) const { 424 FX_FLOAT fy) const {
419 CFX_RectF rect; 425 CFX_RectF rect;
420 rect.Set(0, 0, m_pProperties->m_rtWidget.width, 426 rect.Set(0, 0, m_pProperties->m_rtWidget.width,
421 m_pProperties->m_rtWidget.height); 427 m_pProperties->m_rtWidget.height);
422 if (rect.Contains(fx, fy)) 428 if (rect.Contains(fx, fy))
423 return FWL_WidgetHit::Edit; 429 return FWL_WidgetHit::Edit;
424 if (DisForm_IsNeedShowButton()) 430 if (DisForm_IsNeedShowButton())
425 rect.width += m_fBtn; 431 rect.width += m_fBtn;
426 if (rect.Contains(fx, fy)) 432 if (rect.Contains(fx, fy))
427 return FWL_WidgetHit::Client; 433 return FWL_WidgetHit::Client;
428 if (IsMonthCalendarVisible()) { 434 if (IsMonthCalendarVisible()) {
429 m_pMonthCal->GetWidgetRect(rect); 435 m_pMonthCal->GetWidgetRect(rect, false);
430 if (rect.Contains(fx, fy)) 436 if (rect.Contains(fx, fy))
431 return FWL_WidgetHit::Client; 437 return FWL_WidgetHit::Client;
432 } 438 }
433 return FWL_WidgetHit::Unknown; 439 return FWL_WidgetHit::Unknown;
434 } 440 }
435 441
436 bool CFWL_DateTimePicker::DisForm_IsNeedShowButton() const { 442 bool CFWL_DateTimePicker::DisForm_IsNeedShowButton() const {
437 return m_pProperties->m_dwStates & FWL_WGTSTATE_Focused || 443 return m_pProperties->m_dwStates & FWL_WGTSTATE_Focused ||
438 m_pMonthCal->GetStates() & FWL_WGTSTATE_Focused || 444 m_pMonthCal->GetStates() & FWL_WGTSTATE_Focused ||
439 m_pEdit->GetStates() & FWL_WGTSTATE_Focused; 445 m_pEdit->GetStates() & FWL_WGTSTATE_Focused;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
478 } 484 }
479 485
480 void CFWL_DateTimePicker::DisForm_GetBBox(CFX_RectF& rect) const { 486 void CFWL_DateTimePicker::DisForm_GetBBox(CFX_RectF& rect) const {
481 rect = m_pProperties->m_rtWidget; 487 rect = m_pProperties->m_rtWidget;
482 if (DisForm_IsNeedShowButton()) 488 if (DisForm_IsNeedShowButton())
483 rect.width += m_fBtn; 489 rect.width += m_fBtn;
484 if (!IsMonthCalendarVisible()) 490 if (!IsMonthCalendarVisible())
485 return; 491 return;
486 492
487 CFX_RectF rtMonth; 493 CFX_RectF rtMonth;
488 m_pMonthCal->GetWidgetRect(rtMonth); 494 m_pMonthCal->GetWidgetRect(rtMonth, false);
489 rtMonth.Offset(m_pProperties->m_rtWidget.left, m_pProperties->m_rtWidget.top); 495 rtMonth.Offset(m_pProperties->m_rtWidget.left, m_pProperties->m_rtWidget.top);
490 rect.Union(rtMonth); 496 rect.Union(rtMonth);
491 } 497 }
492 498
493 void CFWL_DateTimePicker::DisForm_DrawWidget(CFX_Graphics* pGraphics, 499 void CFWL_DateTimePicker::DisForm_DrawWidget(CFX_Graphics* pGraphics,
494 const CFX_Matrix* pMatrix) { 500 const CFX_Matrix* pMatrix) {
495 if (!pGraphics) 501 if (!pGraphics)
496 return; 502 return;
497 if (m_pEdit) { 503 if (m_pEdit) {
498 CFX_RectF rtEdit; 504 CFX_RectF rtEdit;
499 m_pEdit->GetWidgetRect(rtEdit); 505 m_pEdit->GetWidgetRect(rtEdit, false);
500 506
501 CFX_Matrix mt; 507 CFX_Matrix mt;
502 mt.Set(1, 0, 0, 1, rtEdit.left, rtEdit.top); 508 mt.Set(1, 0, 0, 1, rtEdit.left, rtEdit.top);
503 if (pMatrix) 509 if (pMatrix)
504 mt.Concat(*pMatrix); 510 mt.Concat(*pMatrix);
505 m_pEdit->DrawWidget(pGraphics, &mt); 511 m_pEdit->DrawWidget(pGraphics, &mt);
506 } 512 }
507 if (!IsMonthCalendarVisible()) 513 if (!IsMonthCalendarVisible())
508 return; 514 return;
509 515
510 CFX_RectF rtMonth; 516 CFX_RectF rtMonth;
511 m_pMonthCal->GetWidgetRect(rtMonth); 517 m_pMonthCal->GetWidgetRect(rtMonth, false);
512 CFX_Matrix mt; 518 CFX_Matrix mt;
513 mt.Set(1, 0, 0, 1, rtMonth.left, rtMonth.top); 519 mt.Set(1, 0, 0, 1, rtMonth.left, rtMonth.top);
514 if (pMatrix) 520 if (pMatrix)
515 mt.Concat(*pMatrix); 521 mt.Concat(*pMatrix);
516 m_pMonthCal->DrawWidget(pGraphics, &mt); 522 m_pMonthCal->DrawWidget(pGraphics, &mt);
517 } 523 }
518 524
519 void CFWL_DateTimePicker::OnProcessMessage(CFWL_Message* pMessage) { 525 void CFWL_DateTimePicker::OnProcessMessage(CFWL_Message* pMessage) {
520 if (!pMessage) 526 if (!pMessage)
521 return; 527 return;
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
647 if (DisForm_IsMonthCalendarVisible()) 653 if (DisForm_IsMonthCalendarVisible())
648 ShowMonthCalendar(false); 654 ShowMonthCalendar(false);
649 if (m_pEdit->GetStates() & FWL_WGTSTATE_Focused) { 655 if (m_pEdit->GetStates() & FWL_WGTSTATE_Focused) {
650 pMsg->m_pSrcTarget = m_pEdit.get(); 656 pMsg->m_pSrcTarget = m_pEdit.get();
651 m_pEdit->GetDelegate()->OnProcessMessage(pMsg); 657 m_pEdit->GetDelegate()->OnProcessMessage(pMsg);
652 } 658 }
653 } 659 }
654 rtInvalidate.Inflate(2, 2); 660 rtInvalidate.Inflate(2, 2);
655 Repaint(&rtInvalidate); 661 Repaint(&rtInvalidate);
656 } 662 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698