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

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

Issue 1864973005: Move remaining xfa/include/fxfa files (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Rebase to master Created 4 years, 8 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/include/fxfa/xfa_ffdochandler.h ('k') | xfa/include/fxfa/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
(Empty)
1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7 #ifndef XFA_INCLUDE_FXFA_XFA_FFDOCVIEW_H_
8 #define XFA_INCLUDE_FXFA_XFA_FFDOCVIEW_H_
9
10 #include "xfa/include/fxfa/xfa_ffdoc.h"
11
12 class CXFA_FFWidgetHandler;
13 class CXFA_FFDoc;
14 class CXFA_FFWidget;
15 class CXFA_WidgetAccIterator;
16
17 extern const XFA_ATTRIBUTEENUM gs_EventActivity[];
18 enum XFA_DOCVIEW_LAYOUTSTATUS {
19 XFA_DOCVIEW_LAYOUTSTATUS_None,
20 XFA_DOCVIEW_LAYOUTSTATUS_Start,
21 XFA_DOCVIEW_LAYOUTSTATUS_FormInitialize,
22 XFA_DOCVIEW_LAYOUTSTATUS_FormInitCalculate,
23 XFA_DOCVIEW_LAYOUTSTATUS_FormInitValidate,
24 XFA_DOCVIEW_LAYOUTSTATUS_FormFormReady,
25 XFA_DOCVIEW_LAYOUTSTATUS_Doing,
26 XFA_DOCVIEW_LAYOUTSTATUS_PagesetInitialize,
27 XFA_DOCVIEW_LAYOUTSTATUS_PagesetInitCalculate,
28 XFA_DOCVIEW_LAYOUTSTATUS_PagesetInitValidate,
29 XFA_DOCVIEW_LAYOUTSTATUS_PagesetFormReady,
30 XFA_DOCVIEW_LAYOUTSTATUS_LayoutReady,
31 XFA_DOCVIEW_LAYOUTSTATUS_DocReady,
32 XFA_DOCVIEW_LAYOUTSTATUS_End
33 };
34 class CXFA_FFDocView {
35 public:
36 CXFA_FFDocView(CXFA_FFDoc* pDoc);
37 ~CXFA_FFDocView();
38
39 CXFA_FFDoc* GetDoc() { return m_pDoc; }
40 int32_t StartLayout(int32_t iStartPage = 0);
41 int32_t DoLayout(IFX_Pause* pPause = NULL);
42 void StopLayout();
43 int32_t GetLayoutStatus();
44 void UpdateDocView();
45 int32_t CountPageViews();
46 CXFA_FFPageView* GetPageView(int32_t nIndex);
47
48 void ResetWidgetData(CXFA_WidgetAcc* pWidgetAcc = NULL);
49 int32_t ProcessWidgetEvent(CXFA_EventParam* pParam,
50 CXFA_WidgetAcc* pWidgetAcc = NULL);
51 CXFA_FFWidgetHandler* GetWidgetHandler();
52 IXFA_WidgetIterator* CreateWidgetIterator();
53 CXFA_WidgetAccIterator* CreateWidgetAccIterator(
54 XFA_WIDGETORDER eOrder = XFA_WIDGETORDER_PreOrder);
55 CXFA_FFWidget* GetFocusWidget();
56 void KillFocus();
57 FX_BOOL SetFocus(CXFA_FFWidget* hWidget);
58 CXFA_FFWidget* GetWidgetByName(const CFX_WideStringC& wsName,
59 CXFA_FFWidget* pRefWidget = NULL);
60 CXFA_WidgetAcc* GetWidgetAccByName(const CFX_WideStringC& wsName,
61 CXFA_WidgetAcc* pRefWidgetAcc = NULL);
62 CXFA_LayoutProcessor* GetXFALayout() const;
63 void OnPageEvent(CXFA_ContainerLayoutItem* pSender,
64 XFA_PAGEEVENT eEvent,
65 int32_t iPageIndex);
66 void LockUpdate();
67 void UnlockUpdate();
68 FX_BOOL IsUpdateLocked();
69 void ClearInvalidateList();
70 void AddInvalidateRect(CXFA_FFWidget* pWidget, const CFX_RectF& rtInvalidate);
71 void AddInvalidateRect(CXFA_FFPageView* pPageView,
72 const CFX_RectF& rtInvalidate);
73 void RunInvalidate();
74 void RunDocClose();
75 void DestroyDocView();
76
77 FX_BOOL InitValidate(CXFA_Node* pNode);
78 FX_BOOL RunValidate();
79
80 void SetChangeMark();
81
82 void AddValidateWidget(CXFA_WidgetAcc* pWidget);
83 void AddCalculateNodeNotify(CXFA_Node* pNodeChange);
84 void AddCalculateWidgetAcc(CXFA_WidgetAcc* pWidgetAcc);
85 int32_t RunCalculateWidgets();
86 FX_BOOL IsStaticNotify();
87 FX_BOOL RunLayout();
88 void RunSubformIndexChange();
89 void AddNewFormNode(CXFA_Node* pNode);
90 void AddIndexChangedSubform(CXFA_Node* pNode);
91 CXFA_WidgetAcc* GetFocusWidgetAcc();
92 void SetFocusWidgetAcc(CXFA_WidgetAcc* pWidgetAcc);
93 void DeleteLayoutItem(CXFA_FFWidget* pWidget);
94 int32_t ExecEventActivityByDeepFirst(CXFA_Node* pFormNode,
95 XFA_EVENTTYPE eEventType,
96 FX_BOOL bIsFormReady = FALSE,
97 FX_BOOL bRecursive = TRUE,
98 CXFA_Node* pExclude = NULL);
99 FX_BOOL m_bLayoutEvent;
100 CFX_WideStringArray m_arrNullTestMsg;
101 CXFA_FFWidget* m_pListFocusWidget;
102 FX_BOOL m_bInLayoutStatus;
103
104 protected:
105 FX_BOOL RunEventLayoutReady();
106 void RunBindItems();
107 FX_BOOL InitCalculate(CXFA_Node* pNode);
108 void InitLayout(CXFA_Node* pNode);
109 void RunCalculateRecursive(int32_t& iIndex);
110 void ShowNullTestMsg();
111 FX_BOOL ResetSingleWidgetAccData(CXFA_WidgetAcc* pWidgetAcc);
112 CXFA_Node* GetRootSubform();
113
114 CXFA_FFDoc* m_pDoc;
115 CXFA_FFWidgetHandler* m_pWidgetHandler;
116 CXFA_LayoutProcessor* m_pXFADocLayout;
117 CXFA_WidgetAcc* m_pFocusAcc;
118 CXFA_FFWidget* m_pFocusWidget;
119 CXFA_FFWidget* m_pOldFocusWidget;
120 CFX_MapPtrToPtr m_mapPageInvalidate;
121 CFX_PtrArray m_ValidateAccs;
122 CFX_PtrArray m_bindItems;
123 CFX_PtrArray m_CalculateAccs;
124
125 CFX_PtrArray m_NewAddedNodes;
126 CFX_PtrArray m_IndexChangedSubforms;
127 XFA_DOCVIEW_LAYOUTSTATUS m_iStatus;
128 int32_t m_iLock;
129 friend class CXFA_FFNotify;
130 };
131 class CXFA_FFDocWidgetIterator : public IXFA_WidgetIterator {
132 public:
133 CXFA_FFDocWidgetIterator(CXFA_FFDocView* pDocView, CXFA_Node* pTravelRoot);
134 virtual ~CXFA_FFDocWidgetIterator();
135
136 virtual void Release() { delete this; }
137
138 virtual void Reset();
139 virtual CXFA_FFWidget* MoveToFirst();
140 virtual CXFA_FFWidget* MoveToLast();
141 virtual CXFA_FFWidget* MoveToNext();
142 virtual CXFA_FFWidget* MoveToPrevious();
143 virtual CXFA_FFWidget* GetCurrentWidget();
144 virtual FX_BOOL SetCurrentWidget(CXFA_FFWidget* hWidget);
145
146 protected:
147 CXFA_ContainerIterator m_ContentIterator;
148 CXFA_FFDocView* m_pDocView;
149 CXFA_FFWidget* m_pCurWidget;
150 };
151 class CXFA_WidgetAccIterator {
152 public:
153 CXFA_WidgetAccIterator(CXFA_FFDocView* pDocView, CXFA_Node* pTravelRoot);
154 ~CXFA_WidgetAccIterator();
155
156 void Release() { delete this; }
157 void Reset();
158 CXFA_WidgetAcc* MoveToFirst();
159 CXFA_WidgetAcc* MoveToLast();
160 CXFA_WidgetAcc* MoveToNext();
161 CXFA_WidgetAcc* MoveToPrevious();
162 CXFA_WidgetAcc* GetCurrentWidgetAcc();
163 FX_BOOL SetCurrentWidgetAcc(CXFA_WidgetAcc* hWidget);
164 void SkipTree();
165
166 protected:
167 CXFA_ContainerIterator m_ContentIterator;
168 CXFA_FFDocView* m_pDocView;
169 CXFA_WidgetAcc* m_pCurWidgetAcc;
170 };
171
172 #endif // XFA_INCLUDE_FXFA_XFA_FFDOCVIEW_H_
OLDNEW
« no previous file with comments | « xfa/include/fxfa/xfa_ffdochandler.h ('k') | xfa/include/fxfa/xfa_ffpageview.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698