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 "xfa/fxfa/parser/xfa_layout_pagemgr_new.h" | 7 #include "xfa/fxfa/parser/xfa_layout_pagemgr_new.h" |
8 | 8 |
| 9 #include "xfa/fxfa/app/xfa_ffnotify.h" |
9 #include "xfa/fxfa/fm2js/xfa_fm2jsapi.h" | 10 #include "xfa/fxfa/fm2js/xfa_fm2jsapi.h" |
10 #include "xfa/fxfa/parser/xfa_docdata.h" | 11 #include "xfa/fxfa/parser/xfa_docdata.h" |
11 #include "xfa/fxfa/parser/xfa_doclayout.h" | 12 #include "xfa/fxfa/parser/xfa_doclayout.h" |
12 #include "xfa/fxfa/parser/xfa_document.h" | 13 #include "xfa/fxfa/parser/xfa_document.h" |
13 #include "xfa/fxfa/parser/xfa_document_datamerger_imp.h" | 14 #include "xfa/fxfa/parser/xfa_document_datamerger_imp.h" |
14 #include "xfa/fxfa/parser/xfa_document_layout_imp.h" | 15 #include "xfa/fxfa/parser/xfa_document_layout_imp.h" |
15 #include "xfa/fxfa/parser/xfa_layout_appadapter.h" | 16 #include "xfa/fxfa/parser/xfa_layout_appadapter.h" |
16 #include "xfa/fxfa/parser/xfa_layout_itemlayout.h" | 17 #include "xfa/fxfa/parser/xfa_layout_itemlayout.h" |
17 #include "xfa/fxfa/parser/xfa_localemgr.h" | 18 #include "xfa/fxfa/parser/xfa_localemgr.h" |
18 #include "xfa/fxfa/parser/xfa_object.h" | 19 #include "xfa/fxfa/parser/xfa_object.h" |
19 #include "xfa/fxfa/parser/xfa_parser.h" | 20 #include "xfa/fxfa/parser/xfa_parser.h" |
| 21 #include "xfa/fxfa/parser/xfa_parser_imp.h" |
20 #include "xfa/fxfa/parser/xfa_script.h" | 22 #include "xfa/fxfa/parser/xfa_script.h" |
| 23 #include "xfa/fxfa/parser/xfa_script_imp.h" |
21 #include "xfa/fxfa/parser/xfa_utils.h" | 24 #include "xfa/fxfa/parser/xfa_utils.h" |
22 | 25 |
23 CXFA_LayoutPageMgr::CXFA_LayoutPageMgr(CXFA_LayoutProcessor* pLayoutProcessor) | 26 CXFA_LayoutPageMgr::CXFA_LayoutPageMgr(CXFA_LayoutProcessor* pLayoutProcessor) |
24 : m_pLayoutProcessor(pLayoutProcessor), | 27 : m_pLayoutProcessor(pLayoutProcessor), |
25 m_pTemplatePageSetRoot(nullptr), | 28 m_pTemplatePageSetRoot(nullptr), |
26 m_pPageSetLayoutItemRoot(nullptr), | 29 m_pPageSetLayoutItemRoot(nullptr), |
27 m_pPageSetCurRoot(nullptr), | 30 m_pPageSetCurRoot(nullptr), |
28 m_pCurrentContainerRecord(nullptr), | 31 m_pCurrentContainerRecord(nullptr), |
29 m_pCurPageArea(nullptr), | 32 m_pCurPageArea(nullptr), |
30 m_nAvailPages(0), | 33 m_nAvailPages(0), |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 iCount++; | 78 iCount++; |
76 if (pPageArea->GetFirstChildByClass(XFA_ELEMENT_ContentArea)) { | 79 if (pPageArea->GetFirstChildByClass(XFA_ELEMENT_ContentArea)) { |
77 return TRUE; | 80 return TRUE; |
78 } | 81 } |
79 } | 82 } |
80 } | 83 } |
81 if (iCount > 0) { | 84 if (iCount > 0) { |
82 return FALSE; | 85 return FALSE; |
83 } | 86 } |
84 CXFA_Document* pDocument = pTemplateNode->GetDocument(); | 87 CXFA_Document* pDocument = pTemplateNode->GetDocument(); |
85 IXFA_ObjFactory* pObjFactory = pDocument->GetParser()->GetFactory(); | 88 CXFA_Document* pObjFactory = pDocument->GetParser()->GetFactory(); |
86 pPageArea = m_pTemplatePageSetRoot->GetChild(0, XFA_ELEMENT_PageArea); | 89 pPageArea = m_pTemplatePageSetRoot->GetChild(0, XFA_ELEMENT_PageArea); |
87 if (!pPageArea) { | 90 if (!pPageArea) { |
88 pPageArea = pObjFactory->CreateNode(m_pTemplatePageSetRoot->GetPacketID(), | 91 pPageArea = pObjFactory->CreateNode(m_pTemplatePageSetRoot->GetPacketID(), |
89 XFA_ELEMENT_PageArea); | 92 XFA_ELEMENT_PageArea); |
90 if (!pPageArea) { | 93 if (!pPageArea) { |
91 return FALSE; | 94 return FALSE; |
92 } | 95 } |
93 m_pTemplatePageSetRoot->InsertChild(pPageArea, NULL); | 96 m_pTemplatePageSetRoot->InsertChild(pPageArea, NULL); |
94 pPageArea->SetFlag(XFA_NODEFLAG_Initialized); | 97 pPageArea->SetFlag(XFA_NODEFLAG_Initialized); |
95 } | 98 } |
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
399 } | 402 } |
400 void CXFA_LayoutPageMgr::AddPageAreaLayoutItem(CXFA_ContainerRecord* pNewRecord, | 403 void CXFA_LayoutPageMgr::AddPageAreaLayoutItem(CXFA_ContainerRecord* pNewRecord, |
401 CXFA_Node* pNewPageArea) { | 404 CXFA_Node* pNewPageArea) { |
402 CXFA_ContainerLayoutItem* pNewPageAreaLayoutItem = NULL; | 405 CXFA_ContainerLayoutItem* pNewPageAreaLayoutItem = NULL; |
403 if (m_PageArray.GetSize() > m_nAvailPages) { | 406 if (m_PageArray.GetSize() > m_nAvailPages) { |
404 CXFA_ContainerLayoutItem* pContainerItem = m_PageArray[m_nAvailPages]; | 407 CXFA_ContainerLayoutItem* pContainerItem = m_PageArray[m_nAvailPages]; |
405 pContainerItem->m_pFormNode = pNewPageArea; | 408 pContainerItem->m_pFormNode = pNewPageArea; |
406 m_nAvailPages++; | 409 m_nAvailPages++; |
407 pNewPageAreaLayoutItem = pContainerItem; | 410 pNewPageAreaLayoutItem = pContainerItem; |
408 } else { | 411 } else { |
409 IXFA_Notify* pNotify = | 412 CXFA_FFNotify* pNotify = |
410 pNewPageArea->GetDocument()->GetParser()->GetNotify(); | 413 pNewPageArea->GetDocument()->GetParser()->GetNotify(); |
411 CXFA_ContainerLayoutItem* pContainerItem = | 414 CXFA_ContainerLayoutItem* pContainerItem = |
412 (CXFA_ContainerLayoutItem*)pNotify->OnCreateLayoutItem(pNewPageArea); | 415 (CXFA_ContainerLayoutItem*)pNotify->OnCreateLayoutItem(pNewPageArea); |
413 m_PageArray.Add(pContainerItem); | 416 m_PageArray.Add(pContainerItem); |
414 m_nAvailPages++; | 417 m_nAvailPages++; |
415 pNotify->OnPageEvent(pContainerItem, XFA_PAGEEVENT_PageAdded, | 418 pNotify->OnPageEvent(pContainerItem, XFA_PAGEEVENT_PageAdded, |
416 (void*)(uintptr_t)m_nAvailPages); | 419 (void*)(uintptr_t)m_nAvailPages); |
417 pNewPageAreaLayoutItem = pContainerItem; | 420 pNewPageAreaLayoutItem = pContainerItem; |
418 } | 421 } |
419 pNewRecord->pCurPageSet->AddChild(pNewPageAreaLayoutItem); | 422 pNewRecord->pCurPageSet->AddChild(pNewPageAreaLayoutItem); |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
592 AddPageAreaLayoutItem(pRecord, pNode); | 595 AddPageAreaLayoutItem(pRecord, pNode); |
593 } | 596 } |
594 } break; | 597 } break; |
595 } | 598 } |
596 } | 599 } |
597 } | 600 } |
598 } | 601 } |
599 int32_t CXFA_LayoutPageMgr::GetPageCount() const { | 602 int32_t CXFA_LayoutPageMgr::GetPageCount() const { |
600 return m_PageArray.GetSize(); | 603 return m_PageArray.GetSize(); |
601 } | 604 } |
602 IXFA_LayoutPage* CXFA_LayoutPageMgr::GetPage(int32_t index) const { | 605 CXFA_ContainerLayoutItem* CXFA_LayoutPageMgr::GetPage(int32_t index) const { |
603 if (index < 0 || index >= m_PageArray.GetSize()) | 606 if (index < 0 || index >= m_PageArray.GetSize()) |
604 return nullptr; | 607 return nullptr; |
605 return m_PageArray[index]; | 608 return m_PageArray[index]; |
606 } | 609 } |
607 int32_t CXFA_LayoutPageMgr::GetPageIndex(const IXFA_LayoutPage* pPage) const { | 610 int32_t CXFA_LayoutPageMgr::GetPageIndex( |
| 611 const CXFA_ContainerLayoutItem* pPage) const { |
608 // FIXME: Find() method should take const. | 612 // FIXME: Find() method should take const. |
609 return m_PageArray.Find(static_cast<CXFA_ContainerLayoutItem*>( | 613 return m_PageArray.Find(const_cast<CXFA_ContainerLayoutItem*>(pPage)); |
610 const_cast<IXFA_LayoutPage*>(pPage))); | |
611 } | 614 } |
612 FX_BOOL CXFA_LayoutPageMgr::RunBreak(XFA_ELEMENT eBreakType, | 615 FX_BOOL CXFA_LayoutPageMgr::RunBreak(XFA_ELEMENT eBreakType, |
613 XFA_ATTRIBUTEENUM eTargetType, | 616 XFA_ATTRIBUTEENUM eTargetType, |
614 CXFA_Node* pTarget, | 617 CXFA_Node* pTarget, |
615 FX_BOOL bStartNew) { | 618 FX_BOOL bStartNew) { |
616 FX_BOOL bRet = FALSE; | 619 FX_BOOL bRet = FALSE; |
617 switch (eTargetType) { | 620 switch (eTargetType) { |
618 case XFA_ATTRIBUTEENUM_ContentArea: | 621 case XFA_ATTRIBUTEENUM_ContentArea: |
619 if (pTarget && pTarget->GetClassID() != XFA_ELEMENT_ContentArea) { | 622 if (pTarget && pTarget->GetClassID() != XFA_ELEMENT_ContentArea) { |
620 pTarget = NULL; | 623 pTarget = NULL; |
(...skipping 867 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1488 m_nCurPageCount = 0; | 1491 m_nCurPageCount = 0; |
1489 m_bCreateOverFlowPage = FALSE; | 1492 m_bCreateOverFlowPage = FALSE; |
1490 m_pPageSetMap.RemoveAll(); | 1493 m_pPageSetMap.RemoveAll(); |
1491 } | 1494 } |
1492 CXFA_LayoutItem* CXFA_LayoutPageMgr::FindOrCreateLayoutItem( | 1495 CXFA_LayoutItem* CXFA_LayoutPageMgr::FindOrCreateLayoutItem( |
1493 CXFA_Node* pFormNode) { | 1496 CXFA_Node* pFormNode) { |
1494 return pFormNode->GetDocument()->GetParser()->GetNotify()->OnCreateLayoutItem( | 1497 return pFormNode->GetDocument()->GetParser()->GetNotify()->OnCreateLayoutItem( |
1495 pFormNode); | 1498 pFormNode); |
1496 } | 1499 } |
1497 static void XFA_SyncRemoveLayoutItem(CXFA_LayoutItem* pParentLayoutItem, | 1500 static void XFA_SyncRemoveLayoutItem(CXFA_LayoutItem* pParentLayoutItem, |
1498 IXFA_Notify* pNotify, | 1501 CXFA_FFNotify* pNotify, |
1499 IXFA_DocLayout* pDocLayout) { | 1502 CXFA_LayoutProcessor* pDocLayout) { |
1500 CXFA_LayoutItem* pNextLayoutItem; | 1503 CXFA_LayoutItem* pNextLayoutItem; |
1501 CXFA_LayoutItem* pCurLayoutItem = pParentLayoutItem->m_pFirstChild; | 1504 CXFA_LayoutItem* pCurLayoutItem = pParentLayoutItem->m_pFirstChild; |
1502 while (pCurLayoutItem) { | 1505 while (pCurLayoutItem) { |
1503 pNextLayoutItem = pCurLayoutItem->m_pNextSibling; | 1506 pNextLayoutItem = pCurLayoutItem->m_pNextSibling; |
1504 if (pCurLayoutItem->m_pFirstChild) { | 1507 if (pCurLayoutItem->m_pFirstChild) { |
1505 XFA_SyncRemoveLayoutItem(pCurLayoutItem, pNotify, pDocLayout); | 1508 XFA_SyncRemoveLayoutItem(pCurLayoutItem, pNotify, pDocLayout); |
1506 } | 1509 } |
1507 pNotify->OnLayoutEvent(pDocLayout, pCurLayoutItem, | 1510 pNotify->OnLayoutEvent(pDocLayout, pCurLayoutItem, |
1508 XFA_LAYOUTEVENT_ItemRemoving); | 1511 XFA_LAYOUTEVENT_ItemRemoving); |
1509 delete pCurLayoutItem; | 1512 delete pCurLayoutItem; |
1510 pCurLayoutItem = pNextLayoutItem; | 1513 pCurLayoutItem = pNextLayoutItem; |
1511 } | 1514 } |
1512 } | 1515 } |
1513 void CXFA_LayoutPageMgr::SaveLayoutItem(CXFA_LayoutItem* pParentLayoutItem) { | 1516 void CXFA_LayoutPageMgr::SaveLayoutItem(CXFA_LayoutItem* pParentLayoutItem) { |
1514 CXFA_LayoutItem* pNextLayoutItem; | 1517 CXFA_LayoutItem* pNextLayoutItem; |
1515 CXFA_LayoutItem* pCurLayoutItem = pParentLayoutItem->m_pFirstChild; | 1518 CXFA_LayoutItem* pCurLayoutItem = pParentLayoutItem->m_pFirstChild; |
1516 while (pCurLayoutItem) { | 1519 while (pCurLayoutItem) { |
1517 pNextLayoutItem = pCurLayoutItem->m_pNextSibling; | 1520 pNextLayoutItem = pCurLayoutItem->m_pNextSibling; |
1518 if (pCurLayoutItem->IsContentLayoutItem()) { | 1521 if (pCurLayoutItem->IsContentLayoutItem()) { |
1519 uint32_t dwFlag = pCurLayoutItem->m_pFormNode->GetFlag(); | 1522 uint32_t dwFlag = pCurLayoutItem->m_pFormNode->GetFlag(); |
1520 if (dwFlag & (XFA_NODEFLAG_HasRemoved)) { | 1523 if (dwFlag & (XFA_NODEFLAG_HasRemoved)) { |
1521 IXFA_Notify* pNotify = | 1524 CXFA_FFNotify* pNotify = |
1522 m_pTemplatePageSetRoot->GetDocument()->GetParser()->GetNotify(); | 1525 m_pTemplatePageSetRoot->GetDocument()->GetParser()->GetNotify(); |
1523 IXFA_DocLayout* pDocLayout = | 1526 CXFA_LayoutProcessor* pDocLayout = |
1524 m_pTemplatePageSetRoot->GetDocument()->GetDocLayout(); | 1527 m_pTemplatePageSetRoot->GetDocument()->GetDocLayout(); |
1525 if (pCurLayoutItem->m_pFirstChild) { | 1528 if (pCurLayoutItem->m_pFirstChild) { |
1526 XFA_SyncRemoveLayoutItem(pCurLayoutItem, pNotify, pDocLayout); | 1529 XFA_SyncRemoveLayoutItem(pCurLayoutItem, pNotify, pDocLayout); |
1527 } | 1530 } |
1528 pNotify->OnLayoutEvent(pDocLayout, pCurLayoutItem, | 1531 pNotify->OnLayoutEvent(pDocLayout, pCurLayoutItem, |
1529 XFA_LAYOUTEVENT_ItemRemoving); | 1532 XFA_LAYOUTEVENT_ItemRemoving); |
1530 delete pCurLayoutItem; | 1533 delete pCurLayoutItem; |
1531 pCurLayoutItem = pNextLayoutItem; | 1534 pCurLayoutItem = pNextLayoutItem; |
1532 continue; | 1535 continue; |
1533 } | 1536 } |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1571 } | 1574 } |
1572 return NULL; | 1575 return NULL; |
1573 } else if (pCurNode->GetClassID() == XFA_ELEMENT_Overflow) { | 1576 } else if (pCurNode->GetClassID() == XFA_ELEMENT_Overflow) { |
1574 return pCurNode; | 1577 return pCurNode; |
1575 } | 1578 } |
1576 } | 1579 } |
1577 return NULL; | 1580 return NULL; |
1578 } | 1581 } |
1579 void CXFA_LayoutPageMgr::MergePageSetContents() { | 1582 void CXFA_LayoutPageMgr::MergePageSetContents() { |
1580 CXFA_Document* pDocument = m_pTemplatePageSetRoot->GetDocument(); | 1583 CXFA_Document* pDocument = m_pTemplatePageSetRoot->GetDocument(); |
1581 IXFA_Notify* pNotify = pDocument->GetParser()->GetNotify(); | 1584 CXFA_FFNotify* pNotify = pDocument->GetParser()->GetNotify(); |
1582 IXFA_DocLayout* pDocLayout = pDocument->GetDocLayout(); | 1585 CXFA_LayoutProcessor* pDocLayout = pDocument->GetDocLayout(); |
1583 CXFA_ContainerLayoutItem* pRootLayout = GetRootLayoutItem(); | 1586 CXFA_ContainerLayoutItem* pRootLayout = GetRootLayoutItem(); |
1584 { | 1587 { |
1585 for (int32_t iIndex = 0; iIndex < pDocument->m_pPendingPageSet.GetSize(); | 1588 for (int32_t iIndex = 0; iIndex < pDocument->m_pPendingPageSet.GetSize(); |
1586 iIndex++) { | 1589 iIndex++) { |
1587 CXFA_NodeIteratorTemplate<CXFA_Node, CXFA_TraverseStrategy_XFANode> | 1590 CXFA_NodeIteratorTemplate<CXFA_Node, CXFA_TraverseStrategy_XFANode> |
1588 sIterator(pDocument->m_pPendingPageSet.GetAt(iIndex)); | 1591 sIterator(pDocument->m_pPendingPageSet.GetAt(iIndex)); |
1589 for (CXFA_Node* pNode = sIterator.GetCurrent(); pNode; | 1592 for (CXFA_Node* pNode = sIterator.GetCurrent(); pNode; |
1590 pNode = sIterator.MoveToNext()) { | 1593 pNode = sIterator.MoveToNext()) { |
1591 if (pNode->IsContainerNode()) { | 1594 if (pNode->IsContainerNode()) { |
1592 CXFA_Node* pBindNode = pNode->GetBindData(); | 1595 CXFA_Node* pBindNode = pNode->GetBindData(); |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1783 case XFA_ELEMENT_PageArea: | 1786 case XFA_ELEMENT_PageArea: |
1784 m_pLayoutProcessor->GetRootRootItemLayoutProcessor() | 1787 m_pLayoutProcessor->GetRootRootItemLayoutProcessor() |
1785 ->DoLayoutPageArea(pContainerItem); | 1788 ->DoLayoutPageArea(pContainerItem); |
1786 break; | 1789 break; |
1787 default: | 1790 default: |
1788 break; | 1791 break; |
1789 } | 1792 } |
1790 } | 1793 } |
1791 } | 1794 } |
1792 } | 1795 } |
1793 void XFA_SyncContainer(IXFA_Notify* pNotify, | 1796 void XFA_SyncContainer(CXFA_FFNotify* pNotify, |
1794 IXFA_DocLayout* pDocLayout, | 1797 CXFA_LayoutProcessor* pDocLayout, |
1795 CXFA_LayoutItem* pContainerItem, | 1798 CXFA_LayoutItem* pContainerItem, |
1796 uint32_t dwRelevant, | 1799 uint32_t dwRelevant, |
1797 FX_BOOL bVisible, | 1800 FX_BOOL bVisible, |
1798 int32_t nPageIndex) { | 1801 int32_t nPageIndex) { |
1799 FX_BOOL bVisibleItem = FALSE; | 1802 FX_BOOL bVisibleItem = FALSE; |
1800 uint32_t dwStatus = 0; | 1803 uint32_t dwStatus = 0; |
1801 uint32_t dwRelevantContainer = 0; | 1804 uint32_t dwRelevantContainer = 0; |
1802 if (bVisible) { | 1805 if (bVisible) { |
1803 XFA_ATTRIBUTEENUM eAttributeValue = | 1806 XFA_ATTRIBUTEENUM eAttributeValue = |
1804 pContainerItem->m_pFormNode->GetEnum(XFA_ATTRIBUTE_Presence); | 1807 pContainerItem->m_pFormNode->GetEnum(XFA_ATTRIBUTE_Presence); |
(...skipping 13 matching lines...) Expand all Loading... |
1818 pChild = pChild->m_pNextSibling) { | 1821 pChild = pChild->m_pNextSibling) { |
1819 if (pChild->IsContentLayoutItem()) { | 1822 if (pChild->IsContentLayoutItem()) { |
1820 XFA_SyncContainer(pNotify, pDocLayout, pChild, dwRelevantContainer, | 1823 XFA_SyncContainer(pNotify, pDocLayout, pChild, dwRelevantContainer, |
1821 bVisibleItem, nPageIndex); | 1824 bVisibleItem, nPageIndex); |
1822 } | 1825 } |
1823 } | 1826 } |
1824 } | 1827 } |
1825 void CXFA_LayoutPageMgr::SyncLayoutData() { | 1828 void CXFA_LayoutPageMgr::SyncLayoutData() { |
1826 MergePageSetContents(); | 1829 MergePageSetContents(); |
1827 LayoutPageSetContents(); | 1830 LayoutPageSetContents(); |
1828 IXFA_Notify* pNotify = | 1831 CXFA_FFNotify* pNotify = |
1829 m_pTemplatePageSetRoot->GetDocument()->GetParser()->GetNotify(); | 1832 m_pTemplatePageSetRoot->GetDocument()->GetParser()->GetNotify(); |
1830 int32_t nPageIdx = -1; | 1833 int32_t nPageIdx = -1; |
1831 CXFA_ContainerLayoutItem* pRootLayoutItem = GetRootLayoutItem(); | 1834 CXFA_ContainerLayoutItem* pRootLayoutItem = GetRootLayoutItem(); |
1832 for (; pRootLayoutItem; | 1835 for (; pRootLayoutItem; |
1833 pRootLayoutItem = | 1836 pRootLayoutItem = |
1834 (CXFA_ContainerLayoutItem*)pRootLayoutItem->m_pNextSibling) { | 1837 (CXFA_ContainerLayoutItem*)pRootLayoutItem->m_pNextSibling) { |
1835 CXFA_NodeIteratorTemplate< | 1838 CXFA_NodeIteratorTemplate< |
1836 CXFA_ContainerLayoutItem, | 1839 CXFA_ContainerLayoutItem, |
1837 CXFA_TraverseStrategy_ContentAreaContainerLayoutItem> | 1840 CXFA_TraverseStrategy_ContentAreaContainerLayoutItem> |
1838 iteratorParent(pRootLayoutItem); | 1841 iteratorParent(pRootLayoutItem); |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1922 } | 1925 } |
1923 pRootLayoutItem = m_pPageSetLayoutItemRoot; | 1926 pRootLayoutItem = m_pPageSetLayoutItemRoot; |
1924 CXFA_ContainerLayoutItem* pNextLayout = NULL; | 1927 CXFA_ContainerLayoutItem* pNextLayout = NULL; |
1925 for (; pRootLayoutItem; pRootLayoutItem = pNextLayout) { | 1928 for (; pRootLayoutItem; pRootLayoutItem = pNextLayout) { |
1926 pNextLayout = (CXFA_ContainerLayoutItem*)pRootLayoutItem->m_pNextSibling; | 1929 pNextLayout = (CXFA_ContainerLayoutItem*)pRootLayoutItem->m_pNextSibling; |
1927 SaveLayoutItem(pRootLayoutItem); | 1930 SaveLayoutItem(pRootLayoutItem); |
1928 delete pRootLayoutItem; | 1931 delete pRootLayoutItem; |
1929 } | 1932 } |
1930 m_pPageSetLayoutItemRoot = NULL; | 1933 m_pPageSetLayoutItemRoot = NULL; |
1931 } | 1934 } |
OLD | NEW |