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

Side by Side Diff: xfa/fxfa/app/xfa_fftextedit.cpp

Issue 2530993002: Cleanup FWL Event and Message code. (Closed)
Patch Set: Review feedback 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
« xfa/fwl/core/cfwl_event.h ('K') | « xfa/fxfa/app/xfa_ffimageedit.cpp ('k') | no next file » | 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/fxfa/app/xfa_fftextedit.h" 7 #include "xfa/fxfa/app/xfa_fftextedit.h"
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 FX_FLOAT fy) { 110 FX_FLOAT fy) {
111 if (!PtInActiveRect(fx, fy)) { 111 if (!PtInActiveRect(fx, fy)) {
112 return false; 112 return false;
113 } 113 }
114 if (!IsFocused()) { 114 if (!IsFocused()) {
115 m_dwStatus |= XFA_WidgetStatus_Focused; 115 m_dwStatus |= XFA_WidgetStatus_Focused;
116 UpdateFWLData(); 116 UpdateFWLData();
117 AddInvalidateRect(); 117 AddInvalidateRect();
118 } 118 }
119 SetButtonDown(true); 119 SetButtonDown(true);
120 CFWL_MsgMouse ms; 120 CFWL_MsgMouse ms(nullptr, m_pNormalWidget);
121 ms.m_dwCmd = FWL_MouseCommand::LeftButtonDown; 121 ms.m_dwCmd = FWL_MouseCommand::LeftButtonDown;
122 ms.m_dwFlags = dwFlags; 122 ms.m_dwFlags = dwFlags;
123 ms.m_fx = fx; 123 ms.m_fx = fx;
124 ms.m_fy = fy; 124 ms.m_fy = fy;
125 ms.m_pDstTarget = m_pNormalWidget;
126 FWLToClient(ms.m_fx, ms.m_fy); 125 FWLToClient(ms.m_fx, ms.m_fy);
127 TranslateFWLMessage(&ms); 126 TranslateFWLMessage(&ms);
128 return true; 127 return true;
129 } 128 }
130 bool CXFA_FFTextEdit::OnRButtonDown(uint32_t dwFlags, 129 bool CXFA_FFTextEdit::OnRButtonDown(uint32_t dwFlags,
131 FX_FLOAT fx, 130 FX_FLOAT fx,
132 FX_FLOAT fy) { 131 FX_FLOAT fy) {
133 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open) { 132 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open) {
134 return false; 133 return false;
135 } 134 }
136 if (!PtInActiveRect(fx, fy)) { 135 if (!PtInActiveRect(fx, fy)) {
137 return false; 136 return false;
138 } 137 }
139 if (!IsFocused()) { 138 if (!IsFocused()) {
140 m_dwStatus |= XFA_WidgetStatus_Focused; 139 m_dwStatus |= XFA_WidgetStatus_Focused;
141 UpdateFWLData(); 140 UpdateFWLData();
142 AddInvalidateRect(); 141 AddInvalidateRect();
143 } 142 }
144 SetButtonDown(true); 143 SetButtonDown(true);
145 CFWL_MsgMouse ms; 144 CFWL_MsgMouse ms(nullptr, nullptr);
146 ms.m_dwCmd = FWL_MouseCommand::RightButtonDown; 145 ms.m_dwCmd = FWL_MouseCommand::RightButtonDown;
147 ms.m_dwFlags = dwFlags; 146 ms.m_dwFlags = dwFlags;
148 ms.m_fx = fx; 147 ms.m_fx = fx;
149 ms.m_fy = fy; 148 ms.m_fy = fy;
150 FWLToClient(ms.m_fx, ms.m_fy); 149 FWLToClient(ms.m_fx, ms.m_fy);
151 TranslateFWLMessage(&ms); 150 TranslateFWLMessage(&ms);
152 return true; 151 return true;
153 } 152 }
154 bool CXFA_FFTextEdit::OnRButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) { 153 bool CXFA_FFTextEdit::OnRButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) {
155 if (!CXFA_FFField::OnRButtonUp(dwFlags, fx, fy)) 154 if (!CXFA_FFField::OnRButtonUp(dwFlags, fx, fy))
156 return false; 155 return false;
157 156
158 GetDoc()->GetDocEnvironment()->PopupMenu(this, CFX_PointF(fx, fy)); 157 GetDoc()->GetDocEnvironment()->PopupMenu(this, CFX_PointF(fx, fy));
159 return true; 158 return true;
160 } 159 }
161 bool CXFA_FFTextEdit::OnSetFocus(CXFA_FFWidget* pOldWidget) { 160 bool CXFA_FFTextEdit::OnSetFocus(CXFA_FFWidget* pOldWidget) {
162 m_dwStatus &= ~XFA_WidgetStatus_TextEditValueChanged; 161 m_dwStatus &= ~XFA_WidgetStatus_TextEditValueChanged;
163 if (!IsFocused()) { 162 if (!IsFocused()) {
164 m_dwStatus |= XFA_WidgetStatus_Focused; 163 m_dwStatus |= XFA_WidgetStatus_Focused;
165 UpdateFWLData(); 164 UpdateFWLData();
166 AddInvalidateRect(); 165 AddInvalidateRect();
167 } 166 }
168 CXFA_FFWidget::OnSetFocus(pOldWidget); 167 CXFA_FFWidget::OnSetFocus(pOldWidget);
169 CFWL_MsgSetFocus ms; 168 CFWL_MsgSetFocus ms(nullptr, m_pNormalWidget);
170 ms.m_pDstTarget = m_pNormalWidget;
171 ms.m_pSrcTarget = nullptr;
172 TranslateFWLMessage(&ms); 169 TranslateFWLMessage(&ms);
173 return true; 170 return true;
174 } 171 }
175 bool CXFA_FFTextEdit::OnKillFocus(CXFA_FFWidget* pNewWidget) { 172 bool CXFA_FFTextEdit::OnKillFocus(CXFA_FFWidget* pNewWidget) {
176 CFWL_MsgKillFocus ms; 173 CFWL_MsgKillFocus ms(nullptr, m_pNormalWidget);
177 ms.m_pDstTarget = m_pNormalWidget;
178 ms.m_pSrcTarget = nullptr;
179 TranslateFWLMessage(&ms); 174 TranslateFWLMessage(&ms);
180 m_dwStatus &= ~XFA_WidgetStatus_Focused; 175 m_dwStatus &= ~XFA_WidgetStatus_Focused;
181 SetEditScrollOffset(); 176 SetEditScrollOffset();
182 ProcessCommittedData(); 177 ProcessCommittedData();
183 UpdateFWLData(); 178 UpdateFWLData();
184 AddInvalidateRect(); 179 AddInvalidateRect();
185 CXFA_FFWidget::OnKillFocus(pNewWidget); 180 CXFA_FFWidget::OnKillFocus(pNewWidget);
186 m_dwStatus &= ~XFA_WidgetStatus_TextEditValueChanged; 181 m_dwStatus &= ~XFA_WidgetStatus_TextEditValueChanged;
187 return true; 182 return true;
188 } 183 }
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 return true; 326 return true;
332 return false; 327 return false;
333 } 328 }
334 329
335 void CXFA_FFTextEdit::OnProcessMessage(CFWL_Message* pMessage) { 330 void CXFA_FFTextEdit::OnProcessMessage(CFWL_Message* pMessage) {
336 m_pOldDelegate->OnProcessMessage(pMessage); 331 m_pOldDelegate->OnProcessMessage(pMessage);
337 } 332 }
338 333
339 void CXFA_FFTextEdit::OnProcessEvent(CFWL_Event* pEvent) { 334 void CXFA_FFTextEdit::OnProcessEvent(CFWL_Event* pEvent) {
340 CXFA_FFField::OnProcessEvent(pEvent); 335 CXFA_FFField::OnProcessEvent(pEvent);
341 switch (pEvent->GetClassID()) { 336 switch (pEvent->GetType()) {
342 case CFWL_EventType::TextChanged: { 337 case CFWL_Event::Type::TextChanged: {
343 CFWL_EvtTextChanged* event = static_cast<CFWL_EvtTextChanged*>(pEvent); 338 CFWL_EvtTextChanged* event = static_cast<CFWL_EvtTextChanged*>(pEvent);
344 CFX_WideString wsChange; 339 CFX_WideString wsChange;
345 OnTextChanged(m_pNormalWidget, wsChange, event->wsPrevText); 340 OnTextChanged(m_pNormalWidget, wsChange, event->wsPrevText);
346 break; 341 break;
347 } 342 }
348 case CFWL_EventType::TextFull: { 343 case CFWL_Event::Type::TextFull: {
349 OnTextFull(m_pNormalWidget); 344 OnTextFull(m_pNormalWidget);
350 break; 345 break;
351 } 346 }
352 case CFWL_EventType::CheckWord: { 347 case CFWL_Event::Type::CheckWord: {
353 CFX_WideString wstr(L"FWL_EVENT_DTP_SelectChanged"); 348 CFX_WideString wstr(L"FWL_EVENT_DTP_SelectChanged");
354 CFWL_EvtCheckWord* event = static_cast<CFWL_EvtCheckWord*>(pEvent); 349 CFWL_EvtCheckWord* event = static_cast<CFWL_EvtCheckWord*>(pEvent);
355 event->bCheckWord = CheckWord(event->bsWord.AsStringC()); 350 event->bCheckWord = CheckWord(event->bsWord.AsStringC());
356 break; 351 break;
357 } 352 }
358 default: 353 default:
359 break; 354 break;
360 } 355 }
361 m_pOldDelegate->OnProcessEvent(pEvent); 356 m_pOldDelegate->OnProcessEvent(pEvent);
362 } 357 }
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 } 406 }
412 dwExtendedStyle |= GetAlignment(); 407 dwExtendedStyle |= GetAlignment();
413 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open || 408 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open ||
414 !m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) { 409 !m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) {
415 dwExtendedStyle |= FWL_STYLEEXT_EDT_ReadOnly; 410 dwExtendedStyle |= FWL_STYLEEXT_EDT_ReadOnly;
416 } 411 }
417 m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF); 412 m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF);
418 } 413 }
419 414
420 void CXFA_FFNumericEdit::OnProcessEvent(CFWL_Event* pEvent) { 415 void CXFA_FFNumericEdit::OnProcessEvent(CFWL_Event* pEvent) {
421 if (pEvent->GetClassID() == CFWL_EventType::Validate) { 416 if (pEvent->GetType() == CFWL_Event::Type::Validate) {
422 CFWL_EvtValidate* event = static_cast<CFWL_EvtValidate*>(pEvent); 417 CFWL_EvtValidate* event = static_cast<CFWL_EvtValidate*>(pEvent);
423 event->bValidate = OnValidate(m_pNormalWidget, event->wsInsert); 418 event->bValidate = OnValidate(m_pNormalWidget, event->wsInsert);
424 return; 419 return;
425 } 420 }
426 CXFA_FFTextEdit::OnProcessEvent(pEvent); 421 CXFA_FFTextEdit::OnProcessEvent(pEvent);
427 } 422 }
428 423
429 bool CXFA_FFNumericEdit::OnValidate(CFWL_Widget* pWidget, 424 bool CXFA_FFNumericEdit::OnValidate(CFWL_Widget* pWidget,
430 CFX_WideString& wsText) { 425 CFX_WideString& wsText) {
431 CFX_WideString wsPattern; 426 CFX_WideString wsPattern;
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
676 pDateTime->Update(); 671 pDateTime->Update();
677 GetDoc()->GetDocEnvironment()->SetFocusWidget(GetDoc(), nullptr); 672 GetDoc()->GetDocEnvironment()->SetFocusWidget(GetDoc(), nullptr);
678 CXFA_EventParam eParam; 673 CXFA_EventParam eParam;
679 eParam.m_eType = XFA_EVENT_Change; 674 eParam.m_eType = XFA_EVENT_Change;
680 eParam.m_pTarget = m_pDataAcc; 675 eParam.m_pTarget = m_pDataAcc;
681 m_pDataAcc->GetValue(eParam.m_wsNewText, XFA_VALUEPICTURE_Raw); 676 m_pDataAcc->GetValue(eParam.m_wsNewText, XFA_VALUEPICTURE_Raw);
682 m_pDataAcc->ProcessEvent(XFA_ATTRIBUTEENUM_Change, &eParam); 677 m_pDataAcc->ProcessEvent(XFA_ATTRIBUTEENUM_Change, &eParam);
683 } 678 }
684 679
685 void CXFA_FFDateTimeEdit::OnProcessEvent(CFWL_Event* pEvent) { 680 void CXFA_FFDateTimeEdit::OnProcessEvent(CFWL_Event* pEvent) {
686 if (pEvent->GetClassID() == CFWL_EventType::SelectChanged) { 681 if (pEvent->GetType() == CFWL_Event::Type::SelectChanged) {
687 CFWL_EvtSelectChanged* event = static_cast<CFWL_EvtSelectChanged*>(pEvent); 682 CFWL_EvtSelectChanged* event = static_cast<CFWL_EvtSelectChanged*>(pEvent);
688 OnSelectChanged(m_pNormalWidget, event->iYear, event->iMonth, event->iDay); 683 OnSelectChanged(m_pNormalWidget, event->iYear, event->iMonth, event->iDay);
689 return; 684 return;
690 } 685 }
691 CXFA_FFTextEdit::OnProcessEvent(pEvent); 686 CXFA_FFTextEdit::OnProcessEvent(pEvent);
692 } 687 }
OLDNEW
« xfa/fwl/core/cfwl_event.h ('K') | « xfa/fxfa/app/xfa_ffimageedit.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698