| OLD | NEW | 
 | (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_ |  | 
| OLD | NEW |