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

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

Issue 2207093005: Use smart pointers for class owned pointers (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: address comments Created 4 years, 4 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_noteimp.h ('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 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 if (!pDriver) 63 if (!pDriver)
64 return; 64 return;
65 65
66 pDriver->SendEvent(&ev); 66 pDriver->SendEvent(&ev);
67 } 67 }
68 CFWL_NoteDriver::CFWL_NoteDriver() 68 CFWL_NoteDriver::CFWL_NoteDriver()
69 : m_pHover(nullptr), 69 : m_pHover(nullptr),
70 m_pFocus(nullptr), 70 m_pFocus(nullptr),
71 m_pGrab(nullptr), 71 m_pGrab(nullptr),
72 m_pNoteLoop(new CFWL_NoteLoop) { 72 m_pNoteLoop(new CFWL_NoteLoop) {
73 PushNoteLoop(m_pNoteLoop); 73 PushNoteLoop(m_pNoteLoop.get());
74 } 74 }
75 CFWL_NoteDriver::~CFWL_NoteDriver() { 75 CFWL_NoteDriver::~CFWL_NoteDriver() {
76 delete m_pNoteLoop;
77 ClearInvalidEventTargets(TRUE); 76 ClearInvalidEventTargets(TRUE);
78 } 77 }
79 78
80 void CFWL_NoteDriver::SendEvent(CFWL_Event* pNote) { 79 void CFWL_NoteDriver::SendEvent(CFWL_Event* pNote) {
81 if (m_eventTargets.empty()) 80 if (m_eventTargets.empty())
82 return; 81 return;
83 82
84 for (const auto& pair : m_eventTargets) { 83 for (const auto& pair : m_eventTargets) {
85 CFWL_EventTarget* pEventTarget = pair.second; 84 CFWL_EventTarget* pEventTarget = pair.second;
86 if (pEventTarget && !pEventTarget->IsInvalid()) 85 if (pEventTarget && !pEventTarget->IsInvalid())
(...skipping 561 matching lines...) Expand 10 before | Expand all | Expand 10 after
648 auto old = it++; 647 auto old = it++;
649 if (old->second && (bRemoveAll || old->second->IsInvalid())) { 648 if (old->second && (bRemoveAll || old->second->IsInvalid())) {
650 delete old->second; 649 delete old->second;
651 m_eventTargets.erase(old); 650 m_eventTargets.erase(old);
652 } 651 }
653 } 652 }
654 } 653 }
655 654
656 class CFWL_CoreToolTipDP : public IFWL_ToolTipDP { 655 class CFWL_CoreToolTipDP : public IFWL_ToolTipDP {
657 public: 656 public:
657 CFWL_CoreToolTipDP();
658 CFWL_CoreToolTipDP(int32_t iInitDelayTime, int32_t iAutoDelayTime);
659
658 // IFWL_ToolTipDP 660 // IFWL_ToolTipDP
659 FWL_Error GetCaption(IFWL_Widget* pWidget, 661 FWL_Error GetCaption(IFWL_Widget* pWidget,
660 CFX_WideString& wsCaption) override; 662 CFX_WideString& wsCaption) override;
661 int32_t GetInitialDelay(IFWL_Widget* pWidget) override; 663 int32_t GetInitialDelay(IFWL_Widget* pWidget) override;
662 int32_t GetAutoPopDelay(IFWL_Widget* pWidget) override; 664 int32_t GetAutoPopDelay(IFWL_Widget* pWidget) override;
663 CFX_DIBitmap* GetToolTipIcon(IFWL_Widget* pWidget) override; 665 CFX_DIBitmap* GetToolTipIcon(IFWL_Widget* pWidget) override;
664 CFX_SizeF GetToolTipIconSize(IFWL_Widget* pWidget) override; 666 CFX_SizeF GetToolTipIconSize(IFWL_Widget* pWidget) override;
665 667
666 CFX_RectF GetAnchor(); 668 CFX_RectF GetAnchor();
667 CFWL_CoreToolTipDP();
668 669
669 CFX_WideString m_wsCaption; 670 CFX_WideString m_wsCaption;
670 int32_t m_nInitDelayTime; 671 int32_t m_nInitDelayTime;
671 int32_t m_nAutoPopDelayTime; 672 int32_t m_nAutoPopDelayTime;
672 CFX_RectF m_fAnchor; 673 CFX_RectF m_fAnchor;
673 }; 674 };
674 675
675 CFWL_CoreToolTipDP::CFWL_CoreToolTipDP() { 676 CFWL_CoreToolTipDP::CFWL_CoreToolTipDP()
Lei Zhang 2016/08/04 22:19:30 Is this ctor ever used? If yes, just use a Delegat
Wei Li 2016/08/04 22:54:12 It is not used in the code base. I thought maybe k
676 m_nInitDelayTime = 500; 677 : m_nInitDelayTime(500), m_nAutoPopDelayTime(50000) {
677 m_nAutoPopDelayTime = 50000;
678 m_fAnchor.Set(0.0, 0.0, 0.0, 0.0); 678 m_fAnchor.Set(0.0, 0.0, 0.0, 0.0);
679 } 679 }
680 680
681 CFWL_CoreToolTipDP::CFWL_CoreToolTipDP(int32_t iInitDelayTime,
682 int32_t iAutoDelayTime)
683 : m_nInitDelayTime(iInitDelayTime), m_nAutoPopDelayTime(iAutoDelayTime) {
684 m_fAnchor.Set(0.0, 0.0, 0.0, 0.0);
685 }
686
681 FWL_Error CFWL_CoreToolTipDP::GetCaption(IFWL_Widget* pWidget, 687 FWL_Error CFWL_CoreToolTipDP::GetCaption(IFWL_Widget* pWidget,
682 CFX_WideString& wsCaption) { 688 CFX_WideString& wsCaption) {
683 wsCaption = m_wsCaption; 689 wsCaption = m_wsCaption;
684 return FWL_Error::Succeeded; 690 return FWL_Error::Succeeded;
685 } 691 }
686 692
687 int32_t CFWL_CoreToolTipDP::GetInitialDelay(IFWL_Widget* pWidget) { 693 int32_t CFWL_CoreToolTipDP::GetInitialDelay(IFWL_Widget* pWidget) {
688 return m_nInitDelayTime; 694 return m_nInitDelayTime;
689 } 695 }
690 696
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
766 return !!(dwFilter & FWL_EVENT_SIZECHANGED_MASK); 772 return !!(dwFilter & FWL_EVENT_SIZECHANGED_MASK);
767 case CFWL_EventType::Idle: 773 case CFWL_EventType::Idle:
768 return !!(dwFilter & FWL_EVENT_IDLE_MASK); 774 return !!(dwFilter & FWL_EVENT_IDLE_MASK);
769 default: 775 default:
770 return !!(dwFilter & FWL_EVENT_CONTROL_MASK); 776 return !!(dwFilter & FWL_EVENT_CONTROL_MASK);
771 } 777 }
772 } 778 }
773 779
774 CFWL_ToolTipContainer* CFWL_ToolTipContainer::s_pInstance = nullptr; 780 CFWL_ToolTipContainer* CFWL_ToolTipContainer::s_pInstance = nullptr;
775 781
776 CFWL_ToolTipContainer::CFWL_ToolTipContainer() : m_pToolTipImp(nullptr) { 782 CFWL_ToolTipContainer::CFWL_ToolTipContainer()
777 m_ToolTipDp = new CFWL_CoreToolTipDP; 783 : m_pToolTipImp(nullptr), m_pToolTipDp(new CFWL_CoreToolTipDP(0, 2000)) {}
778 m_ToolTipDp->m_nInitDelayTime = 0; 784
779 m_ToolTipDp->m_nAutoPopDelayTime = 2000;
780 }
781 CFWL_ToolTipContainer::~CFWL_ToolTipContainer() { 785 CFWL_ToolTipContainer::~CFWL_ToolTipContainer() {
782 if (m_pToolTipImp) { 786 if (m_pToolTipImp) {
783 IFWL_ToolTip* pToolTip = 787 IFWL_ToolTip* pToolTip =
784 static_cast<IFWL_ToolTip*>(m_pToolTipImp->GetInterface()); 788 static_cast<IFWL_ToolTip*>(m_pToolTipImp->GetInterface());
785 pToolTip->Finalize(); 789 pToolTip->Finalize();
786 delete pToolTip; 790 delete pToolTip;
787 } 791 }
788 delete m_ToolTipDp;
789 } 792 }
790 793
791 // static 794 // static
792 CFWL_ToolTipContainer* CFWL_ToolTipContainer::getInstance() { 795 CFWL_ToolTipContainer* CFWL_ToolTipContainer::getInstance() {
793 if (!s_pInstance) 796 if (!s_pInstance)
794 s_pInstance = new CFWL_ToolTipContainer; 797 s_pInstance = new CFWL_ToolTipContainer;
795 return s_pInstance; 798 return s_pInstance;
796 } 799 }
797 800
798 // static 801 // static
799 void CFWL_ToolTipContainer::DeleteInstance() { 802 void CFWL_ToolTipContainer::DeleteInstance() {
800 delete s_pInstance; 803 delete s_pInstance;
801 s_pInstance = nullptr; 804 s_pInstance = nullptr;
802 } 805 }
OLDNEW
« no previous file with comments | « xfa/fwl/core/fwl_noteimp.h ('k') | xfa/fwl/core/fwl_widgetimp.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698