Chromium Code Reviews| 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 "fpdfsdk/include/fsdk_baseform.h" | 7 #include "fpdfsdk/include/fsdk_baseform.h" |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 224 param.m_bKeyDown = data.bKeyDown; | 224 param.m_bKeyDown = data.bKeyDown; |
| 225 param.m_bModifier = data.bModifier; | 225 param.m_bModifier = data.bModifier; |
| 226 param.m_wsNewText = data.sValue; | 226 param.m_wsNewText = data.sValue; |
| 227 if (data.nSelEnd > data.nSelStart) | 227 if (data.nSelEnd > data.nSelStart) |
| 228 param.m_wsNewText.Delete(data.nSelStart, | 228 param.m_wsNewText.Delete(data.nSelStart, |
| 229 data.nSelEnd - data.nSelStart); | 229 data.nSelEnd - data.nSelStart); |
| 230 for (int i = 0; i < data.sChange.GetLength(); i++) | 230 for (int i = 0; i < data.sChange.GetLength(); i++) |
| 231 param.m_wsNewText.Insert(data.nSelStart, data.sChange[i]); | 231 param.m_wsNewText.Insert(data.nSelStart, data.sChange[i]); |
| 232 param.m_wsPrevText = data.sValue; | 232 param.m_wsPrevText = data.sValue; |
| 233 | 233 |
| 234 int32_t nRet = XFA_EVENTERROR_Error; | |
| 234 if ((eEventType == XFA_EVENT_Click || eEventType == XFA_EVENT_Change) && | 235 if ((eEventType == XFA_EVENT_Click || eEventType == XFA_EVENT_Change) && |
| 235 GetFieldType() == FIELDTYPE_RADIOBUTTON) { | 236 GetFieldType() == FIELDTYPE_RADIOBUTTON && |
| 236 if (IXFA_Widget* hGroupWidget = GetGroupMixXFAWidget()) { | 237 (IXFA_Widget* hGroupWidget = GetGroupMixXFAWidget())) { |
|
jun_fang
2016/03/21 06:21:46
When users click a radio button, the clicking even
Wei Li
2016/03/21 20:24:53
Thank you for clarifying this!
| |
| 237 CXFA_WidgetAcc* pAcc = pXFAWidgetHandler->GetDataAcc(hGroupWidget); | 238 param.m_pTarget = pXFAWidgetHandler->GetDataAcc(hGroupWidget); |
| 238 param.m_pTarget = pAcc; | 239 nRet = pXFAWidgetHandler->ProcessEvent(pAcc, ¶m); |
|
jun_fang
2016/03/21 06:21:46
pAcc should be updated to param.m_pTarget in your
Wei Li
2016/03/21 20:24:53
Done.
| |
| 239 pXFAWidgetHandler->ProcessEvent(pAcc, ¶m); | |
|
jun_fang
2016/03/21 06:21:46
Pass the event to a group widget of radio button.
Wei Li
2016/03/21 20:24:53
Acknowledged.
| |
| 240 } | |
| 241 | |
| 242 { | |
| 243 CXFA_WidgetAcc* pAcc = pXFAWidgetHandler->GetDataAcc(hWidget); | |
|
jun_fang
2016/03/21 06:21:46
hWidget here is different with hGroupWidget. A gro
Wei Li
2016/03/21 20:24:53
Acknowledged.
| |
| 244 param.m_pTarget = pAcc; | |
| 245 int32_t nRet = pXFAWidgetHandler->ProcessEvent(pAcc, ¶m); | |
|
jun_fang
2016/03/21 06:21:46
Pass the event to radio button itself.
Wei Li
2016/03/21 20:24:53
Acknowledged.
| |
| 246 return nRet == XFA_EVENTERROR_Success; | |
| 247 } | |
| 248 } else { | 240 } else { |
| 249 CXFA_WidgetAcc* pAcc = pXFAWidgetHandler->GetDataAcc(hWidget); | 241 param.m_pTarget = pXFAWidgetHandler->GetDataAcc(hWidget); |
| 250 param.m_pTarget = pAcc; | 242 nRet = pXFAWidgetHandler->ProcessEvent(pAcc, ¶m); |
|
jun_fang
2016/03/21 06:21:46
The same as above.
Wei Li
2016/03/21 20:24:53
Done.
| |
| 251 int32_t nRet = pXFAWidgetHandler->ProcessEvent(pAcc, ¶m); | |
| 252 return nRet == XFA_EVENTERROR_Success; | |
| 253 } | 243 } |
| 254 | 244 |
| 255 if (IXFA_DocView* pDocView = pDoc->GetXFADocView()) { | 245 if (IXFA_DocView* pDocView = pDoc->GetXFADocView()) { |
| 256 pDocView->UpdateDocView(); | 246 pDocView->UpdateDocView(); |
| 257 } | 247 } |
| 258 } | 248 return nRet == XFA_EVENTERROR_Success; |
| 259 } | 249 } |
| 260 } | 250 } |
| 261 | 251 |
| 262 return FALSE; | 252 return FALSE; |
| 263 } | 253 } |
| 264 | 254 |
| 265 void CPDFSDK_Widget::Synchronize(FX_BOOL bSynchronizeElse) { | 255 void CPDFSDK_Widget::Synchronize(FX_BOOL bSynchronizeElse) { |
| 266 if (IXFA_Widget* hWidget = GetMixXFAWidget()) { | 256 if (IXFA_Widget* hWidget = GetMixXFAWidget()) { |
| 267 if (IXFA_WidgetHandler* pXFAWidgetHandler = GetXFAWidgetHandler()) { | 257 if (IXFA_WidgetHandler* pXFAWidgetHandler = GetXFAWidgetHandler()) { |
| 268 CPDF_FormField* pFormField = GetFormField(); | 258 CPDF_FormField* pFormField = GetFormField(); |
| (...skipping 2595 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2864 break; | 2854 break; |
| 2865 } | 2855 } |
| 2866 } | 2856 } |
| 2867 } | 2857 } |
| 2868 | 2858 |
| 2869 CFX_FloatRect CBA_AnnotIterator::GetAnnotRect(const CPDFSDK_Annot* pAnnot) { | 2859 CFX_FloatRect CBA_AnnotIterator::GetAnnotRect(const CPDFSDK_Annot* pAnnot) { |
| 2870 CFX_FloatRect rcAnnot; | 2860 CFX_FloatRect rcAnnot; |
| 2871 pAnnot->GetPDFAnnot()->GetRect(rcAnnot); | 2861 pAnnot->GetPDFAnnot()->GetRect(rcAnnot); |
| 2872 return rcAnnot; | 2862 return rcAnnot; |
| 2873 } | 2863 } |
| OLD | NEW |