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

Side by Side Diff: xfa/src/fxfa/src/app/xfa_ffdocview.cpp

Issue 1172793002: Merge to XFA: Use stdint.h types throughout PDFium. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Created 5 years, 6 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/src/fxfa/src/app/xfa_ffdocview.h ('k') | xfa/src/fxfa/src/app/xfa_ffexclgroup.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 "../../../foxitlib.h" 7 #include "../../../foxitlib.h"
8 #include "../common/xfa_common.h" 8 #include "../common/xfa_common.h"
9 #include "xfa_fwladapter.h" 9 #include "xfa_fwladapter.h"
10 #include "xfa_ffdocview.h" 10 #include "xfa_ffdocview.h"
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 delete m_pWidgetHandler; 79 delete m_pWidgetHandler;
80 } 80 }
81 m_pWidgetHandler = NULL; 81 m_pWidgetHandler = NULL;
82 } 82 }
83 void CXFA_FFDocView::InitLayout(CXFA_Node* pNode) 83 void CXFA_FFDocView::InitLayout(CXFA_Node* pNode)
84 { 84 {
85 RunBindItems(); 85 RunBindItems();
86 ExecEventActivityByDeepFirst(pNode, XFA_EVENT_Initialize); 86 ExecEventActivityByDeepFirst(pNode, XFA_EVENT_Initialize);
87 ExecEventActivityByDeepFirst(pNode, XFA_EVENT_IndexChange); 87 ExecEventActivityByDeepFirst(pNode, XFA_EVENT_IndexChange);
88 } 88 }
89 FX_INT32 CXFA_FFDocView::StartLayout(FX_INT32 iStartPage ) 89 int32_t CXFA_FFDocView::StartLayout(int32_t iStartPage )
90 { 90 {
91 m_iStatus = XFA_DOCVIEW_LAYOUTSTATUS_Start; 91 m_iStatus = XFA_DOCVIEW_LAYOUTSTATUS_Start;
92 m_pDoc->GetXFADoc()->DoProtoMerge(); 92 m_pDoc->GetXFADoc()->DoProtoMerge();
93 m_pDoc->GetXFADoc()->DoDataMerge(); 93 m_pDoc->GetXFADoc()->DoDataMerge();
94 m_pXFADocLayout = GetXFALayout(); 94 m_pXFADocLayout = GetXFALayout();
95 FX_INT32 iStatus = m_pXFADocLayout->StartLayout(); 95 int32_t iStatus = m_pXFADocLayout->StartLayout();
96 if (iStatus < 0) { 96 if (iStatus < 0) {
97 return iStatus; 97 return iStatus;
98 } 98 }
99 CXFA_Node* pRootItem = (CXFA_Node*)m_pDoc->GetXFADoc()->GetXFANode(XFA_HASHC ODE_Form); 99 CXFA_Node* pRootItem = (CXFA_Node*)m_pDoc->GetXFADoc()->GetXFANode(XFA_HASHC ODE_Form);
100 if (!pRootItem) { 100 if (!pRootItem) {
101 return iStatus; 101 return iStatus;
102 } 102 }
103 InitLayout(pRootItem); 103 InitLayout(pRootItem);
104 InitCalculate(pRootItem); 104 InitCalculate(pRootItem);
105 InitValidate(pRootItem); 105 InitValidate(pRootItem);
106 ExecEventActivityByDeepFirst(pRootItem, XFA_EVENT_Ready, TRUE); 106 ExecEventActivityByDeepFirst(pRootItem, XFA_EVENT_Ready, TRUE);
107 m_iStatus = XFA_DOCVIEW_LAYOUTSTATUS_Start; 107 m_iStatus = XFA_DOCVIEW_LAYOUTSTATUS_Start;
108 return iStatus; 108 return iStatus;
109 } 109 }
110 FX_INT32 CXFA_FFDocView::DoLayout(IFX_Pause *pPause ) 110 int32_t CXFA_FFDocView::DoLayout(IFX_Pause *pPause )
111 { 111 {
112 FX_INT32 iStatus = 100; 112 int32_t iStatus = 100;
113 iStatus = m_pXFADocLayout->DoLayout(pPause); 113 iStatus = m_pXFADocLayout->DoLayout(pPause);
114 if (iStatus != 100) { 114 if (iStatus != 100) {
115 return iStatus; 115 return iStatus;
116 } 116 }
117 m_iStatus = XFA_DOCVIEW_LAYOUTSTATUS_Doing; 117 m_iStatus = XFA_DOCVIEW_LAYOUTSTATUS_Doing;
118 return iStatus; 118 return iStatus;
119 } 119 }
120 void CXFA_FFDocView::StopLayout() 120 void CXFA_FFDocView::StopLayout()
121 { 121 {
122 CXFA_Node* pRootItem = (CXFA_Node*)m_pDoc->GetXFADoc()->GetXFANode(XFA_HASHC ODE_Form); 122 CXFA_Node* pRootItem = (CXFA_Node*)m_pDoc->GetXFADoc()->GetXFANode(XFA_HASHC ODE_Form);
(...skipping 20 matching lines...) Expand all
143 RunValidate(); 143 RunValidate();
144 if(RunLayout()) { 144 if(RunLayout()) {
145 ExecEventActivityByDeepFirst(pRootItem, XFA_EVENT_Ready); 145 ExecEventActivityByDeepFirst(pRootItem, XFA_EVENT_Ready);
146 } 146 }
147 m_CalculateAccs.RemoveAll(); 147 m_CalculateAccs.RemoveAll();
148 if (m_pFocusAcc && !m_pFocusWidget) { 148 if (m_pFocusAcc && !m_pFocusWidget) {
149 SetFocusWidgetAcc(m_pFocusAcc); 149 SetFocusWidgetAcc(m_pFocusAcc);
150 } 150 }
151 m_iStatus = XFA_DOCVIEW_LAYOUTSTATUS_End; 151 m_iStatus = XFA_DOCVIEW_LAYOUTSTATUS_End;
152 } 152 }
153 FX_INT32 CXFA_FFDocView::GetLayoutStatus() 153 int32_t CXFA_FFDocView::GetLayoutStatus()
154 { 154 {
155 return m_iStatus; 155 return m_iStatus;
156 } 156 }
157 void CXFA_FFDocView::ShowNullTestMsg() 157 void CXFA_FFDocView::ShowNullTestMsg()
158 { 158 {
159 FX_INT32 iCount = m_arrNullTestMsg.GetSize(); 159 int32_t iCount = m_arrNullTestMsg.GetSize();
160 CXFA_FFApp* pApp = m_pDoc->GetApp(); 160 CXFA_FFApp* pApp = m_pDoc->GetApp();
161 IXFA_AppProvider* pAppProvider = pApp->GetAppProvider(); 161 IXFA_AppProvider* pAppProvider = pApp->GetAppProvider();
162 if (pAppProvider && iCount) { 162 if (pAppProvider && iCount) {
163 FX_INT32 iRemain = iCount > 7 ? iCount - 7 : 0; 163 int32_t iRemain = iCount > 7 ? iCount - 7 : 0;
164 iCount -= iRemain; 164 iCount -= iRemain;
165 CFX_WideString wsMsg; 165 CFX_WideString wsMsg;
166 for (FX_INT32 i = 0; i < iCount; i++) { 166 for (int32_t i = 0; i < iCount; i++) {
167 wsMsg += m_arrNullTestMsg[i] + FX_WSTRC(L"\n"); 167 wsMsg += m_arrNullTestMsg[i] + FX_WSTRC(L"\n");
168 } 168 }
169 if (iRemain > 0) { 169 if (iRemain > 0) {
170 CFX_WideString wsLimit; 170 CFX_WideString wsLimit;
171 pAppProvider->LoadString(XFA_IDS_ValidateLimit, wsLimit); 171 pAppProvider->LoadString(XFA_IDS_ValidateLimit, wsLimit);
172 if (!wsLimit.IsEmpty()) { 172 if (!wsLimit.IsEmpty()) {
173 CFX_WideString wsTemp; 173 CFX_WideString wsTemp;
174 wsTemp.Format((FX_LPCWSTR)wsLimit, iRemain); 174 wsTemp.Format((FX_LPCWSTR)wsLimit, iRemain);
175 wsMsg += FX_WSTRC(L"\n") + wsTemp; 175 wsMsg += FX_WSTRC(L"\n") + wsTemp;
176 } 176 }
177 } 177 }
178 CFX_WideString wsTitle; 178 CFX_WideString wsTitle;
179 pAppProvider->LoadString(XFA_IDS_AppName, wsTitle); 179 pAppProvider->LoadString(XFA_IDS_AppName, wsTitle);
180 pAppProvider->MsgBox(wsMsg, wsTitle, XFA_MBICON_Status, XFA_MB_OK); 180 pAppProvider->MsgBox(wsMsg, wsTitle, XFA_MBICON_Status, XFA_MB_OK);
181 } 181 }
182 m_arrNullTestMsg.RemoveAll(); 182 m_arrNullTestMsg.RemoveAll();
183 } 183 }
184 void CXFA_FFDocView::UpdateDocView() 184 void CXFA_FFDocView::UpdateDocView()
185 { 185 {
186 if (IsUpdateLocked()) { 186 if (IsUpdateLocked()) {
187 return; 187 return;
188 } 188 }
189 LockUpdate(); 189 LockUpdate();
190 FX_INT32 iNewAdds = m_NewAddedNodes.GetSize(); 190 int32_t iNewAdds = m_NewAddedNodes.GetSize();
191 for (FX_INT32 i = 0; i < iNewAdds; i++) { 191 for (int32_t i = 0; i < iNewAdds; i++) {
192 CXFA_Node* pNode = (CXFA_Node*)m_NewAddedNodes[i]; 192 CXFA_Node* pNode = (CXFA_Node*)m_NewAddedNodes[i];
193 InitCalculate(pNode); 193 InitCalculate(pNode);
194 InitValidate(pNode); 194 InitValidate(pNode);
195 ExecEventActivityByDeepFirst(pNode, XFA_EVENT_Ready, TRUE); 195 ExecEventActivityByDeepFirst(pNode, XFA_EVENT_Ready, TRUE);
196 } 196 }
197 m_NewAddedNodes.RemoveAll(); 197 m_NewAddedNodes.RemoveAll();
198 this->RunSubformIndexChange(); 198 this->RunSubformIndexChange();
199 this->RunCalculateWidgets(); 199 this->RunCalculateWidgets();
200 this->RunValidate(); 200 this->RunValidate();
201 ShowNullTestMsg(); 201 ShowNullTestMsg();
202 m_iStatus = XFA_DOCVIEW_LAYOUTSTATUS_Next; 202 m_iStatus = XFA_DOCVIEW_LAYOUTSTATUS_Next;
203 if (RunLayout() && m_bLayoutEvent) { 203 if (RunLayout() && m_bLayoutEvent) {
204 RunEventLayoutReady(); 204 RunEventLayoutReady();
205 } 205 }
206 m_bLayoutEvent = FALSE; 206 m_bLayoutEvent = FALSE;
207 m_CalculateAccs.RemoveAll(); 207 m_CalculateAccs.RemoveAll();
208 this->RunInvalidate(); 208 this->RunInvalidate();
209 UnlockUpdate(); 209 UnlockUpdate();
210 } 210 }
211 FX_INT32 CXFA_FFDocView::CountPageViews() 211 int32_t CXFA_FFDocView::CountPageViews()
212 { 212 {
213 if (!m_pXFADocLayout) { 213 if (!m_pXFADocLayout) {
214 return 0; 214 return 0;
215 } 215 }
216 return m_pXFADocLayout->CountPages(); 216 return m_pXFADocLayout->CountPages();
217 } 217 }
218 IXFA_PageView* CXFA_FFDocView::GetPageView(FX_INT32 nIndex) 218 IXFA_PageView* CXFA_FFDocView::GetPageView(int32_t nIndex)
219 { 219 {
220 if (!m_pXFADocLayout) { 220 if (!m_pXFADocLayout) {
221 return NULL; 221 return NULL;
222 } 222 }
223 return (CXFA_FFPageView*)m_pXFADocLayout->GetPage(nIndex); 223 return (CXFA_FFPageView*)m_pXFADocLayout->GetPage(nIndex);
224 } 224 }
225 IXFA_Widget* CXFA_FFDocView::GetWidgetByName(FX_WSTR wsName) 225 IXFA_Widget* CXFA_FFDocView::GetWidgetByName(FX_WSTR wsName)
226 { 226 {
227 return GetWidgetByName(wsName, NULL); 227 return GetWidgetByName(wsName, NULL);
228 } 228 }
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 bChanged |= ResetSingleWidgetAccData(pAcc); 273 bChanged |= ResetSingleWidgetAccData(pAcc);
274 if (pAcc->GetNode()->GetClassID() == XFA_ELEMENT_ExclGroup) { 274 if (pAcc->GetNode()->GetClassID() == XFA_ELEMENT_ExclGroup) {
275 Iterator.SkipTree(); 275 Iterator.SkipTree();
276 } 276 }
277 } 277 }
278 } 278 }
279 if (bChanged) { 279 if (bChanged) {
280 m_pDoc->GetDocProvider()->SetChangeMark(m_pDoc); 280 m_pDoc->GetDocProvider()->SetChangeMark(m_pDoc);
281 } 281 }
282 } 282 }
283 FX_INT32 CXFA_FFDocView::ProcessWidgetEvent(CXFA_EventParam* pParam, CXFA_Widget Acc* pWidgetAcc ) 283 int32_t CXFA_FFDocView::ProcessWidgetEvent(CXFA_EventParam* pParam, CXFA_WidgetA cc* pWidgetAcc )
284 { 284 {
285 if (pParam == NULL) { 285 if (pParam == NULL) {
286 return XFA_EVENTERROR_Error; 286 return XFA_EVENTERROR_Error;
287 } 287 }
288 if (pParam->m_eType == XFA_EVENT_Validate) { 288 if (pParam->m_eType == XFA_EVENT_Validate) {
289 CFX_WideString wsValidateStr = FX_WSTRC(L"preSubmit"); 289 CFX_WideString wsValidateStr = FX_WSTRC(L"preSubmit");
290 CXFA_Node* pConfigItem = (CXFA_Node*)m_pDoc->GetXFADoc()->GetXFANode(XFA _HASHCODE_Config); 290 CXFA_Node* pConfigItem = (CXFA_Node*)m_pDoc->GetXFADoc()->GetXFANode(XFA _HASHCODE_Config);
291 if (pConfigItem) { 291 if (pConfigItem) {
292 CXFA_Node* pValidateNode = NULL; 292 CXFA_Node* pValidateNode = NULL;
293 CXFA_Node* pAcrobatNode = pConfigItem->GetChild(0, XFA_ELEMENT_Acrob at); 293 CXFA_Node* pAcrobatNode = pConfigItem->GetChild(0, XFA_ELEMENT_Acrob at);
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 } 424 }
425 } 425 }
426 void CXFA_FFDocView::DeleteLayoutItem(CXFA_FFWidget* pWidget) 426 void CXFA_FFDocView::DeleteLayoutItem(CXFA_FFWidget* pWidget)
427 { 427 {
428 if (m_pFocusAcc == pWidget->GetDataAcc()) { 428 if (m_pFocusAcc == pWidget->GetDataAcc()) {
429 m_pFocusAcc = NULL; 429 m_pFocusAcc = NULL;
430 m_pFocusWidget = NULL; 430 m_pFocusWidget = NULL;
431 m_pOldFocusWidget = NULL; 431 m_pOldFocusWidget = NULL;
432 } 432 }
433 } 433 }
434 static FX_INT32 XFA_ProcessEvent(CXFA_FFDocView* pDocView, CXFA_WidgetAcc* pWidg etAcc, CXFA_EventParam* pParam) 434 static int32_t XFA_ProcessEvent(CXFA_FFDocView* pDocView, CXFA_WidgetAcc* pWidge tAcc, CXFA_EventParam* pParam)
435 { 435 {
436 if (!pParam || pParam->m_eType == XFA_EVENT_Unknown) { 436 if (!pParam || pParam->m_eType == XFA_EVENT_Unknown) {
437 return XFA_EVENTERROR_NotExist; 437 return XFA_EVENTERROR_NotExist;
438 } 438 }
439 if (!pWidgetAcc || pWidgetAcc->GetClassID() == XFA_ELEMENT_Draw) { 439 if (!pWidgetAcc || pWidgetAcc->GetClassID() == XFA_ELEMENT_Draw) {
440 return XFA_EVENTERROR_NotExist; 440 return XFA_EVENTERROR_NotExist;
441 } 441 }
442 switch (pParam->m_eType) { 442 switch (pParam->m_eType) {
443 case XFA_EVENT_Calculate: 443 case XFA_EVENT_Calculate:
444 return pWidgetAcc->ProcessCalculate(); 444 return pWidgetAcc->ProcessCalculate();
445 case XFA_EVENT_Validate: 445 case XFA_EVENT_Validate:
446 if (((CXFA_FFDoc*)pDocView->GetDoc())->GetDocProvider()->IsValidatio nsEnabled(pDocView->GetDoc())) { 446 if (((CXFA_FFDoc*)pDocView->GetDoc())->GetDocProvider()->IsValidatio nsEnabled(pDocView->GetDoc())) {
447 return pWidgetAcc->ProcessValidate(0x01); 447 return pWidgetAcc->ProcessValidate(0x01);
448 } 448 }
449 return XFA_EVENTERROR_Disabled; 449 return XFA_EVENTERROR_Disabled;
450 case XFA_EVENT_InitCalculate: { 450 case XFA_EVENT_InitCalculate: {
451 CXFA_Calculate calc = pWidgetAcc->GetCalculate(); 451 CXFA_Calculate calc = pWidgetAcc->GetCalculate();
452 if (!calc) { 452 if (!calc) {
453 return XFA_EVENTERROR_NotExist; 453 return XFA_EVENTERROR_NotExist;
454 } 454 }
455 if (pWidgetAcc->GetNode()->HasFlag(XFA_NODEFLAG_UserInteractive) ) { 455 if (pWidgetAcc->GetNode()->HasFlag(XFA_NODEFLAG_UserInteractive) ) {
456 return XFA_EVENTERROR_Disabled; 456 return XFA_EVENTERROR_Disabled;
457 } 457 }
458 CXFA_Script script = calc.GetScript(); 458 CXFA_Script script = calc.GetScript();
459 return pWidgetAcc->ExecuteScript(script, pParam); 459 return pWidgetAcc->ExecuteScript(script, pParam);
460 } 460 }
461 default: 461 default:
462 break; 462 break;
463 } 463 }
464 FX_INT32 iRet = pWidgetAcc->ProcessEvent(gs_EventActivity[pParam->m_eType], pParam); 464 int32_t iRet = pWidgetAcc->ProcessEvent(gs_EventActivity[pParam->m_eType], p Param);
465 return iRet; 465 return iRet;
466 } 466 }
467 FX_INT32 CXFA_FFDocView::ExecEventActivityByDeepFirst(CXFA_Node* pFormNode, XFA_ EVENTTYPE eEventType, FX_BOOL bIsFormReady, FX_BOOL bRecursive, CXFA_Node* pExcl ude) 467 int32_t CXFA_FFDocView::ExecEventActivityByDeepFirst(CXFA_Node* pFormNode, XFA_E VENTTYPE eEventType, FX_BOOL bIsFormReady, FX_BOOL bRecursive, CXFA_Node* pExclu de)
468 { 468 {
469 FX_INT32 iRet = XFA_EVENTERROR_NotExist; 469 int32_t iRet = XFA_EVENTERROR_NotExist;
470 if (pFormNode == pExclude) { 470 if (pFormNode == pExclude) {
471 return iRet; 471 return iRet;
472 } 472 }
473 XFA_ELEMENT elementType = pFormNode->GetClassID(); 473 XFA_ELEMENT elementType = pFormNode->GetClassID();
474 if (elementType == XFA_ELEMENT_Field) { 474 if (elementType == XFA_ELEMENT_Field) {
475 if (eEventType == XFA_EVENT_IndexChange) { 475 if (eEventType == XFA_EVENT_IndexChange) {
476 return iRet; 476 return iRet;
477 } 477 }
478 CXFA_WidgetAcc* pWidgetAcc = (CXFA_WidgetAcc*)pFormNode->GetWidgetData() ; 478 CXFA_WidgetAcc* pWidgetAcc = (CXFA_WidgetAcc*)pFormNode->GetWidgetData() ;
479 if (pWidgetAcc == NULL) { 479 if (pWidgetAcc == NULL) {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
521 return NULL; 521 return NULL;
522 } 522 }
523 CXFA_Node* refNode = NULL; 523 CXFA_Node* refNode = NULL;
524 if(pRefWidgetAcc != NULL) { 524 if(pRefWidgetAcc != NULL) {
525 refNode = pRefWidgetAcc->GetNode(); 525 refNode = pRefWidgetAcc->GetNode();
526 wsExpression = wsName; 526 wsExpression = wsName;
527 } else { 527 } else {
528 wsExpression = L"$form." + wsName; 528 wsExpression = L"$form." + wsName;
529 } 529 }
530 XFA_RESOLVENODE_RS resoveNodeRS; 530 XFA_RESOLVENODE_RS resoveNodeRS;
531 FX_INT32 iRet = pScriptContext->ResolveObjects(refNode, wsExpression, resove NodeRS, dwStyle); 531 int32_t iRet = pScriptContext->ResolveObjects(refNode, wsExpression, resoveN odeRS, dwStyle);
532 if (iRet < 1) { 532 if (iRet < 1) {
533 return NULL; 533 return NULL;
534 } 534 }
535 if (resoveNodeRS.dwFlags == XFA_RESOVENODE_RSTYPE_Nodes) { 535 if (resoveNodeRS.dwFlags == XFA_RESOVENODE_RSTYPE_Nodes) {
536 CXFA_Object* pNode = resoveNodeRS.nodes[0]; 536 CXFA_Object* pNode = resoveNodeRS.nodes[0];
537 if(pNode->IsNode()) { 537 if(pNode->IsNode()) {
538 return (CXFA_WidgetAcc*)((CXFA_Node*)pNode)->GetWidgetData(); 538 return (CXFA_WidgetAcc*)((CXFA_Node*)pNode)->GetWidgetData();
539 } 539 }
540 } 540 }
541 return NULL; 541 return NULL;
542 } 542 }
543 void CXFA_FFDocView::OnPageEvent(IXFA_LayoutPage *pSender, XFA_PAGEEVENT eEvent, FX_INT32 iPageIndex) 543 void CXFA_FFDocView::OnPageEvent(IXFA_LayoutPage *pSender, XFA_PAGEEVENT eEvent, int32_t iPageIndex)
544 { 544 {
545 FX_BOOL bNofify = m_iStatus >= XFA_DOCVIEW_LAYOUTSTATUS_End; 545 FX_BOOL bNofify = m_iStatus >= XFA_DOCVIEW_LAYOUTSTATUS_End;
546 if (eEvent == XFA_PAGEEVENT_PageRemoved) { 546 if (eEvent == XFA_PAGEEVENT_PageRemoved) {
547 if (bNofify) { 547 if (bNofify) {
548 m_pDoc->GetDocProvider()->PageViewEvent((CXFA_FFPageView*)pSender, X FA_PAGEVIEWEVENT_PostRemoved); 548 m_pDoc->GetDocProvider()->PageViewEvent((CXFA_FFPageView*)pSender, X FA_PAGEVIEWEVENT_PostRemoved);
549 } 549 }
550 } else if (eEvent == XFA_PAGEEVENT_PageAdded) { 550 } else if (eEvent == XFA_PAGEEVENT_PageAdded) {
551 if (bNofify) { 551 if (bNofify) {
552 m_pDoc->GetDocProvider()->PageViewEvent((CXFA_FFPageView*)pSender, X FA_PAGEVIEWEVENT_PostAdded); 552 m_pDoc->GetDocProvider()->PageViewEvent((CXFA_FFPageView*)pSender, X FA_PAGEVIEWEVENT_PostAdded);
553 ((CXFA_FFPageView*)pSender)->LoadPageView(); 553 ((CXFA_FFPageView*)pSender)->LoadPageView();
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
613 UnlockUpdate(); 613 UnlockUpdate();
614 m_bInLayoutStatus = FALSE; 614 m_bInLayoutStatus = FALSE;
615 return TRUE; 615 return TRUE;
616 } 616 }
617 m_bInLayoutStatus = FALSE; 617 m_bInLayoutStatus = FALSE;
618 UnlockUpdate(); 618 UnlockUpdate();
619 return FALSE; 619 return FALSE;
620 } 620 }
621 void CXFA_FFDocView::RunSubformIndexChange() 621 void CXFA_FFDocView::RunSubformIndexChange()
622 { 622 {
623 FX_INT32 iSubforms = m_IndexChangedSubforms.GetSize(); 623 int32_t iSubforms = m_IndexChangedSubforms.GetSize();
624 for (FX_INT32 i = 0; i < iSubforms; i++) { 624 for (int32_t i = 0; i < iSubforms; i++) {
625 CXFA_Node* pSubformNode = (CXFA_Node*)m_IndexChangedSubforms[i]; 625 CXFA_Node* pSubformNode = (CXFA_Node*)m_IndexChangedSubforms[i];
626 CXFA_WidgetAcc* pWidgetAcc = (CXFA_WidgetAcc*)pSubformNode->GetWidgetDat a(); 626 CXFA_WidgetAcc* pWidgetAcc = (CXFA_WidgetAcc*)pSubformNode->GetWidgetDat a();
627 if (!pWidgetAcc) { 627 if (!pWidgetAcc) {
628 continue; 628 continue;
629 } 629 }
630 CXFA_EventParam eParam; 630 CXFA_EventParam eParam;
631 eParam.m_eType = XFA_EVENT_IndexChange; 631 eParam.m_eType = XFA_EVENT_IndexChange;
632 eParam.m_pTarget = pWidgetAcc; 632 eParam.m_pTarget = pWidgetAcc;
633 pWidgetAcc->ProcessEvent(XFA_ATTRIBUTEENUM_IndexChange, &eParam); 633 pWidgetAcc->ProcessEvent(XFA_ATTRIBUTEENUM_IndexChange, &eParam);
634 } 634 }
(...skipping 25 matching lines...) Expand all
660 m_ValidateAccs.RemoveAll(); 660 m_ValidateAccs.RemoveAll();
661 m_bindItems.RemoveAll(); 661 m_bindItems.RemoveAll();
662 m_CalculateAccs.RemoveAll(); 662 m_CalculateAccs.RemoveAll();
663 } 663 }
664 FX_BOOL CXFA_FFDocView::IsStaticNotify() 664 FX_BOOL CXFA_FFDocView::IsStaticNotify()
665 { 665 {
666 return m_pDoc->GetDocType() == XFA_DOCTYPE_Static; 666 return m_pDoc->GetDocType() == XFA_DOCTYPE_Static;
667 } 667 }
668 void CXFA_FFDocView::AddCalculateWidgetAcc(CXFA_WidgetAcc* pWidgetAcc) 668 void CXFA_FFDocView::AddCalculateWidgetAcc(CXFA_WidgetAcc* pWidgetAcc)
669 { 669 {
670 FX_INT32 iAccs = m_CalculateAccs.GetSize(); 670 int32_t iAccs = m_CalculateAccs.GetSize();
671 CXFA_WidgetAcc* pCurrentAcc = (iAccs < 1) ? (CXFA_WidgetAcc*)NULL : (CXFA_Wi dgetAcc*)m_CalculateAccs[iAccs - 1]; 671 CXFA_WidgetAcc* pCurrentAcc = (iAccs < 1) ? (CXFA_WidgetAcc*)NULL : (CXFA_Wi dgetAcc*)m_CalculateAccs[iAccs - 1];
672 if (pCurrentAcc != pWidgetAcc) { 672 if (pCurrentAcc != pWidgetAcc) {
673 m_CalculateAccs.Add(pWidgetAcc); 673 m_CalculateAccs.Add(pWidgetAcc);
674 } 674 }
675 } 675 }
676 void CXFA_FFDocView::AddCalculateNodeNotify(CXFA_Node* pNodeChange) 676 void CXFA_FFDocView::AddCalculateNodeNotify(CXFA_Node* pNodeChange)
677 { 677 {
678 CXFA_CalcData* pGlobalData = (CXFA_CalcData*)pNodeChange->GetUserData(XFA_Ca lcData); 678 CXFA_CalcData* pGlobalData = (CXFA_CalcData*)pNodeChange->GetUserData(XFA_Ca lcData);
679 FX_INT32 iCount = pGlobalData ? pGlobalData->m_Globals.GetSize() : 0; 679 int32_t iCount = pGlobalData ? pGlobalData->m_Globals.GetSize() : 0;
680 for (FX_INT32 i = 0; i < iCount; i++) { 680 for (int32_t i = 0; i < iCount; i++) {
681 CXFA_WidgetAcc* pResultAcc = (CXFA_WidgetAcc*)pGlobalData->m_Globals[i]; 681 CXFA_WidgetAcc* pResultAcc = (CXFA_WidgetAcc*)pGlobalData->m_Globals[i];
682 if (pResultAcc->GetNode()->HasFlag(XFA_NODEFLAG_HasRemoved)) { 682 if (pResultAcc->GetNode()->HasFlag(XFA_NODEFLAG_HasRemoved)) {
683 continue; 683 continue;
684 } 684 }
685 FX_INT32 iAccs = m_CalculateAccs.GetSize(); 685 int32_t iAccs = m_CalculateAccs.GetSize();
686 CXFA_WidgetAcc* pCurrentAcc = (iAccs < 1) ? (CXFA_WidgetAcc*)NULL : (CXF A_WidgetAcc*)m_CalculateAccs[iAccs - 1]; 686 CXFA_WidgetAcc* pCurrentAcc = (iAccs < 1) ? (CXFA_WidgetAcc*)NULL : (CXF A_WidgetAcc*)m_CalculateAccs[iAccs - 1];
687 if (pCurrentAcc != pResultAcc) { 687 if (pCurrentAcc != pResultAcc) {
688 m_CalculateAccs.Add(pResultAcc); 688 m_CalculateAccs.Add(pResultAcc);
689 } 689 }
690 } 690 }
691 } 691 }
692 void CXFA_FFDocView::RunCalculateRecursive(FX_INT32& iIndex) 692 void CXFA_FFDocView::RunCalculateRecursive(int32_t& iIndex)
693 { 693 {
694 while (iIndex < m_CalculateAccs.GetSize()) { 694 while (iIndex < m_CalculateAccs.GetSize()) {
695 CXFA_WidgetAcc* pCurAcc = (CXFA_WidgetAcc*)m_CalculateAccs[iIndex]; 695 CXFA_WidgetAcc* pCurAcc = (CXFA_WidgetAcc*)m_CalculateAccs[iIndex];
696 AddCalculateNodeNotify(pCurAcc->GetNode()); 696 AddCalculateNodeNotify(pCurAcc->GetNode());
697 FX_INT32 iRefCount = (FX_INT32)(FX_UINTPTR)pCurAcc->GetNode()->GetUserDa ta(XFA_CalcRefCount); 697 int32_t iRefCount = (int32_t)(uintptr_t)pCurAcc->GetNode()->GetUserData( XFA_CalcRefCount);
698 iRefCount++; 698 iRefCount++;
699 pCurAcc->GetNode()->SetUserData(XFA_CalcRefCount, (FX_LPVOID)(FX_UINTPTR )iRefCount); 699 pCurAcc->GetNode()->SetUserData(XFA_CalcRefCount, (FX_LPVOID)(uintptr_t) iRefCount);
700 if (iRefCount > 11) { 700 if (iRefCount > 11) {
701 break; 701 break;
702 } 702 }
703 if ((pCurAcc->ProcessCalculate()) == XFA_EVENTERROR_Sucess) { 703 if ((pCurAcc->ProcessCalculate()) == XFA_EVENTERROR_Sucess) {
704 AddValidateWidget(pCurAcc); 704 AddValidateWidget(pCurAcc);
705 } 705 }
706 iIndex++; 706 iIndex++;
707 RunCalculateRecursive(iIndex); 707 RunCalculateRecursive(iIndex);
708 } 708 }
709 } 709 }
710 FX_INT32 CXFA_FFDocView::RunCalculateWidgets() 710 int32_t CXFA_FFDocView::RunCalculateWidgets()
711 { 711 {
712 if (!m_pDoc->GetDocProvider()->IsCalculationsEnabled(m_pDoc)) { 712 if (!m_pDoc->GetDocProvider()->IsCalculationsEnabled(m_pDoc)) {
713 return XFA_EVENTERROR_Disabled; 713 return XFA_EVENTERROR_Disabled;
714 } 714 }
715 FX_INT32 iCounts = m_CalculateAccs.GetSize(); 715 int32_t iCounts = m_CalculateAccs.GetSize();
716 FX_INT32 iIndex = 0; 716 int32_t iIndex = 0;
717 if (iCounts > 0) { 717 if (iCounts > 0) {
718 RunCalculateRecursive(iIndex); 718 RunCalculateRecursive(iIndex);
719 } 719 }
720 for (FX_INT32 i = 0; i < m_CalculateAccs.GetSize(); i++) { 720 for (int32_t i = 0; i < m_CalculateAccs.GetSize(); i++) {
721 CXFA_WidgetAcc* pCurAcc = (CXFA_WidgetAcc*)m_CalculateAccs[i]; 721 CXFA_WidgetAcc* pCurAcc = (CXFA_WidgetAcc*)m_CalculateAccs[i];
722 pCurAcc->GetNode()->SetUserData(XFA_CalcRefCount, (FX_LPVOID)(FX_UINTPTR )0); 722 pCurAcc->GetNode()->SetUserData(XFA_CalcRefCount, (FX_LPVOID)(uintptr_t) 0);
723 } 723 }
724 m_CalculateAccs.RemoveAll(); 724 m_CalculateAccs.RemoveAll();
725 return XFA_EVENTERROR_Sucess; 725 return XFA_EVENTERROR_Sucess;
726 } 726 }
727 void CXFA_FFDocView::AddValidateWidget(CXFA_WidgetAcc* pWidget) 727 void CXFA_FFDocView::AddValidateWidget(CXFA_WidgetAcc* pWidget)
728 { 728 {
729 if (m_ValidateAccs.Find(pWidget) < 0) { 729 if (m_ValidateAccs.Find(pWidget) < 0) {
730 m_ValidateAccs.Add(pWidget); 730 m_ValidateAccs.Add(pWidget);
731 } 731 }
732 } 732 }
733 FX_BOOL CXFA_FFDocView::InitCalculate(CXFA_Node* pNode) 733 FX_BOOL CXFA_FFDocView::InitCalculate(CXFA_Node* pNode)
734 { 734 {
735 ExecEventActivityByDeepFirst(pNode, XFA_EVENT_InitCalculate); 735 ExecEventActivityByDeepFirst(pNode, XFA_EVENT_InitCalculate);
736 return TRUE; 736 return TRUE;
737 } 737 }
738 FX_BOOL CXFA_FFDocView::InitValidate(CXFA_Node* pNode) 738 FX_BOOL CXFA_FFDocView::InitValidate(CXFA_Node* pNode)
739 { 739 {
740 if (!m_pDoc->GetDocProvider()->IsValidationsEnabled(m_pDoc)) { 740 if (!m_pDoc->GetDocProvider()->IsValidationsEnabled(m_pDoc)) {
741 return FALSE; 741 return FALSE;
742 } 742 }
743 ExecEventActivityByDeepFirst(pNode, XFA_EVENT_Validate); 743 ExecEventActivityByDeepFirst(pNode, XFA_EVENT_Validate);
744 m_ValidateAccs.RemoveAll(); 744 m_ValidateAccs.RemoveAll();
745 return TRUE; 745 return TRUE;
746 } 746 }
747 FX_BOOL CXFA_FFDocView::RunValidate() 747 FX_BOOL CXFA_FFDocView::RunValidate()
748 { 748 {
749 if (!m_pDoc->GetDocProvider()->IsValidationsEnabled(m_pDoc)) { 749 if (!m_pDoc->GetDocProvider()->IsValidationsEnabled(m_pDoc)) {
750 return FALSE; 750 return FALSE;
751 } 751 }
752 FX_INT32 iCounts = m_ValidateAccs.GetSize(); 752 int32_t iCounts = m_ValidateAccs.GetSize();
753 for (FX_INT32 i = 0; i < iCounts; i++) { 753 for (int32_t i = 0; i < iCounts; i++) {
754 CXFA_WidgetAcc* pAcc = (CXFA_WidgetAcc*)m_ValidateAccs[i]; 754 CXFA_WidgetAcc* pAcc = (CXFA_WidgetAcc*)m_ValidateAccs[i];
755 if (pAcc->GetNode()->HasFlag(XFA_NODEFLAG_HasRemoved)) { 755 if (pAcc->GetNode()->HasFlag(XFA_NODEFLAG_HasRemoved)) {
756 continue; 756 continue;
757 } 757 }
758 pAcc->ProcessValidate(); 758 pAcc->ProcessValidate();
759 } 759 }
760 m_ValidateAccs.RemoveAll(); 760 m_ValidateAccs.RemoveAll();
761 return TRUE; 761 return TRUE;
762 } 762 }
763 FX_BOOL CXFA_FFDocView::RunEventLayoutReady() 763 FX_BOOL CXFA_FFDocView::RunEventLayoutReady()
764 { 764 {
765 CXFA_Node* pRootItem = (CXFA_Node*)m_pDoc->GetXFADoc()->GetXFANode(XFA_HASHC ODE_Form); 765 CXFA_Node* pRootItem = (CXFA_Node*)m_pDoc->GetXFADoc()->GetXFANode(XFA_HASHC ODE_Form);
766 if (!pRootItem) { 766 if (!pRootItem) {
767 return FALSE; 767 return FALSE;
768 } 768 }
769 ExecEventActivityByDeepFirst(pRootItem, XFA_EVENT_Ready); 769 ExecEventActivityByDeepFirst(pRootItem, XFA_EVENT_Ready);
770 RunLayout(); 770 RunLayout();
771 return TRUE; 771 return TRUE;
772 } 772 }
773 void CXFA_FFDocView::RunBindItems() 773 void CXFA_FFDocView::RunBindItems()
774 { 774 {
775 FX_INT32 iCount = m_bindItems.GetSize(); 775 int32_t iCount = m_bindItems.GetSize();
776 for (FX_INT32 i = 0; i < iCount; i++) { 776 for (int32_t i = 0; i < iCount; i++) {
777 if (((CXFA_Node*)m_bindItems[i])->HasFlag(XFA_NODEFLAG_HasRemoved)) { 777 if (((CXFA_Node*)m_bindItems[i])->HasFlag(XFA_NODEFLAG_HasRemoved)) {
778 continue; 778 continue;
779 } 779 }
780 CXFA_Node* pWidgetNode = ((CXFA_Node*)m_bindItems[i])->GetNodeItem(XFA_N ODEITEM_Parent); 780 CXFA_Node* pWidgetNode = ((CXFA_Node*)m_bindItems[i])->GetNodeItem(XFA_N ODEITEM_Parent);
781 CXFA_WidgetAcc* pAcc = (CXFA_WidgetAcc*)pWidgetNode->GetWidgetData(); 781 CXFA_WidgetAcc* pAcc = (CXFA_WidgetAcc*)pWidgetNode->GetWidgetData();
782 if (!pAcc) { 782 if (!pAcc) {
783 continue; 783 continue;
784 } 784 }
785 CXFA_BindItems binditems((CXFA_Node*)m_bindItems[i]); 785 CXFA_BindItems binditems((CXFA_Node*)m_bindItems[i]);
786 IXFA_ScriptContext* pScriptContext = pWidgetNode->GetDocument()->GetScri ptContext(); 786 IXFA_ScriptContext* pScriptContext = pWidgetNode->GetDocument()->GetScri ptContext();
787 CFX_WideStringC wsRef; 787 CFX_WideStringC wsRef;
788 binditems.GetRef(wsRef); 788 binditems.GetRef(wsRef);
789 FX_DWORD dwStyle = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_Parent | XFA_RESOLVENODE_ALL; 789 FX_DWORD dwStyle = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_Parent | XFA_RESOLVENODE_ALL;
790 XFA_RESOLVENODE_RS rs; 790 XFA_RESOLVENODE_RS rs;
791 pScriptContext->ResolveObjects(pWidgetNode, wsRef, rs, dwStyle); 791 pScriptContext->ResolveObjects(pWidgetNode, wsRef, rs, dwStyle);
792 FX_INT32 iCount = rs.nodes.GetSize(); 792 int32_t iCount = rs.nodes.GetSize();
793 pAcc->DeleteItem(-1); 793 pAcc->DeleteItem(-1);
794 if (rs.dwFlags != XFA_RESOVENODE_RSTYPE_Nodes || iCount < 1) { 794 if (rs.dwFlags != XFA_RESOVENODE_RSTYPE_Nodes || iCount < 1) {
795 continue; 795 continue;
796 } 796 }
797 CFX_WideStringC wsValueRef, wsLabelRef; 797 CFX_WideStringC wsValueRef, wsLabelRef;
798 binditems.GetValueRef(wsValueRef); 798 binditems.GetValueRef(wsValueRef);
799 binditems.GetLabelRef(wsLabelRef); 799 binditems.GetLabelRef(wsLabelRef);
800 FX_BOOL bUseValue = wsLabelRef.IsEmpty() || wsLabelRef == wsValueRef; 800 FX_BOOL bUseValue = wsLabelRef.IsEmpty() || wsLabelRef == wsValueRef;
801 FX_BOOL bLabelUseContent = wsLabelRef.IsEmpty() || wsLabelRef == FX_WSTR C(L"$"); 801 FX_BOOL bLabelUseContent = wsLabelRef.IsEmpty() || wsLabelRef == FX_WSTR C(L"$");
802 FX_BOOL bValueUseContent = wsValueRef.IsEmpty() || wsValueRef == FX_WSTR C(L"$"); 802 FX_BOOL bValueUseContent = wsValueRef.IsEmpty() || wsValueRef == FX_WSTR C(L"$");
803 CFX_WideString wsValue, wsLabel; 803 CFX_WideString wsValue, wsLabel;
804 FX_DWORD uValueHash = FX_HashCode_String_GetW(CFX_WideString(wsValueRef) , wsValueRef.GetLength()); 804 FX_DWORD uValueHash = FX_HashCode_String_GetW(CFX_WideString(wsValueRef) , wsValueRef.GetLength());
805 FX_DWORD uLableHash = FX_HashCode_String_GetW(CFX_WideString(wsLabelRef) , wsLabelRef.GetLength()); 805 FX_DWORD uLableHash = FX_HashCode_String_GetW(CFX_WideString(wsLabelRef) , wsLabelRef.GetLength());
806 for (FX_INT32 i = 0; i < iCount; i++) { 806 for (int32_t i = 0; i < iCount; i++) {
807 CXFA_Object* refObj = rs.nodes[i]; 807 CXFA_Object* refObj = rs.nodes[i];
808 if(!refObj->IsNode()) { 808 if(!refObj->IsNode()) {
809 continue; 809 continue;
810 } 810 }
811 CXFA_Node* refNode = (CXFA_Node*)refObj; 811 CXFA_Node* refNode = (CXFA_Node*)refObj;
812 if (bValueUseContent) { 812 if (bValueUseContent) {
813 wsValue = refNode->GetContent(); 813 wsValue = refNode->GetContent();
814 } else { 814 } else {
815 CXFA_Node* nodeValue = refNode->GetFirstChildByName(uValueHash); 815 CXFA_Node* nodeValue = refNode->GetFirstChildByName(uValueHash);
816 if (nodeValue == NULL) { 816 if (nodeValue == NULL) {
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
951 } 951 }
952 FX_BOOL CXFA_WidgetAccIterator::SetCurrentWidgetAcc(CXFA_WidgetAcc* hWidget) 952 FX_BOOL CXFA_WidgetAccIterator::SetCurrentWidgetAcc(CXFA_WidgetAcc* hWidget)
953 { 953 {
954 return FALSE; 954 return FALSE;
955 } 955 }
956 void CXFA_WidgetAccIterator::SkipTree() 956 void CXFA_WidgetAccIterator::SkipTree()
957 { 957 {
958 m_ContentIterator.SkipChildrenAndMoveToNext(); 958 m_ContentIterator.SkipChildrenAndMoveToNext();
959 m_pCurWidgetAcc = NULL; 959 m_pCurWidgetAcc = NULL;
960 } 960 }
OLDNEW
« no previous file with comments | « xfa/src/fxfa/src/app/xfa_ffdocview.h ('k') | xfa/src/fxfa/src/app/xfa_ffexclgroup.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698