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

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

Issue 1952693003: Convert FWL_ERR into an enum class. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 7 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_timerimp.cpp » ('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 "xfa/fwl/basewidget/fwl_tooltipctrlimp.h" 10 #include "xfa/fwl/basewidget/fwl_tooltipctrlimp.h"
11 #include "xfa/fwl/basewidget/ifwl_tooltip.h" 11 #include "xfa/fwl/basewidget/ifwl_tooltip.h"
12 #include "xfa/fwl/core/cfwl_message.h" 12 #include "xfa/fwl/core/cfwl_message.h"
13 #include "xfa/fwl/core/fwl_appimp.h" 13 #include "xfa/fwl/core/fwl_appimp.h"
14 #include "xfa/fwl/core/fwl_formimp.h" 14 #include "xfa/fwl/core/fwl_formimp.h"
15 #include "xfa/fwl/core/fwl_widgetimp.h" 15 #include "xfa/fwl/core/fwl_widgetimp.h"
16 #include "xfa/fwl/core/fwl_widgetmgrimp.h" 16 #include "xfa/fwl/core/fwl_widgetmgrimp.h"
17 #include "xfa/fwl/core/ifwl_app.h" 17 #include "xfa/fwl/core/ifwl_app.h"
18 #include "xfa/fwl/core/ifwl_tooltiptarget.h" 18 #include "xfa/fwl/core/ifwl_tooltiptarget.h"
19 19
20 CFWL_NoteLoop::CFWL_NoteLoop(CFWL_WidgetImp* pForm) 20 CFWL_NoteLoop::CFWL_NoteLoop(CFWL_WidgetImp* pForm)
21 : m_pForm(pForm), m_bContinueModal(TRUE) {} 21 : m_pForm(pForm), m_bContinueModal(TRUE) {}
22 22
23 FWL_ERR CFWL_NoteLoop::Idle(int32_t count) { 23 FWL_Error CFWL_NoteLoop::Idle(int32_t count) {
24 #if (_FX_OS_ == _FX_WIN32_DESKTOP_) 24 #if (_FX_OS_ == _FX_WIN32_DESKTOP_)
25 if (count <= 0) { 25 if (count <= 0) {
26 #endif 26 #endif
27 CFWL_EvtIdle ev; 27 CFWL_EvtIdle ev;
28 IFWL_App* pApp = FWL_GetApp(); 28 IFWL_App* pApp = FWL_GetApp();
29 if (!pApp) 29 if (!pApp)
30 return FWL_ERR_Indefinite; 30 return FWL_Error::Indefinite;
31 CFWL_NoteDriver* pDriver = pApp->GetNoteDriver(); 31 CFWL_NoteDriver* pDriver = pApp->GetNoteDriver();
32 if (!pDriver) 32 if (!pDriver)
33 return FWL_ERR_Indefinite; 33 return FWL_Error::Indefinite;
34 pDriver->SendEvent(&ev); 34 pDriver->SendEvent(&ev);
35 #if (_FX_OS_ == _FX_WIN32_DESKTOP_) 35 #if (_FX_OS_ == _FX_WIN32_DESKTOP_)
36 } 36 }
37 #endif 37 #endif
38 return FWL_ERR_Indefinite; 38 return FWL_Error::Indefinite;
39 } 39 }
40 CFWL_WidgetImp* CFWL_NoteLoop::GetForm() { 40 CFWL_WidgetImp* CFWL_NoteLoop::GetForm() {
41 return m_pForm; 41 return m_pForm;
42 } 42 }
43 FX_BOOL CFWL_NoteLoop::ContinueModal() { 43 FX_BOOL CFWL_NoteLoop::ContinueModal() {
44 return m_bContinueModal; 44 return m_bContinueModal;
45 } 45 }
46 FWL_ERR CFWL_NoteLoop::EndModalLoop() { 46 FWL_Error CFWL_NoteLoop::EndModalLoop() {
47 m_bContinueModal = FALSE; 47 m_bContinueModal = FALSE;
48 return FWL_ERR_Succeeded; 48 return FWL_Error::Succeeded;
49 } 49 }
50 50
51 FWL_ERR CFWL_NoteLoop::SetMainForm(CFWL_WidgetImp* pForm) { 51 FWL_Error CFWL_NoteLoop::SetMainForm(CFWL_WidgetImp* pForm) {
52 m_pForm = pForm; 52 m_pForm = pForm;
53 return FWL_ERR_Succeeded; 53 return FWL_Error::Succeeded;
54 } 54 }
55 void CFWL_NoteLoop::GenerateCommondEvent(uint32_t dwCommand) { 55 void CFWL_NoteLoop::GenerateCommondEvent(uint32_t dwCommand) {
56 CFWL_EvtMenuCommand ev; 56 CFWL_EvtMenuCommand ev;
57 ev.m_iCommand = dwCommand; 57 ev.m_iCommand = dwCommand;
58 IFWL_App* pApp = m_pForm->GetOwnerApp(); 58 IFWL_App* pApp = m_pForm->GetOwnerApp();
59 if (!pApp) 59 if (!pApp)
60 return; 60 return;
61 61
62 CFWL_NoteDriver* pDriver = pApp->GetNoteDriver(); 62 CFWL_NoteDriver* pDriver = pApp->GetNoteDriver();
63 if (!pDriver) 63 if (!pDriver)
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 105
106 CFWL_EventTarget* pEventTarget = static_cast<CFWL_EventTarget*>(value); 106 CFWL_EventTarget* pEventTarget = static_cast<CFWL_EventTarget*>(value);
107 if (pEventTarget && !pEventTarget->IsInvalid()) 107 if (pEventTarget && !pEventTarget->IsInvalid())
108 pEventTarget->ProcessEvent(pNote); 108 pEventTarget->ProcessEvent(pNote);
109 } 109 }
110 m_sendEventCalled--; 110 m_sendEventCalled--;
111 return TRUE; 111 return TRUE;
112 } 112 }
113 113
114 #define FWL_NoteDriver_EventKey 1100 114 #define FWL_NoteDriver_EventKey 1100
115 FWL_ERR CFWL_NoteDriver::RegisterEventTarget(IFWL_Widget* pListener, 115 FWL_Error CFWL_NoteDriver::RegisterEventTarget(IFWL_Widget* pListener,
116 IFWL_Widget* pEventSource, 116 IFWL_Widget* pEventSource,
117 uint32_t dwFilter) { 117 uint32_t dwFilter) {
118 uint32_t dwkey = (uint32_t)(uintptr_t)pListener->GetPrivateData( 118 uint32_t dwkey = (uint32_t)(uintptr_t)pListener->GetPrivateData(
119 (void*)(uintptr_t)FWL_NoteDriver_EventKey); 119 (void*)(uintptr_t)FWL_NoteDriver_EventKey);
120 if (dwkey == 0) { 120 if (dwkey == 0) {
121 void* random = FX_Random_MT_Start(0); 121 void* random = FX_Random_MT_Start(0);
122 dwkey = rand(); 122 dwkey = rand();
123 FX_Random_MT_Close(random); 123 FX_Random_MT_Close(random);
124 pListener->SetPrivateData((void*)(uintptr_t)FWL_NoteDriver_EventKey, 124 pListener->SetPrivateData((void*)(uintptr_t)FWL_NoteDriver_EventKey,
125 (void*)(uintptr_t)dwkey, NULL); 125 (void*)(uintptr_t)dwkey, NULL);
126 } 126 }
127 CFWL_EventTarget* value = NULL; 127 CFWL_EventTarget* value = NULL;
128 if (!m_eventTargets.Lookup((void*)(uintptr_t)dwkey, (void*&)value)) { 128 if (!m_eventTargets.Lookup((void*)(uintptr_t)dwkey, (void*&)value)) {
129 value = new CFWL_EventTarget(this, pListener); 129 value = new CFWL_EventTarget(this, pListener);
130 m_eventTargets.SetAt((void*)(uintptr_t)dwkey, value); 130 m_eventTargets.SetAt((void*)(uintptr_t)dwkey, value);
131 } 131 }
132 value->SetEventSource(pEventSource, dwFilter); 132 value->SetEventSource(pEventSource, dwFilter);
133 return FWL_ERR_Succeeded; 133 return FWL_Error::Succeeded;
134 } 134 }
135 FWL_ERR CFWL_NoteDriver::UnregisterEventTarget(IFWL_Widget* pListener) { 135 FWL_Error CFWL_NoteDriver::UnregisterEventTarget(IFWL_Widget* pListener) {
136 uint32_t dwkey = (uint32_t)(uintptr_t)pListener->GetPrivateData( 136 uint32_t dwkey = (uint32_t)(uintptr_t)pListener->GetPrivateData(
137 (void*)(uintptr_t)FWL_NoteDriver_EventKey); 137 (void*)(uintptr_t)FWL_NoteDriver_EventKey);
138 if (dwkey == 0) { 138 if (dwkey == 0) {
139 return FWL_ERR_Indefinite; 139 return FWL_Error::Indefinite;
140 } 140 }
141 CFWL_EventTarget* value = NULL; 141 CFWL_EventTarget* value = NULL;
142 if (m_eventTargets.Lookup((void*)(uintptr_t)dwkey, (void*&)value)) { 142 if (m_eventTargets.Lookup((void*)(uintptr_t)dwkey, (void*&)value)) {
143 value->FlagInvalid(); 143 value->FlagInvalid();
144 } 144 }
145 return FWL_ERR_Succeeded; 145 return FWL_Error::Succeeded;
146 } 146 }
147 void CFWL_NoteDriver::ClearEventTargets(FX_BOOL bRemoveAll) { 147 void CFWL_NoteDriver::ClearEventTargets(FX_BOOL bRemoveAll) {
148 ClearInvalidEventTargets(bRemoveAll); 148 ClearInvalidEventTargets(bRemoveAll);
149 } 149 }
150 IFWL_App* CFWL_NoteDriver::GetOwnerApp() const { 150 IFWL_App* CFWL_NoteDriver::GetOwnerApp() const {
151 return FWL_GetApp(); 151 return FWL_GetApp();
152 } 152 }
153 FWL_ERR CFWL_NoteDriver::PushNoteLoop(CFWL_NoteLoop* pNoteLoop) { 153 FWL_Error CFWL_NoteDriver::PushNoteLoop(CFWL_NoteLoop* pNoteLoop) {
154 m_noteLoopQueue.Add(pNoteLoop); 154 m_noteLoopQueue.Add(pNoteLoop);
155 return FWL_ERR_Succeeded; 155 return FWL_Error::Succeeded;
156 } 156 }
157 CFWL_NoteLoop* CFWL_NoteDriver::PopNoteLoop() { 157 CFWL_NoteLoop* CFWL_NoteDriver::PopNoteLoop() {
158 int32_t pos = m_noteLoopQueue.GetSize(); 158 int32_t pos = m_noteLoopQueue.GetSize();
159 if (pos <= 0) 159 if (pos <= 0)
160 return nullptr; 160 return nullptr;
161 161
162 CFWL_NoteLoop* p = m_noteLoopQueue.GetAt(pos - 1); 162 CFWL_NoteLoop* p = m_noteLoopQueue.GetAt(pos - 1);
163 m_noteLoopQueue.RemoveAt(pos - 1); 163 m_noteLoopQueue.RemoveAt(pos - 1);
164 return p; 164 return p;
165 } 165 }
(...skipping 30 matching lines...) Expand all
196 if (bNotify) { 196 if (bNotify) {
197 ms.m_dwExtend = 1; 197 ms.m_dwExtend = 1;
198 } 198 }
199 IFWL_WidgetDelegate* pDelegate = pFocus->SetDelegate(NULL); 199 IFWL_WidgetDelegate* pDelegate = pFocus->SetDelegate(NULL);
200 if (pDelegate) { 200 if (pDelegate) {
201 pDelegate->OnProcessMessage(&ms); 201 pDelegate->OnProcessMessage(&ms);
202 } 202 }
203 } 203 }
204 return TRUE; 204 return TRUE;
205 } 205 }
206 FWL_ERR CFWL_NoteDriver::Run() { 206 FWL_Error CFWL_NoteDriver::Run() {
207 CFWL_WidgetMgr* pWidgetMgr = static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()); 207 CFWL_WidgetMgr* pWidgetMgr = static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr());
208 if (!pWidgetMgr) 208 if (!pWidgetMgr)
209 return FWL_ERR_Indefinite; 209 return FWL_Error::Indefinite;
210 210
211 #if (_FX_OS_ == _FX_LINUX_DESKTOP_ || _FX_OS_ == _FX_WIN32_DESKTOP_ || \ 211 #if (_FX_OS_ == _FX_LINUX_DESKTOP_ || _FX_OS_ == _FX_WIN32_DESKTOP_ || \
212 _FX_OS_ == _FX_WIN64_) 212 _FX_OS_ == _FX_WIN64_)
213 CFWL_NoteLoop* pTopLoop = NULL; 213 CFWL_NoteLoop* pTopLoop = NULL;
214 for (;;) { 214 for (;;) {
215 pTopLoop = GetTopLoop(); 215 pTopLoop = GetTopLoop();
216 if (!pTopLoop || !pTopLoop->ContinueModal()) 216 if (!pTopLoop || !pTopLoop->ContinueModal())
217 break; 217 break;
218 if (UnqueueMessage(pTopLoop)) 218 if (UnqueueMessage(pTopLoop))
219 continue; 219 continue;
220 } 220 }
221 #endif 221 #endif
222 222
223 return FWL_ERR_Succeeded; 223 return FWL_Error::Succeeded;
224 } 224 }
225 225
226 IFWL_Widget* CFWL_NoteDriver::GetFocus() { 226 IFWL_Widget* CFWL_NoteDriver::GetFocus() {
227 return m_pFocus; 227 return m_pFocus;
228 } 228 }
229 IFWL_Widget* CFWL_NoteDriver::GetHover() { 229 IFWL_Widget* CFWL_NoteDriver::GetHover() {
230 return m_pHover; 230 return m_pHover;
231 } 231 }
232 void CFWL_NoteDriver::SetHover(IFWL_Widget* pHover) { 232 void CFWL_NoteDriver::SetHover(IFWL_Widget* pHover) {
233 m_pHover = pHover; 233 m_pHover = pHover;
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 } 265 }
266 CFWL_WidgetImp* pSubFocus = pForm->GetSubFocus(); 266 CFWL_WidgetImp* pSubFocus = pForm->GetSubFocus();
267 if (!pSubFocus) 267 if (!pSubFocus)
268 return; 268 return;
269 if (pSubFocus && pSubFocus->GetInterface() == pNoteTarget) { 269 if (pSubFocus && pSubFocus->GetInterface() == pNoteTarget) {
270 pForm->SetSubFocus(NULL); 270 pForm->SetSubFocus(NULL);
271 } 271 }
272 } 272 }
273 } 273 }
274 274
275 FWL_ERR CFWL_NoteDriver::RegisterForm(CFWL_WidgetImp* pForm) { 275 FWL_Error CFWL_NoteDriver::RegisterForm(CFWL_WidgetImp* pForm) {
276 if (!pForm) 276 if (!pForm)
277 return FWL_ERR_Indefinite; 277 return FWL_Error::Indefinite;
278 if (m_forms.Find(pForm) >= 0) { 278 if (m_forms.Find(pForm) >= 0) {
279 return FWL_ERR_Indefinite; 279 return FWL_Error::Indefinite;
280 } 280 }
281 m_forms.Add(pForm); 281 m_forms.Add(pForm);
282 if (m_forms.GetSize() == 1) { 282 if (m_forms.GetSize() == 1) {
283 CFWL_NoteLoop* pLoop = 283 CFWL_NoteLoop* pLoop =
284 static_cast<CFWL_NoteLoop*>(m_noteLoopQueue.GetAt(0)); 284 static_cast<CFWL_NoteLoop*>(m_noteLoopQueue.GetAt(0));
285 if (!pLoop) 285 if (!pLoop)
286 return FWL_ERR_Indefinite; 286 return FWL_Error::Indefinite;
287 pLoop->SetMainForm(pForm); 287 pLoop->SetMainForm(pForm);
288 } 288 }
289 return FWL_ERR_Succeeded; 289 return FWL_Error::Succeeded;
290 } 290 }
291 FWL_ERR CFWL_NoteDriver::UnRegisterForm(CFWL_WidgetImp* pForm) { 291 FWL_Error CFWL_NoteDriver::UnRegisterForm(CFWL_WidgetImp* pForm) {
292 if (!pForm) 292 if (!pForm)
293 return FWL_ERR_Indefinite; 293 return FWL_Error::Indefinite;
294 int32_t nIndex = m_forms.Find(pForm); 294 int32_t nIndex = m_forms.Find(pForm);
295 if (nIndex < 0) { 295 if (nIndex < 0) {
296 return FWL_ERR_Indefinite; 296 return FWL_Error::Indefinite;
297 } 297 }
298 m_forms.RemoveAt(nIndex); 298 m_forms.RemoveAt(nIndex);
299 return FWL_ERR_Succeeded; 299 return FWL_Error::Succeeded;
300 } 300 }
301 FX_BOOL CFWL_NoteDriver::QueueMessage(CFWL_Message* pMessage) { 301 FX_BOOL CFWL_NoteDriver::QueueMessage(CFWL_Message* pMessage) {
302 pMessage->Retain(); 302 pMessage->Retain();
303 m_noteQueue.Add(pMessage); 303 m_noteQueue.Add(pMessage);
304 return TRUE; 304 return TRUE;
305 } 305 }
306 FX_BOOL CFWL_NoteDriver::UnqueueMessage(CFWL_NoteLoop* pNoteLoop) { 306 FX_BOOL CFWL_NoteDriver::UnqueueMessage(CFWL_NoteLoop* pNoteLoop) {
307 if (m_noteQueue.GetSize() < 1) { 307 if (m_noteQueue.GetSize() < 1) {
308 return FALSE; 308 return FALSE;
309 } 309 }
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after
681 CFWL_EventTarget* pEventTarget = NULL; 681 CFWL_EventTarget* pEventTarget = NULL;
682 m_eventTargets.GetNextAssoc(pos, key, (void*&)pEventTarget); 682 m_eventTargets.GetNextAssoc(pos, key, (void*&)pEventTarget);
683 if (pEventTarget && (bRemoveAll || pEventTarget->IsInvalid())) { 683 if (pEventTarget && (bRemoveAll || pEventTarget->IsInvalid())) {
684 m_eventTargets.RemoveKey(key); 684 m_eventTargets.RemoveKey(key);
685 delete pEventTarget; 685 delete pEventTarget;
686 } 686 }
687 } 687 }
688 } 688 }
689 class CFWL_CoreToolTipDP : public IFWL_ToolTipDP { 689 class CFWL_CoreToolTipDP : public IFWL_ToolTipDP {
690 public: 690 public:
691 FWL_ERR GetCaption(IFWL_Widget* pWidget, CFX_WideString& wsCaption); 691 FWL_Error GetCaption(IFWL_Widget* pWidget, CFX_WideString& wsCaption);
692 int32_t GetInitialDelay(IFWL_Widget* pWidget); 692 int32_t GetInitialDelay(IFWL_Widget* pWidget);
693 int32_t GetAutoPopDelay(IFWL_Widget* pWidget); 693 int32_t GetAutoPopDelay(IFWL_Widget* pWidget);
694 CFX_DIBitmap* GetToolTipIcon(IFWL_Widget* pWidget); 694 CFX_DIBitmap* GetToolTipIcon(IFWL_Widget* pWidget);
695 CFX_SizeF GetToolTipIconSize(IFWL_Widget* pWidget); 695 CFX_SizeF GetToolTipIconSize(IFWL_Widget* pWidget);
696 CFX_RectF GetAnchor(); 696 CFX_RectF GetAnchor();
697 CFWL_CoreToolTipDP(); 697 CFWL_CoreToolTipDP();
698 698
699 CFX_WideString m_wsCaption; 699 CFX_WideString m_wsCaption;
700 int32_t m_nInitDelayTime; 700 int32_t m_nInitDelayTime;
701 int32_t m_nAutoPopDelayTime; 701 int32_t m_nAutoPopDelayTime;
702 CFX_RectF m_fAnchor; 702 CFX_RectF m_fAnchor;
703 }; 703 };
704 CFWL_CoreToolTipDP::CFWL_CoreToolTipDP() { 704 CFWL_CoreToolTipDP::CFWL_CoreToolTipDP() {
705 m_nInitDelayTime = 500; 705 m_nInitDelayTime = 500;
706 m_nAutoPopDelayTime = 50000; 706 m_nAutoPopDelayTime = 50000;
707 m_fAnchor.Set(0.0, 0.0, 0.0, 0.0); 707 m_fAnchor.Set(0.0, 0.0, 0.0, 0.0);
708 } 708 }
709 FWL_ERR CFWL_CoreToolTipDP::GetCaption(IFWL_Widget* pWidget, 709 FWL_Error CFWL_CoreToolTipDP::GetCaption(IFWL_Widget* pWidget,
710 CFX_WideString& wsCaption) { 710 CFX_WideString& wsCaption) {
711 wsCaption = m_wsCaption; 711 wsCaption = m_wsCaption;
712 return FWL_ERR_Succeeded; 712 return FWL_Error::Succeeded;
713 } 713 }
714 int32_t CFWL_CoreToolTipDP::GetInitialDelay(IFWL_Widget* pWidget) { 714 int32_t CFWL_CoreToolTipDP::GetInitialDelay(IFWL_Widget* pWidget) {
715 return m_nInitDelayTime; 715 return m_nInitDelayTime;
716 } 716 }
717 int32_t CFWL_CoreToolTipDP::GetAutoPopDelay(IFWL_Widget* pWidget) { 717 int32_t CFWL_CoreToolTipDP::GetAutoPopDelay(IFWL_Widget* pWidget) {
718 return m_nAutoPopDelayTime; 718 return m_nAutoPopDelayTime;
719 } 719 }
720 CFX_DIBitmap* CFWL_CoreToolTipDP::GetToolTipIcon(IFWL_Widget* pWidget) { 720 CFX_DIBitmap* CFWL_CoreToolTipDP::GetToolTipIcon(IFWL_Widget* pWidget) {
721 return NULL; 721 return NULL;
722 } 722 }
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
813 s_pInstance = new CFWL_ToolTipContainer; 813 s_pInstance = new CFWL_ToolTipContainer;
814 return s_pInstance; 814 return s_pInstance;
815 } 815 }
816 816
817 // static 817 // static
818 void CFWL_ToolTipContainer::DeleteInstance() { 818 void CFWL_ToolTipContainer::DeleteInstance() {
819 delete s_pInstance; 819 delete s_pInstance;
820 s_pInstance = NULL; 820 s_pInstance = NULL;
821 } 821 }
822 822
823 FX_ERR CFWL_ToolTipContainer::AddToolTipTarget(IFWL_ToolTipTarget* pTarget) { 823 FWL_Error CFWL_ToolTipContainer::AddToolTipTarget(IFWL_ToolTipTarget* pTarget) {
824 if (m_arrWidget.Find(pTarget) < 0) { 824 if (m_arrWidget.Find(pTarget) < 0) {
825 m_arrWidget.Add(pTarget); 825 m_arrWidget.Add(pTarget);
826 return FWL_ERR_Succeeded; 826 return FWL_Error::Succeeded;
827 } 827 }
828 return FWL_ERR_Indefinite; 828 return FWL_Error::Indefinite;
829 } 829 }
830 FX_ERR CFWL_ToolTipContainer::RemoveToolTipTarget(IFWL_ToolTipTarget* pTarget) { 830 FWL_Error CFWL_ToolTipContainer::RemoveToolTipTarget(
831 IFWL_ToolTipTarget* pTarget) {
831 int index = m_arrWidget.Find(pTarget); 832 int index = m_arrWidget.Find(pTarget);
832 if (index >= 0) { 833 if (index >= 0) {
833 m_arrWidget.RemoveAt(index); 834 m_arrWidget.RemoveAt(index);
834 return FWL_ERR_Succeeded; 835 return FWL_Error::Succeeded;
835 } 836 }
836 return FWL_ERR_Indefinite; 837 return FWL_Error::Indefinite;
837 } 838 }
838 FX_BOOL CFWL_ToolTipContainer::HasToolTip(IFWL_Widget* pWedget) { 839 FX_BOOL CFWL_ToolTipContainer::HasToolTip(IFWL_Widget* pWedget) {
839 int32_t iCount = m_arrWidget.GetSize(); 840 int32_t iCount = m_arrWidget.GetSize();
840 for (int32_t i = 0; i < iCount; i++) { 841 for (int32_t i = 0; i < iCount; i++) {
841 IFWL_ToolTipTarget* p = m_arrWidget[i]; 842 IFWL_ToolTipTarget* p = m_arrWidget[i];
842 if (p->GetWidget() == pWedget) { 843 if (p->GetWidget() == pWedget) {
843 pCurTarget = p; 844 pCurTarget = p;
844 return TRUE; 845 return TRUE;
845 } 846 }
846 } 847 }
(...skipping 27 matching lines...) Expand all
874 if (sz.x > 0 && sz.y > 0) { 875 if (sz.x > 0 && sz.y > 0) {
875 rt.width = sz.x; 876 rt.width = sz.x;
876 rt.height = sz.y; 877 rt.height = sz.y;
877 } else { 878 } else {
878 CFX_RectF r; 879 CFX_RectF r;
879 m_pToolTipImp->GetWidgetRect(r, TRUE); 880 m_pToolTipImp->GetWidgetRect(r, TRUE);
880 rt.width = r.width; 881 rt.width = r.width;
881 rt.height = r.height; 882 rt.height = r.height;
882 } 883 }
883 CFX_PointF pt(pEvt->m_fx, pEvt->m_fy); 884 CFX_PointF pt(pEvt->m_fx, pEvt->m_fy);
884 if (pCurTarget->GetToolTipPos(pt) == FWL_ERR_Succeeded) { 885 if (pCurTarget->GetToolTipPos(pt) == FWL_Error::Succeeded) {
885 rt.left = pt.x; 886 rt.left = pt.x;
886 rt.top = pt.y; 887 rt.top = pt.y;
887 m_pToolTipImp->ModifyStylesEx(FWL_STYLEEXT_TTP_NoAnchor, 0); 888 m_pToolTipImp->ModifyStylesEx(FWL_STYLEEXT_TTP_NoAnchor, 0);
888 } else { 889 } else {
889 CFX_RectF rtAnchor; 890 CFX_RectF rtAnchor;
890 pCurTarget->GetWidget()->GetClientRect(rtAnchor); 891 pCurTarget->GetWidget()->GetClientRect(rtAnchor);
891 pCurTarget->GetWidget()->TransformTo(NULL, rtAnchor.left, rtAnchor.top); 892 pCurTarget->GetWidget()->TransformTo(NULL, rtAnchor.left, rtAnchor.top);
892 m_pToolTipImp->SetAnchor(rtAnchor); 893 m_pToolTipImp->SetAnchor(rtAnchor);
893 m_pToolTipImp->ModifyStylesEx(0, FWL_STYLEEXT_TTP_NoAnchor); 894 m_pToolTipImp->ModifyStylesEx(0, FWL_STYLEEXT_TTP_NoAnchor);
894 } 895 }
895 m_pToolTipImp->SetWidgetRect(rt); 896 m_pToolTipImp->SetWidgetRect(rt);
896 m_pToolTipImp->Update(); 897 m_pToolTipImp->Update();
897 m_pToolTipImp->Show(); 898 m_pToolTipImp->Show();
898 } 899 }
899 return TRUE; 900 return TRUE;
900 } 901 }
901 return FALSE; 902 return FALSE;
902 } 903 }
903 FX_BOOL CFWL_ToolTipContainer::ProcessLeave(CFWL_EvtMouse* pEvt) { 904 FX_BOOL CFWL_ToolTipContainer::ProcessLeave(CFWL_EvtMouse* pEvt) {
904 if (HasToolTip(pEvt->m_pDstTarget) && NULL != m_pToolTipImp) { 905 if (HasToolTip(pEvt->m_pDstTarget) && NULL != m_pToolTipImp) {
905 m_pToolTipImp->Hide(); 906 m_pToolTipImp->Hide();
906 pCurTarget = NULL; 907 pCurTarget = NULL;
907 return TRUE; 908 return TRUE;
908 } 909 }
909 return FALSE; 910 return FALSE;
910 } 911 }
911 IFWL_ToolTipTarget* CFWL_ToolTipContainer::GetCurrentToolTipTarget() { 912 IFWL_ToolTipTarget* CFWL_ToolTipContainer::GetCurrentToolTipTarget() {
912 return pCurTarget; 913 return pCurTarget;
913 } 914 }
OLDNEW
« no previous file with comments | « xfa/fwl/core/fwl_noteimp.h ('k') | xfa/fwl/core/fwl_timerimp.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698