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

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

Issue 2095653002: Remove NULL in xfa/ (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Rebase to master Created 4 years, 5 months 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/fwl_formimp.cpp ('k') | xfa/fwl/core/fwl_widgetimp.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/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 "third_party/base/stl_util.h" 10 #include "third_party/base/stl_util.h"
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 } 156 }
157 IFWL_Widget* pPrev = m_pFocus; 157 IFWL_Widget* pPrev = m_pFocus;
158 m_pFocus = pFocus; 158 m_pFocus = pFocus;
159 if (pPrev) { 159 if (pPrev) {
160 CFWL_MsgKillFocus ms; 160 CFWL_MsgKillFocus ms;
161 ms.m_pDstTarget = pPrev; 161 ms.m_pDstTarget = pPrev;
162 ms.m_pSrcTarget = pPrev; 162 ms.m_pSrcTarget = pPrev;
163 if (bNotify) { 163 if (bNotify) {
164 ms.m_dwExtend = 1; 164 ms.m_dwExtend = 1;
165 } 165 }
166 IFWL_WidgetDelegate* pDelegate = pPrev->SetDelegate(NULL); 166 IFWL_WidgetDelegate* pDelegate = pPrev->SetDelegate(nullptr);
167 if (pDelegate) { 167 if (pDelegate) {
168 pDelegate->OnProcessMessage(&ms); 168 pDelegate->OnProcessMessage(&ms);
169 } 169 }
170 } 170 }
171 if (pFocus) { 171 if (pFocus) {
172 IFWL_Widget* pWidget = 172 IFWL_Widget* pWidget =
173 CFWL_WidgetMgr::GetInstance()->GetSystemFormWidget(pFocus); 173 CFWL_WidgetMgr::GetInstance()->GetSystemFormWidget(pFocus);
174 CFWL_FormImp* pForm = 174 CFWL_FormImp* pForm =
175 pWidget ? static_cast<CFWL_FormImp*>(pWidget->GetImpl()) : nullptr; 175 pWidget ? static_cast<CFWL_FormImp*>(pWidget->GetImpl()) : nullptr;
176 if (pForm) { 176 if (pForm) {
177 CFWL_WidgetImp* pNewFocus = 177 CFWL_WidgetImp* pNewFocus =
178 static_cast<CFWL_WidgetImp*>(pFocus->GetImpl()); 178 static_cast<CFWL_WidgetImp*>(pFocus->GetImpl());
179 pForm->SetSubFocus(pNewFocus); 179 pForm->SetSubFocus(pNewFocus);
180 } 180 }
181 CFWL_MsgSetFocus ms; 181 CFWL_MsgSetFocus ms;
182 ms.m_pDstTarget = pFocus; 182 ms.m_pDstTarget = pFocus;
183 if (bNotify) { 183 if (bNotify) {
184 ms.m_dwExtend = 1; 184 ms.m_dwExtend = 1;
185 } 185 }
186 IFWL_WidgetDelegate* pDelegate = pFocus->SetDelegate(NULL); 186 IFWL_WidgetDelegate* pDelegate = pFocus->SetDelegate(nullptr);
187 if (pDelegate) { 187 if (pDelegate) {
188 pDelegate->OnProcessMessage(&ms); 188 pDelegate->OnProcessMessage(&ms);
189 } 189 }
190 } 190 }
191 return TRUE; 191 return TRUE;
192 } 192 }
193 FWL_Error CFWL_NoteDriver::Run() { 193 FWL_Error CFWL_NoteDriver::Run() {
194 CFWL_WidgetMgr* pWidgetMgr = CFWL_WidgetMgr::GetInstance(); 194 CFWL_WidgetMgr* pWidgetMgr = CFWL_WidgetMgr::GetInstance();
195 if (!pWidgetMgr) 195 if (!pWidgetMgr)
196 return FWL_Error::Indefinite; 196 return FWL_Error::Indefinite;
197 197
198 #if (_FX_OS_ == _FX_LINUX_DESKTOP_ || _FX_OS_ == _FX_WIN32_DESKTOP_ || \ 198 #if (_FX_OS_ == _FX_LINUX_DESKTOP_ || _FX_OS_ == _FX_WIN32_DESKTOP_ || \
199 _FX_OS_ == _FX_WIN64_) 199 _FX_OS_ == _FX_WIN64_)
200 CFWL_NoteLoop* pTopLoop = NULL; 200 CFWL_NoteLoop* pTopLoop = nullptr;
201 for (;;) { 201 for (;;) {
202 pTopLoop = GetTopLoop(); 202 pTopLoop = GetTopLoop();
203 if (!pTopLoop || !pTopLoop->ContinueModal()) 203 if (!pTopLoop || !pTopLoop->ContinueModal())
204 break; 204 break;
205 if (UnqueueMessage(pTopLoop)) 205 if (UnqueueMessage(pTopLoop))
206 continue; 206 continue;
207 } 207 }
208 #endif 208 #endif
209 209
210 return FWL_Error::Succeeded; 210 return FWL_Error::Succeeded;
211 } 211 }
212 212
213 IFWL_Widget* CFWL_NoteDriver::GetFocus() { 213 IFWL_Widget* CFWL_NoteDriver::GetFocus() {
214 return m_pFocus; 214 return m_pFocus;
215 } 215 }
216 IFWL_Widget* CFWL_NoteDriver::GetHover() { 216 IFWL_Widget* CFWL_NoteDriver::GetHover() {
217 return m_pHover; 217 return m_pHover;
218 } 218 }
219 void CFWL_NoteDriver::SetHover(IFWL_Widget* pHover) { 219 void CFWL_NoteDriver::SetHover(IFWL_Widget* pHover) {
220 m_pHover = pHover; 220 m_pHover = pHover;
221 } 221 }
222 void CFWL_NoteDriver::SetGrab(IFWL_Widget* pGrab, FX_BOOL bSet) { 222 void CFWL_NoteDriver::SetGrab(IFWL_Widget* pGrab, FX_BOOL bSet) {
223 m_pGrab = bSet ? pGrab : NULL; 223 m_pGrab = bSet ? pGrab : nullptr;
224 } 224 }
225 void CFWL_NoteDriver::NotifyTargetHide(IFWL_Widget* pNoteTarget) { 225 void CFWL_NoteDriver::NotifyTargetHide(IFWL_Widget* pNoteTarget) {
226 if (m_pFocus == pNoteTarget) { 226 if (m_pFocus == pNoteTarget) {
227 m_pFocus = NULL; 227 m_pFocus = nullptr;
228 } 228 }
229 if (m_pHover == pNoteTarget) { 229 if (m_pHover == pNoteTarget) {
230 m_pHover = NULL; 230 m_pHover = nullptr;
231 } 231 }
232 if (m_pGrab == pNoteTarget) { 232 if (m_pGrab == pNoteTarget) {
233 m_pGrab = NULL; 233 m_pGrab = nullptr;
234 } 234 }
235 } 235 }
236 void CFWL_NoteDriver::NotifyTargetDestroy(IFWL_Widget* pNoteTarget) { 236 void CFWL_NoteDriver::NotifyTargetDestroy(IFWL_Widget* pNoteTarget) {
237 if (m_pFocus == pNoteTarget) { 237 if (m_pFocus == pNoteTarget) {
238 m_pFocus = NULL; 238 m_pFocus = nullptr;
239 } 239 }
240 if (m_pHover == pNoteTarget) { 240 if (m_pHover == pNoteTarget) {
241 m_pHover = NULL; 241 m_pHover = nullptr;
242 } 242 }
243 if (m_pGrab == pNoteTarget) { 243 if (m_pGrab == pNoteTarget) {
244 m_pGrab = NULL; 244 m_pGrab = nullptr;
245 } 245 }
246 UnregisterEventTarget(pNoteTarget); 246 UnregisterEventTarget(pNoteTarget);
247 int32_t count = m_forms.GetSize(); 247 int32_t count = m_forms.GetSize();
248 for (int32_t nIndex = 0; nIndex < count; nIndex++) { 248 for (int32_t nIndex = 0; nIndex < count; nIndex++) {
249 CFWL_FormImp* pForm = static_cast<CFWL_FormImp*>(m_forms[nIndex]); 249 CFWL_FormImp* pForm = static_cast<CFWL_FormImp*>(m_forms[nIndex]);
250 if (!pForm) { 250 if (!pForm) {
251 continue; 251 continue;
252 } 252 }
253 CFWL_WidgetImp* pSubFocus = pForm->GetSubFocus(); 253 CFWL_WidgetImp* pSubFocus = pForm->GetSubFocus();
254 if (!pSubFocus) 254 if (!pSubFocus)
255 return; 255 return;
256 if (pSubFocus && pSubFocus->GetInterface() == pNoteTarget) { 256 if (pSubFocus && pSubFocus->GetInterface() == pNoteTarget) {
257 pForm->SetSubFocus(NULL); 257 pForm->SetSubFocus(nullptr);
258 } 258 }
259 } 259 }
260 } 260 }
261 261
262 FWL_Error CFWL_NoteDriver::RegisterForm(CFWL_WidgetImp* pForm) { 262 FWL_Error CFWL_NoteDriver::RegisterForm(CFWL_WidgetImp* pForm) {
263 if (!pForm) 263 if (!pForm)
264 return FWL_Error::Indefinite; 264 return FWL_Error::Indefinite;
265 if (m_forms.Find(pForm) >= 0) { 265 if (m_forms.Find(pForm) >= 0) {
266 return FWL_Error::Indefinite; 266 return FWL_Error::Indefinite;
267 } 267 }
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 bRet = 381 bRet =
382 DoDragFiles(static_cast<CFWL_MsgDropFiles*>(pMessage), pMessageForm); 382 DoDragFiles(static_cast<CFWL_MsgDropFiles*>(pMessage), pMessageForm);
383 break; 383 break;
384 } 384 }
385 default: { 385 default: {
386 bRet = TRUE; 386 bRet = TRUE;
387 break; 387 break;
388 } 388 }
389 } 389 }
390 if (bRet) { 390 if (bRet) {
391 IFWL_WidgetDelegate* pDelegate = pMessage->m_pDstTarget->SetDelegate(NULL); 391 IFWL_WidgetDelegate* pDelegate =
392 pMessage->m_pDstTarget->SetDelegate(nullptr);
392 if (pDelegate) 393 if (pDelegate)
393 pDelegate->OnProcessMessage(pMessage); 394 pDelegate->OnProcessMessage(pMessage);
394 } 395 }
395 return bRet; 396 return bRet;
396 } 397 }
397 398
398 FX_BOOL CFWL_NoteDriver::DoActivate(CFWL_MsgActivate* pMsg, 399 FX_BOOL CFWL_NoteDriver::DoActivate(CFWL_MsgActivate* pMsg,
399 IFWL_Widget* pMessageForm) { 400 IFWL_Widget* pMessageForm) {
400 pMsg->m_pDstTarget = pMessageForm; 401 pMsg->m_pDstTarget = pMessageForm;
401 return (pMsg->m_pDstTarget)->GetStates() & FWL_WGTSTATE_Deactivated; 402 return (pMsg->m_pDstTarget)->GetStates() & FWL_WGTSTATE_Deactivated;
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
451 } 452 }
452 } 453 }
453 } 454 }
454 return FALSE; 455 return FALSE;
455 } 456 }
456 FX_BOOL CFWL_NoteDriver::DoKillFocus(CFWL_MsgKillFocus* pMsg, 457 FX_BOOL CFWL_NoteDriver::DoKillFocus(CFWL_MsgKillFocus* pMsg,
457 IFWL_Widget* pMessageForm) { 458 IFWL_Widget* pMessageForm) {
458 CFWL_WidgetMgr* pWidgetMgr = CFWL_WidgetMgr::GetInstance(); 459 CFWL_WidgetMgr* pWidgetMgr = CFWL_WidgetMgr::GetInstance();
459 if (pWidgetMgr->IsFormDisabled()) { 460 if (pWidgetMgr->IsFormDisabled()) {
460 if (m_pFocus == pMsg->m_pDstTarget) { 461 if (m_pFocus == pMsg->m_pDstTarget) {
461 m_pFocus = NULL; 462 m_pFocus = nullptr;
462 } 463 }
463 return TRUE; 464 return TRUE;
464 } 465 }
465 IFWL_Widget* pWidget = pMsg->m_pDstTarget; 466 IFWL_Widget* pWidget = pMsg->m_pDstTarget;
466 CFWL_FormImp* pForm = 467 CFWL_FormImp* pForm =
467 pWidget ? static_cast<CFWL_FormImp*>(pWidget->GetImpl()) : nullptr; 468 pWidget ? static_cast<CFWL_FormImp*>(pWidget->GetImpl()) : nullptr;
468 if (pForm) { 469 if (pForm) {
469 CFWL_WidgetImp* pSubFocus = pForm->GetSubFocus(); 470 CFWL_WidgetImp* pSubFocus = pForm->GetSubFocus();
470 if (pSubFocus && (pSubFocus->GetStates() & FWL_WGTSTATE_Focused)) { 471 if (pSubFocus && (pSubFocus->GetStates() & FWL_WGTSTATE_Focused)) {
471 pMsg->m_pDstTarget = pSubFocus->GetInterface(); 472 pMsg->m_pDstTarget = pSubFocus->GetInterface();
472 if (m_pFocus == pMsg->m_pDstTarget) { 473 if (m_pFocus == pMsg->m_pDstTarget) {
473 m_pFocus = NULL; 474 m_pFocus = nullptr;
474 return TRUE; 475 return TRUE;
475 } 476 }
476 } 477 }
477 } 478 }
478 return FALSE; 479 return FALSE;
479 } 480 }
480 FX_BOOL CFWL_NoteDriver::DoKey(CFWL_MsgKey* pMsg, IFWL_Widget* pMessageForm) { 481 FX_BOOL CFWL_NoteDriver::DoKey(CFWL_MsgKey* pMsg, IFWL_Widget* pMessageForm) {
481 #if (_FX_OS_ != _FX_MACOSX_) 482 #if (_FX_OS_ != _FX_MACOSX_)
482 if (pMsg->m_dwCmd == FWL_KeyCommand::KeyDown && 483 if (pMsg->m_dwCmd == FWL_KeyCommand::KeyDown &&
483 pMsg->m_dwKeyCode == FWL_VKEY_Tab) { 484 pMsg->m_dwKeyCode == FWL_VKEY_Tab) {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 return FALSE; 517 return FALSE;
517 } 518 }
518 pMsg->m_pDstTarget = m_pFocus; 519 pMsg->m_pDstTarget = m_pFocus;
519 return TRUE; 520 return TRUE;
520 } 521 }
521 FX_BOOL CFWL_NoteDriver::DoMouse(CFWL_MsgMouse* pMsg, 522 FX_BOOL CFWL_NoteDriver::DoMouse(CFWL_MsgMouse* pMsg,
522 IFWL_Widget* pMessageForm) { 523 IFWL_Widget* pMessageForm) {
523 if (pMsg->m_dwCmd == FWL_MouseCommand::Leave || 524 if (pMsg->m_dwCmd == FWL_MouseCommand::Leave ||
524 pMsg->m_dwCmd == FWL_MouseCommand::Hover || 525 pMsg->m_dwCmd == FWL_MouseCommand::Hover ||
525 pMsg->m_dwCmd == FWL_MouseCommand::Enter) { 526 pMsg->m_dwCmd == FWL_MouseCommand::Enter) {
526 return pMsg->m_pDstTarget != NULL; 527 return !!pMsg->m_pDstTarget;
527 } 528 }
528 if (pMsg->m_pDstTarget != pMessageForm) { 529 if (pMsg->m_pDstTarget != pMessageForm) {
529 pMsg->m_pDstTarget->TransformTo(pMessageForm, pMsg->m_fx, pMsg->m_fy); 530 pMsg->m_pDstTarget->TransformTo(pMessageForm, pMsg->m_fx, pMsg->m_fy);
530 } 531 }
531 if (!DoMouseEx(pMsg, pMessageForm)) { 532 if (!DoMouseEx(pMsg, pMessageForm)) {
532 pMsg->m_pDstTarget = pMessageForm; 533 pMsg->m_pDstTarget = pMessageForm;
533 } 534 }
534 return TRUE; 535 return TRUE;
535 } 536 }
536 FX_BOOL CFWL_NoteDriver::DoWheel(CFWL_MsgMouseWheel* pMsg, 537 FX_BOOL CFWL_NoteDriver::DoWheel(CFWL_MsgMouseWheel* pMsg,
(...skipping 25 matching lines...) Expand all
562 } 563 }
563 FX_BOOL CFWL_NoteDriver::DoDragFiles(CFWL_MsgDropFiles* pMsg, 564 FX_BOOL CFWL_NoteDriver::DoDragFiles(CFWL_MsgDropFiles* pMsg,
564 IFWL_Widget* pMessageForm) { 565 IFWL_Widget* pMessageForm) {
565 return pMsg->m_pDstTarget == pMessageForm; 566 return pMsg->m_pDstTarget == pMessageForm;
566 } 567 }
567 FX_BOOL CFWL_NoteDriver::DoMouseEx(CFWL_MsgMouse* pMsg, 568 FX_BOOL CFWL_NoteDriver::DoMouseEx(CFWL_MsgMouse* pMsg,
568 IFWL_Widget* pMessageForm) { 569 IFWL_Widget* pMessageForm) {
569 CFWL_WidgetMgr* pWidgetMgr = CFWL_WidgetMgr::GetInstance(); 570 CFWL_WidgetMgr* pWidgetMgr = CFWL_WidgetMgr::GetInstance();
570 if (!pWidgetMgr) 571 if (!pWidgetMgr)
571 return FALSE; 572 return FALSE;
572 IFWL_Widget* pTarget = NULL; 573 IFWL_Widget* pTarget = nullptr;
573 if (m_pGrab) 574 if (m_pGrab)
574 pTarget = m_pGrab; 575 pTarget = m_pGrab;
575 if (!pTarget) { 576 if (!pTarget) {
576 pTarget = 577 pTarget =
577 pWidgetMgr->GetWidgetAtPoint(pMessageForm, pMsg->m_fx, pMsg->m_fy); 578 pWidgetMgr->GetWidgetAtPoint(pMessageForm, pMsg->m_fx, pMsg->m_fy);
578 } 579 }
579 if (pTarget) { 580 if (pTarget) {
580 if (pMessageForm != pTarget) { 581 if (pMessageForm != pTarget) {
581 pMessageForm->TransformTo(pTarget, pMsg->m_fx, pMsg->m_fy); 582 pMessageForm->TransformTo(pTarget, pMsg->m_fx, pMsg->m_fy);
582 } 583 }
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
699 700
700 int32_t CFWL_CoreToolTipDP::GetInitialDelay(IFWL_Widget* pWidget) { 701 int32_t CFWL_CoreToolTipDP::GetInitialDelay(IFWL_Widget* pWidget) {
701 return m_nInitDelayTime; 702 return m_nInitDelayTime;
702 } 703 }
703 704
704 int32_t CFWL_CoreToolTipDP::GetAutoPopDelay(IFWL_Widget* pWidget) { 705 int32_t CFWL_CoreToolTipDP::GetAutoPopDelay(IFWL_Widget* pWidget) {
705 return m_nAutoPopDelayTime; 706 return m_nAutoPopDelayTime;
706 } 707 }
707 708
708 CFX_DIBitmap* CFWL_CoreToolTipDP::GetToolTipIcon(IFWL_Widget* pWidget) { 709 CFX_DIBitmap* CFWL_CoreToolTipDP::GetToolTipIcon(IFWL_Widget* pWidget) {
709 return NULL; 710 return nullptr;
710 } 711 }
711 712
712 CFX_SizeF CFWL_CoreToolTipDP::GetToolTipIconSize(IFWL_Widget* pWidget) { 713 CFX_SizeF CFWL_CoreToolTipDP::GetToolTipIconSize(IFWL_Widget* pWidget) {
713 return CFX_SizeF(); 714 return CFX_SizeF();
714 } 715 }
715 716
716 CFX_RectF CFWL_CoreToolTipDP::GetAnchor() { 717 CFX_RectF CFWL_CoreToolTipDP::GetAnchor() {
717 return m_fAnchor; 718 return m_fAnchor;
718 } 719 }
719 720
720 CFWL_EventTarget::CFWL_EventTarget(CFWL_NoteDriver* pNoteDriver, 721 CFWL_EventTarget::CFWL_EventTarget(CFWL_NoteDriver* pNoteDriver,
721 IFWL_Widget* pListener) 722 IFWL_Widget* pListener)
722 : m_pListener(pListener), m_pNoteDriver(pNoteDriver), m_bInvalid(FALSE) {} 723 : m_pListener(pListener), m_pNoteDriver(pNoteDriver), m_bInvalid(FALSE) {}
723 CFWL_EventTarget::~CFWL_EventTarget() { 724 CFWL_EventTarget::~CFWL_EventTarget() {
724 m_eventSources.RemoveAll(); 725 m_eventSources.RemoveAll();
725 } 726 }
726 727
727 int32_t CFWL_EventTarget::SetEventSource(IFWL_Widget* pSource, 728 int32_t CFWL_EventTarget::SetEventSource(IFWL_Widget* pSource,
728 uint32_t dwFilter) { 729 uint32_t dwFilter) {
729 if (pSource) { 730 if (pSource) {
730 m_eventSources.SetAt(pSource, dwFilter); 731 m_eventSources.SetAt(pSource, dwFilter);
731 return m_eventSources.GetCount(); 732 return m_eventSources.GetCount();
732 } 733 }
733 return 1; 734 return 1;
734 } 735 }
735 736
736 FX_BOOL CFWL_EventTarget::ProcessEvent(CFWL_Event* pEvent) { 737 FX_BOOL CFWL_EventTarget::ProcessEvent(CFWL_Event* pEvent) {
737 IFWL_WidgetDelegate* pDelegate = m_pListener->SetDelegate(NULL); 738 IFWL_WidgetDelegate* pDelegate = m_pListener->SetDelegate(nullptr);
738 if (!pDelegate) 739 if (!pDelegate)
739 return FALSE; 740 return FALSE;
740 if (m_eventSources.GetCount() == 0) { 741 if (m_eventSources.GetCount() == 0) {
741 pDelegate->OnProcessEvent(pEvent); 742 pDelegate->OnProcessEvent(pEvent);
742 return TRUE; 743 return TRUE;
743 } 744 }
744 FX_POSITION pos = m_eventSources.GetStartPosition(); 745 FX_POSITION pos = m_eventSources.GetStartPosition();
745 while (pos) { 746 while (pos) {
746 IFWL_Widget* pSource = NULL; 747 IFWL_Widget* pSource = nullptr;
747 uint32_t dwFilter = 0; 748 uint32_t dwFilter = 0;
748 m_eventSources.GetNextAssoc(pos, (void*&)pSource, dwFilter); 749 m_eventSources.GetNextAssoc(pos, (void*&)pSource, dwFilter);
749 if (pSource == pEvent->m_pSrcTarget || 750 if (pSource == pEvent->m_pSrcTarget ||
750 pEvent->GetClassID() == CFWL_EventType::Idle) { 751 pEvent->GetClassID() == CFWL_EventType::Idle) {
751 if (IsFilterEvent(pEvent, dwFilter)) { 752 if (IsFilterEvent(pEvent, dwFilter)) {
752 pDelegate->OnProcessEvent(pEvent); 753 pDelegate->OnProcessEvent(pEvent);
753 return TRUE; 754 return TRUE;
754 } 755 }
755 } 756 }
756 } 757 }
(...skipping 20 matching lines...) Expand all
777 return !!(dwFilter & FWL_EVENT_CLOSE_MASK); 778 return !!(dwFilter & FWL_EVENT_CLOSE_MASK);
778 case CFWL_EventType::SizeChanged: 779 case CFWL_EventType::SizeChanged:
779 return !!(dwFilter & FWL_EVENT_SIZECHANGED_MASK); 780 return !!(dwFilter & FWL_EVENT_SIZECHANGED_MASK);
780 case CFWL_EventType::Idle: 781 case CFWL_EventType::Idle:
781 return !!(dwFilter & FWL_EVENT_IDLE_MASK); 782 return !!(dwFilter & FWL_EVENT_IDLE_MASK);
782 default: 783 default:
783 return !!(dwFilter & FWL_EVENT_CONTROL_MASK); 784 return !!(dwFilter & FWL_EVENT_CONTROL_MASK);
784 } 785 }
785 } 786 }
786 787
787 CFWL_ToolTipContainer* CFWL_ToolTipContainer::s_pInstance = NULL; 788 CFWL_ToolTipContainer* CFWL_ToolTipContainer::s_pInstance = nullptr;
788 789
789 CFWL_ToolTipContainer::CFWL_ToolTipContainer() 790 CFWL_ToolTipContainer::CFWL_ToolTipContainer()
790 : pCurTarget(NULL), m_pToolTipImp(NULL) { 791 : pCurTarget(nullptr), m_pToolTipImp(nullptr) {
791 m_ToolTipDp = new CFWL_CoreToolTipDP; 792 m_ToolTipDp = new CFWL_CoreToolTipDP;
792 m_ToolTipDp->m_nInitDelayTime = 0; 793 m_ToolTipDp->m_nInitDelayTime = 0;
793 m_ToolTipDp->m_nAutoPopDelayTime = 2000; 794 m_ToolTipDp->m_nAutoPopDelayTime = 2000;
794 } 795 }
795 CFWL_ToolTipContainer::~CFWL_ToolTipContainer() { 796 CFWL_ToolTipContainer::~CFWL_ToolTipContainer() {
796 if (m_pToolTipImp) { 797 if (m_pToolTipImp) {
797 IFWL_ToolTip* pToolTip = 798 IFWL_ToolTip* pToolTip =
798 static_cast<IFWL_ToolTip*>(m_pToolTipImp->GetInterface()); 799 static_cast<IFWL_ToolTip*>(m_pToolTipImp->GetInterface());
799 pToolTip->Finalize(); 800 pToolTip->Finalize();
800 delete pToolTip; 801 delete pToolTip;
801 } 802 }
802 delete m_ToolTipDp; 803 delete m_ToolTipDp;
803 } 804 }
804 805
805 // static 806 // static
806 CFWL_ToolTipContainer* CFWL_ToolTipContainer::getInstance() { 807 CFWL_ToolTipContainer* CFWL_ToolTipContainer::getInstance() {
807 if (!s_pInstance) 808 if (!s_pInstance)
808 s_pInstance = new CFWL_ToolTipContainer; 809 s_pInstance = new CFWL_ToolTipContainer;
809 return s_pInstance; 810 return s_pInstance;
810 } 811 }
811 812
812 // static 813 // static
813 void CFWL_ToolTipContainer::DeleteInstance() { 814 void CFWL_ToolTipContainer::DeleteInstance() {
814 delete s_pInstance; 815 delete s_pInstance;
815 s_pInstance = NULL; 816 s_pInstance = nullptr;
816 } 817 }
817 818
818 FWL_Error CFWL_ToolTipContainer::AddToolTipTarget(IFWL_ToolTipTarget* pTarget) { 819 FWL_Error CFWL_ToolTipContainer::AddToolTipTarget(IFWL_ToolTipTarget* pTarget) {
819 if (m_arrWidget.Find(pTarget) < 0) { 820 if (m_arrWidget.Find(pTarget) < 0) {
820 m_arrWidget.Add(pTarget); 821 m_arrWidget.Add(pTarget);
821 return FWL_Error::Succeeded; 822 return FWL_Error::Succeeded;
822 } 823 }
823 return FWL_Error::Indefinite; 824 return FWL_Error::Indefinite;
824 } 825 }
825 FWL_Error CFWL_ToolTipContainer::RemoveToolTipTarget( 826 FWL_Error CFWL_ToolTipContainer::RemoveToolTipTarget(
(...skipping 12 matching lines...) Expand all
838 if (p->GetWidget() == pWedget) { 839 if (p->GetWidget() == pWedget) {
839 pCurTarget = p; 840 pCurTarget = p;
840 return TRUE; 841 return TRUE;
841 } 842 }
842 } 843 }
843 return FALSE; 844 return FALSE;
844 } 845 }
845 FX_BOOL CFWL_ToolTipContainer::ProcessEnter(CFWL_EvtMouse* pEvt, 846 FX_BOOL CFWL_ToolTipContainer::ProcessEnter(CFWL_EvtMouse* pEvt,
846 IFWL_Widget* pOwner) { 847 IFWL_Widget* pOwner) {
847 if (HasToolTip(pEvt->m_pDstTarget)) { 848 if (HasToolTip(pEvt->m_pDstTarget)) {
848 if (NULL == m_pToolTipImp) { 849 if (!m_pToolTipImp) {
849 CFWL_WidgetImpProperties prop; 850 CFWL_WidgetImpProperties prop;
850 prop.m_pDataProvider = m_ToolTipDp; 851 prop.m_pDataProvider = m_ToolTipDp;
851 prop.m_pOwner = pOwner; 852 prop.m_pOwner = pOwner;
852 CFX_RectF rtTooltip; 853 CFX_RectF rtTooltip;
853 rtTooltip.Set(150, 150, 100, 50); 854 rtTooltip.Set(150, 150, 100, 50);
854 prop.m_rtWidget = rtTooltip; 855 prop.m_rtWidget = rtTooltip;
855 IFWL_ToolTip* pToolTip = IFWL_ToolTip::Create(prop, nullptr); 856 IFWL_ToolTip* pToolTip = IFWL_ToolTip::Create(prop, nullptr);
856 pToolTip->Initialize(); 857 pToolTip->Initialize();
857 m_pToolTipImp = static_cast<CFWL_ToolTipImp*>(pToolTip->GetImpl()); 858 m_pToolTipImp = static_cast<CFWL_ToolTipImp*>(pToolTip->GetImpl());
858 m_pToolTipImp->ModifyStylesEx(FWL_STYLEEXT_TTP_Multiline, 0); 859 m_pToolTipImp->ModifyStylesEx(FWL_STYLEEXT_TTP_Multiline, 0);
(...skipping 18 matching lines...) Expand all
877 rt.height = r.height; 878 rt.height = r.height;
878 } 879 }
879 CFX_PointF pt(pEvt->m_fx, pEvt->m_fy); 880 CFX_PointF pt(pEvt->m_fx, pEvt->m_fy);
880 if (pCurTarget->GetToolTipPos(pt) == FWL_Error::Succeeded) { 881 if (pCurTarget->GetToolTipPos(pt) == FWL_Error::Succeeded) {
881 rt.left = pt.x; 882 rt.left = pt.x;
882 rt.top = pt.y; 883 rt.top = pt.y;
883 m_pToolTipImp->ModifyStylesEx(FWL_STYLEEXT_TTP_NoAnchor, 0); 884 m_pToolTipImp->ModifyStylesEx(FWL_STYLEEXT_TTP_NoAnchor, 0);
884 } else { 885 } else {
885 CFX_RectF rtAnchor; 886 CFX_RectF rtAnchor;
886 pCurTarget->GetWidget()->GetClientRect(rtAnchor); 887 pCurTarget->GetWidget()->GetClientRect(rtAnchor);
887 pCurTarget->GetWidget()->TransformTo(NULL, rtAnchor.left, rtAnchor.top); 888 pCurTarget->GetWidget()->TransformTo(nullptr, rtAnchor.left,
889 rtAnchor.top);
888 m_pToolTipImp->SetAnchor(rtAnchor); 890 m_pToolTipImp->SetAnchor(rtAnchor);
889 m_pToolTipImp->ModifyStylesEx(0, FWL_STYLEEXT_TTP_NoAnchor); 891 m_pToolTipImp->ModifyStylesEx(0, FWL_STYLEEXT_TTP_NoAnchor);
890 } 892 }
891 m_pToolTipImp->SetWidgetRect(rt); 893 m_pToolTipImp->SetWidgetRect(rt);
892 m_pToolTipImp->Update(); 894 m_pToolTipImp->Update();
893 m_pToolTipImp->Show(); 895 m_pToolTipImp->Show();
894 } 896 }
895 return TRUE; 897 return TRUE;
896 } 898 }
897 return FALSE; 899 return FALSE;
898 } 900 }
899 FX_BOOL CFWL_ToolTipContainer::ProcessLeave(CFWL_EvtMouse* pEvt) { 901 FX_BOOL CFWL_ToolTipContainer::ProcessLeave(CFWL_EvtMouse* pEvt) {
900 if (HasToolTip(pEvt->m_pDstTarget) && NULL != m_pToolTipImp) { 902 if (HasToolTip(pEvt->m_pDstTarget) && m_pToolTipImp) {
901 m_pToolTipImp->Hide(); 903 m_pToolTipImp->Hide();
902 pCurTarget = NULL; 904 pCurTarget = nullptr;
903 return TRUE; 905 return TRUE;
904 } 906 }
905 return FALSE; 907 return FALSE;
906 } 908 }
907 IFWL_ToolTipTarget* CFWL_ToolTipContainer::GetCurrentToolTipTarget() { 909 IFWL_ToolTipTarget* CFWL_ToolTipContainer::GetCurrentToolTipTarget() {
908 return pCurTarget; 910 return pCurTarget;
909 } 911 }
OLDNEW
« no previous file with comments | « xfa/fwl/core/fwl_formimp.cpp ('k') | xfa/fwl/core/fwl_widgetimp.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698