OLD | NEW |
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/fwl_noteimp.h" | 7 #include "xfa/fwl/core/fwl_noteimp.h" |
8 | 8 |
9 #include "core/fxcrt/include/fx_ext.h" | 9 #include "core/fxcrt/include/fx_ext.h" |
10 #include "xfa/fwl/basewidget/fwl_tooltipctrlimp.h" | 10 #include "xfa/fwl/basewidget/fwl_tooltipctrlimp.h" |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 ms.m_pSrcTarget = pPrev; | 165 ms.m_pSrcTarget = pPrev; |
166 if (bNotify) { | 166 if (bNotify) { |
167 ms.m_dwExtend = 1; | 167 ms.m_dwExtend = 1; |
168 } | 168 } |
169 IFWL_WidgetDelegate* pDelegate = pPrev->SetDelegate(NULL); | 169 IFWL_WidgetDelegate* pDelegate = pPrev->SetDelegate(NULL); |
170 if (pDelegate) { | 170 if (pDelegate) { |
171 pDelegate->OnProcessMessage(&ms); | 171 pDelegate->OnProcessMessage(&ms); |
172 } | 172 } |
173 } | 173 } |
174 if (pFocus) { | 174 if (pFocus) { |
175 IFWL_Widget* pWidget = | 175 IFWL_Widget* pWidget = IFWL_WidgetMgr::GetInstance()->GetWidget( |
176 FWL_GetWidgetMgr()->GetWidget(pFocus, FWL_WGTRELATION_SystemForm); | 176 pFocus, FWL_WGTRELATION_SystemForm); |
177 CFWL_FormImp* pForm = | 177 CFWL_FormImp* pForm = |
178 pWidget ? static_cast<CFWL_FormImp*>(pWidget->GetImpl()) : nullptr; | 178 pWidget ? static_cast<CFWL_FormImp*>(pWidget->GetImpl()) : nullptr; |
179 if (pForm) { | 179 if (pForm) { |
180 CFWL_WidgetImp* pNewFocus = | 180 CFWL_WidgetImp* pNewFocus = |
181 static_cast<CFWL_WidgetImp*>(pFocus->GetImpl()); | 181 static_cast<CFWL_WidgetImp*>(pFocus->GetImpl()); |
182 pForm->SetSubFocus(pNewFocus); | 182 pForm->SetSubFocus(pNewFocus); |
183 } | 183 } |
184 CFWL_MsgSetFocus ms; | 184 CFWL_MsgSetFocus ms; |
185 ms.m_pDstTarget = pFocus; | 185 ms.m_pDstTarget = pFocus; |
186 if (bNotify) { | 186 if (bNotify) { |
187 ms.m_dwExtend = 1; | 187 ms.m_dwExtend = 1; |
188 } | 188 } |
189 IFWL_WidgetDelegate* pDelegate = pFocus->SetDelegate(NULL); | 189 IFWL_WidgetDelegate* pDelegate = pFocus->SetDelegate(NULL); |
190 if (pDelegate) { | 190 if (pDelegate) { |
191 pDelegate->OnProcessMessage(&ms); | 191 pDelegate->OnProcessMessage(&ms); |
192 } | 192 } |
193 } | 193 } |
194 return TRUE; | 194 return TRUE; |
195 } | 195 } |
196 FWL_Error CFWL_NoteDriver::Run() { | 196 FWL_Error CFWL_NoteDriver::Run() { |
197 CFWL_WidgetMgr* pWidgetMgr = static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()); | 197 CFWL_WidgetMgr* pWidgetMgr = |
| 198 static_cast<CFWL_WidgetMgr*>(IFWL_WidgetMgr::GetInstance()); |
198 if (!pWidgetMgr) | 199 if (!pWidgetMgr) |
199 return FWL_Error::Indefinite; | 200 return FWL_Error::Indefinite; |
200 | 201 |
201 #if (_FX_OS_ == _FX_LINUX_DESKTOP_ || _FX_OS_ == _FX_WIN32_DESKTOP_ || \ | 202 #if (_FX_OS_ == _FX_LINUX_DESKTOP_ || _FX_OS_ == _FX_WIN32_DESKTOP_ || \ |
202 _FX_OS_ == _FX_WIN64_) | 203 _FX_OS_ == _FX_WIN64_) |
203 CFWL_NoteLoop* pTopLoop = NULL; | 204 CFWL_NoteLoop* pTopLoop = NULL; |
204 for (;;) { | 205 for (;;) { |
205 pTopLoop = GetTopLoop(); | 206 pTopLoop = GetTopLoop(); |
206 if (!pTopLoop || !pTopLoop->ContinueModal()) | 207 if (!pTopLoop || !pTopLoop->ContinueModal()) |
207 break; | 208 break; |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
312 int32_t size = m_noteLoopQueue.GetSize(); | 313 int32_t size = m_noteLoopQueue.GetSize(); |
313 if (size <= 0) | 314 if (size <= 0) |
314 return nullptr; | 315 return nullptr; |
315 return static_cast<CFWL_NoteLoop*>(m_noteLoopQueue[size - 1]); | 316 return static_cast<CFWL_NoteLoop*>(m_noteLoopQueue[size - 1]); |
316 } | 317 } |
317 int32_t CFWL_NoteDriver::CountLoop() { | 318 int32_t CFWL_NoteDriver::CountLoop() { |
318 return m_noteLoopQueue.GetSize(); | 319 return m_noteLoopQueue.GetSize(); |
319 } | 320 } |
320 | 321 |
321 FX_BOOL CFWL_NoteDriver::ProcessMessage(CFWL_Message* pMessage) { | 322 FX_BOOL CFWL_NoteDriver::ProcessMessage(CFWL_Message* pMessage) { |
322 CFWL_WidgetMgr* pWidgetMgr = static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()); | 323 CFWL_WidgetMgr* pWidgetMgr = |
| 324 static_cast<CFWL_WidgetMgr*>(IFWL_WidgetMgr::GetInstance()); |
323 IFWL_Widget* pMessageForm = pWidgetMgr->IsFormDisabled() | 325 IFWL_Widget* pMessageForm = pWidgetMgr->IsFormDisabled() |
324 ? pMessage->m_pDstTarget | 326 ? pMessage->m_pDstTarget |
325 : GetMessageForm(pMessage->m_pDstTarget); | 327 : GetMessageForm(pMessage->m_pDstTarget); |
326 if (!pMessageForm) | 328 if (!pMessageForm) |
327 return FALSE; | 329 return FALSE; |
328 if (DispatchMessage(pMessage, pMessageForm)) { | 330 if (DispatchMessage(pMessage, pMessageForm)) { |
329 if (pMessage->GetClassID() == CFWL_MessageType::Mouse) | 331 if (pMessage->GetClassID() == CFWL_MessageType::Mouse) |
330 MouseSecondary(static_cast<CFWL_MsgMouse*>(pMessage)); | 332 MouseSecondary(static_cast<CFWL_MsgMouse*>(pMessage)); |
331 return TRUE; | 333 return TRUE; |
332 } | 334 } |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
429 if (pDst == pMessageForm && pDst->IsInstance(L"FWL_FORMPROXY")) { | 431 if (pDst == pMessageForm && pDst->IsInstance(L"FWL_FORMPROXY")) { |
430 return TRUE; | 432 return TRUE; |
431 } | 433 } |
432 #endif | 434 #endif |
433 return pDst != pMessageForm && | 435 return pDst != pMessageForm && |
434 !pDst->IsInstance(FX_WSTRC(L"FWL_FORMPROXY")) && | 436 !pDst->IsInstance(FX_WSTRC(L"FWL_FORMPROXY")) && |
435 !pMessageForm->IsInstance(FX_WSTRC(L"FWL_FORMPROXY")); | 437 !pMessageForm->IsInstance(FX_WSTRC(L"FWL_FORMPROXY")); |
436 } | 438 } |
437 FX_BOOL CFWL_NoteDriver::DoSetFocus(CFWL_MsgSetFocus* pMsg, | 439 FX_BOOL CFWL_NoteDriver::DoSetFocus(CFWL_MsgSetFocus* pMsg, |
438 IFWL_Widget* pMessageForm) { | 440 IFWL_Widget* pMessageForm) { |
439 CFWL_WidgetMgr* pWidgetMgr = static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()); | 441 CFWL_WidgetMgr* pWidgetMgr = |
| 442 static_cast<CFWL_WidgetMgr*>(IFWL_WidgetMgr::GetInstance()); |
440 if (pWidgetMgr->IsFormDisabled()) { | 443 if (pWidgetMgr->IsFormDisabled()) { |
441 m_pFocus = pMsg->m_pDstTarget; | 444 m_pFocus = pMsg->m_pDstTarget; |
442 return TRUE; | 445 return TRUE; |
443 } else { | 446 } else { |
444 IFWL_Widget* pWidget = pMsg->m_pDstTarget; | 447 IFWL_Widget* pWidget = pMsg->m_pDstTarget; |
445 CFWL_FormImp* pForm = | 448 CFWL_FormImp* pForm = |
446 pWidget ? static_cast<CFWL_FormImp*>(pWidget->GetImpl()) : nullptr; | 449 pWidget ? static_cast<CFWL_FormImp*>(pWidget->GetImpl()) : nullptr; |
447 if (pForm) { | 450 if (pForm) { |
448 CFWL_WidgetImp* pSubFocus = pForm->GetSubFocus(); | 451 CFWL_WidgetImp* pSubFocus = pForm->GetSubFocus(); |
449 if (pSubFocus && ((pSubFocus->GetStates() & FWL_WGTSTATE_Focused) == 0)) { | 452 if (pSubFocus && ((pSubFocus->GetStates() & FWL_WGTSTATE_Focused) == 0)) { |
450 pMsg->m_pDstTarget = pSubFocus->GetInterface(); | 453 pMsg->m_pDstTarget = pSubFocus->GetInterface(); |
451 if (m_pFocus != pMsg->m_pDstTarget) { | 454 if (m_pFocus != pMsg->m_pDstTarget) { |
452 m_pFocus = pMsg->m_pDstTarget; | 455 m_pFocus = pMsg->m_pDstTarget; |
453 return TRUE; | 456 return TRUE; |
454 } | 457 } |
455 } | 458 } |
456 } | 459 } |
457 } | 460 } |
458 return FALSE; | 461 return FALSE; |
459 } | 462 } |
460 FX_BOOL CFWL_NoteDriver::DoKillFocus(CFWL_MsgKillFocus* pMsg, | 463 FX_BOOL CFWL_NoteDriver::DoKillFocus(CFWL_MsgKillFocus* pMsg, |
461 IFWL_Widget* pMessageForm) { | 464 IFWL_Widget* pMessageForm) { |
462 CFWL_WidgetMgr* pWidgetMgr = static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()); | 465 CFWL_WidgetMgr* pWidgetMgr = |
| 466 static_cast<CFWL_WidgetMgr*>(IFWL_WidgetMgr::GetInstance()); |
463 if (pWidgetMgr->IsFormDisabled()) { | 467 if (pWidgetMgr->IsFormDisabled()) { |
464 if (m_pFocus == pMsg->m_pDstTarget) { | 468 if (m_pFocus == pMsg->m_pDstTarget) { |
465 m_pFocus = NULL; | 469 m_pFocus = NULL; |
466 } | 470 } |
467 return TRUE; | 471 return TRUE; |
468 } | 472 } |
469 IFWL_Widget* pWidget = pMsg->m_pDstTarget; | 473 IFWL_Widget* pWidget = pMsg->m_pDstTarget; |
470 CFWL_FormImp* pForm = | 474 CFWL_FormImp* pForm = |
471 pWidget ? static_cast<CFWL_FormImp*>(pWidget->GetImpl()) : nullptr; | 475 pWidget ? static_cast<CFWL_FormImp*>(pWidget->GetImpl()) : nullptr; |
472 if (pForm) { | 476 if (pForm) { |
473 CFWL_WidgetImp* pSubFocus = pForm->GetSubFocus(); | 477 CFWL_WidgetImp* pSubFocus = pForm->GetSubFocus(); |
474 if (pSubFocus && (pSubFocus->GetStates() & FWL_WGTSTATE_Focused)) { | 478 if (pSubFocus && (pSubFocus->GetStates() & FWL_WGTSTATE_Focused)) { |
475 pMsg->m_pDstTarget = pSubFocus->GetInterface(); | 479 pMsg->m_pDstTarget = pSubFocus->GetInterface(); |
476 if (m_pFocus == pMsg->m_pDstTarget) { | 480 if (m_pFocus == pMsg->m_pDstTarget) { |
477 m_pFocus = NULL; | 481 m_pFocus = NULL; |
478 return TRUE; | 482 return TRUE; |
479 } | 483 } |
480 } | 484 } |
481 } | 485 } |
482 return FALSE; | 486 return FALSE; |
483 } | 487 } |
484 FX_BOOL CFWL_NoteDriver::DoKey(CFWL_MsgKey* pMsg, IFWL_Widget* pMessageForm) { | 488 FX_BOOL CFWL_NoteDriver::DoKey(CFWL_MsgKey* pMsg, IFWL_Widget* pMessageForm) { |
485 #if (_FX_OS_ != _FX_MACOSX_) | 489 #if (_FX_OS_ != _FX_MACOSX_) |
486 if (pMsg->m_dwCmd == FWL_KeyCommand::KeyDown && | 490 if (pMsg->m_dwCmd == FWL_KeyCommand::KeyDown && |
487 pMsg->m_dwKeyCode == FWL_VKEY_Tab) { | 491 pMsg->m_dwKeyCode == FWL_VKEY_Tab) { |
488 CFWL_WidgetMgr* pWidgetMgr = | 492 CFWL_WidgetMgr* pWidgetMgr = |
489 static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()); | 493 static_cast<CFWL_WidgetMgr*>(IFWL_WidgetMgr::GetInstance()); |
490 IFWL_Widget* pForm = GetMessageForm(pMsg->m_pDstTarget); | 494 IFWL_Widget* pForm = GetMessageForm(pMsg->m_pDstTarget); |
491 IFWL_Widget* pFocus = m_pFocus; | 495 IFWL_Widget* pFocus = m_pFocus; |
492 if (m_pFocus) { | 496 if (m_pFocus) { |
493 if (pWidgetMgr->GetWidget(m_pFocus, FWL_WGTRELATION_SystemForm) != | 497 if (pWidgetMgr->GetWidget(m_pFocus, FWL_WGTRELATION_SystemForm) != |
494 pForm) { | 498 pForm) { |
495 pFocus = NULL; | 499 pFocus = NULL; |
496 } | 500 } |
497 } | 501 } |
498 FX_BOOL bFind = FALSE; | 502 FX_BOOL bFind = FALSE; |
499 IFWL_Widget* pNextTabStop = pWidgetMgr->nextTab(pForm, pFocus, bFind); | 503 IFWL_Widget* pNextTabStop = pWidgetMgr->nextTab(pForm, pFocus, bFind); |
500 if (!pNextTabStop) { | 504 if (!pNextTabStop) { |
501 bFind = FALSE; | 505 bFind = FALSE; |
502 pNextTabStop = pWidgetMgr->nextTab(pForm, NULL, bFind); | 506 pNextTabStop = pWidgetMgr->nextTab(pForm, NULL, bFind); |
503 } | 507 } |
504 if (pNextTabStop == pFocus) { | 508 if (pNextTabStop == pFocus) { |
505 return TRUE; | 509 return TRUE; |
506 } | 510 } |
507 if (pNextTabStop) { | 511 if (pNextTabStop) { |
508 SetFocus(pNextTabStop); | 512 SetFocus(pNextTabStop); |
509 } | 513 } |
510 return TRUE; | 514 return TRUE; |
511 } | 515 } |
512 #endif | 516 #endif |
513 if (!m_pFocus) { | 517 if (!m_pFocus) { |
514 if (pMsg->m_dwCmd == FWL_KeyCommand::KeyDown && | 518 if (pMsg->m_dwCmd == FWL_KeyCommand::KeyDown && |
515 pMsg->m_dwKeyCode == FWL_VKEY_Return) { | 519 pMsg->m_dwKeyCode == FWL_VKEY_Return) { |
516 CFWL_WidgetMgr* pWidgetMgr = | 520 CFWL_WidgetMgr* pWidgetMgr = |
517 static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()); | 521 static_cast<CFWL_WidgetMgr*>(IFWL_WidgetMgr::GetInstance()); |
518 IFWL_Widget* defButton = pWidgetMgr->GetDefaultButton(pMessageForm); | 522 IFWL_Widget* defButton = pWidgetMgr->GetDefaultButton(pMessageForm); |
519 if (defButton) { | 523 if (defButton) { |
520 pMsg->m_pDstTarget = defButton; | 524 pMsg->m_pDstTarget = defButton; |
521 return TRUE; | 525 return TRUE; |
522 } | 526 } |
523 } | 527 } |
524 return FALSE; | 528 return FALSE; |
525 } | 529 } |
526 pMsg->m_pDstTarget = m_pFocus; | 530 pMsg->m_pDstTarget = m_pFocus; |
527 return TRUE; | 531 return TRUE; |
528 } | 532 } |
529 FX_BOOL CFWL_NoteDriver::DoMouse(CFWL_MsgMouse* pMsg, | 533 FX_BOOL CFWL_NoteDriver::DoMouse(CFWL_MsgMouse* pMsg, |
530 IFWL_Widget* pMessageForm) { | 534 IFWL_Widget* pMessageForm) { |
531 if (pMsg->m_dwCmd == FWL_MouseCommand::Leave || | 535 if (pMsg->m_dwCmd == FWL_MouseCommand::Leave || |
532 pMsg->m_dwCmd == FWL_MouseCommand::Hover || | 536 pMsg->m_dwCmd == FWL_MouseCommand::Hover || |
533 pMsg->m_dwCmd == FWL_MouseCommand::Enter) { | 537 pMsg->m_dwCmd == FWL_MouseCommand::Enter) { |
534 return pMsg->m_pDstTarget != NULL; | 538 return pMsg->m_pDstTarget != NULL; |
535 } | 539 } |
536 if (pMsg->m_pDstTarget != pMessageForm) { | 540 if (pMsg->m_pDstTarget != pMessageForm) { |
537 pMsg->m_pDstTarget->TransformTo(pMessageForm, pMsg->m_fx, pMsg->m_fy); | 541 pMsg->m_pDstTarget->TransformTo(pMessageForm, pMsg->m_fx, pMsg->m_fy); |
538 } | 542 } |
539 if (!DoMouseEx(pMsg, pMessageForm)) { | 543 if (!DoMouseEx(pMsg, pMessageForm)) { |
540 pMsg->m_pDstTarget = pMessageForm; | 544 pMsg->m_pDstTarget = pMessageForm; |
541 } | 545 } |
542 return TRUE; | 546 return TRUE; |
543 } | 547 } |
544 FX_BOOL CFWL_NoteDriver::DoWheel(CFWL_MsgMouseWheel* pMsg, | 548 FX_BOOL CFWL_NoteDriver::DoWheel(CFWL_MsgMouseWheel* pMsg, |
545 IFWL_Widget* pMessageForm) { | 549 IFWL_Widget* pMessageForm) { |
546 CFWL_WidgetMgr* pWidgetMgr = static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()); | 550 CFWL_WidgetMgr* pWidgetMgr = |
| 551 static_cast<CFWL_WidgetMgr*>(IFWL_WidgetMgr::GetInstance()); |
547 if (!pWidgetMgr) | 552 if (!pWidgetMgr) |
548 return FALSE; | 553 return FALSE; |
549 | 554 |
550 IFWL_Widget* pDst = | 555 IFWL_Widget* pDst = |
551 pWidgetMgr->GetWidgetAtPoint(pMessageForm, pMsg->m_fx, pMsg->m_fy); | 556 pWidgetMgr->GetWidgetAtPoint(pMessageForm, pMsg->m_fx, pMsg->m_fy); |
552 if (!pDst) | 557 if (!pDst) |
553 return FALSE; | 558 return FALSE; |
554 | 559 |
555 pMessageForm->TransformTo(pDst, pMsg->m_fx, pMsg->m_fy); | 560 pMessageForm->TransformTo(pDst, pMsg->m_fx, pMsg->m_fy); |
556 pMsg->m_pDstTarget = pDst; | 561 pMsg->m_pDstTarget = pDst; |
557 return TRUE; | 562 return TRUE; |
558 } | 563 } |
559 FX_BOOL CFWL_NoteDriver::DoSize(CFWL_MsgSize* pMsg) { | 564 FX_BOOL CFWL_NoteDriver::DoSize(CFWL_MsgSize* pMsg) { |
560 CFWL_WidgetMgr* pWidgetMgr = static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()); | 565 CFWL_WidgetMgr* pWidgetMgr = |
| 566 static_cast<CFWL_WidgetMgr*>(IFWL_WidgetMgr::GetInstance()); |
561 if (!pWidgetMgr) | 567 if (!pWidgetMgr) |
562 return FALSE; | 568 return FALSE; |
563 pWidgetMgr->NotifySizeChanged(pMsg->m_pDstTarget, (FX_FLOAT)pMsg->m_iWidth, | 569 pWidgetMgr->NotifySizeChanged(pMsg->m_pDstTarget, (FX_FLOAT)pMsg->m_iWidth, |
564 (FX_FLOAT)pMsg->m_iHeight); | 570 (FX_FLOAT)pMsg->m_iHeight); |
565 return TRUE; | 571 return TRUE; |
566 } | 572 } |
567 FX_BOOL CFWL_NoteDriver::DoWindowMove(CFWL_MsgWindowMove* pMsg, | 573 FX_BOOL CFWL_NoteDriver::DoWindowMove(CFWL_MsgWindowMove* pMsg, |
568 IFWL_Widget* pMessageForm) { | 574 IFWL_Widget* pMessageForm) { |
569 return pMsg->m_pDstTarget == pMessageForm; | 575 return pMsg->m_pDstTarget == pMessageForm; |
570 } | 576 } |
571 FX_BOOL CFWL_NoteDriver::DoDragFiles(CFWL_MsgDropFiles* pMsg, | 577 FX_BOOL CFWL_NoteDriver::DoDragFiles(CFWL_MsgDropFiles* pMsg, |
572 IFWL_Widget* pMessageForm) { | 578 IFWL_Widget* pMessageForm) { |
573 return pMsg->m_pDstTarget == pMessageForm; | 579 return pMsg->m_pDstTarget == pMessageForm; |
574 } | 580 } |
575 FX_BOOL CFWL_NoteDriver::DoMouseEx(CFWL_MsgMouse* pMsg, | 581 FX_BOOL CFWL_NoteDriver::DoMouseEx(CFWL_MsgMouse* pMsg, |
576 IFWL_Widget* pMessageForm) { | 582 IFWL_Widget* pMessageForm) { |
577 CFWL_WidgetMgr* pWidgetMgr = static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()); | 583 CFWL_WidgetMgr* pWidgetMgr = |
| 584 static_cast<CFWL_WidgetMgr*>(IFWL_WidgetMgr::GetInstance()); |
578 if (!pWidgetMgr) | 585 if (!pWidgetMgr) |
579 return FALSE; | 586 return FALSE; |
580 IFWL_Widget* pTarget = NULL; | 587 IFWL_Widget* pTarget = NULL; |
581 if (m_pGrab) | 588 if (m_pGrab) |
582 pTarget = m_pGrab; | 589 pTarget = m_pGrab; |
583 if (!pTarget) { | 590 if (!pTarget) { |
584 pTarget = | 591 pTarget = |
585 pWidgetMgr->GetWidgetAtPoint(pMessageForm, pMsg->m_fx, pMsg->m_fy); | 592 pWidgetMgr->GetWidgetAtPoint(pMessageForm, pMsg->m_fx, pMsg->m_fy); |
586 } | 593 } |
587 if (pTarget) { | 594 if (pTarget) { |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
649 IFWL_Widget* pMessageForm = nullptr; | 656 IFWL_Widget* pMessageForm = nullptr; |
650 if (iTrackLoop > 1) { | 657 if (iTrackLoop > 1) { |
651 CFWL_NoteLoop* pNootLoop = | 658 CFWL_NoteLoop* pNootLoop = |
652 static_cast<CFWL_NoteLoop*>(m_noteLoopQueue[iTrackLoop - 1]); | 659 static_cast<CFWL_NoteLoop*>(m_noteLoopQueue[iTrackLoop - 1]); |
653 pMessageForm = pNootLoop->GetForm()->GetInterface(); | 660 pMessageForm = pNootLoop->GetForm()->GetInterface(); |
654 } else if (m_forms.Find(pDstTarget->GetImpl()) < 0) { | 661 } else if (m_forms.Find(pDstTarget->GetImpl()) < 0) { |
655 pMessageForm = pDstTarget; | 662 pMessageForm = pDstTarget; |
656 } | 663 } |
657 if (!pMessageForm && pDstTarget) { | 664 if (!pMessageForm && pDstTarget) { |
658 CFWL_WidgetMgr* pWidgetMgr = | 665 CFWL_WidgetMgr* pWidgetMgr = |
659 static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()); | 666 static_cast<CFWL_WidgetMgr*>(IFWL_WidgetMgr::GetInstance()); |
660 if (!pWidgetMgr) | 667 if (!pWidgetMgr) |
661 return nullptr; | 668 return nullptr; |
662 pMessageForm = | 669 pMessageForm = |
663 pWidgetMgr->GetWidget(pDstTarget, FWL_WGTRELATION_SystemForm); | 670 pWidgetMgr->GetWidget(pDstTarget, FWL_WGTRELATION_SystemForm); |
664 } | 671 } |
665 return pMessageForm; | 672 return pMessageForm; |
666 } | 673 } |
667 | 674 |
668 void CFWL_NoteDriver::ClearInvalidEventTargets(FX_BOOL bRemoveAll) { | 675 void CFWL_NoteDriver::ClearInvalidEventTargets(FX_BOOL bRemoveAll) { |
669 auto it = m_eventTargets.begin(); | 676 auto it = m_eventTargets.begin(); |
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
895 if (HasToolTip(pEvt->m_pDstTarget) && NULL != m_pToolTipImp) { | 902 if (HasToolTip(pEvt->m_pDstTarget) && NULL != m_pToolTipImp) { |
896 m_pToolTipImp->Hide(); | 903 m_pToolTipImp->Hide(); |
897 pCurTarget = NULL; | 904 pCurTarget = NULL; |
898 return TRUE; | 905 return TRUE; |
899 } | 906 } |
900 return FALSE; | 907 return FALSE; |
901 } | 908 } |
902 IFWL_ToolTipTarget* CFWL_ToolTipContainer::GetCurrentToolTipTarget() { | 909 IFWL_ToolTipTarget* CFWL_ToolTipContainer::GetCurrentToolTipTarget() { |
903 return pCurTarget; | 910 return pCurTarget; |
904 } | 911 } |
OLD | NEW |