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

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

Issue 2227883002: Use smart pointers for class owned pointers in xfa/fxfa (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: remove deleters Created 4 years, 4 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
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 <map> 10 #include <map>
(...skipping 24 matching lines...) Expand all
35 XFA_DOCVIEW_LAYOUTSTATUS_DocReady, 35 XFA_DOCVIEW_LAYOUTSTATUS_DocReady,
36 XFA_DOCVIEW_LAYOUTSTATUS_End 36 XFA_DOCVIEW_LAYOUTSTATUS_End
37 }; 37 };
38 class CXFA_FFDocView { 38 class CXFA_FFDocView {
39 public: 39 public:
40 CXFA_FFDocView(CXFA_FFDoc* pDoc); 40 CXFA_FFDocView(CXFA_FFDoc* pDoc);
41 ~CXFA_FFDocView(); 41 ~CXFA_FFDocView();
42 42
43 CXFA_FFDoc* GetDoc() { return m_pDoc; } 43 CXFA_FFDoc* GetDoc() { return m_pDoc; }
44 int32_t StartLayout(int32_t iStartPage = 0); 44 int32_t StartLayout(int32_t iStartPage = 0);
45 int32_t DoLayout(IFX_Pause* pPause = nullptr); 45 int32_t DoLayout(IFX_Pause* pPause);
46 void StopLayout(); 46 void StopLayout();
47 int32_t GetLayoutStatus(); 47 int32_t GetLayoutStatus();
48 void UpdateDocView(); 48 void UpdateDocView();
49 int32_t CountPageViews(); 49 int32_t CountPageViews();
50 CXFA_FFPageView* GetPageView(int32_t nIndex); 50 CXFA_FFPageView* GetPageView(int32_t nIndex);
51 51
52 void ResetWidgetData(CXFA_WidgetAcc* pWidgetAcc = nullptr); 52 void ResetWidgetData(CXFA_WidgetAcc* pWidgetAcc);
53 int32_t ProcessWidgetEvent(CXFA_EventParam* pParam, 53 int32_t ProcessWidgetEvent(CXFA_EventParam* pParam,
54 CXFA_WidgetAcc* pWidgetAcc = nullptr); 54 CXFA_WidgetAcc* pWidgetAcc);
55 CXFA_FFWidgetHandler* GetWidgetHandler(); 55 CXFA_FFWidgetHandler* GetWidgetHandler();
56 CXFA_WidgetAccIterator* CreateWidgetAccIterator( 56 CXFA_WidgetAccIterator* CreateWidgetAccIterator(
57 XFA_WIDGETORDER eOrder = XFA_WIDGETORDER_PreOrder); 57 XFA_WIDGETORDER eOrder = XFA_WIDGETORDER_PreOrder);
58 CXFA_FFWidget* GetFocusWidget(); 58 CXFA_FFWidget* GetFocusWidget();
59 void KillFocus(); 59 void KillFocus();
60 FX_BOOL SetFocus(CXFA_FFWidget* hWidget); 60 FX_BOOL SetFocus(CXFA_FFWidget* hWidget);
61 CXFA_FFWidget* GetWidgetByName(const CFX_WideString& wsName, 61 CXFA_FFWidget* GetWidgetByName(const CFX_WideString& wsName,
62 CXFA_FFWidget* pRefWidget = nullptr); 62 CXFA_FFWidget* pRefWidget);
63 CXFA_WidgetAcc* GetWidgetAccByName(const CFX_WideString& wsName, 63 CXFA_WidgetAcc* GetWidgetAccByName(const CFX_WideString& wsName,
64 CXFA_WidgetAcc* pRefWidgetAcc = nullptr); 64 CXFA_WidgetAcc* pRefWidgetAcc);
65 CXFA_LayoutProcessor* GetXFALayout() const; 65 CXFA_LayoutProcessor* GetXFALayout() const;
66 void OnPageEvent(CXFA_ContainerLayoutItem* pSender, uint32_t dwEvent); 66 void OnPageEvent(CXFA_ContainerLayoutItem* pSender, uint32_t dwEvent);
67 void LockUpdate(); 67 void LockUpdate();
68 void UnlockUpdate(); 68 void UnlockUpdate();
69 FX_BOOL IsUpdateLocked(); 69 FX_BOOL IsUpdateLocked();
70 void ClearInvalidateList(); 70 void ClearInvalidateList();
71 void AddInvalidateRect(CXFA_FFWidget* pWidget, const CFX_RectF& rtInvalidate); 71 void AddInvalidateRect(CXFA_FFWidget* pWidget, const CFX_RectF& rtInvalidate);
72 void AddInvalidateRect(CXFA_FFPageView* pPageView, 72 void AddInvalidateRect(CXFA_FFPageView* pPageView,
73 const CFX_RectF& rtInvalidate); 73 const CFX_RectF& rtInvalidate);
74 void RunInvalidate(); 74 void RunInvalidate();
(...skipping 12 matching lines...) Expand all
87 FX_BOOL IsStaticNotify(); 87 FX_BOOL IsStaticNotify();
88 FX_BOOL RunLayout(); 88 FX_BOOL RunLayout();
89 void RunSubformIndexChange(); 89 void RunSubformIndexChange();
90 void AddNewFormNode(CXFA_Node* pNode); 90 void AddNewFormNode(CXFA_Node* pNode);
91 void AddIndexChangedSubform(CXFA_Node* pNode); 91 void AddIndexChangedSubform(CXFA_Node* pNode);
92 CXFA_WidgetAcc* GetFocusWidgetAcc(); 92 CXFA_WidgetAcc* GetFocusWidgetAcc();
93 void SetFocusWidgetAcc(CXFA_WidgetAcc* pWidgetAcc); 93 void SetFocusWidgetAcc(CXFA_WidgetAcc* pWidgetAcc);
94 void DeleteLayoutItem(CXFA_FFWidget* pWidget); 94 void DeleteLayoutItem(CXFA_FFWidget* pWidget);
95 int32_t ExecEventActivityByDeepFirst(CXFA_Node* pFormNode, 95 int32_t ExecEventActivityByDeepFirst(CXFA_Node* pFormNode,
96 XFA_EVENTTYPE eEventType, 96 XFA_EVENTTYPE eEventType,
97 FX_BOOL bIsFormReady = FALSE, 97 FX_BOOL bIsFormReady,
98 FX_BOOL bRecursive = TRUE, 98 FX_BOOL bRecursive,
99 CXFA_Node* pExclude = nullptr); 99 CXFA_Node* pExclude);
100 FX_BOOL m_bLayoutEvent; 100 FX_BOOL m_bLayoutEvent;
101 CFX_WideStringArray m_arrNullTestMsg; 101 CFX_WideStringArray m_arrNullTestMsg;
102 CXFA_FFWidget* m_pListFocusWidget; 102 CXFA_FFWidget* m_pListFocusWidget;
103 FX_BOOL m_bInLayoutStatus; 103 FX_BOOL m_bInLayoutStatus;
104 104
105 protected: 105 protected:
106 FX_BOOL RunEventLayoutReady(); 106 FX_BOOL RunEventLayoutReady();
107 void RunBindItems(); 107 void RunBindItems();
108 FX_BOOL InitCalculate(CXFA_Node* pNode); 108 FX_BOOL InitCalculate(CXFA_Node* pNode);
109 void InitLayout(CXFA_Node* pNode); 109 void InitLayout(CXFA_Node* pNode);
110 void RunCalculateRecursive(int32_t& iIndex); 110 void RunCalculateRecursive(int32_t& iIndex);
111 void ShowNullTestMsg(); 111 void ShowNullTestMsg();
112 FX_BOOL ResetSingleWidgetAccData(CXFA_WidgetAcc* pWidgetAcc); 112 FX_BOOL ResetSingleWidgetAccData(CXFA_WidgetAcc* pWidgetAcc);
113 CXFA_Node* GetRootSubform(); 113 CXFA_Node* GetRootSubform();
114 114
115 CXFA_FFDoc* m_pDoc; 115 CXFA_FFDoc* const m_pDoc;
116 CXFA_FFWidgetHandler* m_pWidgetHandler; 116 std::unique_ptr<CXFA_FFWidgetHandler> m_pWidgetHandler;
117 CXFA_LayoutProcessor* m_pXFADocLayout; 117 CXFA_LayoutProcessor* m_pXFADocLayout;
118 CXFA_WidgetAcc* m_pFocusAcc; 118 CXFA_WidgetAcc* m_pFocusAcc;
119 CXFA_FFWidget* m_pFocusWidget; 119 CXFA_FFWidget* m_pFocusWidget;
120 CXFA_FFWidget* m_pOldFocusWidget; 120 CXFA_FFWidget* m_pOldFocusWidget;
dsinclair 2016/08/10 19:47:25 Are the above not owned? Or can they be unique_ptr
Wei Li 2016/08/10 21:44:57 they are not owned by this class. Marked them expl
121 std::map<CXFA_FFPageView*, std::unique_ptr<CFX_RectF>> m_mapPageInvalidate; 121 std::map<CXFA_FFPageView*, std::unique_ptr<CFX_RectF>> m_mapPageInvalidate;
122 CFX_ArrayTemplate<CXFA_WidgetAcc*> m_ValidateAccs; 122 CFX_ArrayTemplate<CXFA_WidgetAcc*> m_ValidateAccs;
123 CFX_ArrayTemplate<CXFA_WidgetAcc*> m_CalculateAccs; 123 CFX_ArrayTemplate<CXFA_WidgetAcc*> m_CalculateAccs;
124 CFX_ArrayTemplate<CXFA_Node*> m_BindItems; 124 CFX_ArrayTemplate<CXFA_Node*> m_BindItems;
125 CFX_ArrayTemplate<CXFA_Node*> m_NewAddedNodes; 125 CFX_ArrayTemplate<CXFA_Node*> m_NewAddedNodes;
126 CFX_ArrayTemplate<CXFA_Node*> m_IndexChangedSubforms; 126 CFX_ArrayTemplate<CXFA_Node*> m_IndexChangedSubforms;
127 XFA_DOCVIEW_LAYOUTSTATUS m_iStatus; 127 XFA_DOCVIEW_LAYOUTSTATUS m_iStatus;
128 int32_t m_iLock; 128 int32_t m_iLock;
129 friend class CXFA_FFNotify; 129 friend class CXFA_FFNotify;
130 }; 130 };
131 131
132 class CXFA_WidgetAccIterator { 132 class CXFA_WidgetAccIterator {
133 public: 133 public:
134 CXFA_WidgetAccIterator(CXFA_FFDocView* pDocView, CXFA_Node* pTravelRoot); 134 CXFA_WidgetAccIterator(CXFA_FFDocView* pDocView, CXFA_Node* pTravelRoot);
135 ~CXFA_WidgetAccIterator(); 135 ~CXFA_WidgetAccIterator();
136 136
137 void Reset(); 137 void Reset();
138 CXFA_WidgetAcc* MoveToFirst(); 138 CXFA_WidgetAcc* MoveToFirst();
139 CXFA_WidgetAcc* MoveToLast(); 139 CXFA_WidgetAcc* MoveToLast();
140 CXFA_WidgetAcc* MoveToNext(); 140 CXFA_WidgetAcc* MoveToNext();
141 CXFA_WidgetAcc* MoveToPrevious(); 141 CXFA_WidgetAcc* MoveToPrevious();
142 CXFA_WidgetAcc* GetCurrentWidgetAcc(); 142 CXFA_WidgetAcc* GetCurrentWidgetAcc();
143 FX_BOOL SetCurrentWidgetAcc(CXFA_WidgetAcc* hWidget); 143 FX_BOOL SetCurrentWidgetAcc(CXFA_WidgetAcc* hWidget);
144 void SkipTree(); 144 void SkipTree();
145 145
146 protected: 146 protected:
147 CXFA_ContainerIterator m_ContentIterator; 147 CXFA_ContainerIterator m_ContentIterator;
148 CXFA_FFDocView* m_pDocView; 148 CXFA_FFDocView* const m_pDocView;
149 CXFA_WidgetAcc* m_pCurWidgetAcc; 149 CXFA_WidgetAcc* m_pCurWidgetAcc;
dsinclair 2016/08/10 19:47:25 Can this be unique_ptr or is it not owned?
Wei Li 2016/08/10 21:44:57 Not owned.
150 }; 150 };
151 151
152 #endif // XFA_FXFA_INCLUDE_XFA_FFDOCVIEW_H_ 152 #endif // XFA_FXFA_INCLUDE_XFA_FFDOCVIEW_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698