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

Side by Side Diff: xfa/fxfa/include/xfa_ffdocview.h

Issue 1976123003: Remove { delete this; } anti-pattern from IXFA_WidgetIterator (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Restore page Release(). 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/fxfa/include/fxfa.h ('k') | xfa/fxfa/include/xfa_ffpageview.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 #ifndef XFA_FXFA_INCLUDE_XFA_FFDOCVIEW_H_ 7 #ifndef XFA_FXFA_INCLUDE_XFA_FFDOCVIEW_H_
8 #define XFA_FXFA_INCLUDE_XFA_FFDOCVIEW_H_ 8 #define XFA_FXFA_INCLUDE_XFA_FFDOCVIEW_H_
9 9
10 #include "xfa/fxfa/include/xfa_ffdoc.h" 10 #include "xfa/fxfa/include/xfa_ffdoc.h"
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 CFX_MapPtrToPtr m_mapPageInvalidate; 118 CFX_MapPtrToPtr m_mapPageInvalidate;
119 CFX_ArrayTemplate<CXFA_WidgetAcc*> m_ValidateAccs; 119 CFX_ArrayTemplate<CXFA_WidgetAcc*> m_ValidateAccs;
120 CFX_ArrayTemplate<CXFA_WidgetAcc*> m_CalculateAccs; 120 CFX_ArrayTemplate<CXFA_WidgetAcc*> m_CalculateAccs;
121 CFX_ArrayTemplate<CXFA_Node*> m_BindItems; 121 CFX_ArrayTemplate<CXFA_Node*> m_BindItems;
122 CFX_ArrayTemplate<CXFA_Node*> m_NewAddedNodes; 122 CFX_ArrayTemplate<CXFA_Node*> m_NewAddedNodes;
123 CFX_ArrayTemplate<CXFA_Node*> m_IndexChangedSubforms; 123 CFX_ArrayTemplate<CXFA_Node*> m_IndexChangedSubforms;
124 XFA_DOCVIEW_LAYOUTSTATUS m_iStatus; 124 XFA_DOCVIEW_LAYOUTSTATUS m_iStatus;
125 int32_t m_iLock; 125 int32_t m_iLock;
126 friend class CXFA_FFNotify; 126 friend class CXFA_FFNotify;
127 }; 127 };
128
128 class CXFA_FFDocWidgetIterator : public IXFA_WidgetIterator { 129 class CXFA_FFDocWidgetIterator : public IXFA_WidgetIterator {
129 public: 130 public:
130 CXFA_FFDocWidgetIterator(CXFA_FFDocView* pDocView, CXFA_Node* pTravelRoot); 131 CXFA_FFDocWidgetIterator(CXFA_FFDocView* pDocView, CXFA_Node* pTravelRoot);
131 virtual ~CXFA_FFDocWidgetIterator(); 132 ~CXFA_FFDocWidgetIterator() override;
132 133
133 virtual void Release() { delete this; } 134 // IXFA_WidgetIterator:
134 135 void Reset() override;
135 virtual void Reset(); 136 CXFA_FFWidget* MoveToFirst() override;
136 virtual CXFA_FFWidget* MoveToFirst(); 137 CXFA_FFWidget* MoveToLast() override;
137 virtual CXFA_FFWidget* MoveToLast(); 138 CXFA_FFWidget* MoveToNext() override;
138 virtual CXFA_FFWidget* MoveToNext(); 139 CXFA_FFWidget* MoveToPrevious() override;
139 virtual CXFA_FFWidget* MoveToPrevious(); 140 CXFA_FFWidget* GetCurrentWidget() override;
140 virtual CXFA_FFWidget* GetCurrentWidget(); 141 FX_BOOL SetCurrentWidget(CXFA_FFWidget* hWidget) override;
141 virtual FX_BOOL SetCurrentWidget(CXFA_FFWidget* hWidget);
142 142
143 protected: 143 protected:
144 CXFA_ContainerIterator m_ContentIterator; 144 CXFA_ContainerIterator m_ContentIterator;
145 CXFA_FFDocView* m_pDocView; 145 CXFA_FFDocView* m_pDocView;
146 CXFA_FFWidget* m_pCurWidget; 146 CXFA_FFWidget* m_pCurWidget;
147 }; 147 };
148 class CXFA_WidgetAccIterator { 148 class CXFA_WidgetAccIterator {
149 public: 149 public:
150 CXFA_WidgetAccIterator(CXFA_FFDocView* pDocView, CXFA_Node* pTravelRoot); 150 CXFA_WidgetAccIterator(CXFA_FFDocView* pDocView, CXFA_Node* pTravelRoot);
151 ~CXFA_WidgetAccIterator(); 151 ~CXFA_WidgetAccIterator();
152 152
153 void Release() { delete this; } 153 void Release() { delete this; }
154 void Reset(); 154 void Reset();
155 CXFA_WidgetAcc* MoveToFirst(); 155 CXFA_WidgetAcc* MoveToFirst();
156 CXFA_WidgetAcc* MoveToLast(); 156 CXFA_WidgetAcc* MoveToLast();
157 CXFA_WidgetAcc* MoveToNext(); 157 CXFA_WidgetAcc* MoveToNext();
158 CXFA_WidgetAcc* MoveToPrevious(); 158 CXFA_WidgetAcc* MoveToPrevious();
159 CXFA_WidgetAcc* GetCurrentWidgetAcc(); 159 CXFA_WidgetAcc* GetCurrentWidgetAcc();
160 FX_BOOL SetCurrentWidgetAcc(CXFA_WidgetAcc* hWidget); 160 FX_BOOL SetCurrentWidgetAcc(CXFA_WidgetAcc* hWidget);
161 void SkipTree(); 161 void SkipTree();
162 162
163 protected: 163 protected:
164 CXFA_ContainerIterator m_ContentIterator; 164 CXFA_ContainerIterator m_ContentIterator;
165 CXFA_FFDocView* m_pDocView; 165 CXFA_FFDocView* m_pDocView;
166 CXFA_WidgetAcc* m_pCurWidgetAcc; 166 CXFA_WidgetAcc* m_pCurWidgetAcc;
167 }; 167 };
168 168
169 #endif // XFA_FXFA_INCLUDE_XFA_FFDOCVIEW_H_ 169 #endif // XFA_FXFA_INCLUDE_XFA_FFDOCVIEW_H_
OLDNEW
« no previous file with comments | « xfa/fxfa/include/fxfa.h ('k') | xfa/fxfa/include/xfa_ffpageview.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698