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 #ifndef XFA_FXFA_PARSER_XFA_SCRIPT_NODEHELPER_H_ | 7 #ifndef XFA_FXFA_PARSER_XFA_SCRIPT_NODEHELPER_H_ |
8 #define XFA_FXFA_PARSER_XFA_SCRIPT_NODEHELPER_H_ | 8 #define XFA_FXFA_PARSER_XFA_SCRIPT_NODEHELPER_H_ |
9 | 9 |
10 #include "xfa/fxfa/parser/xfa_object.h" | 10 #include "xfa/fxfa/parser/xfa_object.h" |
11 #include "xfa/fxfa/parser/xfa_script.h" | 11 #include "xfa/fxfa/parser/xfa_script.h" |
12 | 12 |
13 class CXFA_ScriptContext; | 13 class CXFA_ScriptContext; |
14 | 14 |
15 enum XFA_LOGIC_TYPE { | 15 enum XFA_LOGIC_TYPE { |
16 XFA_LOGIC_NoTransparent, | 16 XFA_LOGIC_NoTransparent, |
17 XFA_LOGIC_Transparent, | 17 XFA_LOGIC_Transparent, |
18 }; | 18 }; |
19 | 19 |
20 class CXFA_NodeHelper { | 20 class CXFA_NodeHelper { |
21 public: | 21 public: |
22 CXFA_NodeHelper(); | 22 CXFA_NodeHelper(); |
23 ~CXFA_NodeHelper(); | 23 ~CXFA_NodeHelper(); |
24 | 24 |
25 CXFA_Node* XFA_ResolveNodes_GetOneChild(CXFA_Node* parent, | 25 CXFA_Node* ResolveNodes_GetOneChild(CXFA_Node* parent, |
26 const FX_WCHAR* pwsName, | 26 const FX_WCHAR* pwsName, |
27 FX_BOOL bIsClassName = FALSE); | 27 FX_BOOL bIsClassName = FALSE); |
28 CXFA_Node* XFA_ResolveNodes_GetParent( | 28 CXFA_Node* ResolveNodes_GetParent( |
29 CXFA_Node* pNode, | 29 CXFA_Node* pNode, |
30 XFA_LOGIC_TYPE eLogicType = XFA_LOGIC_NoTransparent); | 30 XFA_LOGIC_TYPE eLogicType = XFA_LOGIC_NoTransparent); |
31 | 31 |
32 int32_t XFA_NodeAcc_TraverseSiblings(CXFA_Node* parent, | 32 int32_t NodeAcc_TraverseSiblings(CXFA_Node* parent, |
33 uint32_t dNameHash, | 33 uint32_t dNameHash, |
34 CXFA_NodeArray* pSiblings, | 34 CXFA_NodeArray* pSiblings, |
35 XFA_LOGIC_TYPE eLogicType, | 35 XFA_LOGIC_TYPE eLogicType, |
36 FX_BOOL bIsClassName = FALSE, | 36 FX_BOOL bIsClassName = FALSE, |
37 FX_BOOL bIsFindProperty = TRUE); | 37 FX_BOOL bIsFindProperty = TRUE); |
38 int32_t XFA_NodeAcc_TraverseAnySiblings(CXFA_Node* parent, | 38 int32_t NodeAcc_TraverseAnySiblings(CXFA_Node* parent, |
39 uint32_t dNameHash, | 39 uint32_t dNameHash, |
40 CXFA_NodeArray* pSiblings, | 40 CXFA_NodeArray* pSiblings, |
41 FX_BOOL bIsClassName = FALSE); | 41 FX_BOOL bIsClassName = FALSE); |
42 int32_t XFA_CountSiblings(CXFA_Node* pNode, | 42 int32_t CountSiblings(CXFA_Node* pNode, |
43 XFA_LOGIC_TYPE eLogicType, | 43 XFA_LOGIC_TYPE eLogicType, |
44 CXFA_NodeArray* pSiblings, | 44 CXFA_NodeArray* pSiblings, |
45 FX_BOOL bIsClassName = FALSE); | 45 FX_BOOL bIsClassName = FALSE); |
46 int32_t XFA_GetIndex(CXFA_Node* pNode, | 46 int32_t GetIndex(CXFA_Node* pNode, |
47 XFA_LOGIC_TYPE eLogicType = XFA_LOGIC_NoTransparent, | 47 XFA_LOGIC_TYPE eLogicType = XFA_LOGIC_NoTransparent, |
48 FX_BOOL bIsProperty = FALSE, | 48 FX_BOOL bIsProperty = FALSE, |
49 FX_BOOL bIsClassIndex = FALSE); | 49 FX_BOOL bIsClassIndex = FALSE); |
50 void XFA_GetNameExpression( | 50 void GetNameExpression(CXFA_Node* refNode, |
51 CXFA_Node* refNode, | 51 CFX_WideString& wsName, |
52 CFX_WideString& wsName, | 52 FX_BOOL bIsAllPath, |
53 FX_BOOL bIsAllPath, | 53 XFA_LOGIC_TYPE eLogicType = XFA_LOGIC_NoTransparent); |
54 XFA_LOGIC_TYPE eLogicType = XFA_LOGIC_NoTransparent); | 54 FX_BOOL NodeIsTransparent(CXFA_Node* refNode); |
55 FX_BOOL XFA_NodeIsTransparent(CXFA_Node* refNode); | 55 FX_BOOL ResolveNodes_CreateNode(CFX_WideString wsName, |
56 FX_BOOL XFA_ResolveNodes_CreateNode(CFX_WideString wsName, | 56 CFX_WideString wsCondition, |
57 CFX_WideString wsCondition, | 57 FX_BOOL bLastNode, |
58 FX_BOOL bLastNode, | 58 CXFA_ScriptContext* pScriptContext); |
59 CXFA_ScriptContext* pScriptContext); | 59 FX_BOOL CreateNode_ForCondition(CFX_WideString& wsCondition); |
60 FX_BOOL XFA_CreateNode_ForCondition(CFX_WideString& wsCondition); | 60 void SetCreateNodeType(CXFA_Node* refNode); |
61 void XFA_SetCreateNodeType(CXFA_Node* refNode); | 61 FX_BOOL NodeIsProperty(CXFA_Node* refNode); |
62 FX_BOOL XFA_NodeIsProperty(CXFA_Node* refNode); | |
63 | 62 |
64 public: | 63 public: |
65 XFA_Element m_eLastCreateType; | 64 XFA_Element m_eLastCreateType; |
66 CXFA_Node* m_pCreateParent; | 65 CXFA_Node* m_pCreateParent; |
67 int32_t m_iCreateCount; | 66 int32_t m_iCreateCount; |
68 XFA_RESOVENODE_RSTYPE m_iCreateFlag; | 67 XFA_RESOVENODE_RSTYPE m_iCreateFlag; |
69 int32_t m_iCurAllStart; | 68 int32_t m_iCurAllStart; |
70 CXFA_Node* m_pAllStartParent; | 69 CXFA_Node* m_pAllStartParent; |
71 }; | 70 }; |
72 | 71 |
73 #endif // XFA_FXFA_PARSER_XFA_SCRIPT_NODEHELPER_H_ | 72 #endif // XFA_FXFA_PARSER_XFA_SCRIPT_NODEHELPER_H_ |
OLD | NEW |